@wordpress/components 19.0.0 → 19.0.1
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 +6 -0
- package/CONTRIBUTING.md +12 -12
- package/build/angle-picker-control/index.js +3 -1
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/base-control/index.js +1 -1
- package/build/base-control/index.js.map +1 -1
- package/build/color-edit/index.js +180 -199
- package/build/color-edit/index.js.map +1 -1
- package/build/color-edit/styles.js +112 -0
- package/build/color-edit/styles.js.map +1 -0
- package/build/color-list-picker/index.js +6 -1
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +86 -21
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/styles.js +31 -0
- package/build/color-palette/styles.js.map +1 -0
- package/build/color-picker/component.js +7 -18
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/picker.js +3 -3
- package/build/color-picker/picker.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +0 -1
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +1 -0
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/gradient-picker/index.js +69 -9
- package/build/gradient-picker/index.js.map +1 -1
- package/build/index.native.js +9 -0
- package/build/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +4 -2
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build/mobile/link-settings/index.native.js +3 -2
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +4 -2
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/modal/index.js +10 -3
- package/build/modal/index.js.map +1 -1
- package/build/navigation/group/index.js +1 -2
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +8 -27
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +2 -2
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +34 -29
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/popover/index.js +4 -2
- package/build/popover/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +33 -29
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/search-control/index.js +37 -14
- package/build/search-control/index.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/tools-panel/styles.js +18 -23
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +10 -7
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +3 -1
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +3 -0
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/utils/hooks/index.js +8 -0
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/hooks/use-combined-ref.js +28 -0
- package/build/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-module/angle-picker-control/index.js +3 -1
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/base-control/index.js +1 -1
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/color-edit/index.js +175 -201
- package/build-module/color-edit/index.js.map +1 -1
- package/build-module/color-edit/styles.js +90 -0
- package/build-module/color-edit/styles.js.map +1 -0
- package/build-module/color-list-picker/index.js +6 -1
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +85 -22
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/styles.js +27 -0
- package/build-module/color-palette/styles.js.map +1 -0
- package/build-module/color-picker/component.js +7 -16
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/picker.js +4 -4
- package/build-module/color-picker/picker.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +1 -0
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/gradient-picker/index.js +67 -9
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build-module/mobile/link-settings/index.native.js +3 -2
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +4 -2
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/modal/index.js +10 -4
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigation/group/index.js +1 -2
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +8 -24
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +3 -3
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +31 -27
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/popover/index.js +4 -2
- package/build-module/popover/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +33 -29
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/search-control/index.js +36 -15
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/tools-panel/styles.js +16 -23
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +10 -6
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +2 -1
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +3 -0
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/utils/hooks/index.js +1 -0
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/hooks/use-combined-ref.js +25 -0
- package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-style/style-rtl.css +39 -51
- package/build-style/style.css +39 -51
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/tools-panel/styles.d.ts +1 -1
- package/build-types/tools-panel/styles.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/utils/hooks/index.d.ts +1 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
- package/package.json +6 -6
- package/src/angle-picker-control/index.js +3 -1
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
- package/src/base-control/index.js +1 -1
- package/src/circular-option-picker/style.scss +3 -5
- package/src/color-edit/index.js +248 -274
- package/src/color-edit/style.scss +4 -45
- package/src/color-edit/styles.js +97 -0
- package/src/color-list-picker/index.js +5 -0
- package/src/color-list-picker/style.scss +4 -0
- package/src/color-palette/index.js +90 -26
- package/src/color-palette/style.scss +18 -0
- package/src/color-palette/styles.js +19 -0
- package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
- package/src/color-picker/component.tsx +6 -17
- package/src/color-picker/picker.tsx +6 -4
- package/src/color-picker/test/index.js +0 -15
- package/src/duotone-picker/custom-duotone-bar.js +0 -1
- package/src/duotone-picker/duotone-picker.js +1 -0
- package/src/gradient-picker/index.js +79 -11
- package/src/heading/test/__snapshots__/index.js.snap +1 -1
- package/src/index.native.js +1 -0
- package/src/mobile/bottom-sheet/cell.native.js +7 -2
- package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
- package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
- package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
- package/src/mobile/link-settings/index.native.js +3 -2
- package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
- package/src/mobile/link-settings/style.native.scss +17 -0
- package/src/mobile/picker/index.android.js +2 -1
- package/src/modal/README.md +8 -0
- package/src/modal/index.js +60 -45
- package/src/modal/style.scss +5 -0
- package/src/navigation/group/index.js +1 -2
- package/src/navigation/menu/menu-title-search.js +11 -26
- package/src/navigation/menu/menu-title.js +4 -4
- package/src/navigation/styles/navigation-styles.js +29 -52
- package/src/popover/index.js +2 -2
- package/src/range-control/styles/range-control-styles.js +4 -1
- package/src/resizable-box/style.scss +5 -0
- package/src/search-control/index.js +47 -23
- package/src/style.scss +1 -0
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/index.js.snap +2 -2
- package/src/tools-panel/stories/index.js +21 -19
- package/src/tools-panel/styles.ts +18 -26
- package/src/tools-panel/tools-panel/component.tsx +7 -4
- package/src/tools-panel/tools-panel/hook.ts +4 -1
- package/src/tools-panel/tools-panel-header/component.tsx +1 -0
- package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
- package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
- package/src/utils/hooks/index.js +1 -0
- package/src/utils/hooks/use-combined-ref.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"names":["Platform","Clipboard","compose","withSelect","isURL","prependHTTP","useEffect","useState","useRef","useContext","useCallback","link","external","BottomSheet","BottomSheetContext","PanelBody","TextControl","ToggleControl","FooterMessageControl","PanelActions","LinkRelIcon","styles","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","getString","getSettings","placeholder","OS","autoFocus","linkLabel","openInNewTab","linkRel","linkSettingsPanel","footer","separatorType","select","isEditorSidebarOpened"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, Clipboard } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { link, external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\nimport ToggleControl from '../../toggle-control';\nimport FooterMessageControl from '../../footer-message-control';\nimport PanelActions from '../../panel/actions';\nimport LinkRelIcon from './link-rel';\n\nimport styles from './style.scss';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction LinkSettings( {\n\t// Control link settings `BottomSheet` visibility\n\tisVisible,\n\t// Callback that is called on closing bottom sheet\n\tonClose,\n\t// Function called to set attributes\n\tsetAttributes,\n\t// Callback that is called when url input field is empty\n\tonEmptyURL,\n\t// Object of available options along with specific, customizable properties.\n\t// Available options keys:\n\t//\t* url - uses `TextControl` component to set `attributes.url`\n\t//\t* linkLabel - uses `TextControl` component to set `attributes.label`\n\t//\t* openInNewTab - uses `ToggleControl` component to set `attributes.linkTarget` and `attributes.rel`\n\t//\t* linkRel - uses `TextControl` component to set `attributes.rel`\n\t//\t* footer - uses `FooterMessageControl` component to display message, e.g. about missing functionality\n\t// Available properties:\n\t//\t* label - control component label, e.g. `Button Link URL`\n\t//\t* placeholder - control component placeholder, e.g. `Add URL`\n\t//\t* autoFocus (url only) - whether url input should be focused on sheet opening\n\t//\t* autoFill (url only) - whether url input should be filled with url from clipboard\n\t// Example:\n\t//\tconst options = {\n\t//\t\turl: {\n\t//\t\t\tlabel: __( 'Button Link URL' ),\n\t//\t\t\tplaceholder: __( 'Add URL' ),\n\t//\t\t\tautoFocus: true,\n\t//\t\t\tautoFill: true,\n\t//\t\t}\n\t//\t}\n\toptions,\n\t// Specifies whether settings should be wrapped into `BottomSheet`\n\twithBottomSheet,\n\t// Defines buttons which will be displayed below the all options.\n\t// It's an array of objects with following properties:\n\t//\t* label - button title\n\t//\t* onPress - callback that is called on pressing button\n\t// Example:\n\t// \tconst actions = [\n\t//\t\t{\n\t//\t\t\tlabel: __( 'Remove link' ),\n\t//\t\t\tonPress: () => setAttributes({ url: '' }),\n\t//\t\t},\n\t//\t];\n\tactions,\n\t// Specifies whether general `BottomSheet` is opened\n\teditorSidebarOpened,\n\t// Specifies whether icon should be displayed next to the label\n\tshowIcon,\n\tonLinkCellPressed,\n\turlValue,\n\t// Attributes properties\n\turl,\n\tlabel,\n\tlinkTarget,\n\trel,\n} ) {\n\tconst [ urlInputValue, setUrlInputValue ] = useState( '' );\n\tconst [ labelInputValue, setLabelInputValue ] = useState( '' );\n\tconst [ linkRelInputValue, setLinkRelInputValue ] = useState( '' );\n\tconst prevEditorSidebarOpenedRef = useRef();\n\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\tuseEffect( () => {\n\t\tif ( onHandleClosingBottomSheet ) {\n\t\t\tonHandleClosingBottomSheet( onCloseSettingsSheet );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue ] );\n\n\tuseEffect( () => {\n\t\tprevEditorSidebarOpenedRef.current = editorSidebarOpened;\n\t} );\n\tconst prevEditorSidebarOpened = prevEditorSidebarOpenedRef.current;\n\n\tuseEffect( () => {\n\t\tif ( url !== urlInputValue ) {\n\t\t\tsetUrlInputValue( url || '' );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\tsetLabelInputValue( label || '' );\n\t}, [ label ] );\n\n\tuseEffect( () => {\n\t\tsetLinkRelInputValue( rel || '' );\n\t}, [ rel ] );\n\n\tuseEffect( () => {\n\t\tconst isSettingSheetOpen = isVisible || editorSidebarOpened;\n\t\tif ( options.url.autoFill && isSettingSheetOpen && ! url ) {\n\t\t\tgetURLFromClipboard();\n\t\t}\n\n\t\tif ( prevEditorSidebarOpened && ! editorSidebarOpened ) {\n\t\t\tonSetAttributes();\n\t\t}\n\t}, [ editorSidebarOpened, isVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( ! urlValue && onEmptyURL ) {\n\t\t\tonEmptyURL();\n\t\t}\n\n\t\tif ( prependHTTP( urlValue ) !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: prependHTTP( urlValue ),\n\t\t\t} );\n\t\t}\n\t}, [ urlValue ] );\n\n\tconst onChangeURL = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! value && onEmptyURL ) {\n\t\t\t\tonEmptyURL();\n\t\t\t}\n\t\t\tsetUrlInputValue( value );\n\t\t},\n\t\t[ onEmptyURL ]\n\t);\n\n\tconst onChangeLabel = useCallback( ( value ) => {\n\t\tsetLabelInputValue( value );\n\t}, [] );\n\n\tconst onSetAttributes = useCallback( () => {\n\t\tconst newURL = prependHTTP( urlInputValue );\n\t\tif (\n\t\t\turl !== newURL ||\n\t\t\tlabelInputValue !== label ||\n\t\t\tlinkRelInputValue !== rel\n\t\t) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tlabel: labelInputValue,\n\t\t\t\trel: linkRelInputValue,\n\t\t\t} );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue, setAttributes ] );\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tonSetAttributes();\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}, [ onClose, onSetAttributes ] );\n\n\tconst onChangeOpenInNewTab = useCallback(\n\t\t( value ) => {\n\t\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\t\tlet updatedRel = linkRelInputValue;\n\t\t\tif ( newLinkTarget && ! linkRelInputValue ) {\n\t\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t\t} else if ( ! newLinkTarget && linkRelInputValue === NEW_TAB_REL ) {\n\t\t\t\tupdatedRel = undefined;\n\t\t\t}\n\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTarget: newLinkTarget,\n\t\t\t\trel: updatedRel,\n\t\t\t} );\n\t\t},\n\t\t[ linkRelInputValue ]\n\t);\n\n\tconst onChangeLinkRel = useCallback( ( value ) => {\n\t\tsetLinkRelInputValue( value );\n\t}, [] );\n\n\tasync function getURLFromClipboard() {\n\t\tconst clipboardText = await Clipboard.getString();\n\n\t\tif ( ! clipboardText ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check if pasted text is URL\n\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { url: clipboardText } );\n\t}\n\n\tfunction getSettings() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ options.url &&\n\t\t\t\t\t( onLinkCellPressed ? (\n\t\t\t\t\t\t<BottomSheet.LinkCell\n\t\t\t\t\t\t\tshowIcon={ showIcon }\n\t\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\t\tonPress={ onLinkCellPressed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ticon={ showIcon && link }\n\t\t\t\t\t\t\tlabel={ options.url.label }\n\t\t\t\t\t\t\tvalue={ urlInputValue }\n\t\t\t\t\t\t\tvaluePlaceholder={ options.url.placeholder }\n\t\t\t\t\t\t\tonChange={ onChangeURL }\n\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t\t\tPlatform.OS === 'ios' && options.url.autoFocus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ options.linkLabel && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ options.linkLabel.label }\n\t\t\t\t\t\tvalue={ labelInputValue }\n\t\t\t\t\t\tvaluePlaceholder={ options.linkLabel.placeholder }\n\t\t\t\t\t\tonChange={ onChangeLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! urlInputValue && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ options.openInNewTab && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\ticon={ showIcon && external }\n\t\t\t\t\t\t\t\tlabel={ options.openInNewTab.label }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ onChangeOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ options.linkRel && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\ticon={ showIcon && LinkRelIcon }\n\t\t\t\t\t\t\t\tlabel={ options.linkRel.label }\n\t\t\t\t\t\t\t\tvalue={ linkRelInputValue }\n\t\t\t\t\t\t\t\tvaluePlaceholder={ options.linkRel.placeholder }\n\t\t\t\t\t\t\t\tonChange={ onChangeLinkRel }\n\t\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t\tkeyboardType=\"default\"\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) }\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( ! withBottomSheet ) {\n\t\treturn getSettings();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t{ getSettings() }\n\t\t\t</PanelBody>\n\t\t\t{ options.footer && (\n\t\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ options.footer.label }\n\t\t\t\t\t\tseparatorType={ options.footer.separatorType }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ actions && <PanelActions actions={ actions } /> }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\treturn {\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n] )( LinkSettings );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"names":["Platform","Clipboard","compose","withSelect","isURL","prependHTTP","useEffect","useState","useRef","useContext","useCallback","link","external","BottomSheet","BottomSheetContext","PanelBody","TextControl","ToggleControl","FooterMessageControl","PanelActions","LinkRelIcon","styles","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","getString","getSettings","valueMask","placeholder","OS","autoFocus","linkLabel","openInNewTab","linkRel","linkSettingsPanel","footer","separatorType","select","isEditorSidebarOpened"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, Clipboard } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { link, external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\nimport ToggleControl from '../../toggle-control';\nimport FooterMessageControl from '../../footer-message-control';\nimport PanelActions from '../../panel/actions';\nimport LinkRelIcon from './link-rel';\n\nimport styles from './style.scss';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction LinkSettings( {\n\t// Control link settings `BottomSheet` visibility\n\tisVisible,\n\t// Callback that is called on closing bottom sheet\n\tonClose,\n\t// Function called to set attributes\n\tsetAttributes,\n\t// Callback that is called when url input field is empty\n\tonEmptyURL,\n\t// Object of available options along with specific, customizable properties.\n\t// Available options keys:\n\t//\t* url - uses `TextControl` component to set `attributes.url`\n\t//\t* linkLabel - uses `TextControl` component to set `attributes.label`\n\t//\t* openInNewTab - uses `ToggleControl` component to set `attributes.linkTarget` and `attributes.rel`\n\t//\t* linkRel - uses `TextControl` component to set `attributes.rel`\n\t//\t* footer - uses `FooterMessageControl` component to display message, e.g. about missing functionality\n\t// Available properties:\n\t//\t* label - control component label, e.g. `Button Link URL`\n\t//\t* placeholder - control component placeholder, e.g. `Add URL`\n\t//\t* autoFocus (url only) - whether url input should be focused on sheet opening\n\t//\t* autoFill (url only) - whether url input should be filled with url from clipboard\n\t// Example:\n\t//\tconst options = {\n\t//\t\turl: {\n\t//\t\t\tlabel: __( 'Button Link URL' ),\n\t//\t\t\tplaceholder: __( 'Add URL' ),\n\t//\t\t\tautoFocus: true,\n\t//\t\t\tautoFill: true,\n\t//\t\t}\n\t//\t}\n\toptions,\n\t// Specifies whether settings should be wrapped into `BottomSheet`\n\twithBottomSheet,\n\t// Defines buttons which will be displayed below the all options.\n\t// It's an array of objects with following properties:\n\t//\t* label - button title\n\t//\t* onPress - callback that is called on pressing button\n\t// Example:\n\t// \tconst actions = [\n\t//\t\t{\n\t//\t\t\tlabel: __( 'Remove link' ),\n\t//\t\t\tonPress: () => setAttributes({ url: '' }),\n\t//\t\t},\n\t//\t];\n\tactions,\n\t// Specifies whether general `BottomSheet` is opened\n\teditorSidebarOpened,\n\t// Specifies whether icon should be displayed next to the label\n\tshowIcon,\n\tonLinkCellPressed,\n\turlValue,\n\t// Attributes properties\n\turl,\n\tlabel = '',\n\tlinkTarget,\n\trel = '',\n} ) {\n\tconst [ urlInputValue, setUrlInputValue ] = useState( '' );\n\tconst [ labelInputValue, setLabelInputValue ] = useState( '' );\n\tconst [ linkRelInputValue, setLinkRelInputValue ] = useState( '' );\n\tconst prevEditorSidebarOpenedRef = useRef();\n\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\tuseEffect( () => {\n\t\tif ( onHandleClosingBottomSheet ) {\n\t\t\tonHandleClosingBottomSheet( onCloseSettingsSheet );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue ] );\n\n\tuseEffect( () => {\n\t\tprevEditorSidebarOpenedRef.current = editorSidebarOpened;\n\t} );\n\tconst prevEditorSidebarOpened = prevEditorSidebarOpenedRef.current;\n\n\tuseEffect( () => {\n\t\tif ( url !== urlInputValue ) {\n\t\t\tsetUrlInputValue( url || '' );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\tsetLabelInputValue( label || '' );\n\t}, [ label ] );\n\n\tuseEffect( () => {\n\t\tsetLinkRelInputValue( rel || '' );\n\t}, [ rel ] );\n\n\tuseEffect( () => {\n\t\tconst isSettingSheetOpen = isVisible || editorSidebarOpened;\n\t\tif ( options.url.autoFill && isSettingSheetOpen && ! url ) {\n\t\t\tgetURLFromClipboard();\n\t\t}\n\n\t\tif ( prevEditorSidebarOpened && ! editorSidebarOpened ) {\n\t\t\tonSetAttributes();\n\t\t}\n\t}, [ editorSidebarOpened, isVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( ! urlValue && onEmptyURL ) {\n\t\t\tonEmptyURL();\n\t\t}\n\n\t\tif ( prependHTTP( urlValue ) !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: prependHTTP( urlValue ),\n\t\t\t} );\n\t\t}\n\t}, [ urlValue ] );\n\n\tconst onChangeURL = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! value && onEmptyURL ) {\n\t\t\t\tonEmptyURL();\n\t\t\t}\n\t\t\tsetUrlInputValue( value );\n\t\t},\n\t\t[ onEmptyURL ]\n\t);\n\n\tconst onChangeLabel = useCallback( ( value ) => {\n\t\tsetLabelInputValue( value );\n\t}, [] );\n\n\tconst onSetAttributes = useCallback( () => {\n\t\tconst newURL = prependHTTP( urlInputValue );\n\t\tif (\n\t\t\turl !== newURL ||\n\t\t\tlabelInputValue !== label ||\n\t\t\tlinkRelInputValue !== rel\n\t\t) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tlabel: labelInputValue,\n\t\t\t\trel: linkRelInputValue,\n\t\t\t} );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue, setAttributes ] );\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tonSetAttributes();\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}, [ onClose, onSetAttributes ] );\n\n\tconst onChangeOpenInNewTab = useCallback(\n\t\t( value ) => {\n\t\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\t\tlet updatedRel = linkRelInputValue;\n\t\t\tif ( newLinkTarget && ! linkRelInputValue ) {\n\t\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t\t} else if ( ! newLinkTarget && linkRelInputValue === NEW_TAB_REL ) {\n\t\t\t\tupdatedRel = undefined;\n\t\t\t}\n\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTarget: newLinkTarget,\n\t\t\t\trel: updatedRel,\n\t\t\t} );\n\t\t},\n\t\t[ linkRelInputValue ]\n\t);\n\n\tconst onChangeLinkRel = useCallback( ( value ) => {\n\t\tsetLinkRelInputValue( value );\n\t}, [] );\n\n\tasync function getURLFromClipboard() {\n\t\tconst clipboardText = await Clipboard.getString();\n\n\t\tif ( ! clipboardText ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check if pasted text is URL\n\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { url: clipboardText } );\n\t}\n\n\tfunction getSettings() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ options.url &&\n\t\t\t\t\t( onLinkCellPressed ? (\n\t\t\t\t\t\t<BottomSheet.LinkCell\n\t\t\t\t\t\t\tshowIcon={ showIcon }\n\t\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\t\tvalueMask={ options.url.valueMask }\n\t\t\t\t\t\t\tonPress={ onLinkCellPressed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ticon={ showIcon && link }\n\t\t\t\t\t\t\tlabel={ options.url.label }\n\t\t\t\t\t\t\tvalue={ urlInputValue }\n\t\t\t\t\t\t\tvaluePlaceholder={ options.url.placeholder }\n\t\t\t\t\t\t\tonChange={ onChangeURL }\n\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t\t\tPlatform.OS === 'ios' && options.url.autoFocus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ options.linkLabel && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ options.linkLabel.label }\n\t\t\t\t\t\tvalue={ labelInputValue }\n\t\t\t\t\t\tvaluePlaceholder={ options.linkLabel.placeholder }\n\t\t\t\t\t\tonChange={ onChangeLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! urlInputValue && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ options.openInNewTab && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\ticon={ showIcon && external }\n\t\t\t\t\t\t\t\tlabel={ options.openInNewTab.label }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ onChangeOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ options.linkRel && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\ticon={ showIcon && LinkRelIcon }\n\t\t\t\t\t\t\t\tlabel={ options.linkRel.label }\n\t\t\t\t\t\t\t\tvalue={ linkRelInputValue }\n\t\t\t\t\t\t\t\tvaluePlaceholder={ options.linkRel.placeholder }\n\t\t\t\t\t\t\t\tonChange={ onChangeLinkRel }\n\t\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t\tkeyboardType=\"default\"\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) }\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( ! withBottomSheet ) {\n\t\treturn getSettings();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t{ getSettings() }\n\t\t\t</PanelBody>\n\t\t\t{ options.footer && (\n\t\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ options.footer.label }\n\t\t\t\t\t\tseparatorType={ options.footer.separatorType }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ actions && <PanelActions actions={ actions } /> }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\treturn {\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n] )( LinkSettings );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-navigation.native.js"],"names":["memo","BottomSheet","LinkSettingsScreen","LinkPickerScreen","linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","isVisible","onClose","onDismiss"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,oBAArB;AACA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AACA,OAAOC,gBAAP,MAA6B,mCAA7B;AAEA,MAAMC,mBAAmB,GAAG;AAC3BC,EAAAA,QAAQ,EAAE,oBADiB;AAE3BC,EAAAA,UAAU,EAAE;AAFe,CAA5B;;AAKA,SAASC,sBAAT,CAAiCC,KAAjC,EAAyC;AACxC,MAAK,CAAEA,KAAK,CAACC,eAAb,EAA+B;AAC9B,WAAO,cAAC,kBAAD,EAAyBD,KAAzB,CAAP;AACA;;AACD,SACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAGA,KAAK,CAACE,SADnB;AAEC,IAAA,OAAO,EAAGF,KAAK,CAACG,OAFjB;AAGC,IAAA,SAAS,EAAGH,KAAK,CAACI,SAHnB;AAIC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-navigation.native.js"],"names":["memo","BottomSheet","LinkSettingsScreen","LinkPickerScreen","linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","isVisible","onClose","onDismiss","testID"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,oBAArB;AACA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AACA,OAAOC,gBAAP,MAA6B,mCAA7B;AAEA,MAAMC,mBAAmB,GAAG;AAC3BC,EAAAA,QAAQ,EAAE,oBADiB;AAE3BC,EAAAA,UAAU,EAAE;AAFe,CAA5B;;AAKA,SAASC,sBAAT,CAAiCC,KAAjC,EAAyC;AACxC,MAAK,CAAEA,KAAK,CAACC,eAAb,EAA+B;AAC9B,WAAO,cAAC,kBAAD,EAAyBD,KAAzB,CAAP;AACA;;AACD,SACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAGA,KAAK,CAACE,SADnB;AAEC,IAAA,OAAO,EAAGF,KAAK,CAACG,OAFjB;AAGC,IAAA,SAAS,EAAGH,KAAK,CAACI,SAHnB;AAIC,IAAA,MAAM,EAAGJ,KAAK,CAACK,MAJhB;AAKC,IAAA,UAAU,MALX;AAMC,IAAA,aAAa;AANd,KAQC,cAAC,WAAD,CAAa,mBAAb;AAAiC,IAAA,OAAO,MAAxC;AAAyC,IAAA,IAAI;AAA7C,KACC,cAAC,WAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGT,mBAAmB,CAACC;AAD5B,KAGC,cAAC,kBAAD,eAAyBG,KAAzB;AAAiC,IAAA,eAAe;AAAhD,KAHD,CADD,EAMC,cAAC,WAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGJ,mBAAmB,CAACE,UAD5B;AAEC,IAAA,YAAY,MAFb;AAGC,IAAA,UAAU;AAHX,KAKC,cAAC,gBAAD;AACC,IAAA,gBAAgB,EAAGF,mBAAmB,CAACC;AADxC,IALD,CAND,CARD,CADD;AA2BA;;AAED,eAAeL,IAAI,CAAEO,sBAAF,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport LinkSettingsScreen from './link-settings-screen';\nimport LinkPickerScreen from '../link-picker/link-picker-screen';\n\nconst linkSettingsScreens = {\n\tsettings: 'LinkSettingsScreen',\n\tlinkPicker: 'linkPicker',\n};\n\nfunction LinkSettingsNavigation( props ) {\n\tif ( ! props.withBottomSheet ) {\n\t\treturn <LinkSettingsScreen { ...props } />;\n\t}\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t\tonDismiss={ props.onDismiss }\n\t\t\ttestID={ props.testID }\n\t\t\thideHeader\n\t\t\thasNavigation\n\t\t>\n\t\t\t<BottomSheet.NavigationContainer animate main>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.settings }\n\t\t\t\t>\n\t\t\t\t\t<LinkSettingsScreen { ...props } withBottomSheet />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.linkPicker }\n\t\t\t\t\tisScrollable\n\t\t\t\t\tfullScreen\n\t\t\t\t>\n\t\t\t\t\t<LinkPickerScreen\n\t\t\t\t\t\treturnScreenName={ linkSettingsScreens.settings }\n\t\t\t\t\t/>\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t</BottomSheet.NavigationContainer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default memo( LinkSettingsNavigation );\n"]}
|
|
@@ -27,16 +27,22 @@ const LinkSettingsScreen = props => {
|
|
|
27
27
|
} = route.params || {};
|
|
28
28
|
|
|
29
29
|
const onLinkCellPressed = () => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
if (props.onLinkCellPressed) {
|
|
31
|
+
props.onLinkCellPressed({
|
|
32
|
+
navigation
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
navigation.navigate('linkPicker', {
|
|
36
|
+
inputValue
|
|
37
|
+
});
|
|
38
|
+
}
|
|
33
39
|
};
|
|
34
40
|
|
|
35
41
|
return useMemo(() => {
|
|
36
|
-
return createElement(LinkSettings, _extends({
|
|
42
|
+
return createElement(LinkSettings, _extends({}, props, {
|
|
37
43
|
onLinkCellPressed: props.hasPicker ? onLinkCellPressed : undefined,
|
|
38
44
|
urlValue: inputValue
|
|
39
|
-
}
|
|
45
|
+
}));
|
|
40
46
|
}, [props, inputValue, navigation, route]);
|
|
41
47
|
};
|
|
42
48
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-screen.native.js"],"names":["useNavigation","useRoute","useMemo","LinkSettings","LinkSettingsScreen","props","navigation","route","url","inputValue","params","onLinkCellPressed","navigate","hasPicker","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,0BAAxC;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,IAAzB;;AAEA,MAAMC,kBAAkB,GAAKC,KAAF,IAAa;AACvC,QAAMC,UAAU,GAAGN,aAAa,EAAhC;AACA,QAAMO,KAAK,GAAGN,QAAQ,EAAtB;AACA,QAAM;AAAEO,IAAAA,GAAG,GAAG;AAAR,MAAeH,KAArB;AACA,QAAM;AAAEI,IAAAA,UAAU,GAAGD;AAAf,MAAuBD,KAAK,CAACG,MAAN,IAAgB,EAA7C;;AAEA,QAAMC,iBAAiB,GAAG,MAAM;AAC/
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-screen.native.js"],"names":["useNavigation","useRoute","useMemo","LinkSettings","LinkSettingsScreen","props","navigation","route","url","inputValue","params","onLinkCellPressed","navigate","hasPicker","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,0BAAxC;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,IAAzB;;AAEA,MAAMC,kBAAkB,GAAKC,KAAF,IAAa;AACvC,QAAMC,UAAU,GAAGN,aAAa,EAAhC;AACA,QAAMO,KAAK,GAAGN,QAAQ,EAAtB;AACA,QAAM;AAAEO,IAAAA,GAAG,GAAG;AAAR,MAAeH,KAArB;AACA,QAAM;AAAEI,IAAAA,UAAU,GAAGD;AAAf,MAAuBD,KAAK,CAACG,MAAN,IAAgB,EAA7C;;AAEA,QAAMC,iBAAiB,GAAG,MAAM;AAC/B,QAAKN,KAAK,CAACM,iBAAX,EAA+B;AAC9BN,MAAAA,KAAK,CAACM,iBAAN,CAAyB;AAAEL,QAAAA;AAAF,OAAzB;AACA,KAFD,MAEO;AACNA,MAAAA,UAAU,CAACM,QAAX,CAAqB,YAArB,EAAmC;AAAEH,QAAAA;AAAF,OAAnC;AACA;AACD,GAND;;AAQA,SAAOP,OAAO,CAAE,MAAM;AACrB,WACC,cAAC,YAAD,eACMG,KADN;AAEC,MAAA,iBAAiB,EAChBA,KAAK,CAACQ,SAAN,GAAkBF,iBAAlB,GAAsCG,SAHxC;AAKC,MAAA,QAAQ,EAAGL;AALZ,OADD;AASA,GAVa,EAUX,CAAEJ,KAAF,EAASI,UAAT,EAAqBH,UAArB,EAAiCC,KAAjC,CAVW,CAAd;AAWA,CAzBD;;AA2BA,eAAeH,kBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport LinkSettings from './';\n\nconst LinkSettingsScreen = ( props ) => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url } = route.params || {};\n\n\tconst onLinkCellPressed = () => {\n\t\tif ( props.onLinkCellPressed ) {\n\t\t\tprops.onLinkCellPressed( { navigation } );\n\t\t} else {\n\t\t\tnavigation.navigate( 'linkPicker', { inputValue } );\n\t\t}\n\t};\n\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkSettings\n\t\t\t\t{ ...props }\n\t\t\t\tonLinkCellPressed={\n\t\t\t\t\tprops.hasPicker ? onLinkCellPressed : undefined\n\t\t\t\t}\n\t\t\t\turlValue={ inputValue }\n\t\t\t/>\n\t\t);\n\t}, [ props, inputValue, navigation, route ] );\n};\n\nexport default LinkSettingsScreen;\n"]}
|
|
@@ -77,7 +77,8 @@ export default class Picker extends Component {
|
|
|
77
77
|
render() {
|
|
78
78
|
const {
|
|
79
79
|
hideCancelButton,
|
|
80
|
-
title
|
|
80
|
+
title,
|
|
81
|
+
testID
|
|
81
82
|
} = this.props;
|
|
82
83
|
const {
|
|
83
84
|
isVisible
|
|
@@ -88,7 +89,8 @@ export default class Picker extends Component {
|
|
|
88
89
|
style: {
|
|
89
90
|
paddingBottom: 20
|
|
90
91
|
},
|
|
91
|
-
hideHeader: true
|
|
92
|
+
hideHeader: true,
|
|
93
|
+
testID: testID
|
|
92
94
|
}, createElement(PanelBody, {
|
|
93
95
|
title: title,
|
|
94
96
|
style: styles.panelBody
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"names":["View","__","Component","Fragment","usePreferredColorSchemeStyle","PanelBody","TextControl","BottomSheet","styles","Separator","separatorStyle","separator","separatorDark","Picker","constructor","arguments","onClose","bind","onCellPress","state","isVisible","presentPicker","setState","value","onChange","props","getOptions","options","leftAlign","map","option","label","length","separated","icon","disabled","render","hideCancelButton","title","paddingBottom","panelBody"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,oBAApC;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,uBAAvC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,MAAP,MAAmB,eAAnB;;AAEA,SAASC,SAAT,GAAqB;AACpB,QAAMC,cAAc,GAAGN,4BAA4B,CAClDI,MAAM,CAACG,SAD2C,EAElDH,MAAM,CAACI,aAF2C,CAAnD;AAKA,SAAO,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGF;AAAd,IAAP;AACA;;AAED,eAAe,MAAMG,MAAN,SAAqBX,SAArB,CAA+B;AAC7CY,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,OAAL,GAAe,KAAKA,OAAL,CAAaC,IAAb,CAAmB,IAAnB,CAAf;AACA,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBD,IAAjB,CAAuB,IAAvB,CAAnB;AAEA,SAAKE,KAAL,GAAa;AACZC,MAAAA,SAAS,EAAE;AADC,KAAb;AAGA;;AAEDC,EAAAA,aAAa,GAAG;AACf,SAAKC,QAAL,CAAe;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAAf;AACA;;AAEDJ,EAAAA,OAAO,GAAG;AACT,SAAKM,QAAL,CAAe;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAAf;AACA;;AAEDF,EAAAA,WAAW,CAAEK,KAAF,EAAU;AACpB,UAAM;AAAEC,MAAAA;AAAF,QAAe,KAAKC,KAA1B;AACAD,IAAAA,QAAQ,CAAED,KAAF,CAAR;AACA,SAAKP,OAAL;AACA;;AAEDU,EAAAA,UAAU,GAAG;AACZ,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAyB,KAAKH,KAApC;AAEA,WAAOE,OAAO,CAACE,GAAR,CAAeC,MAAF,IACnB,cAAC,QAAD;AAAU,MAAA,GAAG,EAAI,GAAGA,MAAM,CAACC,KAAO,IAAID,MAAM,CAACP,KAAO;AAApD,OACGI,OAAO,CAACK,MAAR,GAAiB,CAAjB,IAAsBF,MAAM,CAACG,SAA7B,IAA0C,cAAC,SAAD,OAD7C,EAEC,cAAC,WAAD,CAAa,IAAb;AACC,MAAA,IAAI,EAAGH,MAAM,CAACI,IADf;AAEC,MAAA,SAAS,EAAGN,SAFb;AAGC,MAAA,KAAK,EAAGE,MAAM,CAACC,KAHhB;AAIC,MAAA,aAAa,EAAG,MAJjB;AAKC,MAAA,OAAO,EAAG,MAAM,KAAKb,WAAL,CAAkBY,MAAM,CAACP,KAAzB,CALjB;AAMC,MAAA,QAAQ,EAAGO,MAAM,CAACK,QANnB;AAOC,MAAA,KAAK,EAAGL,MAAM,CAACK,QAAP,IAAmB3B,MAAM,CAAC2B;AAPnC,MAFD,CADM,CAAP;AAcA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"names":["View","__","Component","Fragment","usePreferredColorSchemeStyle","PanelBody","TextControl","BottomSheet","styles","Separator","separatorStyle","separator","separatorDark","Picker","constructor","arguments","onClose","bind","onCellPress","state","isVisible","presentPicker","setState","value","onChange","props","getOptions","options","leftAlign","map","option","label","length","separated","icon","disabled","render","hideCancelButton","title","testID","paddingBottom","panelBody"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, Fragment } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { PanelBody, TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport styles from './styles.scss';\n\nfunction Separator() {\n\tconst separatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.separator,\n\t\tstyles.separatorDark\n\t);\n\n\treturn <View style={ separatorStyle } />;\n}\n\nexport default class Picker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onClose = this.onClose.bind( this );\n\t\tthis.onCellPress = this.onCellPress.bind( this );\n\n\t\tthis.state = {\n\t\t\tisVisible: false,\n\t\t};\n\t}\n\n\tpresentPicker() {\n\t\tthis.setState( { isVisible: true } );\n\t}\n\n\tonClose() {\n\t\tthis.setState( { isVisible: false } );\n\t}\n\n\tonCellPress( value ) {\n\t\tconst { onChange } = this.props;\n\t\tonChange( value );\n\t\tthis.onClose();\n\t}\n\n\tgetOptions() {\n\t\tconst { options, leftAlign } = this.props;\n\n\t\treturn options.map( ( option ) => (\n\t\t\t<Fragment key={ `${ option.label }-${ option.value }` }>\n\t\t\t\t{ options.length > 1 && option.separated && <Separator /> }\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\tleftAlign={ leftAlign }\n\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\tseparatorType={ 'none' }\n\t\t\t\t\tonPress={ () => this.onCellPress( option.value ) }\n\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\tstyle={ option.disabled && styles.disabled }\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t) );\n\t}\n\n\trender() {\n\t\tconst { hideCancelButton, title, testID } = this.props;\n\t\tconst { isVisible } = this.state;\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tonClose={ this.onClose }\n\t\t\t\tstyle={ { paddingBottom: 20 } }\n\t\t\t\thideHeader\n\t\t\t\ttestID={ testID }\n\t\t\t>\n\t\t\t\t<PanelBody title={ title } style={ styles.panelBody }>\n\t\t\t\t\t{ this.getOptions() }\n\t\t\t\t\t{ ! hideCancelButton && (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Cancel' ) }\n\t\t\t\t\t\t\tonPress={ this.onClose }\n\t\t\t\t\t\t\tseparatorType={ 'none' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -20,7 +20,8 @@ import { closeSmall } from '@wordpress/icons';
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import * as ariaHelper from './aria-helper';
|
|
23
|
-
import Button from '../button';
|
|
23
|
+
import Button from '../button';
|
|
24
|
+
import StyleProvider from '../style-provider'; // Used to count the number of open modals.
|
|
24
25
|
|
|
25
26
|
let openModalCount = 0;
|
|
26
27
|
export default function Modal({
|
|
@@ -47,7 +48,8 @@ export default function Modal({
|
|
|
47
48
|
overlayClassName,
|
|
48
49
|
className,
|
|
49
50
|
contentLabel,
|
|
50
|
-
onKeyDown
|
|
51
|
+
onKeyDown,
|
|
52
|
+
isFullScreen = false
|
|
51
53
|
}) {
|
|
52
54
|
const ref = useRef();
|
|
53
55
|
const instanceId = useInstanceId(Modal);
|
|
@@ -96,8 +98,12 @@ export default function Modal({
|
|
|
96
98
|
ref: ref,
|
|
97
99
|
className: classnames('components-modal__screen-overlay', overlayClassName),
|
|
98
100
|
onKeyDown: handleEscapeKeyDown
|
|
101
|
+
}, createElement(StyleProvider, {
|
|
102
|
+
document: document
|
|
99
103
|
}, createElement("div", _extends({
|
|
100
|
-
className: classnames('components-modal__frame', className
|
|
104
|
+
className: classnames('components-modal__frame', className, {
|
|
105
|
+
'is-full-screen': isFullScreen
|
|
106
|
+
}),
|
|
101
107
|
style: style,
|
|
102
108
|
ref: useMergeRefs([constrainedTabbingRef, focusReturnRef, focusOnMountRef]),
|
|
103
109
|
role: role,
|
|
@@ -124,6 +130,6 @@ export default function Modal({
|
|
|
124
130
|
onClick: onRequestClose,
|
|
125
131
|
icon: closeSmall,
|
|
126
132
|
label: closeButtonLabel || __('Close dialog')
|
|
127
|
-
})), children))), document.body);
|
|
133
|
+
})), children)))), document.body);
|
|
128
134
|
}
|
|
129
135
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["classnames","createPortal","useEffect","useRef","useInstanceId","useFocusReturn","useFocusOnMount","__experimentalUseFocusOutside","useFocusOutside","useConstrainedTabbing","useMergeRefs","deprecated","ESCAPE","__","closeSmall","ariaHelper","Button","openModalCount","Modal","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissable","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hideApp","current","document","body","classList","add","remove","showApp","since","alternative","handleEscapeKeyDown","event","keyCode","defaultPrevented","preventDefault"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,EAAkCC,MAAlC,QAAgD,oBAAhD;AACA,SACCC,aADD,EAECC,cAFD,EAGCC,eAHD,EAICC,6BAA6B,IAAIC,eAJlC,EAKCC,qBALD,EAMCC,YAND,QAOO,oBAPP;AAQA,OAAOC,UAAP,MAAuB,uBAAvB;AACA,SAASC,MAAT,QAAuB,qBAAvB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,UAAZ,MAA4B,eAA5B;AACA,OAAOC,MAAP,MAAmB,WAAnB,C,CAEA;;AACA,IAAIC,cAAc,GAAG,CAArB;AAEA,eAAe,SAASC,KAAT,CAAgB;AAC9BC,EAAAA,iBAAiB,GAAG,YADU;AAE9BC,EAAAA,IAAI,GAAG,QAFuB;AAG9BC,EAAAA,KAAK,GAAG,IAHsB;AAI9BC,EAAAA,YAAY,GAAG,IAJe;AAK9BC,EAAAA,gBAAgB,GAAG,IALW;AAM9BC,EAAAA,yBAAyB,GAAG,IANE;AAO9BC,EAAAA,aAP8B;AAOf;AACfC,EAAAA,aAAa,GAAGD,aAAa,IAAI,IARH;;AAS9B;AACAE,EAAAA,IAAI,GAAG;AACNC,IAAAA,UAAU,EAAE,IADN;AAENC,IAAAA,WAAW,EAAE;AAFP,GAVuB;AAc9BC,EAAAA,cAd8B;AAe9BC,EAAAA,IAf8B;AAgB9BC,EAAAA,gBAhB8B;AAiB9BC,EAAAA,QAjB8B;AAkB9BC,EAAAA,KAlB8B;AAmB9BC,EAAAA,gBAnB8B;AAoB9BC,EAAAA,SApB8B;AAqB9BC,EAAAA,YArB8B;AAsB9BC,EAAAA;
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["classnames","createPortal","useEffect","useRef","useInstanceId","useFocusReturn","useFocusOnMount","__experimentalUseFocusOutside","useFocusOutside","useConstrainedTabbing","useMergeRefs","deprecated","ESCAPE","__","closeSmall","ariaHelper","Button","StyleProvider","openModalCount","Modal","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissable","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hideApp","current","document","body","classList","add","remove","showApp","since","alternative","handleEscapeKeyDown","event","keyCode","defaultPrevented","preventDefault"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createPortal, useEffect, useRef } from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nexport default function Modal( {\n\tbodyOpenClassName = 'modal-open',\n\trole = 'dialog',\n\ttitle = null,\n\tfocusOnMount = true,\n\tshouldCloseOnEsc = true,\n\tshouldCloseOnClickOutside = true,\n\tisDismissable, // Deprecated\n\tisDismissible = isDismissable || true,\n\t/* accessibility */\n\taria = {\n\t\tlabelledby: null,\n\t\tdescribedby: null,\n\t},\n\tonRequestClose,\n\ticon,\n\tcloseButtonLabel,\n\tchildren,\n\tstyle,\n\toverlayClassName,\n\tclassName,\n\tcontentLabel,\n\tonKeyDown,\n\tisFullScreen = false,\n} ) {\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( isDismissable ) {\n\t\tdeprecated( 'isDismissable prop of the Modal component', {\n\t\t\tsince: '5.4',\n\t\t\talternative: 'isDismissible prop (renamed) of the Modal component',\n\t\t} );\n\t}\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ 'components-modal__content' }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\tcloseButtonLabel || __( 'Close dialog' )\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</div>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n"]}
|
|
@@ -48,10 +48,9 @@ export default function NavigationGroup({
|
|
|
48
48
|
}, createElement("li", {
|
|
49
49
|
className: classes
|
|
50
50
|
}, title && createElement(GroupTitleUI, {
|
|
51
|
-
as: "h3",
|
|
52
51
|
className: "components-navigation__group-title",
|
|
53
52
|
id: groupTitleId,
|
|
54
|
-
|
|
53
|
+
level: 3
|
|
55
54
|
}, title), createElement("ul", {
|
|
56
55
|
"aria-labelledby": groupTitleId,
|
|
57
56
|
role: "group"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/group/index.js"],"names":["classnames","find","uniqueId","useState","NavigationGroupContext","GroupTitleUI","useNavigationContext","NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","_isVisible","groupTitleId","classes"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,QAA/B;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,WAAvC;AACA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,oBAAT,QAAqC,YAArC;AAEA,eAAe,SAASC,eAAT,CAA0B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA;AAAvB,CAA1B,EAA2D;AACzE,QAAM,CAAEC,OAAF,IAAcR,QAAQ,CAAED,QAAQ,CAAE,QAAF,CAAV,CAA5B;AACA,QAAM;AACLU,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADX,MAEFP,oBAAoB,EAFxB;AAIA,QAAMQ,OAAO,GAAG;AAAEC,IAAAA,KAAK,EAAEJ;AAAT,GAAhB,CANyE,CAQzE;;AACA,MAAK,CAAEV,IAAI,CAAEY,KAAF,EAAS;AAAEE,IAAAA,KAAK,EAAEJ,OAAT;AAAkBK,IAAAA,UAAU,EAAE;AAA9B,GAAT,CAAX,EAA6D;AAC5D,WACC,cAAC,sBAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAGF;AAAzC,OACGN,QADH,CADD;AAKA;;AAED,QAAMS,YAAY,GAAI,sCAAsCN,OAAS,EAArE;AACA,QAAMO,OAAO,GAAGlB,UAAU,CAAE,8BAAF,EAAkCS,SAAlC,CAA1B;AAEA,SACC,cAAC,sBAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAGK;AAAzC,KACC;AAAI,IAAA,SAAS,EAAGI;AAAhB,KACGR,KAAK,IACN,cAAC,YAAD;AACC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/group/index.js"],"names":["classnames","find","uniqueId","useState","NavigationGroupContext","GroupTitleUI","useNavigationContext","NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","_isVisible","groupTitleId","classes"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,QAA/B;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,WAAvC;AACA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,oBAAT,QAAqC,YAArC;AAEA,eAAe,SAASC,eAAT,CAA0B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA;AAAvB,CAA1B,EAA2D;AACzE,QAAM,CAAEC,OAAF,IAAcR,QAAQ,CAAED,QAAQ,CAAE,QAAF,CAAV,CAA5B;AACA,QAAM;AACLU,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADX,MAEFP,oBAAoB,EAFxB;AAIA,QAAMQ,OAAO,GAAG;AAAEC,IAAAA,KAAK,EAAEJ;AAAT,GAAhB,CANyE,CAQzE;;AACA,MAAK,CAAEV,IAAI,CAAEY,KAAF,EAAS;AAAEE,IAAAA,KAAK,EAAEJ,OAAT;AAAkBK,IAAAA,UAAU,EAAE;AAA9B,GAAT,CAAX,EAA6D;AAC5D,WACC,cAAC,sBAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAGF;AAAzC,OACGN,QADH,CADD;AAKA;;AAED,QAAMS,YAAY,GAAI,sCAAsCN,OAAS,EAArE;AACA,QAAMO,OAAO,GAAGlB,UAAU,CAAE,8BAAF,EAAkCS,SAAlC,CAA1B;AAEA,SACC,cAAC,sBAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAGK;AAAzC,KACC;AAAI,IAAA,SAAS,EAAGI;AAAhB,KACGR,KAAK,IACN,cAAC,YAAD;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,EAAE,EAAGO,YAFN;AAGC,IAAA,KAAK,EAAG;AAHT,KAKGP,KALH,CAFF,EAUC;AAAI,uBAAkBO,YAAtB;AAAqC,IAAA,IAAI,EAAC;AAA1C,KACGT,QADH,CAVD,CADD,CADD;AAkBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { find, uniqueId } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { NavigationGroupContext } from './context';\nimport { GroupTitleUI } from '../styles/navigation-styles';\nimport { useNavigationContext } from '../context';\n\nexport default function NavigationGroup( { children, className, title } ) {\n\tconst [ groupId ] = useState( uniqueId( 'group-' ) );\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\n\tconst context = { group: groupId };\n\n\t// Keep the children rendered to make sure invisible items are included in the navigation tree.\n\tif ( ! find( items, { group: groupId, _isVisible: true } ) ) {\n\t\treturn (\n\t\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t\t{ children }\n\t\t\t</NavigationGroupContext.Provider>\n\t\t);\n\t}\n\n\tconst groupTitleId = `components-navigation__group-title-${ groupId }`;\n\tconst classes = classnames( 'components-navigation__group', className );\n\n\treturn (\n\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t<li className={ classes }>\n\t\t\t\t{ title && (\n\t\t\t\t\t<GroupTitleUI\n\t\t\t\t\t\tclassName=\"components-navigation__group-title\"\n\t\t\t\t\t\tid={ groupTitleId }\n\t\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</GroupTitleUI>\n\t\t\t\t) }\n\t\t\t\t<ul aria-labelledby={ groupTitleId } role=\"group\">\n\t\t\t\t\t{ children }\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</NavigationGroupContext.Provider>\n\t);\n}\n"]}
|
|
@@ -9,15 +9,12 @@ import { filter } from 'lodash';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { useEffect, useRef } from '@wordpress/element';
|
|
12
|
-
import { Icon, closeSmall, search as searchIcon } from '@wordpress/icons';
|
|
13
12
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
14
13
|
import { ESCAPE } from '@wordpress/keycodes';
|
|
15
14
|
/**
|
|
16
15
|
* Internal dependencies
|
|
17
16
|
*/
|
|
18
17
|
|
|
19
|
-
import Button from '../../button';
|
|
20
|
-
import { VisuallyHidden } from '../../visually-hidden';
|
|
21
18
|
import withSpokenMessages from '../../higher-order/with-spoken-messages';
|
|
22
19
|
import { useNavigationMenuContext } from './context';
|
|
23
20
|
import { useNavigationContext } from '../context';
|
|
@@ -74,37 +71,24 @@ function MenuTitleSearch({
|
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
const menuTitleId = `components-navigation__menu-title-${menu}`;
|
|
78
74
|
const inputId = `components-navigation__menu-title-search-${menu}`;
|
|
75
|
+
const placeholder = sprintf(
|
|
79
76
|
/* translators: placeholder for menu search box. %s: menu title */
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return createElement(MenuTitleSearchUI, {
|
|
77
|
+
__('Search %s'), title === null || title === void 0 ? void 0 : title.toLowerCase()).trim();
|
|
78
|
+
return createElement("div", {
|
|
83
79
|
className: "components-navigation__menu-title-search"
|
|
84
|
-
}, createElement(
|
|
85
|
-
icon: searchIcon
|
|
86
|
-
}), createElement(VisuallyHidden, {
|
|
87
|
-
as: "label",
|
|
88
|
-
htmlFor: inputId,
|
|
89
|
-
id: menuTitleId
|
|
90
|
-
}, placeholder), createElement("input", {
|
|
80
|
+
}, createElement(MenuTitleSearchUI, {
|
|
91
81
|
autoComplete: "off",
|
|
92
|
-
className: "components-
|
|
82
|
+
className: "components-navigation__menu-search-input",
|
|
93
83
|
id: inputId,
|
|
94
|
-
onChange:
|
|
84
|
+
onChange: value => onSearch(value),
|
|
95
85
|
onKeyDown: onKeyDown,
|
|
96
86
|
placeholder: placeholder,
|
|
87
|
+
onClose: onClose,
|
|
97
88
|
ref: inputRef,
|
|
98
89
|
type: "search",
|
|
99
90
|
value: search
|
|
100
|
-
})
|
|
101
|
-
isSmall: true,
|
|
102
|
-
variant: "tertiary",
|
|
103
|
-
label: __('Close search'),
|
|
104
|
-
onClick: onClose
|
|
105
|
-
}, createElement(Icon, {
|
|
106
|
-
icon: closeSmall
|
|
107
|
-
})));
|
|
91
|
+
}));
|
|
108
92
|
}
|
|
109
93
|
|
|
110
94
|
export default withSpokenMessages(MenuTitleSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["filter","useEffect","useRef","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["filter","useEffect","useRef","__","_n","sprintf","ESCAPE","withSpokenMessages","useNavigationMenuContext","useNavigationContext","MenuTitleSearchUI","SEARCH_FOCUS_DELAY","MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","clearTimeout","count","length","resultsFoundMessage","onClose","onKeyDown","event","keyCode","defaultPrevented","preventDefault","inputId","placeholder","toLowerCase","trim","value"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,QAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,MAApB,QAAkC,oBAAlC;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,MAAT,QAAuB,qBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yCAA/B;AACA,SAASC,wBAAT,QAAyC,WAAzC;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,kBAAT,QAAmC,cAAnC;;AAEA,SAASC,eAAT,CAA0B;AACzBC,EAAAA,cADyB;AAEzBC,EAAAA,aAFyB;AAGzBC,EAAAA,QAHyB;AAIzBC,EAAAA,MAJyB;AAKzBC,EAAAA;AALyB,CAA1B,EAMI;AACH,QAAM;AACLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADX,MAEFV,oBAAoB,EAFxB;AAGA,QAAM;AAAEW,IAAAA;AAAF,MAAWZ,wBAAwB,EAAzC;AACA,QAAMa,QAAQ,GAAGnB,MAAM,EAAvB,CALG,CAOH;AACA;;AACAD,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMqB,YAAY,GAAGC,UAAU,CAAE,MAAM;AACtCF,MAAAA,QAAQ,CAACG,OAAT,CAAiBC,KAAjB;AACA,KAF8B,EAE5Bd,kBAF4B,CAA/B;AAIA,WAAO,MAAM;AACZe,MAAAA,YAAY,CAAEJ,YAAF,CAAZ;AACA,KAFD;AAGA,GARQ,EAQN,EARM,CAAT;AAUArB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEe,MAAP,EAAgB;AACf;AACA;;AAED,UAAMW,KAAK,GAAG3B,MAAM,CAAEmB,KAAF,EAAS,YAAT,CAAN,CAA8BS,MAA5C;AACA,UAAMC,mBAAmB,GAAGxB,OAAO;AAClC;AACAD,IAAAA,EAAE,CAAE,kBAAF,EAAsB,mBAAtB,EAA2CuB,KAA3C,CAFgC,EAGlCA,KAHkC,CAAnC;AAKAd,IAAAA,cAAc,CAAEgB,mBAAF,CAAd;AACA,GAZQ,EAYN,CAAEV,KAAF,EAASH,MAAT,CAZM,CAAT;;AAcA,QAAMc,OAAO,GAAG,MAAM;AACrBf,IAAAA,QAAQ,CAAE,EAAF,CAAR;AACAD,IAAAA,aAAa;AACb,GAHD;;AAKA,WAASiB,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,QAAKA,KAAK,CAACC,OAAN,KAAkB3B,MAAlB,IAA4B,CAAE0B,KAAK,CAACE,gBAAzC,EAA4D;AAC3DF,MAAAA,KAAK,CAACG,cAAN;AACAL,MAAAA,OAAO;AACP;AACD;;AAED,QAAMM,OAAO,GAAI,4CAA4ChB,IAAM,EAAnE;AACA,QAAMiB,WAAW,GAAGhC,OAAO;AAC1B;AACAF,EAAAA,EAAE,CAAE,WAAF,CAFwB,EAG1Bc,KAH0B,aAG1BA,KAH0B,uBAG1BA,KAAK,CAAEqB,WAAP,EAH0B,CAAP,CAIlBC,IAJkB,EAApB;AAMA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,iBAAD;AACC,IAAA,YAAY,EAAC,KADd;AAEC,IAAA,SAAS,EAAC,0CAFX;AAGC,IAAA,EAAE,EAAGH,OAHN;AAIC,IAAA,QAAQ,EAAKI,KAAF,IAAazB,QAAQ,CAAEyB,KAAF,CAJjC;AAKC,IAAA,SAAS,EAAGT,SALb;AAMC,IAAA,WAAW,EAAGM,WANf;AAOC,IAAA,OAAO,EAAGP,OAPX;AAQC,IAAA,GAAG,EAAGT,QARP;AASC,IAAA,IAAI,EAAC,QATN;AAUC,IAAA,KAAK,EAAGL;AAVT,IADD,CADD;AAgBA;;AAED,eAAeT,kBAAkB,CAAEK,eAAF,CAAjC","sourcesContent":["/**\n * External dependencies\n */\nimport { filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport withSpokenMessages from '../../higher-order/with-spoken-messages';\nimport { useNavigationMenuContext } from './context';\nimport { useNavigationContext } from '../context';\nimport { MenuTitleSearchUI } from '../styles/navigation-styles';\nimport { SEARCH_FOCUS_DELAY } from '../constants';\n\nfunction MenuTitleSearch( {\n\tdebouncedSpeak,\n\tonCloseSearch,\n\tonSearch,\n\tsearch,\n\ttitle,\n} ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\tconst { menu } = useNavigationMenuContext();\n\tconst inputRef = useRef();\n\n\t// Wait for the slide-in animation to complete before autofocusing the input.\n\t// This prevents scrolling to the input during the animation.\n\tuseEffect( () => {\n\t\tconst delayedFocus = setTimeout( () => {\n\t\t\tinputRef.current.focus();\n\t\t}, SEARCH_FOCUS_DELAY );\n\n\t\treturn () => {\n\t\t\tclearTimeout( delayedFocus );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! search ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst count = filter( items, '_isVisible' ).length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ items, search ] );\n\n\tconst onClose = () => {\n\t\tonSearch( '' );\n\t\tonCloseSearch();\n\t};\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst inputId = `components-navigation__menu-title-search-${ menu }`;\n\tconst placeholder = sprintf(\n\t\t/* translators: placeholder for menu search box. %s: menu title */\n\t\t__( 'Search %s' ),\n\t\ttitle?.toLowerCase()\n\t).trim();\n\n\treturn (\n\t\t<div className=\"components-navigation__menu-title-search\">\n\t\t\t<MenuTitleSearchUI\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tclassName=\"components-navigation__menu-search-input\"\n\t\t\t\tid={ inputId }\n\t\t\t\tonChange={ ( value ) => onSearch( value ) }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tref={ inputRef }\n\t\t\t\ttype=\"search\"\n\t\t\t\tvalue={ search }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default withSpokenMessages( MenuTitleSearch );\n"]}
|
|
@@ -13,7 +13,7 @@ import { Icon, search as searchIcon } from '@wordpress/icons';
|
|
|
13
13
|
import { getAnimateClassName } from '../../animate';
|
|
14
14
|
import Button from '../../button';
|
|
15
15
|
import MenuTitleSearch from './menu-title-search';
|
|
16
|
-
import {
|
|
16
|
+
import { GroupTitleUI, MenuTitleActionsUI, MenuTitleUI } from '../styles/navigation-styles';
|
|
17
17
|
import { useNavigationMenuContext } from './context';
|
|
18
18
|
import { SEARCH_FOCUS_DELAY } from '../constants';
|
|
19
19
|
export default function NavigationMenuTitle({
|
|
@@ -48,10 +48,10 @@ export default function NavigationMenuTitle({
|
|
|
48
48
|
const searchButtonLabel = sprintf(__('Search in %s'), title);
|
|
49
49
|
return createElement(MenuTitleUI, {
|
|
50
50
|
className: "components-navigation__menu-title"
|
|
51
|
-
}, !isSearching && createElement(
|
|
51
|
+
}, !isSearching && createElement(GroupTitleUI, {
|
|
52
52
|
as: "h2",
|
|
53
53
|
className: "components-navigation__menu-title-heading",
|
|
54
|
-
|
|
54
|
+
level: 3
|
|
55
55
|
}, createElement("span", {
|
|
56
56
|
id: menuTitleId
|
|
57
57
|
}, title), (hasSearch || titleAction) && createElement(MenuTitleActionsUI, null, titleAction, hasSearch && createElement(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title.js"],"names":["useRef","useState","__","sprintf","Icon","search","searchIcon","getAnimateClassName","Button","MenuTitleSearch","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title.js"],"names":["useRef","useState","__","sprintf","Icon","search","searchIcon","getAnimateClassName","Button","MenuTitleSearch","GroupTitleUI","MenuTitleActionsUI","MenuTitleUI","useNavigationMenuContext","SEARCH_FOCUS_DELAY","NavigationMenuTitle","hasSearch","onSearch","title","titleAction","isSearching","setIsSearching","menu","searchButtonRef","onCloseSearch","setTimeout","current","focus","menuTitleId","searchButtonLabel","type","origin"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,QAAjB,QAAiC,oBAAjC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,IAAT,EAAeC,MAAM,IAAIC,UAAzB,QAA2C,kBAA3C;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,eAApC;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,SACCC,YADD,EAECC,kBAFD,EAGCC,WAHD,QAIO,6BAJP;AAKA,SAASC,wBAAT,QAAyC,WAAzC;AACA,SAASC,kBAAT,QAAmC,cAAnC;AAEA,eAAe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA,SAD4C;AAE5CC,EAAAA,QAF4C;AAG5CZ,EAAAA,MAH4C;AAI5Ca,EAAAA,KAJ4C;AAK5CC,EAAAA;AAL4C,CAA9B,EAMX;AACH,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCpB,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAM;AAAEqB,IAAAA;AAAF,MAAWT,wBAAwB,EAAzC;AACA,QAAMU,eAAe,GAAGvB,MAAM,EAA9B;;AAEA,MAAK,CAAEkB,KAAP,EAAe;AACd,WAAO,IAAP;AACA;;AAED,QAAMM,aAAa,GAAG,MAAM;AAC3BH,IAAAA,cAAc,CAAE,KAAF,CAAd,CAD2B,CAG3B;AACA;;AACAI,IAAAA,UAAU,CAAE,MAAM;AACjBF,MAAAA,eAAe,CAACG,OAAhB,CAAwBC,KAAxB;AACA,KAFS,EAEPb,kBAFO,CAAV;AAGA,GARD;;AAUA,QAAMc,WAAW,GAAI,qCAAqCN,IAAM,EAAhE;AACA;;AACA,QAAMO,iBAAiB,GAAG1B,OAAO,CAAED,EAAE,CAAE,cAAF,CAAJ,EAAwBgB,KAAxB,CAAjC;AAEA,SACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACG,CAAEE,WAAF,IACD,cAAC,YAAD;AACC,IAAA,EAAE,EAAC,IADJ;AAEC,IAAA,SAAS,EAAC,2CAFX;AAGC,IAAA,KAAK,EAAG;AAHT,KAKC;AAAM,IAAA,EAAE,EAAGQ;AAAX,KAA2BV,KAA3B,CALD,EAOG,CAAEF,SAAS,IAAIG,WAAf,KACD,cAAC,kBAAD,QACGA,WADH,EAGGH,SAAS,IACV,cAAC,MAAD;AACC,IAAA,OAAO,MADR;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,IAAA,KAAK,EAAGa,iBAHT;AAIC,IAAA,OAAO,EAAG,MAAMR,cAAc,CAAE,IAAF,CAJ/B;AAKC,IAAA,GAAG,EAAGE;AALP,KAOC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGjB;AAAb,IAPD,CAJF,CARF,CAFF,EA6BGc,WAAW,IACZ;AACC,IAAA,SAAS,EAAGb,mBAAmB,CAAE;AAChCuB,MAAAA,IAAI,EAAE,UAD0B;AAEhCC,MAAAA,MAAM,EAAE;AAFwB,KAAF;AADhC,KAMC,cAAC,eAAD;AACC,IAAA,aAAa,EAAGP,aADjB;AAEC,IAAA,QAAQ,EAAGP,QAFZ;AAGC,IAAA,MAAM,EAAGZ,MAHV;AAIC,IAAA,KAAK,EAAGa;AAJT,IAND,CA9BF,CADD;AA+CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, search as searchIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getAnimateClassName } from '../../animate';\nimport Button from '../../button';\nimport MenuTitleSearch from './menu-title-search';\nimport {\n\tGroupTitleUI,\n\tMenuTitleActionsUI,\n\tMenuTitleUI,\n} from '../styles/navigation-styles';\nimport { useNavigationMenuContext } from './context';\nimport { SEARCH_FOCUS_DELAY } from '../constants';\n\nexport default function NavigationMenuTitle( {\n\thasSearch,\n\tonSearch,\n\tsearch,\n\ttitle,\n\ttitleAction,\n} ) {\n\tconst [ isSearching, setIsSearching ] = useState( false );\n\tconst { menu } = useNavigationMenuContext();\n\tconst searchButtonRef = useRef();\n\n\tif ( ! title ) {\n\t\treturn null;\n\t}\n\n\tconst onCloseSearch = () => {\n\t\tsetIsSearching( false );\n\n\t\t// Wait for the slide-in animation to complete before focusing the search button.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tsearchButtonRef.current.focus();\n\t\t}, SEARCH_FOCUS_DELAY );\n\t};\n\n\tconst menuTitleId = `components-navigation__menu-title-${ menu }`;\n\t/* translators: search button label for menu search box. %s: menu title */\n\tconst searchButtonLabel = sprintf( __( 'Search in %s' ), title );\n\n\treturn (\n\t\t<MenuTitleUI className=\"components-navigation__menu-title\">\n\t\t\t{ ! isSearching && (\n\t\t\t\t<GroupTitleUI\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tclassName=\"components-navigation__menu-title-heading\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t>\n\t\t\t\t\t<span id={ menuTitleId }>{ title }</span>\n\n\t\t\t\t\t{ ( hasSearch || titleAction ) && (\n\t\t\t\t\t\t<MenuTitleActionsUI>\n\t\t\t\t\t\t\t{ titleAction }\n\n\t\t\t\t\t\t\t{ hasSearch && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tlabel={ searchButtonLabel }\n\t\t\t\t\t\t\t\t\tonClick={ () => setIsSearching( true ) }\n\t\t\t\t\t\t\t\t\tref={ searchButtonRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ searchIcon } />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuTitleActionsUI>\n\t\t\t\t\t) }\n\t\t\t\t</GroupTitleUI>\n\t\t\t) }\n\n\t\t\t{ isSearching && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ getAnimateClassName( {\n\t\t\t\t\t\ttype: 'slide-in',\n\t\t\t\t\t\torigin: 'left',\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<MenuTitleSearch\n\t\t\t\t\t\tonCloseSearch={ onCloseSearch }\n\t\t\t\t\t\tonSearch={ onSearch }\n\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</MenuTitleUI>\n\t);\n}\n"]}
|