@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.
- package/CHANGELOG.md +30 -1
- package/build/disclosure/index.js +37 -7
- package/build/disclosure/index.js.map +1 -1
- package/build/disclosure/types.js +6 -0
- package/build/disclosure/types.js.map +1 -0
- package/build/divider/component.js +5 -3
- package/build/divider/component.js.map +1 -1
- package/build/divider/types.js.map +1 -1
- package/build/dropdown-menu-v2-ariakit/index.js +26 -16
- package/build/dropdown-menu-v2-ariakit/index.js.map +1 -1
- package/build/dropdown-menu-v2-ariakit/types.js.map +1 -1
- package/build/gradient-picker/index.js +1 -1
- package/build/gradient-picker/index.js.map +1 -1
- package/build/index.native.js +8 -1
- package/build/index.native.js.map +1 -1
- package/build/mobile/audio-player/index.native.js +8 -9
- package/build/mobile/audio-player/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +44 -3
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/radio-group/context.js +22 -0
- package/build/radio-group/context.js.map +1 -0
- package/build/radio-group/index.js +27 -23
- package/build/radio-group/index.js.map +1 -1
- package/build/radio-group/radio.js +58 -0
- package/build/radio-group/radio.js.map +1 -0
- package/build/radio-group/types.js +6 -0
- package/build/radio-group/types.js.map +1 -0
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build/tabs/styles.js +14 -7
- package/build/tabs/styles.js.map +1 -1
- package/build/tabs/tab.js +3 -5
- package/build/tabs/tab.js.map +1 -1
- package/build/tabs/tablist.js +3 -5
- package/build/tabs/tablist.js.map +1 -1
- package/build/tabs/tabpanel.js +6 -9
- package/build/tabs/tabpanel.js.map +1 -1
- package/build/tabs/types.js.map +1 -1
- package/build/text-control/index.js +5 -1
- package/build/text-control/index.js.map +1 -1
- package/build/text-control/types.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +4 -2
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +13 -9
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/types.js.map +1 -1
- package/build-module/disclosure/index.js +33 -8
- package/build-module/disclosure/index.js.map +1 -1
- package/build-module/disclosure/types.js +2 -0
- package/build-module/disclosure/types.js.map +1 -0
- package/build-module/divider/component.js +3 -3
- package/build-module/divider/component.js.map +1 -1
- package/build-module/divider/types.js.map +1 -1
- package/build-module/dropdown-menu-v2-ariakit/index.js +27 -17
- package/build-module/dropdown-menu-v2-ariakit/index.js.map +1 -1
- package/build-module/dropdown-menu-v2-ariakit/types.js.map +1 -1
- package/build-module/gradient-picker/index.js +1 -1
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/index.native.js +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/mobile/audio-player/index.native.js +9 -10
- package/build-module/mobile/audio-player/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +43 -4
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/radio-group/context.js +14 -0
- package/build-module/radio-group/context.js.map +1 -0
- package/build-module/radio-group/index.js +24 -23
- package/build-module/radio-group/index.js.map +1 -1
- package/build-module/radio-group/radio.js +46 -0
- package/build-module/radio-group/radio.js.map +1 -0
- package/build-module/radio-group/types.js +2 -0
- package/build-module/radio-group/types.js.map +1 -0
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build-module/tabs/styles.js +11 -5
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/tabs/tab.js +3 -5
- package/build-module/tabs/tab.js.map +1 -1
- package/build-module/tabs/tablist.js +3 -5
- package/build-module/tabs/tablist.js.map +1 -1
- package/build-module/tabs/tabpanel.js +6 -7
- package/build-module/tabs/tabpanel.js.map +1 -1
- package/build-module/tabs/types.js.map +1 -1
- package/build-module/text-control/index.js +6 -1
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/text-control/types.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +4 -2
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +13 -9
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/types.js.map +1 -1
- package/build-style/style-rtl.css +21 -3
- package/build-style/style.css +21 -3
- package/build-types/card/card-divider/component.d.ts +1 -1
- package/build-types/card/card-divider/hook.d.ts +162 -162
- package/build-types/disclosure/index.d.ts +7 -1
- package/build-types/disclosure/index.d.ts.map +1 -1
- package/build-types/disclosure/types.d.ts +12 -0
- package/build-types/disclosure/types.d.ts.map +1 -0
- package/build-types/divider/component.d.ts +5 -1
- package/build-types/divider/component.d.ts.map +1 -1
- package/build-types/divider/stories/index.story.d.ts.map +1 -1
- package/build-types/divider/styles.d.ts +1 -1
- package/build-types/divider/types.d.ts +2 -2
- package/build-types/divider/types.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/types.d.ts +1 -1
- package/build-types/radio-group/context.d.ts +10 -0
- package/build-types/radio-group/context.d.ts.map +1 -0
- package/build-types/radio-group/index.d.ts +7 -9
- package/build-types/radio-group/index.d.ts.map +1 -1
- package/build-types/radio-group/radio.d.ts +8 -0
- package/build-types/radio-group/radio.d.ts.map +1 -0
- package/build-types/radio-group/stories/index.story.d.ts +14 -0
- package/build-types/radio-group/stories/index.story.d.ts.map +1 -0
- package/build-types/radio-group/types.d.ts +40 -0
- package/build-types/radio-group/types.d.ts.map +1 -0
- package/build-types/tabs/index.d.ts +3 -3
- package/build-types/tabs/stories/index.story.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts +10 -0
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/tabs/tab.d.ts +1 -1
- package/build-types/tabs/tab.d.ts.map +1 -1
- package/build-types/tabs/tablist.d.ts +1 -1
- package/build-types/tabs/tablist.d.ts.map +1 -1
- package/build-types/tabs/tabpanel.d.ts +4 -1
- package/build-types/tabs/tabpanel.d.ts.map +1 -1
- package/build-types/tabs/types.d.ts +7 -31
- package/build-types/tabs/types.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +2 -1
- package/build-types/text-control/index.d.ts.map +1 -1
- package/build-types/text-control/types.d.ts +6 -0
- package/build-types/text-control/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +6 -0
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/package.json +19 -20
- package/src/disclosure/index.tsx +44 -0
- package/src/disclosure/types.tsx +10 -0
- package/src/divider/component.tsx +3 -3
- package/src/divider/stories/index.story.tsx +8 -0
- package/src/divider/types.ts +2 -2
- package/src/dropdown-menu/style.scss +4 -0
- package/src/dropdown-menu-v2-ariakit/README.md +0 -7
- package/src/dropdown-menu-v2-ariakit/index.tsx +31 -15
- package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +1 -4
- package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -26
- package/src/dropdown-menu-v2-ariakit/types.ts +1 -1
- package/src/gradient-picker/index.tsx +1 -1
- package/src/index.native.js +1 -0
- package/src/mobile/audio-player/index.native.js +9 -13
- package/src/mobile/global-styles-context/utils.native.js +52 -3
- package/src/radio-group/context.tsx +18 -0
- package/src/radio-group/index.tsx +65 -0
- package/src/radio-group/radio.tsx +55 -0
- package/src/radio-group/stories/index.story.tsx +90 -0
- package/src/radio-group/types.ts +39 -0
- package/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx +1 -1
- package/src/tabs/README.md +3 -33
- package/src/tabs/stories/index.story.tsx +9 -1
- package/src/tabs/styles.ts +16 -0
- package/src/tabs/tab.tsx +6 -6
- package/src/tabs/tablist.tsx +21 -20
- package/src/tabs/tabpanel.tsx +24 -23
- package/src/tabs/test/index.tsx +71 -16
- package/src/tabs/types.ts +7 -32
- package/src/text-control/index.tsx +5 -1
- package/src/text-control/style.scss +5 -0
- package/src/text-control/types.ts +6 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +8 -2
- package/src/toggle-group-control/toggle-group-control/styles.ts +13 -4
- package/src/toggle-group-control/types.ts +6 -0
- package/src/toolbar/toolbar-button/style.scss +0 -5
- package/tsconfig.tsbuildinfo +1 -1
- package/build/radio-group/radio/index.js +0 -49
- package/build/radio-group/radio/index.js.map +0 -1
- package/build/radio-group/radio-context/index.js +0 -18
- package/build/radio-group/radio-context/index.js.map +0 -1
- package/build-module/radio-group/radio/index.js +0 -40
- package/build-module/radio-group/radio/index.js.map +0 -1
- package/build-module/radio-group/radio-context/index.js +0 -10
- package/build-module/radio-group/radio-context/index.js.map +0 -1
- package/build-types/radio-group/radio/index.d.ts +0 -7
- package/build-types/radio-group/radio/index.d.ts.map +0 -1
- package/build-types/radio-group/radio-context/index.d.ts +0 -6
- package/build-types/radio-group/radio-context/index.d.ts.map +0 -1
- package/src/disclosure/index.js +0 -11
- package/src/radio-group/index.js +0 -51
- package/src/radio-group/radio/index.js +0 -40
- package/src/radio-group/radio-context/index.js +0 -11
- 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":"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"}
|
|
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":";;;;;;;;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,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,IAAKT,KAAK,IAAI,IAAI,CAACc,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,GAAG,IAAAC,gCAAoB,EAC1CC,eAAM,CAACC,SAAS,EAChBD,eAAM,CAACE,aACR,CAAC;EAED,MAAMC,SAAS,GAAG,IAAAJ,gCAAoB,EAAEC,eAAM,CAACI,IAAI,EAAEJ,eAAM,CAACK,QAAS,CAAC;EAEtE,MAAMC,iBAAiB,GAAG,IAAAP,gCAAoB,EAC7CC,eAAM,CAACO,YAAY,EACnBP,eAAM,CAACQ,gBACR,CAAC;EAED,MAAMC,UAAU,GAAG/B,cAAc,IAAID,kBAAkB;EAEvD,MAAMiC,cAAc,GAAG;IACtB,GAAGP,SAAS;IACZ,IAAKM,UAAU,IAAIH,iBAAiB;EACrC,CAAC;EAED,MAAMK,kBAAkB,GAAG,IAAAZ,gCAAoB,EAC9CC,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,GAAG,IAAAnB,gCAAoB,EAAEC,eAAM,CAACmB,KAAK,EAAEnB,eAAM,CAACoB,SAAU,CAAC;EAEzE,MAAMC,iBAAiB,GAAG,IAAAtB,gCAAoB,EAC7CC,eAAM,CAACsB,YAAY,EACnBtB,eAAM,CAACuB,gBACR,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAzB,gCAAoB,EACzCC,eAAM,CAACyB,QAAQ,EACfzB,eAAM,CAAC0B,YACR,CAAC;EAED,MAAMC,kBAAkB,GAAG;IAC1B,GAAGH,aAAa;IAChB,IAAK9C,cAAc,IAAI2C,iBAAiB;EACzC,CAAC;EAED,MAAMO,qBAAqB,GAAG,IAAA7B,gCAAoB,EACjDC,eAAM,CAAC6B,gBAAgB,EACvB7B,eAAM,CAAC8B,oBACR,CAAC;EAED,IAAIX,KAAK,GAAG,EAAE;EACd,IAAIY,SAAS,GAAG,EAAE;EAElB,IAAKjD,GAAG,EAAG;IACV,MAAMkD,MAAM,GAAG,IAAAC,6BAAa,EAAEnD,GAAI,CAAC;IACnCiD,SAAS,GAAGC,MAAM,CAACD,SAAS;IAC5BZ,KAAK,GAAGa,MAAM,CAACb,KAAK;EACrB;EAEA,MAAMe,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAKzD,kBAAkB,EAAG;MACzB,OAAO,IAAAkB,QAAE,EAAE,YAAa,CAAC;IAC1B;IACA,IAAKjB,cAAc,EAAG;MACrB,OAAO,IAAAiB,QAAE,EAAE,sDAAuD,CAAC;IACpE;IACA,OACCoC,SAAS;IACT;IACA,IAAApC,QAAE,EAAE,YAAa,CAAC;EAEpB,CAAC;EAED,SAASwC,yBAAyBA,CAAA,EAAG;IACpC,IAAK1D,kBAAkB,EAAG;MACzB,IAAA2D,iDAA8B,EAAEvD,EAAG,CAAC;IACrC,CAAC,MAAM,IAAKA,EAAE,IAAI,IAAAwD,gBAAW,EAAEvD,GAAI,CAAC,KAAK,OAAO,EAAG;MAClD,IAAAwD,gDAA6B,EAAEzD,EAAG,CAAC;IACpC;EACD;EAEA,OACC,IAAA0D,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAkF,wBAAwB;IACxBC,UAAU,EAAG,CAAE9D,UAAY;IAC3B+D,QAAQ,EAAG,CAAE/D,UAAY;IACzBgE,OAAO,EAAGT;EAA2B,GAErC,IAAAI,MAAA,CAAAC,aAAA,EAAC7E,WAAA,CAAAkF,IAAI;IAACC,KAAK,EAAGhD;EAAgB,GAC7B,IAAAyC,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,GACrCzE,cAAc,IACf,IAAA6D,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,IAAA3D,QAAE,EAAE,cAAe,CAAG;IAC3C4D,iBAAiB,EAAG,QAAU;IAC9BC,iBAAiB,EAAG,IAAA7D,QAAE,EACrB,qCACD,CAAG;IACHiD,OAAO,EAAG1D;EAAe,GAEzB,IAAAqD,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,IAAA9D,QAAE,EAAE,MAAO,CACR,CACD,CACmB,CAC1B,EACCtB,KAAK,IACN,IAAAkE,MAAA,CAAAC,aAAA,EAAC/E,iBAAA,CAAAiG,OAAW;IACXC,MAAM,EAAG;MAAEC,GAAG,EAAE9E;IAAI,CAAG;IACvBC,MAAM,EAAGA,MAAQ;IACjB8E,GAAG,EAAKA,GAAG,IAAM;MAChB,IAAI,CAAC1E,MAAM,GAAG0E,GAAG;IAClB,CAAG;IACHC,QAAQ,EAAG,KAAO;IAClBC,kBAAkB,EAAG,QAAU;IAC/BC,6BAA6B,EAAGA,CAAA,KAAM;MACrChF,SAAS,CAAE,KAAM,CAAC;IACnB,CAAG;IACHiF,4BAA4B,EAAGA,CAAA,KAAM;MACpCjF,SAAS,CAAE,IAAK,CAAC;IAClB;EAAG,CACH,CAEG,CACmB,CAAC;AAE7B;AAAC,IAAAkF,QAAA,GAEc,IAAAC,iCAAwB,EAAE3F,MAAO,CAAC;AAAA4F,OAAA,CAAAV,OAAA,GAAAQ,QAAA"}
|
|
@@ -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
|
|
286
|
-
const [
|
|
287
|
-
|
|
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
|
|
9
|
+
var Ariakit = _interopRequireWildcard(require("@ariakit/react"));
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
var _buttonGroup = _interopRequireDefault(require("../button-group"));
|
|
12
|
-
var
|
|
13
|
-
|
|
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
|
|
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
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
40
|
-
|
|
41
|
-
disabled
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":["
|
|
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 @@
|
|
|
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.
|
|
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","
|
|
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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"}
|