@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
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
|
|
12
|
+
var _native = require("@react-navigation/native");
|
|
13
|
+
|
|
14
|
+
var _reactNative = require("react-native");
|
|
15
|
+
|
|
16
|
+
var _i18n = require("@wordpress/i18n");
|
|
17
|
+
|
|
18
|
+
var _icons = require("@wordpress/icons");
|
|
19
|
+
|
|
20
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
21
|
+
|
|
22
|
+
var _compose = require("@wordpress/compose");
|
|
23
|
+
|
|
24
|
+
var _style = _interopRequireDefault(require("./style.scss"));
|
|
25
|
+
|
|
26
|
+
var _body = _interopRequireDefault(require("../../panel/body"));
|
|
27
|
+
|
|
28
|
+
var _bottomSheet = _interopRequireDefault(require("../bottom-sheet"));
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* External dependencies
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* WordPress dependencies
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Internal dependencies
|
|
40
|
+
*/
|
|
41
|
+
const LINK_DESTINATION_NONE = 'none';
|
|
42
|
+
const LINK_DESTINATION_MEDIA = 'media';
|
|
43
|
+
const LINK_DESTINATION_ATTACHMENT = 'attachment';
|
|
44
|
+
const LINK_DESTINATION_CUSTOM = 'custom';
|
|
45
|
+
|
|
46
|
+
function LinkDestination({
|
|
47
|
+
children,
|
|
48
|
+
isSelected,
|
|
49
|
+
label,
|
|
50
|
+
onPress,
|
|
51
|
+
value,
|
|
52
|
+
valueStyle
|
|
53
|
+
}) {
|
|
54
|
+
const optionIcon = (0, _compose.usePreferredColorSchemeStyle)(_style.default.optionIcon, _style.default.optionIconDark);
|
|
55
|
+
return (0, _element.createElement)(_bottomSheet.default.Cell, {
|
|
56
|
+
icon: _icons.check,
|
|
57
|
+
iconStyle: _reactNative.StyleSheet.flatten([optionIcon, !isSelected && _style.default.unselectedOptionIcon]),
|
|
58
|
+
label: label,
|
|
59
|
+
leftAlign: true,
|
|
60
|
+
onPress: onPress,
|
|
61
|
+
value: value,
|
|
62
|
+
valueStyle: valueStyle,
|
|
63
|
+
separatorType: "leftMargin"
|
|
64
|
+
}, children);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function ImageLinkDestinationsScreen(props) {
|
|
68
|
+
const navigation = (0, _native.useNavigation)();
|
|
69
|
+
const route = (0, _native.useRoute)();
|
|
70
|
+
const {
|
|
71
|
+
url = ''
|
|
72
|
+
} = props;
|
|
73
|
+
const {
|
|
74
|
+
inputValue = url,
|
|
75
|
+
imageUrl,
|
|
76
|
+
attachmentPageUrl,
|
|
77
|
+
linkDestination
|
|
78
|
+
} = route.params || {};
|
|
79
|
+
|
|
80
|
+
function goToLinkPicker() {
|
|
81
|
+
navigation.navigate(_blockEditor.blockSettingsScreens.linkPicker, {
|
|
82
|
+
inputValue: linkDestination === LINK_DESTINATION_CUSTOM ? inputValue : ''
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const setLinkDestination = newLinkDestination => () => {
|
|
87
|
+
let newUrl;
|
|
88
|
+
|
|
89
|
+
switch (newLinkDestination) {
|
|
90
|
+
case LINK_DESTINATION_MEDIA:
|
|
91
|
+
newUrl = imageUrl;
|
|
92
|
+
break;
|
|
93
|
+
|
|
94
|
+
case LINK_DESTINATION_ATTACHMENT:
|
|
95
|
+
newUrl = attachmentPageUrl;
|
|
96
|
+
break;
|
|
97
|
+
|
|
98
|
+
default:
|
|
99
|
+
newUrl = '';
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
navigation.navigate(_blockEditor.blockSettingsScreens.settings, {
|
|
104
|
+
// The `inputValue` name is reused from LinkPicker, as it helps avoid
|
|
105
|
+
// bugs from stale values remaining in the React Navigation route
|
|
106
|
+
// parameters
|
|
107
|
+
inputValue: newUrl,
|
|
108
|
+
// Clear link text value that may be set from LinkPicker
|
|
109
|
+
text: ''
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_bottomSheet.default.NavBar, null, (0, _element.createElement)(_bottomSheet.default.NavBar.BackButton, {
|
|
114
|
+
onPress: navigation.goBack
|
|
115
|
+
}), (0, _element.createElement)(_bottomSheet.default.NavBar.Heading, null, (0, _i18n.__)('Link To'))), (0, _element.createElement)(_body.default, null, (0, _element.createElement)(LinkDestination, {
|
|
116
|
+
isSelected: linkDestination === LINK_DESTINATION_NONE,
|
|
117
|
+
label: (0, _i18n.__)('None'),
|
|
118
|
+
onPress: setLinkDestination(LINK_DESTINATION_NONE)
|
|
119
|
+
}), (0, _element.createElement)(LinkDestination, {
|
|
120
|
+
isSelected: linkDestination === LINK_DESTINATION_MEDIA,
|
|
121
|
+
label: (0, _i18n.__)('Media File'),
|
|
122
|
+
onPress: setLinkDestination(LINK_DESTINATION_MEDIA)
|
|
123
|
+
}), !!attachmentPageUrl && (0, _element.createElement)(LinkDestination, {
|
|
124
|
+
isSelected: linkDestination === LINK_DESTINATION_ATTACHMENT,
|
|
125
|
+
label: (0, _i18n.__)('Attachment Page'),
|
|
126
|
+
onPress: setLinkDestination(LINK_DESTINATION_ATTACHMENT)
|
|
127
|
+
}), (0, _element.createElement)(LinkDestination, {
|
|
128
|
+
isSelected: linkDestination === LINK_DESTINATION_CUSTOM,
|
|
129
|
+
label: (0, _i18n.__)('Custom URL'),
|
|
130
|
+
onPress: goToLinkPicker,
|
|
131
|
+
value: linkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',
|
|
132
|
+
valueStyle: linkDestination === LINK_DESTINATION_CUSTOM ? undefined : _style.default.placeholderTextColor
|
|
133
|
+
}, (0, _element.createElement)(_icons.Icon, {
|
|
134
|
+
icon: _icons.chevronRight
|
|
135
|
+
}))));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
var _default = ImageLinkDestinationsScreen;
|
|
139
|
+
exports.default = _default;
|
|
140
|
+
//# sourceMappingURL=image-link-destinations-screen.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/image-link-destinations-screen.native.js"],"names":["LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","styles","optionIconDark","check","StyleSheet","flatten","unselectedOptionIcon","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","blockSettingsScreens","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","goBack","undefined","placeholderTextColor","chevronRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { blockSettingsScreens } from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport PanelBody from '../../panel/body';\nimport BottomSheet from '../bottom-sheet';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url, imageUrl, attachmentPageUrl, linkDestination } =\n\t\troute.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"]}
|
|
@@ -103,9 +103,9 @@ function LinkSettings({
|
|
|
103
103
|
urlValue,
|
|
104
104
|
// Attributes properties
|
|
105
105
|
url,
|
|
106
|
-
label,
|
|
106
|
+
label = '',
|
|
107
107
|
linkTarget,
|
|
108
|
-
rel
|
|
108
|
+
rel = ''
|
|
109
109
|
}) {
|
|
110
110
|
const [urlInputValue, setUrlInputValue] = (0, _element.useState)('');
|
|
111
111
|
const [labelInputValue, setLabelInputValue] = (0, _element.useState)('');
|
|
@@ -224,6 +224,7 @@ function LinkSettings({
|
|
|
224
224
|
return (0, _element.createElement)(_element.Fragment, null, options.url && (onLinkCellPressed ? (0, _element.createElement)(_bottomSheet.default.LinkCell, {
|
|
225
225
|
showIcon: showIcon,
|
|
226
226
|
value: url,
|
|
227
|
+
valueMask: options.url.valueMask,
|
|
227
228
|
onPress: onLinkCellPressed
|
|
228
229
|
}) : (0, _element.createElement)(_textControl.default, {
|
|
229
230
|
icon: showIcon && _icons.link,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"names":["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","BottomSheetContext","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","Clipboard","getString","getSettings","link","placeholder","Platform","OS","autoFocus","linkLabel","openInNewTab","external","linkRel","LinkRelIcon","styles","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":["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","BottomSheetContext","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","Clipboard","getString","getSettings","valueMask","link","placeholder","Platform","OS","autoFocus","linkLabel","openInNewTab","external","linkRel","LinkRelIcon","styles","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"]}
|
|
@@ -38,6 +38,7 @@ function LinkSettingsNavigation(props) {
|
|
|
38
38
|
isVisible: props.isVisible,
|
|
39
39
|
onClose: props.onClose,
|
|
40
40
|
onDismiss: props.onDismiss,
|
|
41
|
+
testID: props.testID,
|
|
41
42
|
hideHeader: true,
|
|
42
43
|
hasNavigation: true
|
|
43
44
|
}, (0, _element.createElement)(_bottomSheet.default.NavigationContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-navigation.native.js"],"names":["linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","isVisible","onClose","onDismiss"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AACA;;AACA;;AATA;AACA;AACA;;AAEA;AACA;AACA;AAKA,MAAMA,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,4BAAC,2BAAD,EAAyBD,KAAzB,CAAP;AACA;;AACD,SACC,4BAAC,oBAAD;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":["linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","isVisible","onClose","onDismiss","testID"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AACA;;AACA;;AATA;AACA;AACA;;AAEA;AACA;AACA;AAKA,MAAMA,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,4BAAC,2BAAD,EAAyBD,KAAzB,CAAP;AACA;;AACD,SACC,4BAAC,oBAAD;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,4BAAC,oBAAD,CAAa,mBAAb;AAAiC,IAAA,OAAO,MAAxC;AAAyC,IAAA,IAAI;AAA7C,KACC,4BAAC,oBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGT,mBAAmB,CAACC;AAD5B,KAGC,4BAAC,2BAAD,6BAAyBG,KAAzB;AAAiC,IAAA,eAAe;AAAhD,KAHD,CADD,EAMC,4BAAC,oBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGJ,mBAAmB,CAACE,UAD5B;AAEC,IAAA,YAAY,MAFb;AAGC,IAAA,UAAU;AAHX,KAKC,4BAAC,yBAAD;AACC,IAAA,gBAAgB,EAAGF,mBAAmB,CAACC;AADxC,IALD,CAND,CARD,CADD;AA2BA;;eAEc,mBAAME,sBAAN,C","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"]}
|
|
@@ -37,16 +37,22 @@ const LinkSettingsScreen = props => {
|
|
|
37
37
|
} = route.params || {};
|
|
38
38
|
|
|
39
39
|
const onLinkCellPressed = () => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
if (props.onLinkCellPressed) {
|
|
41
|
+
props.onLinkCellPressed({
|
|
42
|
+
navigation
|
|
43
|
+
});
|
|
44
|
+
} else {
|
|
45
|
+
navigation.navigate('linkPicker', {
|
|
46
|
+
inputValue
|
|
47
|
+
});
|
|
48
|
+
}
|
|
43
49
|
};
|
|
44
50
|
|
|
45
51
|
return (0, _element.useMemo)(() => {
|
|
46
|
-
return (0, _element.createElement)(_.default, (0, _extends2.default)({
|
|
52
|
+
return (0, _element.createElement)(_.default, (0, _extends2.default)({}, props, {
|
|
47
53
|
onLinkCellPressed: props.hasPicker ? onLinkCellPressed : undefined,
|
|
48
54
|
urlValue: inputValue
|
|
49
|
-
}
|
|
55
|
+
}));
|
|
50
56
|
}, [props, inputValue, navigation, route]);
|
|
51
57
|
};
|
|
52
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/link-settings/link-settings-screen.native.js"],"names":["LinkSettingsScreen","props","navigation","route","url","inputValue","params","onLinkCellPressed","navigate","hasPicker","undefined"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAKC,KAAF,IAAa;AACvC,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;AACA,QAAM;AAAEC,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":["LinkSettingsScreen","props","navigation","route","url","inputValue","params","onLinkCellPressed","navigate","hasPicker","undefined"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAKC,KAAF,IAAa;AACvC,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;AACA,QAAM;AAAEC,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,SAAO,sBAAS,MAAM;AACrB,WACC,4BAAC,SAAD,6BACMJ,KADN;AAEC,MAAA,iBAAiB,EAChBA,KAAK,CAACQ,SAAN,GAAkBF,iBAAlB,GAAsCG,SAHxC;AAKC,MAAA,QAAQ,EAAGL;AALZ,OADD;AASA,GAVM,EAUJ,CAAEJ,KAAF,EAASI,UAAT,EAAqBH,UAArB,EAAiCC,KAAjC,CAVI,CAAP;AAWA,CAzBD;;eA2BeH,kB","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"]}
|
|
@@ -90,7 +90,8 @@ class Picker extends _element.Component {
|
|
|
90
90
|
render() {
|
|
91
91
|
const {
|
|
92
92
|
hideCancelButton,
|
|
93
|
-
title
|
|
93
|
+
title,
|
|
94
|
+
testID
|
|
94
95
|
} = this.props;
|
|
95
96
|
const {
|
|
96
97
|
isVisible
|
|
@@ -101,7 +102,8 @@ class Picker extends _element.Component {
|
|
|
101
102
|
style: {
|
|
102
103
|
paddingBottom: 20
|
|
103
104
|
},
|
|
104
|
-
hideHeader: true
|
|
105
|
+
hideHeader: true,
|
|
106
|
+
testID: testID
|
|
105
107
|
}, (0, _element.createElement)(_components.PanelBody, {
|
|
106
108
|
title: title,
|
|
107
109
|
style: _styles.default.panelBody
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"names":["Separator","separatorStyle","styles","separator","separatorDark","Picker","Component","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":";;;;;;;;;AASA;;AANA;;AAKA;;AAEA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAIA,SAASA,SAAT,GAAqB;AACpB,QAAMC,cAAc,GAAG,2CACtBC,gBAAOC,SADe,EAEtBD,gBAAOE,aAFe,CAAvB;AAKA,SAAO,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGH;AAAd,IAAP;AACA;;AAEc,MAAMI,MAAN,SAAqBC,kBAArB,CAA+B;AAC7CC,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,4BAAC,iBAAD;AAAU,MAAA,GAAG,EAAI,GAAGA,MAAM,CAACC,KAAO,IAAID,MAAM,CAACP,KAAO;AAApD,OACGI,OAAO,CAACK,MAAR,GAAiB,CAAjB,IAAsBF,MAAM,CAACG,SAA7B,IAA0C,4BAAC,SAAD,OAD7C,EAEC,4BAAC,oBAAD,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,IAAmB1B,gBAAO0B;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":["Separator","separatorStyle","styles","separator","separatorDark","Picker","Component","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"]}
|
package/build/modal/index.js
CHANGED
|
@@ -29,6 +29,8 @@ var ariaHelper = _interopRequireWildcard(require("./aria-helper"));
|
|
|
29
29
|
|
|
30
30
|
var _button = _interopRequireDefault(require("../button"));
|
|
31
31
|
|
|
32
|
+
var _styleProvider = _interopRequireDefault(require("../style-provider"));
|
|
33
|
+
|
|
32
34
|
/**
|
|
33
35
|
* External dependencies
|
|
34
36
|
*/
|
|
@@ -67,7 +69,8 @@ function Modal({
|
|
|
67
69
|
overlayClassName,
|
|
68
70
|
className,
|
|
69
71
|
contentLabel,
|
|
70
|
-
onKeyDown
|
|
72
|
+
onKeyDown,
|
|
73
|
+
isFullScreen = false
|
|
71
74
|
}) {
|
|
72
75
|
const ref = (0, _element.useRef)();
|
|
73
76
|
const instanceId = (0, _compose.useInstanceId)(Modal);
|
|
@@ -116,8 +119,12 @@ function Modal({
|
|
|
116
119
|
ref: ref,
|
|
117
120
|
className: (0, _classnames.default)('components-modal__screen-overlay', overlayClassName),
|
|
118
121
|
onKeyDown: handleEscapeKeyDown
|
|
122
|
+
}, (0, _element.createElement)(_styleProvider.default, {
|
|
123
|
+
document: document
|
|
119
124
|
}, (0, _element.createElement)("div", (0, _extends2.default)({
|
|
120
|
-
className: (0, _classnames.default)('components-modal__frame', className
|
|
125
|
+
className: (0, _classnames.default)('components-modal__frame', className, {
|
|
126
|
+
'is-full-screen': isFullScreen
|
|
127
|
+
}),
|
|
121
128
|
style: style,
|
|
122
129
|
ref: (0, _compose.useMergeRefs)([constrainedTabbingRef, focusReturnRef, focusOnMountRef]),
|
|
123
130
|
role: role,
|
|
@@ -144,6 +151,6 @@ function Modal({
|
|
|
144
151
|
onClick: onRequestClose,
|
|
145
152
|
icon: _icons.closeSmall,
|
|
146
153
|
label: closeButtonLabel || (0, _i18n.__)('Close dialog')
|
|
147
|
-
})), children))), document.body);
|
|
154
|
+
})), children)))), document.body);
|
|
148
155
|
}
|
|
149
156
|
//# sourceMappingURL=index.js.map
|
package/build/modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["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","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","since","alternative","handleEscapeKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","closeSmall"],"mappings":";;;;;;;;;;;AAQA;;;;AALA;;AAMA;;AAQA;;AACA;;AACA;;AACA;;AAKA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["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","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","since","alternative","handleEscapeKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","closeSmall"],"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"]}
|
|
@@ -61,10 +61,9 @@ function NavigationGroup({
|
|
|
61
61
|
}, (0, _element.createElement)("li", {
|
|
62
62
|
className: classes
|
|
63
63
|
}, title && (0, _element.createElement)(_navigationStyles.GroupTitleUI, {
|
|
64
|
-
as: "h3",
|
|
65
64
|
className: "components-navigation__group-title",
|
|
66
65
|
id: groupTitleId,
|
|
67
|
-
|
|
66
|
+
level: 3
|
|
68
67
|
}, title), (0, _element.createElement)("ul", {
|
|
69
68
|
"aria-labelledby": groupTitleId,
|
|
70
69
|
role: "group"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/group/index.js"],"names":["NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","_isVisible","groupTitleId","classes"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAUA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AAKe,SAASA,eAAT,CAA0B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA;AAAvB,CAA1B,EAA2D;AACzE,QAAM,CAAEC,OAAF,IAAc,uBAAU,sBAAU,QAAV,CAAV,CAApB;AACA,QAAM;AACLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADX,MAEF,qCAFJ;AAIA,QAAMC,OAAO,GAAG;AAAEC,IAAAA,KAAK,EAAEJ;AAAT,GAAhB,CANyE,CAQzE;;AACA,MAAK,CAAE,kBAAME,KAAN,EAAa;AAAEE,IAAAA,KAAK,EAAEJ,OAAT;AAAkBK,IAAAA,UAAU,EAAE;AAA9B,GAAb,CAAP,EAA6D;AAC5D,WACC,4BAAC,+BAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAGF;AAAzC,OACGN,QADH,CADD;AAKA;;AAED,QAAMS,YAAY,GAAI,sCAAsCN,OAAS,EAArE;AACA,QAAMO,OAAO,GAAG,yBAAY,8BAAZ,EAA4CT,SAA5C,CAAhB;AAEA,SACC,4BAAC,+BAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAGK;AAAzC,KACC;AAAI,IAAA,SAAS,EAAGI;AAAhB,KACGR,KAAK,IACN,4BAAC,8BAAD;AACC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/group/index.js"],"names":["NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","_isVisible","groupTitleId","classes"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAUA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AAKe,SAASA,eAAT,CAA0B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,SAAZ;AAAuBC,EAAAA;AAAvB,CAA1B,EAA2D;AACzE,QAAM,CAAEC,OAAF,IAAc,uBAAU,sBAAU,QAAV,CAAV,CAApB;AACA,QAAM;AACLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADX,MAEF,qCAFJ;AAIA,QAAMC,OAAO,GAAG;AAAEC,IAAAA,KAAK,EAAEJ;AAAT,GAAhB,CANyE,CAQzE;;AACA,MAAK,CAAE,kBAAME,KAAN,EAAa;AAAEE,IAAAA,KAAK,EAAEJ,OAAT;AAAkBK,IAAAA,UAAU,EAAE;AAA9B,GAAb,CAAP,EAA6D;AAC5D,WACC,4BAAC,+BAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAGF;AAAzC,OACGN,QADH,CADD;AAKA;;AAED,QAAMS,YAAY,GAAI,sCAAsCN,OAAS,EAArE;AACA,QAAMO,OAAO,GAAG,yBAAY,8BAAZ,EAA4CT,SAA5C,CAAhB;AAEA,SACC,4BAAC,+BAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAGK;AAAzC,KACC;AAAI,IAAA,SAAS,EAAGI;AAAhB,KACGR,KAAK,IACN,4BAAC,8BAAD;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"]}
|
|
@@ -11,16 +11,10 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _lodash = require("lodash");
|
|
13
13
|
|
|
14
|
-
var _icons = require("@wordpress/icons");
|
|
15
|
-
|
|
16
14
|
var _i18n = require("@wordpress/i18n");
|
|
17
15
|
|
|
18
16
|
var _keycodes = require("@wordpress/keycodes");
|
|
19
17
|
|
|
20
|
-
var _button = _interopRequireDefault(require("../../button"));
|
|
21
|
-
|
|
22
|
-
var _visuallyHidden = require("../../visually-hidden");
|
|
23
|
-
|
|
24
18
|
var _withSpokenMessages = _interopRequireDefault(require("../../higher-order/with-spoken-messages"));
|
|
25
19
|
|
|
26
20
|
var _context = require("./context");
|
|
@@ -92,37 +86,24 @@ function MenuTitleSearch({
|
|
|
92
86
|
}
|
|
93
87
|
}
|
|
94
88
|
|
|
95
|
-
const menuTitleId = `components-navigation__menu-title-${menu}`;
|
|
96
89
|
const inputId = `components-navigation__menu-title-search-${menu}`;
|
|
90
|
+
const placeholder = (0, _i18n.sprintf)(
|
|
97
91
|
/* translators: placeholder for menu search box. %s: menu title */
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return (0, _element.createElement)(_navigationStyles.MenuTitleSearchUI, {
|
|
92
|
+
(0, _i18n.__)('Search %s'), title === null || title === void 0 ? void 0 : title.toLowerCase()).trim();
|
|
93
|
+
return (0, _element.createElement)("div", {
|
|
101
94
|
className: "components-navigation__menu-title-search"
|
|
102
|
-
}, (0, _element.createElement)(
|
|
103
|
-
icon: _icons.search
|
|
104
|
-
}), (0, _element.createElement)(_visuallyHidden.VisuallyHidden, {
|
|
105
|
-
as: "label",
|
|
106
|
-
htmlFor: inputId,
|
|
107
|
-
id: menuTitleId
|
|
108
|
-
}, placeholder), (0, _element.createElement)("input", {
|
|
95
|
+
}, (0, _element.createElement)(_navigationStyles.MenuTitleSearchUI, {
|
|
109
96
|
autoComplete: "off",
|
|
110
|
-
className: "components-
|
|
97
|
+
className: "components-navigation__menu-search-input",
|
|
111
98
|
id: inputId,
|
|
112
|
-
onChange:
|
|
99
|
+
onChange: value => onSearch(value),
|
|
113
100
|
onKeyDown: onKeyDown,
|
|
114
101
|
placeholder: placeholder,
|
|
102
|
+
onClose: onClose,
|
|
115
103
|
ref: inputRef,
|
|
116
104
|
type: "search",
|
|
117
105
|
value: search
|
|
118
|
-
})
|
|
119
|
-
isSmall: true,
|
|
120
|
-
variant: "tertiary",
|
|
121
|
-
label: (0, _i18n.__)('Close search'),
|
|
122
|
-
onClick: onClose
|
|
123
|
-
}, (0, _element.createElement)(_icons.Icon, {
|
|
124
|
-
icon: _icons.closeSmall
|
|
125
|
-
})));
|
|
106
|
+
}));
|
|
126
107
|
}
|
|
127
108
|
|
|
128
109
|
var _default = (0, _withSpokenMessages.default)(MenuTitleSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","SEARCH_FOCUS_DELAY","clearTimeout","count","length","resultsFoundMessage","onClose","onKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","SEARCH_FOCUS_DELAY","clearTimeout","count","length","resultsFoundMessage","onClose","onKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","inputId","placeholder","toLowerCase","trim","value"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAOA,SAASA,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,MAEF,qCAFJ;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAAW,wCAAjB;AACA,QAAMC,QAAQ,GAAG,sBAAjB,CALG,CAOH;AACA;;AACA,0BAAW,MAAM;AAChB,UAAMC,YAAY,GAAGC,UAAU,CAAE,MAAM;AACtCF,MAAAA,QAAQ,CAACG,OAAT,CAAiBC,KAAjB;AACA,KAF8B,EAE5BC,6BAF4B,CAA/B;AAIA,WAAO,MAAM;AACZC,MAAAA,YAAY,CAAEL,YAAF,CAAZ;AACA,KAFD;AAGA,GARD,EAQG,EARH;AAUA,0BAAW,MAAM;AAChB,QAAK,CAAEN,MAAP,EAAgB;AACf;AACA;;AAED,UAAMY,KAAK,GAAG,oBAAQT,KAAR,EAAe,YAAf,EAA8BU,MAA5C;AACA,UAAMC,mBAAmB,GAAG;AAC3B;AACA,kBAAI,kBAAJ,EAAwB,mBAAxB,EAA6CF,KAA7C,CAF2B,EAG3BA,KAH2B,CAA5B;AAKAf,IAAAA,cAAc,CAAEiB,mBAAF,CAAd;AACA,GAZD,EAYG,CAAEX,KAAF,EAASH,MAAT,CAZH;;AAcA,QAAMe,OAAO,GAAG,MAAM;AACrBhB,IAAAA,QAAQ,CAAE,EAAF,CAAR;AACAD,IAAAA,aAAa;AACb,GAHD;;AAKA,WAASkB,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,QAAKA,KAAK,CAACC,OAAN,KAAkBC,gBAAlB,IAA4B,CAAEF,KAAK,CAACG,gBAAzC,EAA4D;AAC3DH,MAAAA,KAAK,CAACI,cAAN;AACAN,MAAAA,OAAO;AACP;AACD;;AAED,QAAMO,OAAO,GAAI,4CAA4ClB,IAAM,EAAnE;AACA,QAAMmB,WAAW,GAAG;AACnB;AACA,gBAAI,WAAJ,CAFmB,EAGnBtB,KAHmB,aAGnBA,KAHmB,uBAGnBA,KAAK,CAAEuB,WAAP,EAHmB,EAIlBC,IAJkB,EAApB;AAMA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,mCAAD;AACC,IAAA,YAAY,EAAC,KADd;AAEC,IAAA,SAAS,EAAC,0CAFX;AAGC,IAAA,EAAE,EAAGH,OAHN;AAIC,IAAA,QAAQ,EAAKI,KAAF,IAAa3B,QAAQ,CAAE2B,KAAF,CAJjC;AAKC,IAAA,SAAS,EAAGV,SALb;AAMC,IAAA,WAAW,EAAGO,WANf;AAOC,IAAA,OAAO,EAAGR,OAPX;AAQC,IAAA,GAAG,EAAGV,QARP;AASC,IAAA,IAAI,EAAC,QATN;AAUC,IAAA,KAAK,EAAGL;AAVT,IADD,CADD;AAgBA;;eAEc,iCAAoBJ,eAApB,C","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"]}
|
|
@@ -64,10 +64,10 @@ function NavigationMenuTitle({
|
|
|
64
64
|
const searchButtonLabel = (0, _i18n.sprintf)((0, _i18n.__)('Search in %s'), title);
|
|
65
65
|
return (0, _element.createElement)(_navigationStyles.MenuTitleUI, {
|
|
66
66
|
className: "components-navigation__menu-title"
|
|
67
|
-
}, !isSearching && (0, _element.createElement)(_navigationStyles.
|
|
67
|
+
}, !isSearching && (0, _element.createElement)(_navigationStyles.GroupTitleUI, {
|
|
68
68
|
as: "h2",
|
|
69
69
|
className: "components-navigation__menu-title-heading",
|
|
70
|
-
|
|
70
|
+
level: 3
|
|
71
71
|
}, (0, _element.createElement)("span", {
|
|
72
72
|
id: menuTitleId
|
|
73
73
|
}, title), (hasSearch || titleAction) && (0, _element.createElement)(_navigationStyles.MenuTitleActionsUI, null, titleAction, hasSearch && (0, _element.createElement)(_button.default, {
|