@wordpress/components 25.11.1-next.f8d8eceb.0 → 25.12.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 (195) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/build/disclosure/index.js +37 -7
  3. package/build/disclosure/index.js.map +1 -1
  4. package/build/disclosure/types.js +6 -0
  5. package/build/disclosure/types.js.map +1 -0
  6. package/build/divider/component.js +5 -3
  7. package/build/divider/component.js.map +1 -1
  8. package/build/divider/types.js.map +1 -1
  9. package/build/dropdown-menu-v2-ariakit/index.js +26 -16
  10. package/build/dropdown-menu-v2-ariakit/index.js.map +1 -1
  11. package/build/dropdown-menu-v2-ariakit/types.js.map +1 -1
  12. package/build/gradient-picker/index.js +1 -1
  13. package/build/gradient-picker/index.js.map +1 -1
  14. package/build/index.native.js +8 -1
  15. package/build/index.native.js.map +1 -1
  16. package/build/mobile/audio-player/index.native.js +8 -9
  17. package/build/mobile/audio-player/index.native.js.map +1 -1
  18. package/build/mobile/global-styles-context/utils.native.js +44 -3
  19. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  20. package/build/radio-group/context.js +22 -0
  21. package/build/radio-group/context.js.map +1 -0
  22. package/build/radio-group/index.js +27 -23
  23. package/build/radio-group/index.js.map +1 -1
  24. package/build/radio-group/radio.js +58 -0
  25. package/build/radio-group/radio.js.map +1 -0
  26. package/build/radio-group/types.js +6 -0
  27. package/build/radio-group/types.js.map +1 -0
  28. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  29. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  30. package/build/tabs/styles.js +14 -7
  31. package/build/tabs/styles.js.map +1 -1
  32. package/build/tabs/tab.js +3 -5
  33. package/build/tabs/tab.js.map +1 -1
  34. package/build/tabs/tablist.js +3 -5
  35. package/build/tabs/tablist.js.map +1 -1
  36. package/build/tabs/tabpanel.js +6 -9
  37. package/build/tabs/tabpanel.js.map +1 -1
  38. package/build/tabs/types.js.map +1 -1
  39. package/build/text-control/index.js +5 -1
  40. package/build/text-control/index.js.map +1 -1
  41. package/build/text-control/types.js.map +1 -1
  42. package/build/toggle-group-control/toggle-group-control/component.js +4 -2
  43. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  44. package/build/toggle-group-control/toggle-group-control/styles.js +13 -9
  45. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  46. package/build/toggle-group-control/types.js.map +1 -1
  47. package/build-module/disclosure/index.js +33 -8
  48. package/build-module/disclosure/index.js.map +1 -1
  49. package/build-module/disclosure/types.js +2 -0
  50. package/build-module/disclosure/types.js.map +1 -0
  51. package/build-module/divider/component.js +3 -3
  52. package/build-module/divider/component.js.map +1 -1
  53. package/build-module/divider/types.js.map +1 -1
  54. package/build-module/dropdown-menu-v2-ariakit/index.js +27 -17
  55. package/build-module/dropdown-menu-v2-ariakit/index.js.map +1 -1
  56. package/build-module/dropdown-menu-v2-ariakit/types.js.map +1 -1
  57. package/build-module/gradient-picker/index.js +1 -1
  58. package/build-module/gradient-picker/index.js.map +1 -1
  59. package/build-module/index.native.js +1 -1
  60. package/build-module/index.native.js.map +1 -1
  61. package/build-module/mobile/audio-player/index.native.js +9 -10
  62. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  63. package/build-module/mobile/global-styles-context/utils.native.js +43 -4
  64. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  65. package/build-module/radio-group/context.js +14 -0
  66. package/build-module/radio-group/context.js.map +1 -0
  67. package/build-module/radio-group/index.js +24 -23
  68. package/build-module/radio-group/index.js.map +1 -1
  69. package/build-module/radio-group/radio.js +46 -0
  70. package/build-module/radio-group/radio.js.map +1 -0
  71. package/build-module/radio-group/types.js +2 -0
  72. package/build-module/radio-group/types.js.map +1 -0
  73. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  74. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  75. package/build-module/tabs/styles.js +11 -5
  76. package/build-module/tabs/styles.js.map +1 -1
  77. package/build-module/tabs/tab.js +3 -5
  78. package/build-module/tabs/tab.js.map +1 -1
  79. package/build-module/tabs/tablist.js +3 -5
  80. package/build-module/tabs/tablist.js.map +1 -1
  81. package/build-module/tabs/tabpanel.js +6 -7
  82. package/build-module/tabs/tabpanel.js.map +1 -1
  83. package/build-module/tabs/types.js.map +1 -1
  84. package/build-module/text-control/index.js +6 -1
  85. package/build-module/text-control/index.js.map +1 -1
  86. package/build-module/text-control/types.js.map +1 -1
  87. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -2
  88. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  89. package/build-module/toggle-group-control/toggle-group-control/styles.js +13 -9
  90. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  91. package/build-module/toggle-group-control/types.js.map +1 -1
  92. package/build-style/style-rtl.css +21 -3
  93. package/build-style/style.css +21 -3
  94. package/build-types/card/card-divider/component.d.ts +1 -1
  95. package/build-types/card/card-divider/hook.d.ts +162 -162
  96. package/build-types/disclosure/index.d.ts +7 -1
  97. package/build-types/disclosure/index.d.ts.map +1 -1
  98. package/build-types/disclosure/types.d.ts +12 -0
  99. package/build-types/disclosure/types.d.ts.map +1 -0
  100. package/build-types/divider/component.d.ts +5 -1
  101. package/build-types/divider/component.d.ts.map +1 -1
  102. package/build-types/divider/stories/index.story.d.ts.map +1 -1
  103. package/build-types/divider/styles.d.ts +1 -1
  104. package/build-types/divider/types.d.ts +2 -2
  105. package/build-types/divider/types.d.ts.map +1 -1
  106. package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +1 -1
  107. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +1 -1
  108. package/build-types/dropdown-menu-v2-ariakit/types.d.ts +1 -1
  109. package/build-types/radio-group/context.d.ts +10 -0
  110. package/build-types/radio-group/context.d.ts.map +1 -0
  111. package/build-types/radio-group/index.d.ts +7 -9
  112. package/build-types/radio-group/index.d.ts.map +1 -1
  113. package/build-types/radio-group/radio.d.ts +8 -0
  114. package/build-types/radio-group/radio.d.ts.map +1 -0
  115. package/build-types/radio-group/stories/index.story.d.ts +14 -0
  116. package/build-types/radio-group/stories/index.story.d.ts.map +1 -0
  117. package/build-types/radio-group/types.d.ts +40 -0
  118. package/build-types/radio-group/types.d.ts.map +1 -0
  119. package/build-types/tabs/index.d.ts +3 -3
  120. package/build-types/tabs/stories/index.story.d.ts.map +1 -1
  121. package/build-types/tabs/styles.d.ts +10 -0
  122. package/build-types/tabs/styles.d.ts.map +1 -1
  123. package/build-types/tabs/tab.d.ts +1 -1
  124. package/build-types/tabs/tab.d.ts.map +1 -1
  125. package/build-types/tabs/tablist.d.ts +1 -1
  126. package/build-types/tabs/tablist.d.ts.map +1 -1
  127. package/build-types/tabs/tabpanel.d.ts +4 -1
  128. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  129. package/build-types/tabs/types.d.ts +7 -31
  130. package/build-types/tabs/types.d.ts.map +1 -1
  131. package/build-types/text-control/index.d.ts +2 -1
  132. package/build-types/text-control/index.d.ts.map +1 -1
  133. package/build-types/text-control/types.d.ts +6 -0
  134. package/build-types/text-control/types.d.ts.map +1 -1
  135. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +1 -0
  136. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  137. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  138. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  139. package/build-types/toggle-group-control/types.d.ts +6 -0
  140. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  141. package/package.json +19 -20
  142. package/src/disclosure/index.tsx +44 -0
  143. package/src/disclosure/types.tsx +10 -0
  144. package/src/divider/component.tsx +3 -3
  145. package/src/divider/stories/index.story.tsx +8 -0
  146. package/src/divider/types.ts +2 -2
  147. package/src/dropdown-menu/style.scss +4 -0
  148. package/src/dropdown-menu-v2-ariakit/README.md +0 -7
  149. package/src/dropdown-menu-v2-ariakit/index.tsx +31 -15
  150. package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +1 -4
  151. package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -26
  152. package/src/dropdown-menu-v2-ariakit/types.ts +1 -1
  153. package/src/gradient-picker/index.tsx +1 -1
  154. package/src/index.native.js +1 -0
  155. package/src/mobile/audio-player/index.native.js +9 -13
  156. package/src/mobile/global-styles-context/utils.native.js +52 -3
  157. package/src/radio-group/context.tsx +18 -0
  158. package/src/radio-group/index.tsx +65 -0
  159. package/src/radio-group/radio.tsx +55 -0
  160. package/src/radio-group/stories/index.story.tsx +90 -0
  161. package/src/radio-group/types.ts +39 -0
  162. package/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx +1 -1
  163. package/src/tabs/README.md +3 -33
  164. package/src/tabs/stories/index.story.tsx +9 -1
  165. package/src/tabs/styles.ts +16 -0
  166. package/src/tabs/tab.tsx +6 -6
  167. package/src/tabs/tablist.tsx +21 -20
  168. package/src/tabs/tabpanel.tsx +24 -23
  169. package/src/tabs/test/index.tsx +71 -16
  170. package/src/tabs/types.ts +7 -32
  171. package/src/text-control/index.tsx +5 -1
  172. package/src/text-control/style.scss +5 -0
  173. package/src/text-control/types.ts +6 -0
  174. package/src/toggle-group-control/toggle-group-control/component.tsx +8 -2
  175. package/src/toggle-group-control/toggle-group-control/styles.ts +13 -4
  176. package/src/toggle-group-control/types.ts +6 -0
  177. package/src/toolbar/toolbar-button/style.scss +0 -5
  178. package/tsconfig.tsbuildinfo +1 -1
  179. package/build/radio-group/radio/index.js +0 -49
  180. package/build/radio-group/radio/index.js.map +0 -1
  181. package/build/radio-group/radio-context/index.js +0 -18
  182. package/build/radio-group/radio-context/index.js.map +0 -1
  183. package/build-module/radio-group/radio/index.js +0 -40
  184. package/build-module/radio-group/radio/index.js.map +0 -1
  185. package/build-module/radio-group/radio-context/index.js +0 -10
  186. package/build-module/radio-group/radio-context/index.js.map +0 -1
  187. package/build-types/radio-group/radio/index.d.ts +0 -7
  188. package/build-types/radio-group/radio/index.d.ts.map +0 -1
  189. package/build-types/radio-group/radio-context/index.d.ts +0 -6
  190. package/build-types/radio-group/radio-context/index.d.ts.map +0 -1
  191. package/src/disclosure/index.js +0 -11
  192. package/src/radio-group/index.js +0 -51
  193. package/src/radio-group/radio/index.js +0 -40
  194. package/src/radio-group/radio-context/index.js +0 -11
  195. package/src/radio-group/stories/index.story.js +0 -83
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeVideo","_interopRequireDefault","_primitives","_components","_compose","_i18n","_icons","_reactNativeBridge","_url","_element","_styles","_audioUrlParser","isIOS","Platform","OS","Player","getStylesFromColorScheme","isUploadInProgress","isUploadFailed","attributes","isSelected","id","src","paused","setPaused","useState","onPressListen","player","presentFullscreenPlayer","Linking","canOpenURL","then","supported","Alert","alert","__","openURL","catch","containerStyle","styles","container","containerDark","iconStyle","icon","iconDark","iconDisabledStyle","iconDisabled","iconDisabledDark","isDisabled","finalIconStyle","iconContainerStyle","iconContainer","iconContainerDark","titleContainerStyle","titleContainer","titleContainerIOS","titleContainerAndroid","titleStyle","title","titleDark","uploadFailedStyle","uploadFailed","uploadFailedDark","subtitleStyle","subtitle","subtitleDark","finalSubtitleStyle","buttonBackgroundStyle","buttonBackground","buttonBackgroundDark","extension","result","parseAudioUrl","getSubtitleValue","onAudioUploadCancelDialog","requestImageUploadCancelDialog","getProtocol","requestImageFailedRetryDialog","_react","createElement","TouchableWithoutFeedback","accessible","disabled","onPress","View","style","Icon","audio","size","Text","subtitleContainer","warning","errorIcon","accessibilityLabel","accessibilityRole","accessibilityHint","buttonText","default","source","uri","ref","controls","ignoreSilentSwitch","onFullscreenPlayerWillPresent","onFullscreenPlayerDidDismiss","_default","withPreferredColorScheme","exports"],"sources":["@wordpress/components/src/mobile/audio-player/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tText,\n\tTouchableWithoutFeedback,\n\tLinking,\n\tAlert,\n\tPlatform,\n} from 'react-native';\nimport { default as VideoPlayer } from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { audio, warning } from '@wordpress/icons';\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport { getProtocol } from '@wordpress/url';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { parseAudioUrl } from './audio-url-parser.native';\n\nconst isIOS = Platform.OS === 'ios';\n\nfunction Player( {\n\tgetStylesFromColorScheme,\n\tisUploadInProgress,\n\tisUploadFailed,\n\tattributes,\n\tisSelected,\n} ) {\n\tconst { id, src } = attributes;\n\tconst [ paused, setPaused ] = useState( true );\n\n\tconst onPressListen = () => {\n\t\tif ( src ) {\n\t\t\tif ( isIOS && this.player ) {\n\t\t\t\tthis.player.presentFullscreenPlayer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tLinking.canOpenURL( src )\n\t\t\t\t.then( ( supported ) => {\n\t\t\t\t\tif ( ! supported ) {\n\t\t\t\t\t\tAlert.alert(\n\t\t\t\t\t\t\t__( 'Problem opening the audio' ),\n\t\t\t\t\t\t\t__( 'No application can handle this request.' )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn Linking.openURL( src );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tAlert.alert(\n\t\t\t\t\t\t__( 'Problem opening the audio' ),\n\t\t\t\t\t\t__( 'An unknown error occurred. Please try again.' )\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t}\n\t};\n\n\tconst containerStyle = getStylesFromColorScheme(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tconst iconStyle = getStylesFromColorScheme( styles.icon, styles.iconDark );\n\n\tconst iconDisabledStyle = getStylesFromColorScheme(\n\t\tstyles.iconDisabled,\n\t\tstyles.iconDisabledDark\n\t);\n\n\tconst isDisabled = isUploadFailed || isUploadInProgress;\n\n\tconst finalIconStyle = {\n\t\t...iconStyle,\n\t\t...( isDisabled && iconDisabledStyle ),\n\t};\n\n\tconst iconContainerStyle = getStylesFromColorScheme(\n\t\tstyles.iconContainer,\n\t\tstyles.iconContainerDark\n\t);\n\n\tconst titleContainerStyle = {\n\t\t...styles.titleContainer,\n\t\t...( isIOS ? styles.titleContainerIOS : styles.titleContainerAndroid ),\n\t};\n\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\n\tconst uploadFailedStyle = getStylesFromColorScheme(\n\t\tstyles.uploadFailed,\n\t\tstyles.uploadFailedDark\n\t);\n\n\tconst subtitleStyle = getStylesFromColorScheme(\n\t\tstyles.subtitle,\n\t\tstyles.subtitleDark\n\t);\n\n\tconst finalSubtitleStyle = {\n\t\t...subtitleStyle,\n\t\t...( isUploadFailed && uploadFailedStyle ),\n\t};\n\n\tconst buttonBackgroundStyle = getStylesFromColorScheme(\n\t\tstyles.buttonBackground,\n\t\tstyles.buttonBackgroundDark\n\t);\n\n\tlet title = '';\n\tlet extension = '';\n\n\tif ( src ) {\n\t\tconst result = parseAudioUrl( src );\n\t\textension = result.extension;\n\t\ttitle = result.title;\n\t}\n\n\tconst getSubtitleValue = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\treturn __( 'Uploading…' );\n\t\t}\n\t\tif ( isUploadFailed ) {\n\t\t\treturn __( 'Failed to insert audio file. Please tap for options.' );\n\t\t}\n\t\treturn (\n\t\t\textension +\n\t\t\t// translators: displays audio file extension. e.g. MP3 audio file\n\t\t\t__( 'audio file' )\n\t\t);\n\t};\n\n\tfunction onAudioUploadCancelDialog() {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( id && getProtocol( src ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t}\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tdisabled={ ! isSelected }\n\t\t\tonPress={ onAudioUploadCancelDialog }\n\t\t>\n\t\t\t<View style={ containerStyle }>\n\t\t\t\t<View style={ iconContainerStyle }>\n\t\t\t\t\t<Icon icon={ audio } style={ finalIconStyle } size={ 24 } />\n\t\t\t\t</View>\n\t\t\t\t<View style={ titleContainerStyle }>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t<View style={ styles.subtitleContainer }>\n\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t...styles.errorIcon,\n\t\t\t\t\t\t\t\t\t...uploadFailedStyle,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Text style={ finalSubtitleStyle }>\n\t\t\t\t\t\t\t{ getSubtitleValue() }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t\t{ ! isDisabled && (\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Audio Player' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to listen the audio file'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonPress={ onPressListen }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ buttonBackgroundStyle }>\n\t\t\t\t\t\t\t<Text style={ styles.buttonText }>\n\t\t\t\t\t\t\t\t{ __( 'OPEN' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t) }\n\t\t\t\t{ isIOS && (\n\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\tpaused={ paused }\n\t\t\t\t\t\tref={ ( ref ) => {\n\t\t\t\t\t\t\tthis.player = ref;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tcontrols={ false }\n\t\t\t\t\t\tignoreSilentSwitch={ 'ignore' }\n\t\t\t\t\t\tonFullscreenPlayerWillPresent={ () => {\n\t\t\t\t\t\t\tsetPaused( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFullscreenPlayerDidDismiss={ () => {\n\t\t\t\t\t\t\tsetPaused( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default withPreferredColorScheme( Player );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AAIA,IAAAS,IAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAKA,IAAAW,OAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AA/BA;AACA;AACA;;AAUA;AACA;AACA;;AAaA;AACA;AACA;;AAIA,MAAMa,KAAK,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AAEnC,SAASC,MAAMA,CAAE;EAChBC,wBAAwB;EACxBC,kBAAkB;EAClBC,cAAc;EACdC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,EAAE;IAAEC;EAAI,CAAC,GAAGH,UAAU;EAC9B,MAAM,CAAEI,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EAE9C,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B,IAAKJ,GAAG,EAAG;MACV,IAAKV,KAAK,IAAI,IAAI,CAACe,MAAM,EAAG;QAC3B,IAAI,CAACA,MAAM,CAACC,uBAAuB,CAAC,CAAC;QACrC;MACD;MAEAC,oBAAO,CAACC,UAAU,CAAER,GAAI,CAAC,CACvBS,IAAI,CAAIC,SAAS,IAAM;QACvB,IAAK,CAAEA,SAAS,EAAG;UAClBC,kBAAK,CAACC,KAAK,CACV,IAAAC,QAAE,EAAE,2BAA4B,CAAC,EACjC,IAAAA,QAAE,EAAE,yCAA0C,CAC/C,CAAC;QACF,CAAC,MAAM;UACN,OAAON,oBAAO,CAACO,OAAO,CAAEd,GAAI,CAAC;QAC9B;MACD,CAAE,CAAC,CACFe,KAAK,CAAE,MAAM;QACbJ,kBAAK,CAACC,KAAK,CACV,IAAAC,QAAE,EAAE,2BAA4B,CAAC,EACjC,IAAAA,QAAE,EAAE,8CAA+C,CACpD,CAAC;MACF,CAAE,CAAC;IACL;EACD,CAAC;EAED,MAAMG,cAAc,GAAGtB,wBAAwB,CAC9CuB,eAAM,CAACC,SAAS,EAChBD,eAAM,CAACE,aACR,CAAC;EAED,MAAMC,SAAS,GAAG1B,wBAAwB,CAAEuB,eAAM,CAACI,IAAI,EAAEJ,eAAM,CAACK,QAAS,CAAC;EAE1E,MAAMC,iBAAiB,GAAG7B,wBAAwB,CACjDuB,eAAM,CAACO,YAAY,EACnBP,eAAM,CAACQ,gBACR,CAAC;EAED,MAAMC,UAAU,GAAG9B,cAAc,IAAID,kBAAkB;EAEvD,MAAMgC,cAAc,GAAG;IACtB,GAAGP,SAAS;IACZ,IAAKM,UAAU,IAAIH,iBAAiB;EACrC,CAAC;EAED,MAAMK,kBAAkB,GAAGlC,wBAAwB,CAClDuB,eAAM,CAACY,aAAa,EACpBZ,eAAM,CAACa,iBACR,CAAC;EAED,MAAMC,mBAAmB,GAAG;IAC3B,GAAGd,eAAM,CAACe,cAAc;IACxB,IAAK1C,KAAK,GAAG2B,eAAM,CAACgB,iBAAiB,GAAGhB,eAAM,CAACiB,qBAAqB;EACrE,CAAC;EAED,MAAMC,UAAU,GAAGzC,wBAAwB,CAC1CuB,eAAM,CAACmB,KAAK,EACZnB,eAAM,CAACoB,SACR,CAAC;EAED,MAAMC,iBAAiB,GAAG5C,wBAAwB,CACjDuB,eAAM,CAACsB,YAAY,EACnBtB,eAAM,CAACuB,gBACR,CAAC;EAED,MAAMC,aAAa,GAAG/C,wBAAwB,CAC7CuB,eAAM,CAACyB,QAAQ,EACfzB,eAAM,CAAC0B,YACR,CAAC;EAED,MAAMC,kBAAkB,GAAG;IAC1B,GAAGH,aAAa;IAChB,IAAK7C,cAAc,IAAI0C,iBAAiB;EACzC,CAAC;EAED,MAAMO,qBAAqB,GAAGnD,wBAAwB,CACrDuB,eAAM,CAAC6B,gBAAgB,EACvB7B,eAAM,CAAC8B,oBACR,CAAC;EAED,IAAIX,KAAK,GAAG,EAAE;EACd,IAAIY,SAAS,GAAG,EAAE;EAElB,IAAKhD,GAAG,EAAG;IACV,MAAMiD,MAAM,GAAG,IAAAC,6BAAa,EAAElD,GAAI,CAAC;IACnCgD,SAAS,GAAGC,MAAM,CAACD,SAAS;IAC5BZ,KAAK,GAAGa,MAAM,CAACb,KAAK;EACrB;EAEA,MAAMe,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAKxD,kBAAkB,EAAG;MACzB,OAAO,IAAAkB,QAAE,EAAE,YAAa,CAAC;IAC1B;IACA,IAAKjB,cAAc,EAAG;MACrB,OAAO,IAAAiB,QAAE,EAAE,sDAAuD,CAAC;IACpE;IACA,OACCmC,SAAS;IACT;IACA,IAAAnC,QAAE,EAAE,YAAa,CAAC;EAEpB,CAAC;EAED,SAASuC,yBAAyBA,CAAA,EAAG;IACpC,IAAKzD,kBAAkB,EAAG;MACzB,IAAA0D,iDAA8B,EAAEtD,EAAG,CAAC;IACrC,CAAC,MAAM,IAAKA,EAAE,IAAI,IAAAuD,gBAAW,EAAEtD,GAAI,CAAC,KAAK,OAAO,EAAG;MAClD,IAAAuD,gDAA6B,EAAExD,EAAG,CAAC;IACpC;EACD;EAEA,OACC,IAAAyD,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAkF,wBAAwB;IACxBC,UAAU,EAAG,CAAE7D,UAAY;IAC3B8D,QAAQ,EAAG,CAAE9D,UAAY;IACzB+D,OAAO,EAAGT;EAA2B,GAErC,IAAAI,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAG/C;EAAgB,GAC7B,IAAAwC,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAGnC;EAAoB,GACjC,IAAA4B,MAAA,CAAAC,aAAA,EAAC5E,WAAA,CAAAmF,IAAI;IAAC3C,IAAI,EAAG4C,YAAO;IAACF,KAAK,EAAGpC,cAAgB;IAACuC,IAAI,EAAG;EAAI,CAAE,CACtD,CAAC,EACP,IAAAV,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAGhC;EAAqB,GAClC,IAAAyB,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAA2F,IAAI;IAACJ,KAAK,EAAG5B;EAAY,GAAGC,KAAa,CAAC,EAC3C,IAAAoB,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAG9C,eAAM,CAACmD;EAAmB,GACrCxE,cAAc,IACf,IAAA4D,MAAA,CAAAC,aAAA,EAAC5E,WAAA,CAAAmF,IAAI;IACJ3C,IAAI,EAAGgD,cAAS;IAChBN,KAAK,EAAG;MACP,GAAG9C,eAAM,CAACqD,SAAS;MACnB,GAAGhC;IACJ,CAAG;IACH4B,IAAI,EAAG;EAAI,CACX,CACD,EACD,IAAAV,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAA2F,IAAI;IAACJ,KAAK,EAAGnB;EAAoB,GAC/BO,gBAAgB,CAAC,CACd,CACD,CACD,CAAC,EACL,CAAEzB,UAAU,IACb,IAAA8B,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAkF,wBAAwB;IACxBa,kBAAkB,EAAG,IAAA1D,QAAE,EAAE,cAAe,CAAG;IAC3C2D,iBAAiB,EAAG,QAAU;IAC9BC,iBAAiB,EAAG,IAAA5D,QAAE,EACrB,qCACD,CAAG;IACHgD,OAAO,EAAGzD;EAAe,GAEzB,IAAAoD,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAGlB;EAAuB,GACpC,IAAAW,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAA2F,IAAI;IAACJ,KAAK,EAAG9C,eAAM,CAACyD;EAAY,GAC9B,IAAA7D,QAAE,EAAE,MAAO,CACR,CACD,CACmB,CAC1B,EACCvB,KAAK,IACN,IAAAkE,MAAA,CAAAC,aAAA,EAAC/E,iBAAA,CAAAiG,OAAW;IACXC,MAAM,EAAG;MAAEC,GAAG,EAAE7E;IAAI,CAAG;IACvBC,MAAM,EAAGA,MAAQ;IACjB6E,GAAG,EAAKA,GAAG,IAAM;MAChB,IAAI,CAACzE,MAAM,GAAGyE,GAAG;IAClB,CAAG;IACHC,QAAQ,EAAG,KAAO;IAClBC,kBAAkB,EAAG,QAAU;IAC/BC,6BAA6B,EAAGA,CAAA,KAAM;MACrC/E,SAAS,CAAE,KAAM,CAAC;IACnB,CAAG;IACHgF,4BAA4B,EAAGA,CAAA,KAAM;MACpChF,SAAS,CAAE,IAAK,CAAC;IAClB;EAAG,CACH,CAEG,CACmB,CAAC;AAE7B;AAAC,IAAAiF,QAAA,GAEc,IAAAC,iCAAwB,EAAE3F,MAAO,CAAC;AAAA4F,OAAA,CAAAV,OAAA,GAAAQ,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeVideo","_interopRequireDefault","_primitives","_components","_compose","_i18n","_icons","_reactNativeBridge","_url","_element","_styles","_audioUrlParser","isIOS","Platform","OS","Player","isUploadInProgress","isUploadFailed","attributes","isSelected","id","src","paused","setPaused","useState","onPressListen","player","presentFullscreenPlayer","Linking","canOpenURL","then","supported","Alert","alert","__","openURL","catch","containerStyle","useEditorColorScheme","styles","container","containerDark","iconStyle","icon","iconDark","iconDisabledStyle","iconDisabled","iconDisabledDark","isDisabled","finalIconStyle","iconContainerStyle","iconContainer","iconContainerDark","titleContainerStyle","titleContainer","titleContainerIOS","titleContainerAndroid","titleStyle","title","titleDark","uploadFailedStyle","uploadFailed","uploadFailedDark","subtitleStyle","subtitle","subtitleDark","finalSubtitleStyle","buttonBackgroundStyle","buttonBackground","buttonBackgroundDark","extension","result","parseAudioUrl","getSubtitleValue","onAudioUploadCancelDialog","requestImageUploadCancelDialog","getProtocol","requestImageFailedRetryDialog","_react","createElement","TouchableWithoutFeedback","accessible","disabled","onPress","View","style","Icon","audio","size","Text","subtitleContainer","warning","errorIcon","accessibilityLabel","accessibilityRole","accessibilityHint","buttonText","default","source","uri","ref","controls","ignoreSilentSwitch","onFullscreenPlayerWillPresent","onFullscreenPlayerDidDismiss","_default","withPreferredColorScheme","exports"],"sources":["@wordpress/components/src/mobile/audio-player/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tText,\n\tTouchableWithoutFeedback,\n\tLinking,\n\tAlert,\n\tPlatform,\n} from 'react-native';\nimport { default as VideoPlayer } from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport { Icon, useEditorColorScheme } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { audio, warning } from '@wordpress/icons';\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport { getProtocol } from '@wordpress/url';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { parseAudioUrl } from './audio-url-parser.native';\n\nconst isIOS = Platform.OS === 'ios';\n\nfunction Player( {\n\tisUploadInProgress,\n\tisUploadFailed,\n\tattributes,\n\tisSelected,\n} ) {\n\tconst { id, src } = attributes;\n\tconst [ paused, setPaused ] = useState( true );\n\n\tconst onPressListen = () => {\n\t\tif ( src ) {\n\t\t\tif ( isIOS && this.player ) {\n\t\t\t\tthis.player.presentFullscreenPlayer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tLinking.canOpenURL( src )\n\t\t\t\t.then( ( supported ) => {\n\t\t\t\t\tif ( ! supported ) {\n\t\t\t\t\t\tAlert.alert(\n\t\t\t\t\t\t\t__( 'Problem opening the audio' ),\n\t\t\t\t\t\t\t__( 'No application can handle this request.' )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn Linking.openURL( src );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tAlert.alert(\n\t\t\t\t\t\t__( 'Problem opening the audio' ),\n\t\t\t\t\t\t__( 'An unknown error occurred. Please try again.' )\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t}\n\t};\n\n\tconst containerStyle = useEditorColorScheme(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tconst iconStyle = useEditorColorScheme( styles.icon, styles.iconDark );\n\n\tconst iconDisabledStyle = useEditorColorScheme(\n\t\tstyles.iconDisabled,\n\t\tstyles.iconDisabledDark\n\t);\n\n\tconst isDisabled = isUploadFailed || isUploadInProgress;\n\n\tconst finalIconStyle = {\n\t\t...iconStyle,\n\t\t...( isDisabled && iconDisabledStyle ),\n\t};\n\n\tconst iconContainerStyle = useEditorColorScheme(\n\t\tstyles.iconContainer,\n\t\tstyles.iconContainerDark\n\t);\n\n\tconst titleContainerStyle = {\n\t\t...styles.titleContainer,\n\t\t...( isIOS ? styles.titleContainerIOS : styles.titleContainerAndroid ),\n\t};\n\n\tconst titleStyle = useEditorColorScheme( styles.title, styles.titleDark );\n\n\tconst uploadFailedStyle = useEditorColorScheme(\n\t\tstyles.uploadFailed,\n\t\tstyles.uploadFailedDark\n\t);\n\n\tconst subtitleStyle = useEditorColorScheme(\n\t\tstyles.subtitle,\n\t\tstyles.subtitleDark\n\t);\n\n\tconst finalSubtitleStyle = {\n\t\t...subtitleStyle,\n\t\t...( isUploadFailed && uploadFailedStyle ),\n\t};\n\n\tconst buttonBackgroundStyle = useEditorColorScheme(\n\t\tstyles.buttonBackground,\n\t\tstyles.buttonBackgroundDark\n\t);\n\n\tlet title = '';\n\tlet extension = '';\n\n\tif ( src ) {\n\t\tconst result = parseAudioUrl( src );\n\t\textension = result.extension;\n\t\ttitle = result.title;\n\t}\n\n\tconst getSubtitleValue = () => {\n\t\tif ( isUploadInProgress ) {\n\t\t\treturn __( 'Uploading…' );\n\t\t}\n\t\tif ( isUploadFailed ) {\n\t\t\treturn __( 'Failed to insert audio file. Please tap for options.' );\n\t\t}\n\t\treturn (\n\t\t\textension +\n\t\t\t// translators: displays audio file extension. e.g. MP3 audio file\n\t\t\t__( 'audio file' )\n\t\t);\n\t};\n\n\tfunction onAudioUploadCancelDialog() {\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if ( id && getProtocol( src ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t}\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tdisabled={ ! isSelected }\n\t\t\tonPress={ onAudioUploadCancelDialog }\n\t\t>\n\t\t\t<View style={ containerStyle }>\n\t\t\t\t<View style={ iconContainerStyle }>\n\t\t\t\t\t<Icon icon={ audio } style={ finalIconStyle } size={ 24 } />\n\t\t\t\t</View>\n\t\t\t\t<View style={ titleContainerStyle }>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t<View style={ styles.subtitleContainer }>\n\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t...styles.errorIcon,\n\t\t\t\t\t\t\t\t\t...uploadFailedStyle,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsize={ 16 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Text style={ finalSubtitleStyle }>\n\t\t\t\t\t\t\t{ getSubtitleValue() }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t\t{ ! isDisabled && (\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Audio Player' ) }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to listen the audio file'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonPress={ onPressListen }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ buttonBackgroundStyle }>\n\t\t\t\t\t\t\t<Text style={ styles.buttonText }>\n\t\t\t\t\t\t\t\t{ __( 'OPEN' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t) }\n\t\t\t\t{ isIOS && (\n\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\tpaused={ paused }\n\t\t\t\t\t\tref={ ( ref ) => {\n\t\t\t\t\t\t\tthis.player = ref;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tcontrols={ false }\n\t\t\t\t\t\tignoreSilentSwitch={ 'ignore' }\n\t\t\t\t\t\tonFullscreenPlayerWillPresent={ () => {\n\t\t\t\t\t\t\tsetPaused( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonFullscreenPlayerDidDismiss={ () => {\n\t\t\t\t\t\t\tsetPaused( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n\nexport default withPreferredColorScheme( Player );\n"],"mappings":"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"}
@@ -11,10 +11,14 @@ exports.getColorsAndGradients = getColorsAndGradients;
11
11
  exports.getGlobalStyles = getGlobalStyles;
12
12
  exports.getMappedValues = getMappedValues;
13
13
  exports.parseStylesVariables = parseStylesVariables;
14
+ exports.useEditorColorScheme = void 0;
14
15
  exports.useMobileGlobalStylesColors = useMobileGlobalStylesColors;
15
16
  var _changeCase = require("change-case");
16
17
  var _reactNative = require("react-native");
18
+ var _colord = require("colord");
17
19
  var _blockEditor = require("@wordpress/block-editor");
20
+ var _compose = require("@wordpress/compose");
21
+ var _index = require("./index.native");
18
22
  /**
19
23
  * External dependencies
20
24
  */
@@ -23,6 +27,10 @@ var _blockEditor = require("@wordpress/block-editor");
23
27
  * WordPress dependencies
24
28
  */
25
29
 
30
+ /**
31
+ * Internal dependencies
32
+ */
33
+
26
34
  const BLOCK_STYLE_ATTRIBUTES = ['textColor', 'backgroundColor', 'style', 'color', 'fontSize'];
27
35
 
28
36
  // Mapping style properties name to native.
@@ -282,9 +290,13 @@ function useMobileGlobalStylesColors(type = 'colors') {
282
290
  const colorGradientSettings = (0, _blockEditor.useMultipleOriginColorsAndGradients)();
283
291
  const availableThemeColors = colorGradientSettings?.[type]?.reduce((colors, origin) => colors.concat(origin?.[type]), []);
284
292
  // Default editor colors/gradients if it's not a block-based theme.
285
- const colorPalette = type === 'colors' ? 'color.palette' : 'color.gradients';
286
- const [editorDefaultPalette] = (0, _blockEditor.useSettings)(colorPalette);
287
- return availableThemeColors.length >= 1 ? availableThemeColors : editorDefaultPalette;
293
+ const defaultPaletteSetting = type === 'colors' ? 'color.palette' : 'color.gradients';
294
+ const [defaultPaletteValue] = (0, _blockEditor.useSettings)(defaultPaletteSetting);
295
+ // In edge cases, the default palette might be undefined. To avoid
296
+ // exceptions across the editor in that case, we explicitly return
297
+ // the default editor colors.
298
+ const defaultPalette = defaultPaletteValue !== null && defaultPaletteValue !== void 0 ? defaultPaletteValue : _blockEditor.SETTINGS_DEFAULTS.colors;
299
+ return availableThemeColors.length >= 1 ? availableThemeColors : defaultPalette;
288
300
  }
289
301
  function getColorsAndGradients(defaultEditorColors = [], defaultEditorGradients = [], rawFeatures) {
290
302
  const features = rawFeatures ? JSON.parse(rawFeatures) : {};
@@ -336,4 +348,33 @@ function getGlobalStyles(rawStyles, rawFeatures) {
336
348
  __experimentalGlobalStylesBaseStyles: globalStyles
337
349
  };
338
350
  }
351
+
352
+ /**
353
+ * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.
354
+ *
355
+ * The function first attempts to retrieve the editor's background color from global styles.
356
+ * If the detected background color is light, light styles are applied, and dark styles otherwise.
357
+ * If no custom background color is defined, styles are applied using the device's dark/light setting.
358
+ *
359
+ * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.
360
+ * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.
361
+ *
362
+ * @return {Object} - The combined style object that should be applied to the editor.
363
+ */
364
+ const useEditorColorScheme = (baseStyle, darkStyle) => {
365
+ const globalStyles = (0, _index.useGlobalStyles)();
366
+ const deviceColorScheme = (0, _compose.usePreferredColorSchemeStyle)(baseStyle, darkStyle);
367
+ const editorColors = globalStyles?.baseColors?.color;
368
+ const editorBackgroundColor = editorColors?.background;
369
+ const isBackgroundColorDefined = typeof editorBackgroundColor !== 'undefined' && editorBackgroundColor !== 'undefined';
370
+ if (isBackgroundColorDefined) {
371
+ const isEditorBackgroundDark = (0, _colord.colord)(editorBackgroundColor).isDark();
372
+ return isEditorBackgroundDark ? {
373
+ ...baseStyle,
374
+ ...darkStyle
375
+ } : baseStyle;
376
+ }
377
+ return deviceColorScheme;
378
+ };
379
+ exports.useEditorColorScheme = useEditorColorScheme;
339
380
  //# sourceMappingURL=utils.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_changeCase","require","_reactNative","_blockEditor","BLOCK_STYLE_ATTRIBUTES","exports","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","reduce","prev","curr","slice","length","camelCase","width","height","Dimensions","get","parsedFontSize","getPxFromCssUnit","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","useMultipleOriginColorsAndGradients","availableThemeColors","origin","concat","colorPalette","editorDefaultPalette","useSettings","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing"],"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSettings,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ editorDefaultPalette ] = useSettings( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_changeCase","require","_reactNative","_colord","_blockEditor","_compose","_index","BLOCK_STYLE_ATTRIBUTES","exports","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","reduce","prev","curr","slice","length","camelCase","width","height","Dimensions","get","parsedFontSize","getPxFromCssUnit","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","useMultipleOriginColorsAndGradients","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","useSettings","defaultPalette","SETTINGS_DEFAULTS","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","useEditorColorScheme","baseStyle","darkStyle","useGlobalStyles","deviceColorScheme","usePreferredColorSchemeStyle","editorColors","baseColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","colord","isDark"],"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSettings,\n\tuseMultipleOriginColorsAndGradients,\n\tSETTINGS_DEFAULTS,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useGlobalStyles } from './index.native';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RadioGroupContext = void 0;
7
+ var _element = require("@wordpress/element");
8
+ /**
9
+ * External dependencies
10
+ */
11
+ // eslint-disable-next-line no-restricted-imports
12
+
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ const RadioGroupContext = (0, _element.createContext)({
18
+ store: undefined,
19
+ disabled: undefined
20
+ });
21
+ exports.RadioGroupContext = RadioGroupContext;
22
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","RadioGroupContext","createContext","store","undefined","disabled","exports"],"sources":["@wordpress/components/src/radio-group/context.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\nexport const RadioGroupContext = createContext< {\n\tstore?: Ariakit.RadioStore;\n\tdisabled?: boolean;\n} >( {\n\tstore: undefined,\n\tdisabled: undefined,\n} );\n"],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AATA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAGO,MAAMC,iBAAiB,GAAG,IAAAC,sBAAa,EAGzC;EACJC,KAAK,EAAEC,SAAS;EAChBC,QAAQ,EAAED;AACX,CAAE,CAAC;AAACE,OAAA,CAAAL,iBAAA,GAAAA,iBAAA"}
@@ -4,17 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports.default = exports.RadioGroup = void 0;
8
8
  var _react = require("react");
9
- var _Radio = require("reakit/Radio");
9
+ var Ariakit = _interopRequireWildcard(require("@ariakit/react"));
10
10
  var _element = require("@wordpress/element");
11
11
  var _buttonGroup = _interopRequireDefault(require("../button-group"));
12
- var _radioContext = _interopRequireDefault(require("./radio-context"));
13
- // @ts-nocheck
14
-
12
+ var _context = require("./context");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
15
  /**
16
16
  * External dependencies
17
17
  */
18
+ // eslint-disable-next-line no-restricted-imports
18
19
 
19
20
  /**
20
21
  * WordPress dependencies
@@ -24,32 +25,33 @@ var _radioContext = _interopRequireDefault(require("./radio-context"));
24
25
  * Internal dependencies
25
26
  */
26
27
 
27
- function RadioGroup({
28
+ function UnforwardedRadioGroup({
28
29
  label,
29
30
  checked,
30
31
  defaultChecked,
31
32
  disabled,
32
33
  onChange,
34
+ children,
33
35
  ...props
34
36
  }, ref) {
35
- const radioState = (0, _Radio.useRadioState)({
36
- state: defaultChecked,
37
- baseId: props.id
37
+ const radioStore = Ariakit.useRadioStore({
38
+ value: checked,
39
+ defaultValue: defaultChecked,
40
+ setValue: newValue => {
41
+ onChange?.(newValue !== null && newValue !== void 0 ? newValue : undefined);
42
+ }
38
43
  });
39
- const radioContext = {
40
- ...radioState,
41
- disabled,
42
- // Controlled or uncontrolled.
43
- state: checked !== null && checked !== void 0 ? checked : radioState.state,
44
- setState: onChange !== null && onChange !== void 0 ? onChange : radioState.setState
45
- };
46
- return (0, _react.createElement)(_radioContext.default.Provider, {
47
- value: radioContext
48
- }, (0, _react.createElement)(_Radio.RadioGroup, {
49
- ref: ref,
50
- as: _buttonGroup.default,
44
+ const contextValue = (0, _element.useMemo)(() => ({
45
+ store: radioStore,
46
+ disabled
47
+ }), [radioStore, disabled]);
48
+ return (0, _react.createElement)(_context.RadioGroupContext.Provider, {
49
+ value: contextValue
50
+ }, (0, _react.createElement)(Ariakit.RadioGroup, {
51
+ store: radioStore,
52
+ render: (0, _react.createElement)(_buttonGroup.default, null, children),
51
53
  "aria-label": label,
52
- ...radioState,
54
+ ref: ref,
53
55
  ...props
54
56
  }));
55
57
  }
@@ -57,6 +59,8 @@ function RadioGroup({
57
59
  /**
58
60
  * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.
59
61
  */
60
- var _default = (0, _element.forwardRef)(RadioGroup);
62
+ const RadioGroup = (0, _element.forwardRef)(UnforwardedRadioGroup);
63
+ exports.RadioGroup = RadioGroup;
64
+ var _default = RadioGroup;
61
65
  exports.default = _default;
62
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Radio","require","_element","_buttonGroup","_interopRequireDefault","_radioContext","RadioGroup","label","checked","defaultChecked","disabled","onChange","props","ref","radioState","useRadioState","state","baseId","id","radioContext","setState","_react","createElement","default","Provider","value","as","ButtonGroup","_default","forwardRef","exports"],"sources":["@wordpress/components/src/radio-group/index.js"],"sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport { useRadioState, RadioGroup as ReakitRadioGroup } from 'reakit/Radio';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ButtonGroup from '../button-group';\nimport RadioContext from './radio-context';\n\nfunction RadioGroup(\n\t{ label, checked, defaultChecked, disabled, onChange, ...props },\n\tref\n) {\n\tconst radioState = useRadioState( {\n\t\tstate: defaultChecked,\n\t\tbaseId: props.id,\n\t} );\n\tconst radioContext = {\n\t\t...radioState,\n\t\tdisabled,\n\t\t// Controlled or uncontrolled.\n\t\tstate: checked ?? radioState.state,\n\t\tsetState: onChange ?? radioState.setState,\n\t};\n\n\treturn (\n\t\t<RadioContext.Provider value={ radioContext }>\n\t\t\t<ReakitRadioGroup\n\t\t\t\tref={ ref }\n\t\t\t\tas={ ButtonGroup }\n\t\t\t\taria-label={ label }\n\t\t\t\t{ ...radioState }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</RadioContext.Provider>\n\t);\n}\n\n/**\n * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.\n */\nexport default forwardRef( RadioGroup );\n"],"mappings":";;;;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAD,sBAAA,CAAAH,OAAA;AAhBA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,SAASK,UAAUA,CAClB;EAAEC,KAAK;EAAEC,OAAO;EAAEC,cAAc;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAChEC,GAAG,EACF;EACD,MAAMC,UAAU,GAAG,IAAAC,oBAAa,EAAE;IACjCC,KAAK,EAAEP,cAAc;IACrBQ,MAAM,EAAEL,KAAK,CAACM;EACf,CAAE,CAAC;EACH,MAAMC,YAAY,GAAG;IACpB,GAAGL,UAAU;IACbJ,QAAQ;IACR;IACAM,KAAK,EAAER,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIM,UAAU,CAACE,KAAK;IAClCI,QAAQ,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,UAAU,CAACM;EAClC,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACjB,aAAA,CAAAkB,OAAY,CAACC,QAAQ;IAACC,KAAK,EAAGN;EAAc,GAC5C,IAAAE,MAAA,CAAAC,aAAA,EAACtB,MAAA,CAAAM,UAAgB;IAChBO,GAAG,EAAGA,GAAK;IACXa,EAAE,EAAGC,oBAAa;IAClB,cAAapB,KAAO;IAAA,GACfO,UAAU;IAAA,GACVF;EAAK,CACV,CACqB,CAAC;AAE1B;;AAEA;AACA;AACA;AAFA,IAAAgB,QAAA,GAGe,IAAAC,mBAAU,EAAEvB,UAAW,CAAC;AAAAwB,OAAA,CAAAP,OAAA,GAAAK,QAAA"}
1
+ {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_element","_buttonGroup","_interopRequireDefault","_context","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UnforwardedRadioGroup","label","checked","defaultChecked","disabled","onChange","children","props","ref","radioStore","useRadioStore","value","defaultValue","setValue","newValue","undefined","contextValue","useMemo","store","_react","createElement","RadioGroupContext","Provider","RadioGroup","render","forwardRef","exports","_default"],"sources":["@wordpress/components/src/radio-group/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ButtonGroup from '../button-group';\nimport type { WordPressComponentProps } from '../context';\nimport { RadioGroupContext } from './context';\nimport type { RadioGroupProps } from './types';\n\nfunction UnforwardedRadioGroup(\n\t{\n\t\tlabel,\n\t\tchecked,\n\t\tdefaultChecked,\n\t\tdisabled,\n\t\tonChange,\n\t\tchildren,\n\t\t...props\n\t}: WordPressComponentProps< RadioGroupProps, 'div', false >,\n\tref: React.ForwardedRef< any >\n) {\n\tconst radioStore = Ariakit.useRadioStore( {\n\t\tvalue: checked,\n\t\tdefaultValue: defaultChecked,\n\t\tsetValue: ( newValue ) => {\n\t\t\tonChange?.( newValue ?? undefined );\n\t\t},\n\t} );\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tstore: radioStore,\n\t\t\tdisabled,\n\t\t} ),\n\t\t[ radioStore, disabled ]\n\t);\n\n\treturn (\n\t\t<RadioGroupContext.Provider value={ contextValue }>\n\t\t\t<Ariakit.RadioGroup\n\t\t\t\tstore={ radioStore }\n\t\t\t\trender={ <ButtonGroup>{ children }</ButtonGroup> }\n\t\t\t\taria-label={ label }\n\t\t\t\tref={ ref }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</RadioGroupContext.Provider>\n\t);\n}\n\n/**\n * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.\n */\nexport const RadioGroup = forwardRef( UnforwardedRadioGroup );\nexport default RadioGroup;\n"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Radio = void 0;
8
+ var _react = require("react");
9
+ var _element = require("@wordpress/element");
10
+ var Ariakit = _interopRequireWildcard(require("@ariakit/react"));
11
+ var _button = _interopRequireDefault(require("../button"));
12
+ var _context = require("./context");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * External dependencies
21
+ */
22
+ // eslint-disable-next-line no-restricted-imports
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+
28
+ function UnforwardedRadio({
29
+ value,
30
+ children,
31
+ ...props
32
+ }, ref) {
33
+ const {
34
+ store,
35
+ disabled
36
+ } = (0, _element.useContext)(_context.RadioGroupContext);
37
+ const selectedValue = store?.useState('value');
38
+ const isChecked = selectedValue !== undefined && selectedValue === value;
39
+ return (0, _react.createElement)(Ariakit.Radio, {
40
+ disabled: disabled,
41
+ store: store,
42
+ ref: ref,
43
+ value: value,
44
+ render: (0, _react.createElement)(_button.default, {
45
+ variant: isChecked ? 'primary' : 'secondary',
46
+ ...props
47
+ })
48
+ }, children || value);
49
+ }
50
+
51
+ /**
52
+ * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.
53
+ */
54
+ const Radio = (0, _element.forwardRef)(UnforwardedRadio);
55
+ exports.Radio = Radio;
56
+ var _default = Radio;
57
+ exports.default = _default;
58
+ //# sourceMappingURL=radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","Ariakit","_interopRequireWildcard","_button","_interopRequireDefault","_context","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UnforwardedRadio","value","children","props","ref","store","disabled","useContext","RadioGroupContext","selectedValue","useState","isChecked","undefined","_react","createElement","Radio","render","variant","forwardRef","exports","_default"],"sources":["@wordpress/components/src/radio-group/radio.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { RadioGroupContext } from './context';\nimport type { WordPressComponentProps } from '../context';\nimport type { RadioProps } from './types';\n\nfunction UnforwardedRadio(\n\t{\n\t\tvalue,\n\t\tchildren,\n\t\t...props\n\t}: WordPressComponentProps< RadioProps, 'button', false >,\n\tref: React.ForwardedRef< any >\n) {\n\tconst { store, disabled } = useContext( RadioGroupContext );\n\n\tconst selectedValue = store?.useState( 'value' );\n\tconst isChecked = selectedValue !== undefined && selectedValue === value;\n\n\treturn (\n\t\t<Ariakit.Radio\n\t\t\tdisabled={ disabled }\n\t\t\tstore={ store }\n\t\t\tref={ ref }\n\t\t\tvalue={ value }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ isChecked ? 'primary' : 'secondary' }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ children || value }\n\t\t</Ariakit.Radio>\n\t);\n}\n\n/**\n * @deprecated Use `RadioControl` or `ToggleGroupControl` instead.\n */\nexport const Radio = forwardRef( UnforwardedRadio );\nexport default Radio;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AAKA,IAAAG,OAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAA8C,SAAAM,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAf9C;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASW,gBAAgBA,CACxB;EACCC,KAAK;EACLC,QAAQ;EACR,GAAGC;AACoD,CAAC,EACzDC,GAA8B,EAC7B;EACD,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,mBAAU,EAAEC,0BAAkB,CAAC;EAE3D,MAAMC,aAAa,GAAGJ,KAAK,EAAEK,QAAQ,CAAE,OAAQ,CAAC;EAChD,MAAMC,SAAS,GAAGF,aAAa,KAAKG,SAAS,IAAIH,aAAa,KAAKR,KAAK;EAExE,OACC,IAAAY,MAAA,CAAAC,aAAA,EAACzC,OAAO,CAAC0C,KAAK;IACbT,QAAQ,EAAGA,QAAU;IACrBD,KAAK,EAAGA,KAAO;IACfD,GAAG,EAAGA,GAAK;IACXH,KAAK,EAAGA,KAAO;IACfe,MAAM,EACL,IAAAH,MAAA,CAAAC,aAAA,EAACvC,OAAA,CAAAU,OAAM;MACNgC,OAAO,EAAGN,SAAS,GAAG,SAAS,GAAG,WAAa;MAAA,GAC1CR;IAAK,CACV;EACD,GAECD,QAAQ,IAAID,KACA,CAAC;AAElB;;AAEA;AACA;AACA;AACO,MAAMc,KAAK,GAAG,IAAAG,mBAAU,EAAElB,gBAAiB,CAAC;AAACmB,OAAA,CAAAJ,KAAA,GAAAA,KAAA;AAAA,IAAAK,QAAA,GACrCL,KAAK;AAAAI,OAAA,CAAAlC,OAAA,GAAAmC,QAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/radio-group/types.ts"],"sourcesContent":["export type RadioGroupProps = {\n\t/**\n\t * Accessible label for the radio group\n\t */\n\tlabel: string;\n\t/**\n\t * The `value` of the `Radio` element which should be selected.\n\t * Indicates controlled usage of the component.\n\t */\n\tchecked?: string | number;\n\t/**\n\t * The value of the radio element which is initially selected.\n\t */\n\tdefaultChecked?: string | number;\n\t/**\n\t * Whether the `RadioGroup` should be disabled.\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * Called when a `Radio` element has been selected.\n\t * Receives the `value` of the selected element as an argument.\n\t */\n\tonChange?: ( value: string | number | undefined ) => void;\n\t/**\n\t * The children elements, which should be a series of `Radio` components.\n\t */\n\tchildren: React.ReactNode;\n};\n\nexport type RadioProps = {\n\t/**\n\t * The actual value of the radio element.\n\t */\n\tvalue: string | number;\n\t/**\n\t * Content displayed on the Radio element. If there aren't any children, `value` is displayed.\n\t */\n\tchildren?: React.ReactNode;\n};\n"],"mappings":""}
@@ -53,7 +53,7 @@ function createSlotRegistry() {
53
53
  const slotFills = fills.get(name);
54
54
  if (slotFills) {
55
55
  // Force update fills.
56
- slotFills.map(fill => fill.current.rerender());
56
+ slotFills.forEach(fill => fill.current.rerender());
57
57
  }
58
58
  };
59
59
  const registerFill = (name, ref) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_valtio","require","_utils","_element","_isShallowEqual","_interopRequireDefault","_slotFillContext","createSlotRegistry","slots","proxyMap","fills","registerSlot","name","ref","fillProps","slot","get","set","valRef","unregisterSlot","delete","updateSlot","isShallowEqual","slotFills","map","fill","current","rerender","registerFill","unregisterFill","fillsForName","filter","fillRef","SlotFillProvider","children","registry","useMemo","_react","createElement","default","Provider","value"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ref as valRef } from 'valtio';\nimport { proxyMap } from 'valtio/utils';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './slot-fill-context';\nimport type {\n\tSlotFillProviderProps,\n\tSlotFillBubblesVirtuallyContext,\n} from '../types';\n\nfunction createSlotRegistry(): SlotFillBubblesVirtuallyContext {\n\tconst slots: SlotFillBubblesVirtuallyContext[ 'slots' ] = proxyMap();\n\tconst fills: SlotFillBubblesVirtuallyContext[ 'fills' ] = proxyMap();\n\n\tconst registerSlot: SlotFillBubblesVirtuallyContext[ 'registerSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\n\t\tslots.set(\n\t\t\tname,\n\t\t\tvalRef( {\n\t\t\t\t...slot,\n\t\t\t\tref: ref || slot?.ref,\n\t\t\t\tfillProps: fillProps || slot?.fillProps || {},\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst unregisterSlot: SlotFillBubblesVirtuallyContext[ 'unregisterSlot' ] =\n\t\t( name, ref ) => {\n\t\t\t// Make sure we're not unregistering a slot registered by another element\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\t\t\tif ( slots.get( name )?.ref === ref ) {\n\t\t\t\tslots.delete( name );\n\t\t\t}\n\t\t};\n\n\tconst updateSlot: SlotFillBubblesVirtuallyContext[ 'updateSlot' ] = (\n\t\tname,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\t\tif ( ! slot ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShallowEqual( slot.fillProps, fillProps ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslot.fillProps = fillProps;\n\t\tconst slotFills = fills.get( name );\n\t\tif ( slotFills ) {\n\t\t\t// Force update fills.\n\t\t\tslotFills.map( ( fill ) => fill.current.rerender() );\n\t\t}\n\t};\n\n\tconst registerFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tfills.set( name, valRef( [ ...( fills.get( name ) || [] ), ref ] ) );\n\t};\n\n\tconst unregisterFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tvalRef( fillsForName.filter( ( fillRef ) => fillRef !== ref ) )\n\t\t);\n\t};\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tupdateSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t};\n}\n\nexport default function SlotFillProvider( {\n\tchildren,\n}: SlotFillProviderProps ) {\n\tconst registry = useMemo( createSlotRegistry, [] );\n\treturn (\n\t\t<SlotFillContext.Provider value={ registry }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_valtio","require","_utils","_element","_isShallowEqual","_interopRequireDefault","_slotFillContext","createSlotRegistry","slots","proxyMap","fills","registerSlot","name","ref","fillProps","slot","get","set","valRef","unregisterSlot","delete","updateSlot","isShallowEqual","slotFills","forEach","fill","current","rerender","registerFill","unregisterFill","fillsForName","filter","fillRef","SlotFillProvider","children","registry","useMemo","_react","createElement","default","Provider","value"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ref as valRef } from 'valtio';\nimport { proxyMap } from 'valtio/utils';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './slot-fill-context';\nimport type {\n\tSlotFillProviderProps,\n\tSlotFillBubblesVirtuallyContext,\n} from '../types';\n\nfunction createSlotRegistry(): SlotFillBubblesVirtuallyContext {\n\tconst slots: SlotFillBubblesVirtuallyContext[ 'slots' ] = proxyMap();\n\tconst fills: SlotFillBubblesVirtuallyContext[ 'fills' ] = proxyMap();\n\n\tconst registerSlot: SlotFillBubblesVirtuallyContext[ 'registerSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\n\t\tslots.set(\n\t\t\tname,\n\t\t\tvalRef( {\n\t\t\t\t...slot,\n\t\t\t\tref: ref || slot?.ref,\n\t\t\t\tfillProps: fillProps || slot?.fillProps || {},\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst unregisterSlot: SlotFillBubblesVirtuallyContext[ 'unregisterSlot' ] =\n\t\t( name, ref ) => {\n\t\t\t// Make sure we're not unregistering a slot registered by another element\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\t\t\tif ( slots.get( name )?.ref === ref ) {\n\t\t\t\tslots.delete( name );\n\t\t\t}\n\t\t};\n\n\tconst updateSlot: SlotFillBubblesVirtuallyContext[ 'updateSlot' ] = (\n\t\tname,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\t\tif ( ! slot ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShallowEqual( slot.fillProps, fillProps ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslot.fillProps = fillProps;\n\t\tconst slotFills = fills.get( name );\n\t\tif ( slotFills ) {\n\t\t\t// Force update fills.\n\t\t\tslotFills.forEach( ( fill ) => fill.current.rerender() );\n\t\t}\n\t};\n\n\tconst registerFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tfills.set( name, valRef( [ ...( fills.get( name ) || [] ), ref ] ) );\n\t};\n\n\tconst unregisterFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tvalRef( fillsForName.filter( ( fillRef ) => fillRef !== ref ) )\n\t\t);\n\t};\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tupdateSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t};\n}\n\nexport default function SlotFillProvider( {\n\tchildren,\n}: SlotFillProviderProps ) {\n\tconst registry = useMemo( createSlotRegistry, [] );\n\treturn (\n\t\t<SlotFillContext.Provider value={ registry }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n"],"mappings":"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"}