@wordpress/components 27.0.0 → 27.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/build/base-control/index.native.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/button/index.js +2 -2
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js.map +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build/custom-select-control-v2/index.js +2 -2
- package/build/custom-select-control-v2/index.js.map +1 -1
- package/build/custom-select-control-v2/types.js.map +1 -1
- package/build/draggable/index.native.js +2 -2
- package/build/draggable/index.native.js.map +1 -1
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/flex/flex/hook.js +1 -1
- package/build/flex/flex/hook.js.map +1 -1
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/form-token-field/index.js.map +1 -1
- package/build/h-stack/hook.js +6 -1
- package/build/h-stack/hook.js.map +1 -1
- package/build/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/image/index.native.js +4 -13
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js.map +1 -1
- package/build/palette-edit/index.js.map +1 -1
- package/build/query-controls/index.native.js.map +1 -1
- package/build/range-control/index.js.map +1 -1
- package/build/search-control/index.native.js.map +1 -1
- package/build/snackbar/index.js +3 -2
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +2 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/snackbar/types.js.map +1 -1
- package/build/tabs/index.js +7 -7
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/types.js.map +1 -1
- package/build/utils/hooks/index.js +0 -7
- package/build/utils/hooks/index.js.map +1 -1
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/button/index.js +2 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +1 -1
- package/build-module/custom-select-control-v2/index.js.map +1 -1
- package/build-module/custom-select-control-v2/types.js.map +1 -1
- package/build-module/draggable/index.native.js +2 -2
- package/build-module/draggable/index.native.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/flex/flex/hook.js +1 -1
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/h-stack/hook.js +6 -1
- package/build-module/h-stack/hook.js.map +1 -1
- package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +6 -15
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/media-edit/index.native.js.map +1 -1
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/snackbar/index.js +3 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +2 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/snackbar/types.js.map +1 -1
- package/build-module/tabs/index.js +7 -7
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/types.js.map +1 -1
- package/build-module/utils/hooks/index.js +0 -1
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-style/style-rtl.css +8 -1
- package/build-style/style.css +8 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts +2 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +1 -1
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts +2 -0
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/default.story.d.ts +4 -3
- package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +2 -2
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/types.d.ts +0 -1
- package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +2 -3
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/h-stack/hook.d.ts +2 -4
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
- package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +5 -2
- package/build-types/snackbar/index.d.ts.map +1 -1
- package/build-types/snackbar/list.d.ts.map +1 -1
- package/build-types/snackbar/test/index.d.ts +2 -0
- package/build-types/snackbar/test/index.d.ts.map +1 -0
- package/build-types/snackbar/test/list.d.ts +2 -0
- package/build-types/snackbar/test/list.d.ts.map +1 -0
- package/build-types/snackbar/types.d.ts +18 -2
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts +1 -1
- package/build-types/tabs/types.d.ts +1 -1
- package/build-types/utils/hooks/index.d.ts +0 -1
- package/build-types/v-stack/hook.d.ts +2 -4
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/base-control/index.native.js +1 -1
- package/src/base-control/test/index.tsx +1 -1
- package/src/border-box-control/border-box-control/component.tsx +1 -1
- package/src/border-box-control/border-box-control-split-controls/component.tsx +4 -4
- package/src/border-control/border-control-dropdown/component.tsx +1 -1
- package/src/button/index.native.js +1 -1
- package/src/button/index.tsx +1 -1
- package/src/button/style.scss +1 -3
- package/src/circular-option-picker/test/index.tsx +2 -4
- package/src/combobox-control/test/index.tsx +1 -1
- package/src/confirm-dialog/component.tsx +1 -1
- package/src/confirm-dialog/test/index.tsx +5 -21
- package/src/custom-select-control-v2/default-component/index.tsx +4 -1
- package/src/custom-select-control-v2/index.tsx +1 -1
- package/src/custom-select-control-v2/legacy-component/test/index.tsx +457 -0
- package/src/custom-select-control-v2/stories/legacy.story.tsx +5 -6
- package/src/custom-select-control-v2/test/index.tsx +279 -749
- package/src/custom-select-control-v2/types.ts +0 -1
- package/src/disabled/test/index.tsx +1 -1
- package/src/draggable/index.native.js +2 -2
- package/src/draggable/test/index.native.js +6 -2
- package/src/dropdown-menu/index.native.js +2 -2
- package/src/flex/flex/hook.ts +1 -1
- package/src/font-size-picker/index.native.js +2 -2
- package/src/form-token-field/index.tsx +1 -1
- package/src/h-stack/hook.tsx +2 -1
- package/src/h-stack/test/index.tsx +10 -0
- package/src/item-group/test/index.js +2 -2
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +10 -15
- package/src/mobile/bottom-sheet/button.native.js +1 -5
- package/src/mobile/bottom-sheet/index.native.js +2 -2
- package/src/mobile/bottom-sheet/range-cell.native.js +1 -1
- package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -2
- package/src/mobile/bottom-sheet-select-control/index.native.js +1 -1
- package/src/mobile/bottom-sheet-text-control/index.native.js +1 -1
- package/src/mobile/gradient/index.native.js +1 -1
- package/src/mobile/image/index.native.js +8 -23
- package/src/mobile/media-edit/index.native.js +1 -1
- package/src/modal/test/index.tsx +1 -1
- package/src/navigation/stories/utils/hide-if-empty.tsx +2 -6
- package/src/palette-edit/index.tsx +2 -2
- package/src/popover/test/index.tsx +1 -4
- package/src/query-controls/index.native.js +2 -2
- package/src/radio-group/stories/index.story.tsx +1 -0
- package/src/range-control/index.tsx +3 -3
- package/src/range-control/test/index.tsx +2 -2
- package/src/search-control/index.native.js +1 -1
- package/src/snackbar/index.tsx +5 -2
- package/src/snackbar/list.tsx +6 -1
- package/src/snackbar/stories/list.story.tsx +0 -3
- package/src/snackbar/test/index.tsx +267 -0
- package/src/snackbar/test/list.tsx +46 -0
- package/src/snackbar/types.ts +31 -3
- package/src/tabs/README.md +18 -18
- package/src/tabs/index.tsx +7 -7
- package/src/tabs/stories/index.story.tsx +1 -1
- package/src/tabs/test/index.tsx +30 -30
- package/src/tabs/types.ts +1 -1
- package/src/toggle-group-control/test/index.tsx +1 -1
- package/src/tools-panel/stories/index.story.tsx +8 -8
- package/src/tools-panel/test/index.tsx +10 -28
- package/src/tooltip/style.scss +2 -1
- package/src/tooltip/test/index.native.js +3 -3
- package/src/tree-grid/test/index.tsx +1 -1
- package/src/utils/hooks/index.js +0 -1
- package/src/v-stack/test/index.tsx +10 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-select-control-v2/legacy-adapter.js +0 -29
- package/build/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build/utils/hooks/use-latest-ref.js +0 -33
- package/build/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-module/custom-select-control-v2/legacy-adapter.js +0 -21
- package/build-module/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build-module/utils/hooks/use-latest-ref.js +0 -27
- package/build-module/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts +0 -6
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts.map +0 -1
- package/build-types/utils/hooks/use-latest-ref.d.ts +0 -15
- package/build-types/utils/hooks/use-latest-ref.d.ts.map +0 -1
- package/src/custom-select-control-v2/legacy-adapter.tsx +0 -25
- package/src/utils/hooks/test/use-latest-ref.js +0 -119
- package/src/utils/hooks/use-latest-ref.ts +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AccessibilityInfo","View","Platform","__","sprintf","Component","withPreferredColorScheme","Cell","Stepper","styles","RangeTextInput","toFixed","STEP_DELAY","DEFAULT_STEP","isIOS","OS","BottomSheetStepperCell","constructor","props","announceValue","bind","onDecrementValue","onDecrementValuePressIn","onIncrementValue","onIncrementValuePressIn","onPressOut","value","defaultValue","min","initialValue","state","inputValue","stepperValue","componentWillUnmount","clearTimeout","timeout","clearInterval","interval","timeoutAnnounceValue","step","max","onChange","decimalNum","newValue","parseInt","undefined","setState","setTimeout","startPressInterval","callback","speed","counter","setInterval","label","unitLabel","announceForAccessibility","render","settingLabel","icon","separatorType","children","shouldDisplayTextInput","preview","openUnitPicker","cellContainerStyle","disabled","isMinValue","isMaxValue","labelStyle","cellLabel","cellLabelNoIcon","getAccessibilityHint","accessibilityLabel","containerStyle","rowContainer","containerIOS","containerAndroid","createElement","accessible","accessibilityRole","accessibilityHint","accessibilityActions","name","onAccessibilityAction","event","nativeEvent","actionName","importantForAccessibility","columnContainer","cellRowContainerStyle","cellRowStyles","editable","leftAlign","style","onPressInDecrement","onPressInIncrement","defaultProps"],"sources":["@wordpress/components/src/mobile/bottom-sheet/stepper-cell/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, View, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Cell from '../cell';\nimport Stepper from './stepper';\nimport styles from './style.scss';\nimport RangeTextInput from '../range-text-input';\nimport { toFixed } from '../../utils';\n\nconst STEP_DELAY = 200;\nconst DEFAULT_STEP = 1;\n\nconst isIOS = Platform.OS === 'ios';\n\nclass BottomSheetStepperCell extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.announceValue = this.announceValue.bind( this );\n\t\tthis.onDecrementValue = this.onDecrementValue.bind( this );\n\t\tthis.onDecrementValuePressIn =\n\t\t\tthis.onDecrementValuePressIn.bind( this );\n\t\tthis.onIncrementValue = this.onIncrementValue.bind( this );\n\t\tthis.onIncrementValuePressIn =\n\t\t\tthis.onIncrementValuePressIn.bind( this );\n\t\tthis.onPressOut = this.onPressOut.bind( this );\n\n\t\tconst { value, defaultValue, min } = props;\n\n\t\tconst initialValue = value || defaultValue || min;\n\n\t\tthis.state = {\n\t\t\tinputValue: initialValue,\n\t\t\tstepperValue: initialValue,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeout );\n\t\tclearInterval( this.interval );\n\t\tclearTimeout( this.timeoutAnnounceValue );\n\t}\n\n\tonIncrementValue() {\n\t\tconst { step, max, onChange, value, decimalNum } = this.props;\n\t\tlet newValue = toFixed( value + step, decimalNum );\n\t\tnewValue =\n\t\t\tparseInt( newValue ) === newValue ? parseInt( newValue ) : newValue;\n\t\tif ( newValue <= max || max === undefined ) {\n\t\t\tonChange( newValue );\n\t\t\tthis.setState( {\n\t\t\t\tinputValue: newValue,\n\t\t\t} );\n\t\t\tthis.announceValue( newValue );\n\t\t}\n\t}\n\n\tonDecrementValue() {\n\t\tconst { step, min, onChange, value, decimalNum } = this.props;\n\t\tlet newValue = toFixed( value - step, decimalNum );\n\t\tnewValue =\n\t\t\tparseInt( newValue ) === newValue ? parseInt( newValue ) : newValue;\n\t\tif ( newValue >= min ) {\n\t\t\tonChange( newValue );\n\t\t\tthis.setState( {\n\t\t\t\tinputValue: newValue,\n\t\t\t} );\n\t\t\tthis.announceValue( newValue );\n\t\t}\n\t}\n\n\tonIncrementValuePressIn() {\n\t\tthis.onIncrementValue();\n\t\tthis.timeout = setTimeout( () => {\n\t\t\tthis.startPressInterval( this.onIncrementValue );\n\t\t}, 500 );\n\t}\n\n\tonDecrementValuePressIn() {\n\t\tthis.onDecrementValue();\n\t\tthis.timeout = setTimeout( () => {\n\t\t\tthis.startPressInterval( this.onDecrementValue );\n\t\t}, 500 );\n\t}\n\n\tonPressOut() {\n\t\tclearTimeout( this.timeout );\n\t\tclearInterval( this.interval );\n\t}\n\n\tstartPressInterval( callback, speed = STEP_DELAY ) {\n\t\tlet counter = 0;\n\t\tthis.interval = setInterval( () => {\n\t\t\tcallback();\n\t\t\tcounter += 1;\n\n\t\t\tif ( counter === 10 ) {\n\t\t\t\tclearInterval( this.interval );\n\t\t\t\tthis.startPressInterval( callback, speed / 2 );\n\t\t\t}\n\t\t}, speed );\n\t}\n\n\tannounceValue( value ) {\n\t\tconst { label, unitLabel = '' } = this.props;\n\n\t\tif ( isIOS ) {\n\t\t\t// On Android it triggers the accessibilityLabel with the value change\n\t\t\tclearTimeout( this.timeoutAnnounceValue );\n\t\t\tthis.timeoutAnnounceValue = setTimeout( () => {\n\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t`${ value } ${ unitLabel } ${ label }`\n\t\t\t\t);\n\t\t\t}, 300 );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tlabel,\n\t\t\tsettingLabel = 'Value',\n\t\t\tunitLabel = '',\n\t\t\ticon,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tvalue,\n\t\t\tseparatorType,\n\t\t\tchildren,\n\t\t\tshouldDisplayTextInput = false,\n\t\t\tpreview,\n\t\t\tonChange,\n\t\t\topenUnitPicker,\n\t\t\tdecimalNum,\n\t\t\tcellContainerStyle,\n\t\t\tdisabled,\n\t\t} = this.props;\n\t\tconst { inputValue } = this.state;\n\t\tconst isMinValue = value === min;\n\t\tconst isMaxValue = value === max;\n\t\tconst labelStyle = [\n\t\t\tstyles.cellLabel,\n\t\t\t! icon ? styles.cellLabelNoIcon : {},\n\t\t];\n\n\t\tconst getAccessibilityHint = () => {\n\t\t\treturn openUnitPicker ? __( 'double-tap to change unit' ) : '';\n\t\t};\n\n\t\tconst accessibilityLabel = sprintf(\n\t\t\t/* translators: accessibility text. Inform about current value. %1$s: Control label %2$s: setting label (example: width), %3$s: Current value. %4$s: value measurement unit (example: pixels) */\n\t\t\t__( '%1$s. %2$s is %3$s %4$s.' ),\n\t\t\tlabel,\n\t\t\tsettingLabel,\n\t\t\tvalue,\n\t\t\tunitLabel\n\t\t);\n\n\t\tconst containerStyle = [\n\t\t\tstyles.rowContainer,\n\t\t\tisIOS ? styles.containerIOS : styles.containerAndroid,\n\t\t];\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityRole=\"adjustable\"\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\taccessibilityHint={ getAccessibilityHint() }\n\t\t\t\taccessibilityActions={ [\n\t\t\t\t\t{ name: 'increment' },\n\t\t\t\t\t{ name: 'decrement' },\n\t\t\t\t\t{ name: 'activate' },\n\t\t\t\t] }\n\t\t\t\tonAccessibilityAction={ ( event ) => {\n\t\t\t\t\tswitch ( event.nativeEvent.actionName ) {\n\t\t\t\t\t\tcase 'increment':\n\t\t\t\t\t\t\tthis.onIncrementValue();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'decrement':\n\t\t\t\t\t\t\tthis.onDecrementValue();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'activate':\n\t\t\t\t\t\t\tif ( openUnitPicker ) {\n\t\t\t\t\t\t\t\topenUnitPicker();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View importantForAccessibility=\"no-hide-descendants\">\n\t\t\t\t\t<Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.cellContainerStyle,\n\t\t\t\t\t\t\tpreview && styles.columnContainer,\n\t\t\t\t\t\t\tcellContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tcellRowContainerStyle={\n\t\t\t\t\t\t\tpreview ? containerStyle : styles.cellRowStyles\n\t\t\t\t\t\t}\n\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tlabelStyle={ labelStyle }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ preview && containerStyle }>\n\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t<Stepper\n\t\t\t\t\t\t\t\tisMaxValue={ isMaxValue }\n\t\t\t\t\t\t\t\tisMinValue={ isMinValue }\n\t\t\t\t\t\t\t\tonPressInDecrement={\n\t\t\t\t\t\t\t\t\tthis.onDecrementValuePressIn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPressInIncrement={\n\t\t\t\t\t\t\t\t\tthis.onIncrementValuePressIn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPressOut={ this.onPressOut }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tshouldDisplayTextInput={\n\t\t\t\t\t\t\t\t\tshouldDisplayTextInput\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shouldDisplayTextInput && (\n\t\t\t\t\t\t\t\t\t<RangeTextInput\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\t\tdefaultValue={ `${ inputValue }` }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t\t</RangeTextInput>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Stepper>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</Cell>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nBottomSheetStepperCell.defaultProps = {\n\tstep: DEFAULT_STEP,\n};\n\nexport default withPreferredColorScheme( BottomSheetStepperCell );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AccessibilityInfo","View","Platform","__","sprintf","Component","withPreferredColorScheme","Cell","Stepper","styles","RangeTextInput","toFixed","STEP_DELAY","DEFAULT_STEP","isIOS","OS","BottomSheetStepperCell","constructor","props","announceValue","bind","onDecrementValue","onDecrementValuePressIn","onIncrementValue","onIncrementValuePressIn","onPressOut","value","defaultValue","min","initialValue","state","inputValue","stepperValue","componentWillUnmount","clearTimeout","timeout","clearInterval","interval","timeoutAnnounceValue","step","max","onChange","decimalNum","newValue","parseInt","undefined","setState","setTimeout","startPressInterval","callback","speed","counter","setInterval","label","unitLabel","announceForAccessibility","render","settingLabel","icon","separatorType","children","shouldDisplayTextInput","preview","openUnitPicker","cellContainerStyle","disabled","isMinValue","isMaxValue","labelStyle","cellLabel","cellLabelNoIcon","getAccessibilityHint","accessibilityLabel","containerStyle","rowContainer","containerIOS","containerAndroid","createElement","accessible","accessibilityRole","accessibilityHint","accessibilityActions","name","onAccessibilityAction","event","nativeEvent","actionName","importantForAccessibility","columnContainer","cellRowContainerStyle","cellRowStyles","editable","leftAlign","style","onPressInDecrement","onPressInIncrement","defaultProps"],"sources":["@wordpress/components/src/mobile/bottom-sheet/stepper-cell/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, View, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Cell from '../cell';\nimport Stepper from './stepper';\nimport styles from './style.scss';\nimport RangeTextInput from '../range-text-input';\nimport { toFixed } from '../../utils';\n\nconst STEP_DELAY = 200;\nconst DEFAULT_STEP = 1;\n\nconst isIOS = Platform.OS === 'ios';\n\nclass BottomSheetStepperCell extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.announceValue = this.announceValue.bind( this );\n\t\tthis.onDecrementValue = this.onDecrementValue.bind( this );\n\t\tthis.onDecrementValuePressIn =\n\t\t\tthis.onDecrementValuePressIn.bind( this );\n\t\tthis.onIncrementValue = this.onIncrementValue.bind( this );\n\t\tthis.onIncrementValuePressIn =\n\t\t\tthis.onIncrementValuePressIn.bind( this );\n\t\tthis.onPressOut = this.onPressOut.bind( this );\n\n\t\tconst { value, defaultValue, min } = props;\n\n\t\tconst initialValue = value || defaultValue || min;\n\n\t\tthis.state = {\n\t\t\tinputValue: initialValue,\n\t\t\tstepperValue: initialValue,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeout );\n\t\tclearInterval( this.interval );\n\t\tclearTimeout( this.timeoutAnnounceValue );\n\t}\n\n\tonIncrementValue() {\n\t\tconst { step, max, onChange, value, decimalNum } = this.props;\n\t\tlet newValue = toFixed( value + step, decimalNum );\n\t\tnewValue =\n\t\t\tparseInt( newValue ) === newValue ? parseInt( newValue ) : newValue;\n\t\tif ( newValue <= max || max === undefined ) {\n\t\t\tonChange( newValue );\n\t\t\tthis.setState( {\n\t\t\t\tinputValue: newValue,\n\t\t\t} );\n\t\t\tthis.announceValue( newValue );\n\t\t}\n\t}\n\n\tonDecrementValue() {\n\t\tconst { step, min, onChange, value, decimalNum } = this.props;\n\t\tlet newValue = toFixed( value - step, decimalNum );\n\t\tnewValue =\n\t\t\tparseInt( newValue ) === newValue ? parseInt( newValue ) : newValue;\n\t\tif ( newValue >= min ) {\n\t\t\tonChange( newValue );\n\t\t\tthis.setState( {\n\t\t\t\tinputValue: newValue,\n\t\t\t} );\n\t\t\tthis.announceValue( newValue );\n\t\t}\n\t}\n\n\tonIncrementValuePressIn() {\n\t\tthis.onIncrementValue();\n\t\tthis.timeout = setTimeout( () => {\n\t\t\tthis.startPressInterval( this.onIncrementValue );\n\t\t}, 500 );\n\t}\n\n\tonDecrementValuePressIn() {\n\t\tthis.onDecrementValue();\n\t\tthis.timeout = setTimeout( () => {\n\t\t\tthis.startPressInterval( this.onDecrementValue );\n\t\t}, 500 );\n\t}\n\n\tonPressOut() {\n\t\tclearTimeout( this.timeout );\n\t\tclearInterval( this.interval );\n\t}\n\n\tstartPressInterval( callback, speed = STEP_DELAY ) {\n\t\tlet counter = 0;\n\t\tthis.interval = setInterval( () => {\n\t\t\tcallback();\n\t\t\tcounter += 1;\n\n\t\t\tif ( counter === 10 ) {\n\t\t\t\tclearInterval( this.interval );\n\t\t\t\tthis.startPressInterval( callback, speed / 2 );\n\t\t\t}\n\t\t}, speed );\n\t}\n\n\tannounceValue( value ) {\n\t\tconst { label, unitLabel = '' } = this.props;\n\n\t\tif ( isIOS ) {\n\t\t\t// On Android it triggers the accessibilityLabel with the value change\n\t\t\tclearTimeout( this.timeoutAnnounceValue );\n\t\t\tthis.timeoutAnnounceValue = setTimeout( () => {\n\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t`${ value } ${ unitLabel } ${ label }`\n\t\t\t\t);\n\t\t\t}, 300 );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tlabel,\n\t\t\tsettingLabel = 'Value',\n\t\t\tunitLabel = '',\n\t\t\ticon,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tvalue,\n\t\t\tseparatorType,\n\t\t\tchildren,\n\t\t\tshouldDisplayTextInput = false,\n\t\t\tpreview,\n\t\t\tonChange,\n\t\t\topenUnitPicker,\n\t\t\tdecimalNum,\n\t\t\tcellContainerStyle,\n\t\t\tdisabled,\n\t\t} = this.props;\n\t\tconst { inputValue } = this.state;\n\t\tconst isMinValue = value === min;\n\t\tconst isMaxValue = value === max;\n\t\tconst labelStyle = [\n\t\t\tstyles.cellLabel,\n\t\t\t! icon ? styles.cellLabelNoIcon : {},\n\t\t];\n\n\t\tconst getAccessibilityHint = () => {\n\t\t\treturn openUnitPicker ? __( 'double-tap to change unit' ) : '';\n\t\t};\n\n\t\tconst accessibilityLabel = sprintf(\n\t\t\t/* translators: accessibility text. Inform about current value. %1$s: Control label %2$s: setting label (example: width), %3$s: Current value. %4$s: value measurement unit (example: pixels) */\n\t\t\t__( '%1$s. %2$s is %3$s %4$s.' ),\n\t\t\tlabel,\n\t\t\tsettingLabel,\n\t\t\tvalue,\n\t\t\tunitLabel\n\t\t);\n\n\t\tconst containerStyle = [\n\t\t\tstyles.rowContainer,\n\t\t\tisIOS ? styles.containerIOS : styles.containerAndroid,\n\t\t];\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\taccessibilityRole=\"adjustable\"\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\taccessibilityHint={ getAccessibilityHint() }\n\t\t\t\taccessibilityActions={ [\n\t\t\t\t\t{ name: 'increment' },\n\t\t\t\t\t{ name: 'decrement' },\n\t\t\t\t\t{ name: 'activate' },\n\t\t\t\t] }\n\t\t\t\tonAccessibilityAction={ ( event ) => {\n\t\t\t\t\tswitch ( event.nativeEvent.actionName ) {\n\t\t\t\t\t\tcase 'increment':\n\t\t\t\t\t\t\tthis.onIncrementValue();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'decrement':\n\t\t\t\t\t\t\tthis.onDecrementValue();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'activate':\n\t\t\t\t\t\t\tif ( openUnitPicker ) {\n\t\t\t\t\t\t\t\topenUnitPicker();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View importantForAccessibility=\"no-hide-descendants\">\n\t\t\t\t\t<Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.cellContainerStyle,\n\t\t\t\t\t\t\tpreview && styles.columnContainer,\n\t\t\t\t\t\t\tcellContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tcellRowContainerStyle={\n\t\t\t\t\t\t\tpreview ? containerStyle : styles.cellRowStyles\n\t\t\t\t\t\t}\n\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tlabelStyle={ labelStyle }\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ preview && containerStyle }>\n\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t<Stepper\n\t\t\t\t\t\t\t\tisMaxValue={ isMaxValue }\n\t\t\t\t\t\t\t\tisMinValue={ isMinValue }\n\t\t\t\t\t\t\t\tonPressInDecrement={\n\t\t\t\t\t\t\t\t\tthis.onDecrementValuePressIn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPressInIncrement={\n\t\t\t\t\t\t\t\t\tthis.onIncrementValuePressIn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonPressOut={ this.onPressOut }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tshouldDisplayTextInput={\n\t\t\t\t\t\t\t\t\tshouldDisplayTextInput\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shouldDisplayTextInput && (\n\t\t\t\t\t\t\t\t\t<RangeTextInput\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\t\tdefaultValue={ `${ inputValue }` }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t\t</RangeTextInput>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Stepper>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</Cell>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nBottomSheetStepperCell.defaultProps = {\n\tstep: DEFAULT_STEP,\n};\n\nexport default withPreferredColorScheme( BottomSheetStepperCell );\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","useNavigation","useState","Icon","chevronRight","check","__","sprintf","BottomSheet","styles","BottomSheetSelectControl","label","icon","options","items","onChange","value","selectedValue","disabled","showSubSheet","setShowSubSheet","navigation","onChangeValue","goBack","selectedOption","find","option","openSubSheet","navigate","SubSheet","screenName","createElement","navigationButton","Cell","separatorType","onPress","accessibilityRole","accessibilityLabel","accessibilityHint","showSheet","Fragment","NavBar","BackButton","Heading","style","selectControl","map","item","index","customActionButton","leftAlign","key"],"sources":["@wordpress/components/src/mobile/bottom-sheet-select-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BottomSheetSelectControl = ( {\n\tlabel,\n\ticon,\n\toptions: items,\n\tonChange,\n\tvalue: selectedValue,\n\tdisabled,\n} ) => {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = items.find(\n\t\t( option ) => option.value === selectedValue\n\t);\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tvalue={ selectedOption.label }\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t// translators: %1$s: Select control button label e.g. \"Button width\". %2$s: Select control option value e.g: \"Auto, 25%\".\n\t\t\t\t\t\t__( '%1$s. Currently selected: %2$s' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tselectedOption.label\n\t\t\t\t\t) }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. \"Button width\"\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tlabel\n\t\t\t\t\t) }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t>\n\t\t\t\t\t{ disabled ? null : <Icon icon={ chevronRight } /> }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles.selectControl }>\n\t\t\t\t\t{ items.map( ( item, index ) => (\n\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\tlabel={ item.label }\n\t\t\t\t\t\t\ticon={ item.icon }\n\t\t\t\t\t\t\tonPress={ onChangeValue( item.value ) }\n\t\t\t\t\t\t\tleftAlign
|
|
1
|
+
{"version":3,"names":["View","useNavigation","useState","Icon","chevronRight","check","__","sprintf","BottomSheet","styles","BottomSheetSelectControl","label","icon","options","items","onChange","value","selectedValue","disabled","showSubSheet","setShowSubSheet","navigation","onChangeValue","goBack","selectedOption","find","option","openSubSheet","navigate","SubSheet","screenName","createElement","navigationButton","Cell","separatorType","onPress","accessibilityRole","accessibilityLabel","accessibilityHint","showSheet","Fragment","NavBar","BackButton","Heading","style","selectControl","map","item","index","customActionButton","leftAlign","key"],"sources":["@wordpress/components/src/mobile/bottom-sheet-select-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BottomSheetSelectControl = ( {\n\tlabel,\n\ticon,\n\toptions: items,\n\tonChange,\n\tvalue: selectedValue,\n\tdisabled,\n} ) => {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = items.find(\n\t\t( option ) => option.value === selectedValue\n\t);\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tvalue={ selectedOption.label }\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t// translators: %1$s: Select control button label e.g. \"Button width\". %2$s: Select control option value e.g: \"Auto, 25%\".\n\t\t\t\t\t\t__( '%1$s. Currently selected: %2$s' ),\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tselectedOption.label\n\t\t\t\t\t) }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. \"Button width\"\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tlabel\n\t\t\t\t\t) }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t>\n\t\t\t\t\t{ disabled ? null : <Icon icon={ chevronRight } /> }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles.selectControl }>\n\t\t\t\t\t{ items.map( ( item, index ) => (\n\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\tlabel={ item.label }\n\t\t\t\t\t\t\ticon={ item.icon }\n\t\t\t\t\t\t\tonPress={ onChangeValue( item.value ) }\n\t\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\titem.value === selectedValue\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select control option value e.g: \"Auto, 25%\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\titem.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: item.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityHint={ __( 'Double tap to select' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.value === selectedValue && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t) ) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n};\n\nexport default BottomSheetSelectControl;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextInput","useNavigation","useState","Icon","chevronRight","usePreferredColorSchemeStyle","BottomSheet","PanelBody","FooterMessageControl","styles","BottomSheetTextControl","initialValue","onChange","placeholder","label","icon","footerNote","cellPlaceholder","disabled","showSubSheet","setShowSubSheet","navigation","goBack","openSubSheet","navigate","SubSheet","screenName","horizontalBorderStyle","horizontalBorder","horizontalBorderDark","textEditorStyle","textEditor","textEditorDark","createElement","navigationButton","Cell","onPress","value","showSheet","Fragment","NavBar","BackButton","Heading","style","onChangeText","text","defaultValue","multiline","placeholderTextColor","textAlignVertical","textFooternote","textAlign"],"sources":["@wordpress/components/src/mobile/bottom-sheet-text-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\nimport { useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tFooterMessageControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst BottomSheetTextControl = ( {\n\tinitialValue,\n\tonChange,\n\tplaceholder,\n\tlabel,\n\ticon,\n\tfooterNote,\n\tcellPlaceholder,\n\tdisabled,\n} ) => {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\n\tconst horizontalBorderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.horizontalBorder,\n\t\tstyles.horizontalBorderDark\n\t);\n\n\tconst textEditorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.textEditor,\n\t\tstyles.textEditorDark\n\t);\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\tvalue={ initialValue || '' }\n\t\t\t\t\tplaceholder={ cellPlaceholder || placeholder || '' }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t>\n\t\t\t\t\t{ disabled ? null : <Icon icon={ chevronRight } /> }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<PanelBody style={ horizontalBorderStyle }>\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tonChangeText={ ( text ) => onChange( text ) }\n\t\t\t\t\t\tdefaultValue={ initialValue }\n\t\t\t\t\t\tmultiline
|
|
1
|
+
{"version":3,"names":["TextInput","useNavigation","useState","Icon","chevronRight","usePreferredColorSchemeStyle","BottomSheet","PanelBody","FooterMessageControl","styles","BottomSheetTextControl","initialValue","onChange","placeholder","label","icon","footerNote","cellPlaceholder","disabled","showSubSheet","setShowSubSheet","navigation","goBack","openSubSheet","navigate","SubSheet","screenName","horizontalBorderStyle","horizontalBorder","horizontalBorderDark","textEditorStyle","textEditor","textEditorDark","createElement","navigationButton","Cell","onPress","value","showSheet","Fragment","NavBar","BackButton","Heading","style","onChangeText","text","defaultValue","multiline","placeholderTextColor","textAlignVertical","textFooternote","textAlign"],"sources":["@wordpress/components/src/mobile/bottom-sheet-text-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\nimport { useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tFooterMessageControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst BottomSheetTextControl = ( {\n\tinitialValue,\n\tonChange,\n\tplaceholder,\n\tlabel,\n\ticon,\n\tfooterNote,\n\tcellPlaceholder,\n\tdisabled,\n} ) => {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\n\tconst horizontalBorderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.horizontalBorder,\n\t\tstyles.horizontalBorderDark\n\t);\n\n\tconst textEditorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.textEditor,\n\t\tstyles.textEditorDark\n\t);\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\tvalue={ initialValue || '' }\n\t\t\t\t\tplaceholder={ cellPlaceholder || placeholder || '' }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t>\n\t\t\t\t\t{ disabled ? null : <Icon icon={ chevronRight } /> }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<PanelBody style={ horizontalBorderStyle }>\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tonChangeText={ ( text ) => onChange( text ) }\n\t\t\t\t\t\tdefaultValue={ initialValue }\n\t\t\t\t\t\tmultiline\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tplaceholderTextColor={ '#87a6bc' }\n\t\t\t\t\t\tstyle={ textEditorStyle }\n\t\t\t\t\t\ttextAlignVertical={ 'top' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</>\n\n\t\t\t{ footerNote && (\n\t\t\t\t<PanelBody style={ styles.textFooternote }>\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ footerNote }\n\t\t\t\t\t\ttextAlign=\"left\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</BottomSheet.SubSheet>\n\t);\n};\n\nexport default BottomSheetTextControl;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,aAAa,QAAQ,0BAA0B;;AAExD;AACA;AACA;AACA,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,IAAI,EAAEC,YAAY,QAAQ,kBAAkB;AACrD,SAASC,4BAA4B,QAAQ,oBAAoB;AACjE,SACCC,WAAW,EACXC,SAAS,EACTC,oBAAoB,QACd,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAElC,MAAMC,sBAAsB,GAAGA,CAAE;EAChCC,YAAY;EACZC,QAAQ;EACRC,WAAW;EACXC,KAAK;EACLC,IAAI;EACJC,UAAU;EACVC,eAAe;EACfC;AACD,CAAC,KAAM;EACN,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAGlB,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAMmB,UAAU,GAAGpB,aAAa,CAAC,CAAC;EAElC,MAAMqB,MAAM,GAAGA,CAAA,KAAM;IACpBF,eAAe,CAAE,KAAM,CAAC;IACxBC,UAAU,CAACC,MAAM,CAAC,CAAC;EACpB,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IAC1BF,UAAU,CAACG,QAAQ,CAAElB,WAAW,CAACmB,QAAQ,CAACC,UAAW,CAAC;IACtDN,eAAe,CAAE,IAAK,CAAC;EACxB,CAAC;EAED,MAAMO,qBAAqB,GAAGtB,4BAA4B,CACzDI,MAAM,CAACmB,gBAAgB,EACvBnB,MAAM,CAACoB,oBACR,CAAC;EAED,MAAMC,eAAe,GAAGzB,4BAA4B,CACnDI,MAAM,CAACsB,UAAU,EACjBtB,MAAM,CAACuB,cACR,CAAC;EAED,OACCC,aAAA,CAAC3B,WAAW,CAACmB,QAAQ;IACpBS,gBAAgB,EACfD,aAAA,CAAC3B,WAAW,CAAC6B,IAAI;MAChBpB,IAAI,EAAGA,IAAM;MACbD,KAAK,EAAGA,KAAO;MACfsB,OAAO,EAAGb,YAAc;MACxBc,KAAK,EAAG1B,YAAY,IAAI,EAAI;MAC5BE,WAAW,EAAGI,eAAe,IAAIJ,WAAW,IAAI,EAAI;MACpDK,QAAQ,EAAGA;IAAU,GAEnBA,QAAQ,GAAG,IAAI,GAAGe,aAAA,CAAC9B,IAAI;MAACY,IAAI,EAAGX;IAAc,CAAE,CAChC,CAClB;IACDkC,SAAS,EAAGnB;EAAc,GAE1Bc,aAAA,CAAAM,QAAA,QACCN,aAAA,CAAC3B,WAAW,CAACkC,MAAM,QAClBP,aAAA,CAAC3B,WAAW,CAACkC,MAAM,CAACC,UAAU;IAACL,OAAO,EAAGd;EAAQ,CAAE,CAAC,EACpDW,aAAA,CAAC3B,WAAW,CAACkC,MAAM,CAACE,OAAO,QACxB5B,KACyB,CACT,CAAC,EACrBmB,aAAA,CAAC1B,SAAS;IAACoC,KAAK,EAAGhB;EAAuB,GACzCM,aAAA,CAACjC,SAAS;IACTc,KAAK,EAAGA,KAAO;IACf8B,YAAY,EAAKC,IAAI,IAAMjC,QAAQ,CAAEiC,IAAK,CAAG;IAC7CC,YAAY,EAAGnC,YAAc;IAC7BoC,SAAS;IACTlC,WAAW,EAAGA,WAAa;IAC3BmC,oBAAoB,EAAG,SAAW;IAClCL,KAAK,EAAGb,eAAiB;IACzBmB,iBAAiB,EAAG;EAAO,CAC3B,CACS,CACV,CAAC,EAEDjC,UAAU,IACXiB,aAAA,CAAC1B,SAAS;IAACoC,KAAK,EAAGlC,MAAM,CAACyC;EAAgB,GACzCjB,aAAA,CAACzB,oBAAoB;IACpBM,KAAK,EAAGE,UAAY;IACpBmC,SAAS,EAAC;EAAM,CAChB,CACS,CAES,CAAC;AAEzB,CAAC;AAED,eAAezC,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Platform","RNLinearGradient","gradientParser","colorsUtils","RadialGradient","Stop","SVG","Defs","Rect","useResizeObserver","useMemo","styles","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","width","height","isGradient","getGradientType","gradients","locations","colors","isLinearGradient","linear","createElement","useAngle","overflow","radialGradientContent","id","gradientUnits","rx","ry","cy","OS","group","offset","stopColor","stopOpacity","key","fill"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else return 4 * angleBase;\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle={ true }\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Platform","RNLinearGradient","gradientParser","colorsUtils","RadialGradient","Stop","SVG","Defs","Rect","useResizeObserver","useMemo","styles","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","width","height","isGradient","getGradientType","gradients","locations","colors","isLinearGradient","linear","createElement","useAngle","overflow","radialGradientContent","id","gradientUnits","rx","ry","cy","OS","group","offset","stopColor","stopOpacity","key","fill"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else return 4 * angleBase;\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { Image as RNImage, Text, View } from 'react-native';
|
|
6
6
|
import FastImage from 'react-native-fast-image';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -12,7 +12,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
12
12
|
import { Icon } from '@wordpress/components';
|
|
13
13
|
import { image, offline } from '@wordpress/icons';
|
|
14
14
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
15
|
-
import { useEffect, useState,
|
|
15
|
+
import { useEffect, useState, Platform } from '@wordpress/element';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Internal dependencies
|
|
@@ -160,16 +160,7 @@ const ImageComponent = ({
|
|
|
160
160
|
}, resizeMode && {
|
|
161
161
|
width: styles.wide?.width
|
|
162
162
|
}, focalPoint && styles.focalPointContainer];
|
|
163
|
-
const opacityValue = useRef(new Animated.Value(1)).current;
|
|
164
|
-
useEffect(() => {
|
|
165
|
-
Animated.timing(opacityValue, {
|
|
166
|
-
toValue: isUploadInProgress ? 0.3 : 1,
|
|
167
|
-
duration: 100,
|
|
168
|
-
useNativeDriver: true
|
|
169
|
-
}).start();
|
|
170
|
-
}, [isUploadInProgress, opacityValue]);
|
|
171
163
|
const imageStyles = [{
|
|
172
|
-
opacity: opacityValue,
|
|
173
164
|
height: containerSize?.height
|
|
174
165
|
}, !resizeMode && {
|
|
175
166
|
aspectRatio: imageData?.aspectRatio
|
|
@@ -209,7 +200,7 @@ const ImageComponent = ({
|
|
|
209
200
|
accessibilityRole: 'imagebutton',
|
|
210
201
|
key: url,
|
|
211
202
|
style: imageContainerStyles
|
|
212
|
-
}, isSelected && highlightSelected &&
|
|
203
|
+
}, isSelected && highlightSelected && createElement(View, {
|
|
213
204
|
style: imageSelectedStyles
|
|
214
205
|
}), !imageData ? createElement(View, {
|
|
215
206
|
style: placeholderStyles
|
|
@@ -217,7 +208,7 @@ const ImageComponent = ({
|
|
|
217
208
|
style: styles.imageUploadingIconContainer
|
|
218
209
|
}, getIcon(ICON_TYPE.UPLOAD))) : createElement(View, {
|
|
219
210
|
style: focalPoint && styles.focalPointContent
|
|
220
|
-
}, Platform.isAndroid && createElement(Fragment, null, networkImageLoaded && networkURL && createElement(
|
|
211
|
+
}, Platform.isAndroid && createElement(Fragment, null, networkImageLoaded && networkURL && createElement(Image, {
|
|
221
212
|
style: imageStyles,
|
|
222
213
|
fadeDuration: 0,
|
|
223
214
|
source: {
|
|
@@ -228,7 +219,7 @@ const ImageComponent = ({
|
|
|
228
219
|
}),
|
|
229
220
|
resizeMode: imageResizeMode,
|
|
230
221
|
testID: `network-image-${url}`
|
|
231
|
-
}), !networkImageLoaded && !networkURL && createElement(
|
|
222
|
+
}), !networkImageLoaded && !networkURL && createElement(Image, {
|
|
232
223
|
style: imageStyles,
|
|
233
224
|
fadeDuration: 0,
|
|
234
225
|
source: {
|
|
@@ -238,7 +229,7 @@ const ImageComponent = ({
|
|
|
238
229
|
resizeMethod: 'scale'
|
|
239
230
|
}),
|
|
240
231
|
resizeMode: imageResizeMode
|
|
241
|
-
})), Platform.isIOS && createElement(Fragment, null, createElement(
|
|
232
|
+
})), Platform.isIOS && createElement(Fragment, null, createElement(Image, {
|
|
242
233
|
style: imageStyles,
|
|
243
234
|
source: {
|
|
244
235
|
uri: networkURL && networkImageLoaded ? networkURL : localURL || url
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","Image","RNImage","Text","View","FastImage","__","Icon","image","offline","usePreferredColorSchemeStyle","useEffect","useState","useRef","Platform","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","isAndroid","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","iconRetryStyles","iconOfflineStyles","iconPlaceholderStyles","iconUploadStyles","createElement","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","opacityValue","Value","current","timing","toValue","duration","useNativeDriver","start","imageStyles","opacity","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","container","alignItems","onLayout","accessible","disabled","accessibilityLabel","accessibilityHint","accessibilityRole","key","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","pickerOptions"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Animated, Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, useRef, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst opacityValue = useRef( new Animated.Value( 1 ) ).current;\n\n\tuseEffect( () => {\n\t\tAnimated.timing( opacityValue, {\n\t\t\ttoValue: isUploadInProgress ? 0.3 : 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t} ).start();\n\t}, [ isUploadInProgress, opacityValue ] );\n\n\tconst imageStyles = [\n\t\t{\n\t\t\topacity: opacityValue,\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! (\n\t\t\t\t\t\tisUploadInProgress ||\n\t\t\t\t\t\tisUploadFailed ||\n\t\t\t\t\t\tisUploadPaused\n\t\t\t\t\t) && <View style={ imageSelectedStyles } /> }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Image","RNImage","Text","View","FastImage","__","Icon","image","offline","usePreferredColorSchemeStyle","useEffect","useState","Platform","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","isAndroid","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","iconRetryStyles","iconOfflineStyles","iconPlaceholderStyles","iconUploadStyles","createElement","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","container","alignItems","onLayout","accessible","disabled","accessibilityLabel","accessibilityHint","accessibilityRole","key","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","pickerOptions"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Component","__","Picker","requestMediaEditor","mediaSources","MEDIA_TYPE_IMAGE","MEDIA_EDITOR","editOption","id","value","label","requiresModal","types","replaceOption","deviceLibrary","MediaEdit","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","filter","Boolean","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","media","optionSelected","find","onPress","render","mediaOptions","createElement","hideCancelButton","ref","instance","leftAlign","onChange","title","open"],"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t].filter( Boolean );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign
|
|
1
|
+
{"version":3,"names":["Component","__","Picker","requestMediaEditor","mediaSources","MEDIA_TYPE_IMAGE","MEDIA_EDITOR","editOption","id","value","label","requiresModal","types","replaceOption","deviceLibrary","MediaEdit","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","filter","Boolean","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","media","optionSelected","find","onPress","render","mediaOptions","createElement","hideCancelButton","ref","instance","leftAlign","onChange","title","open"],"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t].filter( Boolean );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ __( 'Media options' ) }\n\t\t\t\tdestructiveButtonIndex={ this.getDestructiveButtonIndex() }\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tmediaOptions,\n\t\t} );\n\t}\n}\n\nexport default MediaEdit;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","kebabCase","DEFAULT_COLOR","NameInput","value","onChange","label","createElement","hideLabelFromVision","getNameForPosition","elements","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","popoverAnchor","setPopoverAnchor","anchor","undefined","as","onClick","name","trim","length","ref","justify","colorValue","nextName","size","icon","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","debounceOnChange","spacing","isRounded","map","index","key","newElement","currentElement","currentIndex","newElements","filter","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","level","isPressed","optionName","toggleProps","isSmall","Fragment","role","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is an id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas={ isEditing ? 'div' : 'button' }\n\t\t\tonClick={ onStartEditing }\n\t\t\taria-label={\n\t\t\t\tisEditing\n\t\t\t\t\t? undefined\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t )\n\t\t\t}\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing ? { ...focusOutsideProps } : {} ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst optionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","kebabCase","DEFAULT_COLOR","NameInput","value","onChange","label","createElement","hideLabelFromVision","getNameForPosition","elements","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","popoverAnchor","setPopoverAnchor","anchor","undefined","as","onClick","name","trim","length","ref","justify","colorValue","nextName","size","icon","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","debounceOnChange","spacing","isRounded","map","index","key","newElement","currentElement","currentIndex","newElements","filter","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","level","isPressed","optionName","toggleProps","isSmall","Fragment","role","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is an id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas={ isEditing ? 'div' : 'button' }\n\t\t\tonClick={ onStartEditing }\n\t\t\taria-label={\n\t\t\t\tisEditing\n\t\t\t\t\t? undefined\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t )\n\t\t\t}\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing ? { ...focusOutsideProps } : {} ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst optionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,MAAM,EACNC,SAAS,EACTC,WAAW,EACXC,OAAO,QACD,oBAAoB;AAC3B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AAChE,SACCC,6BAA6B,IAAIC,eAAe,EAChDC,WAAW,QACL,oBAAoB;;AAE3B;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,QAAQ,SAAS;AAClC,SAASC,MAAM,QAAQ,YAAY;AACnC,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,MAAM,QAAQ,YAAY;AACnC,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,OAAO,MAAM,YAAY;AAChC,SACCC,uBAAuB,EACvBC,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,EACnBC,eAAe,EACfC,WAAW,EACXC,aAAa,EACbC,gBAAgB,EAChBC,UAAU,EACVC,YAAY,QACN,UAAU;AACjB,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,SAASC,SAAS,QAAQ,kBAAkB;AAY5C,MAAMC,aAAa,GAAG,MAAM;AAE5B,SAASC,SAASA,CAAE;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,EAAG;EAChE,OACCC,aAAA,CAACZ,gBAAgB;IAChBW,KAAK,EAAGA,KAAO;IACfE,mBAAmB;IACnBJ,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA;EAAU,CACrB,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,kBAAkBA,CACjCC,QAA0B,EAC1BC,UAAkB,EACjB;EACD,MAAMC,SAAS,GAAG,IAAIC,MAAM,CAAG,IAAIF,UAAY,iBAAiB,CAAC;EACjE,MAAMG,QAAQ,GAAGJ,QAAQ,CAACK,MAAM,CAAE,CAAEC,aAAa,EAAEC,YAAY,KAAM;IACpE,IAAK,OAAOA,YAAY,EAAEC,IAAI,KAAK,QAAQ,EAAG;MAC7C,MAAMC,OAAO,GAAGF,YAAY,EAAEC,IAAI,CAACE,KAAK,CAAER,SAAU,CAAC;MACrD,IAAKO,OAAO,EAAG;QACd,MAAME,EAAE,GAAGC,QAAQ,CAAEH,OAAO,CAAE,CAAC,CAAE,EAAE,EAAG,CAAC;QACvC,IAAKE,EAAE,IAAIL,aAAa,EAAG;UAC1B,OAAOK,EAAE,GAAG,CAAC;QACd;MACD;IACD;IACA,OAAOL,aAAa;EACrB,CAAC,EAAE,CAAE,CAAC;EAEN,OAAO7C,OAAO,EACb;EACAD,EAAE,CAAE,UAAW,CAAC,EAChB4C,QACD,CAAC;AACF;AAEA,SAASS,kBAAkBA,CAAgC;EAC1DC,UAAU;EACVC,OAAO;EACPpB,QAAQ;EACRqB,YAAY,EAAEC,oBAAoB;EAClCC,OAAO,GAAGA,CAAA,KAAM,CAAC;AACY,CAAC,EAAG;EACjC,MAAMF,YAA4D,GACjEzD,OAAO,CACN,OAAQ;IACP4D,KAAK,EAAE,IAAI;IACXC,MAAM,EAAE,EAAE;IACV;IACA;IACA;IACAC,MAAM,EAAE,KAAK;IACbC,SAAS,EAAE,YAAY;IACvB,GAAGL,oBAAoB;IACvBM,SAAS,EAAErE,UAAU,CACpB,kCAAkC,EAClC+D,oBAAoB,EAAEM,SACvB;EACD,CAAC,CAAE,EACH,CAAEN,oBAAoB,CACvB,CAAC;EAEF,OACCpB,aAAA,CAACpB,OAAO;IAAA,GAAMuC,YAAY;IAAGE,OAAO,EAAGA;EAAS,GAC7C,CAAEJ,UAAU,IACbjB,aAAA,CAAC5B,WAAW;IACXuD,KAAK,EAAGT,OAAO,CAACS,KAAO;IACvBC,WAAW;IACX9B,QAAQ,EAAK+B,QAAQ,IAAM;MAC1B/B,QAAQ,CAAE;QACT,GAAGoB,OAAO;QACVS,KAAK,EAAEE;MACR,CAAE,CAAC;IACJ;EAAG,CACH,CACD,EACCZ,UAAU,IACXjB,aAAA;IAAK0B,SAAS,EAAC;EAAkD,GAChE1B,aAAA,CAACP,oBAAoB;IACpBqC,iCAAiC;IACjCjC,KAAK,EAAGqB,OAAO,CAACa,QAAU;IAC1BjC,QAAQ,EAAKkC,WAAW,IAAM;MAC7BlC,QAAQ,CAAE;QACT,GAAGoB,OAAO;QACVa,QAAQ,EAAEC;MACX,CAAE,CAAC;IACJ;EAAG,CACH,CACG,CAEE,CAAC;AAEZ;AAEA,SAASC,MAAMA,CAAgC;EAC9CC,mBAAmB;EACnBhB,OAAO;EACPpB,QAAQ;EACRqC,SAAS;EACTC,cAAc;EACdC,QAAQ;EACRC,aAAa;EACbnB,YAAY,EAAEC,oBAAoB;EAClChB,UAAU;EACVa;AACiB,CAAC,EAAG;EACrB,MAAMsB,iBAAiB,GAAGtE,eAAe,CAAEqE,aAAc,CAAC;EAC1D,MAAMzC,KAAK,GAAGoB,UAAU,GAAGC,OAAO,CAACa,QAAQ,GAAGb,OAAO,CAACS,KAAK;;EAE3D;EACA;EACA,MAAM,CAAEa,aAAa,EAAEC,gBAAgB,CAAE,GAAGnF,QAAQ,CAAE,IAAK,CAAC;EAC5D,MAAM6D,YAAY,GAAGzD,OAAO,CAC3B,OAAQ;IACP,GAAG0D,oBAAoB;IACvB;IACAsB,MAAM,EAAEF;EACT,CAAC,CAAE,EACH,CAAEA,aAAa,EAAEpB,oBAAoB,CACtC,CAAC;EAED,OACCpB,aAAA,CAACd,WAAW;IACXwC,SAAS,EAAGS,SAAS,GAAG,aAAa,GAAGQ,SAAW;IACnDC,EAAE,EAAGT,SAAS,GAAG,KAAK,GAAG,QAAU;IACnCU,OAAO,EAAGT,cAAgB;IAC1B,cACCD,SAAS,GACNQ,SAAS,GACT/E,OAAO;IACP;IACAD,EAAE,CAAE,UAAW,CAAC,EAChBuD,OAAO,CAAC4B,IAAI,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG9B,OAAO,CAAC4B,IAAI,GAAGjD,KAC5C,CACH;IACDoD,GAAG,EAAGR,gBAAkB;IAAA,IACjBN,SAAS,GAAG;MAAE,GAAGI;IAAkB,CAAC,GAAG,CAAC,CAAC;EAAA,GAEhDvC,aAAA,CAAC1B,MAAM;IAAC4E,OAAO,EAAC;EAAY,GAC3BlD,aAAA,CAACf,eAAe;IAACkE,UAAU,EAAGtD;EAAO,CAAE,CAAC,EACxCG,aAAA,CAAC3B,QAAQ,QACN8D,SAAS,IAAI,CAAED,mBAAmB,GACnClC,aAAA,CAACJ,SAAS;IACTG,KAAK,EACJkB,UAAU,GACPtD,EAAE,CAAE,eAAgB,CAAC,GACrBA,EAAE,CAAE,YAAa,CACpB;IACDkC,KAAK,EAAGqB,OAAO,CAAC4B,IAAM;IACtBhD,QAAQ,EAAKsD,QAAiB,IAC7BtD,QAAQ,CAAE;MACT,GAAGoB,OAAO;MACV4B,IAAI,EAAEM,QAAQ;MACdzC,IAAI,EACHP,UAAU,GACVV,SAAS,CAAE0D,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAG;IAC5B,CAAE;EACF,CACD,CAAC,GAEFpD,aAAA,CAACb,aAAa,QACX+B,OAAO,CAAC4B,IAAI,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,GACzB9B,OAAO,CAAC4B,IAAI,GACZ;EACA,QACW,CAEP,CAAC,EACTX,SAAS,IAAI,CAAED,mBAAmB,IACnClC,aAAA,CAAC3B,QAAQ,QACR2B,aAAA,CAACV,YAAY;IACZ+D,IAAI,EAAC,OAAO;IACZC,IAAI,EAAGzF,SAAW;IAClBkC,KAAK,EAAGpC,EAAE,CAAE,cAAe,CAAG;IAC9BkF,OAAO,EAAGR;EAAU,CACpB,CACQ,CAEJ,CAAC,EACPF,SAAS,IACVnC,aAAA,CAACgB,kBAAkB;IAClBC,UAAU,EAAGA,UAAY;IACzBnB,QAAQ,EAAGA,QAAU;IACrBoB,OAAO,EAAGA,OAAS;IACnBC,YAAY,EAAGA;EAAc,CAC7B,CAEU,CAAC;AAEhB;AAEA,SAASoC,mBAAmBA,CAAgC;EAC3DpD,QAAQ;EACRL,QAAQ;EACR0D,cAAc;EACdC,iBAAiB;EACjBvB,mBAAmB;EACnB9B,UAAU;EACVa,UAAU;EACVE;AAC8B,CAAC,EAAG;EAClC;EACA,MAAMuC,iBAAiB,GAAGnG,MAAM,CAAoB,CAAC;EACrDC,SAAS,CAAE,MAAM;IAChBkG,iBAAiB,CAACC,OAAO,GAAGxD,QAAQ;EACrC,CAAC,EAAE,CAAEA,QAAQ,CAAG,CAAC;EAEjB,MAAMyD,gBAAgB,GAAG1F,WAAW,CAAE4B,QAAQ,EAAE,GAAI,CAAC;EAErD,OACCE,aAAA,CAACxB,MAAM;IAACqF,OAAO,EAAG;EAAG,GACpB7D,aAAA,CAACzB,SAAS;IAACuF,SAAS;EAAA,GACjB3D,QAAQ,CAAC4D,GAAG,CAAE,CAAE7C,OAAO,EAAE8C,KAAK,KAC/BhE,aAAA,CAACiC,MAAM;IACNhB,UAAU,EAAGA,UAAY;IACzBiB,mBAAmB,EAAGA,mBAAqB;IAC3C+B,GAAG,EAAGD,KAAO;IACb9C,OAAO,EAAGA,OAAS;IACnBkB,cAAc,EAAGA,CAAA,KAAM;MACtB,IAAKoB,cAAc,KAAKQ,KAAK,EAAG;QAC/BP,iBAAiB,CAAEO,KAAM,CAAC;MAC3B;IACD,CAAG;IACHlE,QAAQ,EAAKoE,UAAU,IAAM;MAC5BN,gBAAgB,CACfzD,QAAQ,CAAC4D,GAAG,CACX,CAAEI,cAAc,EAAEC,YAAY,KAAM;QACnC,IAAKA,YAAY,KAAKJ,KAAK,EAAG;UAC7B,OAAOE,UAAU;QAClB;QACA,OAAOC,cAAc;MACtB,CACD,CACD,CAAC;IACF,CAAG;IACH9B,QAAQ,EAAGA,CAAA,KAAM;MAChBoB,iBAAiB,CAAE,IAAK,CAAC;MACzB,MAAMY,WAAW,GAAGlE,QAAQ,CAACmE,MAAM,CAClC,CAAEC,eAAe,EAAEH,YAAY,KAAM;QACpC,IAAKA,YAAY,KAAKJ,KAAK,EAAG;UAC7B,OAAO,KAAK;QACb;QACA,OAAO,IAAI;MACZ,CACD,CAAC;MACDlE,QAAQ,CACPuE,WAAW,CAACrB,MAAM,GAAGqB,WAAW,GAAG1B,SACpC,CAAC;IACF,CAAG;IACHR,SAAS,EAAG6B,KAAK,KAAKR,cAAgB;IACtClB,aAAa,EAAGA,CAAA,KAAM;MACrB,IAAK0B,KAAK,KAAKR,cAAc,EAAG;QAC/BC,iBAAiB,CAAE,IAAK,CAAC;MAC1B;IACD,CAAG;IACHrD,UAAU,EAAGA,UAAY;IACzBe,YAAY,EAAGA;EAAc,CAC7B,CACA,CACQ,CACJ,CAAC;AAEX;AAEA,MAAMqD,WAAoB,GAAG,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAE;EAC5BC,SAAS;EACTC,MAAM,GAAGH,WAAW;EACpB1E,QAAQ;EACR8E,YAAY;EACZC,wBAAwB,GAAG,CAAC;EAC5BC,YAAY;EACZ5C,mBAAmB;EACnB6C,QAAQ;EACR3E,UAAU,GAAG,EAAE;EACfe;AACiB,CAAC,EAAG;EACrB,MAAMF,UAAU,GAAG,CAAC,CAAEyD,SAAS;EAC/B,MAAMvE,QAAQ,GAAGc,UAAU,GAAGyD,SAAS,GAAGC,MAAM;EAChD,MAAM,CAAExC,SAAS,EAAE6C,YAAY,CAAE,GAAG1H,QAAQ,CAAE,KAAM,CAAC;EACrD,MAAM,CAAEkG,cAAc,EAAEC,iBAAiB,CAAE,GAAGnG,QAAQ,CAEnD,IAAK,CAAC;EACT,MAAM2H,QAAQ,GACb9C,SAAS,IACT,CAAC,CAAEqB,cAAc,IACjBrD,QAAQ,CAAEqD,cAAc,CAAE,IAC1B,CAAErD,QAAQ,CAAEqD,cAAc,CAAE,CAAC7C,IAAI;EAClC,MAAMuE,cAAc,GAAG/E,QAAQ,CAAC6C,MAAM;EACtC,MAAMmC,WAAW,GAAGD,cAAc,GAAG,CAAC;EACtC,MAAMtB,gBAAgB,GAAG1F,WAAW,CAAE4B,QAAQ,EAAE,GAAI,CAAC;EACrD,MAAMsF,mBAAmB,GAAG3H,WAAW,CACtC,CACCoC,KAA8C,EAC9CwF,sBAA+B,KAC3B;IACJ,MAAMC,eAAe,GACpBD,sBAAsB,KAAK1C,SAAS,GACjCA,SAAS,GACTxC,QAAQ,CAAEkF,sBAAsB,CAAE;IACtC,MAAMpB,GAAG,GAAGhD,UAAU,GAAG,UAAU,GAAG,OAAO;IAC7C;IACA,IAAK,CAAC,CAAEqE,eAAe,IAAIA,eAAe,CAAErB,GAAG,CAAE,KAAKpE,KAAK,EAAG;MAC7D4D,iBAAiB,CAAE4B,sBAAuB,CAAC;IAC5C,CAAC,MAAM;MACNL,YAAY,CAAE,IAAK,CAAC;IACrB;EACD,CAAC,EACD,CAAE/D,UAAU,EAAEd,QAAQ,CACvB,CAAC;EAED,OACCH,aAAA,CAAClB,iBAAiB,QACjBkB,aAAA,CAAChB,mBAAmB,QACnBgB,aAAA,CAACjB,cAAc;IAACwG,KAAK,EAAGV;EAA0B,GAC/CD,YACa,CAAC,EACjB5E,aAAA,CAACnB,uBAAuB,QACrBsG,WAAW,IAAIhD,SAAS,IACzBnC,aAAA,CAACX,UAAU;IACVgE,IAAI,EAAC,OAAO;IACZR,OAAO,EAAGA,CAAA,KAAM;MACfmC,YAAY,CAAE,KAAM,CAAC;MACrBvB,iBAAiB,CAAE,IAAK,CAAC;IAC1B;EAAG,GAED9F,EAAE,CAAE,MAAO,CACF,CACZ,EACC,CAAEuE,mBAAmB,IACtBlC,aAAA,CAAC7B,MAAM;IACNkF,IAAI,EAAC,OAAO;IACZmC,SAAS,EAAGP,QAAU;IACtB3B,IAAI,EAAGvF,IAAM;IACbgC,KAAK,EACJkB,UAAU,GACPtD,EAAE,CAAE,cAAe,CAAC,GACpBA,EAAE,CAAE,WAAY,CACnB;IACDkF,OAAO,EAAGA,CAAA,KAAM;MACf,MAAM4C,UAAU,GAAGvF,kBAAkB,CACpCC,QAAQ,EACRC,UACD,CAAC;MAED,IAAK,CAAC,CAAEsE,SAAS,EAAG;QACnB5E,QAAQ,CAAE,CACT,GAAG4E,SAAS,EACZ;UACC3C,QAAQ,EAAEvC,gBAAgB;UAC1BsD,IAAI,EAAE2C,UAAU;UAChB9E,IAAI,EACHP,UAAU,GACVV,SAAS,CAAE+F,UAAW;QACxB,CAAC,CACA,CAAC;MACJ,CAAC,MAAM;QACN3F,QAAQ,CAAE,CACT,GAAG6E,MAAM,EACT;UACChD,KAAK,EAAEhC,aAAa;UACpBmD,IAAI,EAAE2C,UAAU;UAChB9E,IAAI,EACHP,UAAU,GACVV,SAAS,CAAE+F,UAAW;QACxB,CAAC,CACA,CAAC;MACJ;MACAT,YAAY,CAAE,IAAK,CAAC;MACpBvB,iBAAiB,CAAEtD,QAAQ,CAAC6C,MAAO,CAAC;IACrC;EAAG,CACH,CACD,EAECmC,WAAW,KACV,CAAEhD,SAAS,IACZ,CAAED,mBAAmB,IACrB6C,QAAQ,CAAE,IACV/E,aAAA,CAACrB,YAAY;IACZ2E,IAAI,EAAGxF,YAAc;IACrBiC,KAAK,EACJkB,UAAU,GACPtD,EAAE,CAAE,kBAAmB,CAAC,GACxBA,EAAE,CAAE,eAAgB,CACvB;IACD+H,WAAW,EAAG;MACbC,OAAO,EAAE;IACV;EAAG,GAED,CAAE;IAAEtE;EAAiC,CAAC,KACvCrB,aAAA,CAAA4F,QAAA,QACC5F,aAAA,CAACT,aAAa;IAACsG,IAAI,EAAC;EAAM,GACvB,CAAE1D,SAAS,IACZnC,aAAA,CAAC7B,MAAM;IACN2H,OAAO,EAAC,UAAU;IAClBjD,OAAO,EAAGA,CAAA,KAAM;MACfmC,YAAY,CAAE,IAAK,CAAC;MACpB3D,OAAO,CAAC,CAAC;IACV,CAAG;IACHK,SAAS,EAAC;EAAsC,GAE9C/D,EAAE,CAAE,cAAe,CACd,CACR,EACC,CAAEuE,mBAAmB,IACtBlC,aAAA,CAAC7B,MAAM;IACN2H,OAAO,EAAC,UAAU;IAClBjD,OAAO,EAAGA,CAAA,KAAM;MACfY,iBAAiB,CAChB,IACD,CAAC;MACDuB,YAAY,CAAE,KAAM,CAAC;MACrBlF,QAAQ,CAAC,CAAC;MACVuB,OAAO,CAAC,CAAC;IACV,CAAG;IACHK,SAAS,EAAC;EAAsC,GAE9CT,UAAU,GACTtD,EAAE,CACF,sBACA,CAAC,GACDA,EAAE,CACF,mBACA,CACI,CACR,EACCoH,QAAQ,IACT/E,aAAA,CAAC7B,MAAM;IACN2H,OAAO,EAAC,UAAU;IAClBjD,OAAO,EAAGA,CAAA,KAAM;MACfY,iBAAiB,CAChB,IACD,CAAC;MACD3D,QAAQ,CAAC,CAAC;MACVuB,OAAO,CAAC,CAAC;IACV;EAAG,GAEDJ,UAAU,GACTtD,EAAE,CAAE,gBAAiB,CAAC,GACtBA,EAAE,CAAE,cAAe,CACf,CAEK,CACd,CAEU,CAEQ,CACL,CAAC,EACpBwH,WAAW,IACZnF,aAAA,CAAA4F,QAAA,QACGzD,SAAS,IACVnC,aAAA,CAACuD,mBAAmB;IACnBrB,mBAAmB,EAAGA,mBAAqB;IAC3C/B,QAAQ,EAAGA;IACX;IAAA;IACAL,QAAQ,EAAGA,QAAU;IACrB0D,cAAc,EAAGA,cAAgB;IACjCC,iBAAiB,EAAGA,iBAAmB;IACvCrD,UAAU,EAAGA,UAAY;IACzBa,UAAU,EAAGA,UAAY;IACzBE,YAAY,EAAGA;EAAc,CAC7B,CACD,EACC,CAAEgB,SAAS,IAAIqB,cAAc,KAAK,IAAI,IACvCxD,aAAA,CAACgB,kBAAkB;IAClBC,UAAU,EAAGA,UAAY;IACzBI,OAAO,EAAGA,CAAA,KAAMoC,iBAAiB,CAAE,IAAK,CAAG;IAC3C3D,QAAQ,EACPoE,UAAyC,IACrC;MACJN,gBAAgB;MACf;MACAzD,QAAQ,CAAC4D,GAAG,CACX,CACCI,cAA6C,EAC7CC,YAAoB,KAChB;QACJ,IACCA,YAAY,KAAKZ,cAAc,EAC9B;UACD,OAAOU,UAAU;QAClB;QACA,OAAOC,cAAc;MACtB,CACD,CACD,CAAC;IACF,CAAG;IACHjD,OAAO,EAAGf,QAAQ,CAAEqD,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAC,CAAI;IAC5CrC,YAAY,EAAGA;EAAc,CAC7B,CACD,EACC,CAAEgB,SAAS,KACVlB,UAAU,GACXjB,aAAA,CAACvB,cAAc;IACdiG,SAAS,EAAGA,SAAW;IACvB5E,QAAQ,EAAGsF,mBAAqB;IAChCW,SAAS,EAAG,KAAO;IACnBC,sBAAsB;EAAA,CACtB,CAAC,GAEFhG,aAAA,CAACtB,YAAY;IACZiG,MAAM,EAAGA,MAAQ;IACjB7E,QAAQ,EAAGsF,mBAAqB;IAChCW,SAAS,EAAG,KAAO;IACnBE,mBAAmB;EAAA,CACnB,CACD,CACD,CACF,EACC,CAAEd,WAAW,IAAIL,YACD,CAAC;AAEtB;AAEA,eAAeL,WAAW"}
|