@wordpress/editor 12.5.4 → 12.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/post-featured-image/index.js +84 -41
  3. package/build/components/post-featured-image/index.js.map +1 -1
  4. package/build/components/post-text-editor/index.js +11 -0
  5. package/build/components/post-text-editor/index.js.map +1 -1
  6. package/build/components/post-title/index.js +13 -2
  7. package/build/components/post-title/index.js.map +1 -1
  8. package/build/components/post-visibility/index.js +132 -167
  9. package/build/components/post-visibility/index.js.map +1 -1
  10. package/build/components/post-visibility/label.js +5 -22
  11. package/build/components/post-visibility/label.js.map +1 -1
  12. package/build/components/post-visibility/utils.js +14 -13
  13. package/build/components/post-visibility/utils.js.map +1 -1
  14. package/build-module/components/post-featured-image/index.js +86 -42
  15. package/build-module/components/post-featured-image/index.js.map +1 -1
  16. package/build-module/components/post-text-editor/index.js +12 -1
  17. package/build-module/components/post-text-editor/index.js.map +1 -1
  18. package/build-module/components/post-title/index.js +12 -2
  19. package/build-module/components/post-title/index.js.map +1 -1
  20. package/build-module/components/post-visibility/index.js +132 -166
  21. package/build-module/components/post-visibility/index.js.map +1 -1
  22. package/build-module/components/post-visibility/label.js +5 -20
  23. package/build-module/components/post-visibility/label.js.map +1 -1
  24. package/build-module/components/post-visibility/utils.js +14 -13
  25. package/build-module/components/post-visibility/utils.js.map +1 -1
  26. package/build-style/style-rtl.css +42 -51
  27. package/build-style/style.css +42 -51
  28. package/package.json +28 -27
  29. package/src/components/autosave-monitor/test/index.js +3 -0
  30. package/src/components/post-featured-image/index.js +102 -69
  31. package/src/components/post-text-editor/index.js +14 -1
  32. package/src/components/post-title/index.js +16 -2
  33. package/src/components/post-visibility/index.js +130 -150
  34. package/src/components/post-visibility/label.js +6 -15
  35. package/src/components/post-visibility/style.scss +25 -20
  36. package/src/components/post-visibility/utils.js +7 -12
@@ -1,190 +1,156 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { createElement } from "@wordpress/element";
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { createElement, Fragment } from "@wordpress/element";
3
3
 
4
4
  /**
5
5
  * WordPress dependencies
6
6
  */
7
7
  import { __ } from '@wordpress/i18n';
8
- import { Component } from '@wordpress/element';
9
- import { VisuallyHidden, __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
10
- import { withInstanceId, compose } from '@wordpress/compose';
11
- import { withSelect, withDispatch } from '@wordpress/data';
8
+ import { useState } from '@wordpress/element';
9
+ import { VisuallyHidden, __experimentalConfirmDialog as ConfirmDialog, Button } from '@wordpress/components';
10
+ import { useInstanceId } from '@wordpress/compose';
11
+ import { useSelect, useDispatch } from '@wordpress/data';
12
+ import { close as closeIcon } from '@wordpress/icons';
12
13
  /**
13
14
  * Internal dependencies
14
15
  */
15
16
 
16
17
  import { visibilityOptions } from './utils';
17
18
  import { store as editorStore } from '../../store';
18
- export class PostVisibility extends Component {
19
- constructor(props) {
20
- super(...arguments);
21
-
22
- _defineProperty(this, "confirmPrivate", () => {
23
- const {
24
- onUpdateVisibility,
25
- onSave
26
- } = this.props;
27
- onUpdateVisibility('private');
28
- this.setState({
29
- hasPassword: false,
30
- showPrivateConfirmDialog: false
31
- });
32
- onSave();
33
- });
19
+ export default function PostVisibility(_ref) {
20
+ let {
21
+ onClose
22
+ } = _ref;
23
+ const instanceId = useInstanceId(PostVisibility);
24
+ const {
25
+ status,
26
+ visibility,
27
+ password
28
+ } = useSelect(select => ({
29
+ status: select(editorStore).getEditedPostAttribute('status'),
30
+ visibility: select(editorStore).getEditedPostVisibility(),
31
+ password: select(editorStore).getEditedPostAttribute('password')
32
+ }));
33
+ const {
34
+ editPost,
35
+ savePost
36
+ } = useDispatch(editorStore);
37
+ const [hasPassword, setHasPassword] = useState(!!password);
38
+ const [showPrivateConfirmDialog, setShowPrivateConfirmDialog] = useState(false);
34
39
 
35
- _defineProperty(this, "handleDialogCancel", () => {
36
- this.setState({
37
- showPrivateConfirmDialog: false
38
- });
40
+ const setPublic = () => {
41
+ editPost({
42
+ status: visibility === 'private' ? 'draft' : status,
43
+ password: ''
39
44
  });
45
+ setHasPassword(false);
46
+ };
40
47
 
41
- this.setPublic = this.setPublic.bind(this);
42
- this.setPrivate = this.setPrivate.bind(this);
43
- this.setPasswordProtected = this.setPasswordProtected.bind(this);
44
- this.updatePassword = this.updatePassword.bind(this);
45
- this.state = {
46
- hasPassword: !!props.password,
47
- showPrivateConfirmDialog: false
48
- };
49
- }
48
+ const setPrivate = () => {
49
+ setShowPrivateConfirmDialog(true);
50
+ };
50
51
 
51
- setPublic() {
52
- const {
53
- visibility,
54
- onUpdateVisibility,
55
- status
56
- } = this.props;
57
- onUpdateVisibility(visibility === 'private' ? 'draft' : status);
58
- this.setState({
59
- hasPassword: false
52
+ const confirmPrivate = () => {
53
+ editPost({
54
+ status: 'private',
55
+ password: ''
60
56
  });
61
- }
57
+ setHasPassword(false);
58
+ setShowPrivateConfirmDialog(false);
59
+ savePost();
60
+ };
62
61
 
63
- setPrivate() {
64
- this.setState({
65
- showPrivateConfirmDialog: true
66
- });
67
- }
62
+ const handleDialogCancel = () => {
63
+ setShowPrivateConfirmDialog(false);
64
+ };
68
65
 
69
- setPasswordProtected() {
70
- const {
71
- visibility,
72
- onUpdateVisibility,
73
- status,
74
- password
75
- } = this.props;
76
- onUpdateVisibility(visibility === 'private' ? 'draft' : status, password || '');
77
- this.setState({
78
- hasPassword: true
66
+ const setPasswordProtected = () => {
67
+ editPost({
68
+ status: visibility === 'private' ? 'draft' : status,
69
+ password: password || ''
79
70
  });
80
- }
81
-
82
- updatePassword(event) {
83
- const {
84
- status,
85
- onUpdateVisibility
86
- } = this.props;
87
- onUpdateVisibility(status, event.target.value);
88
- }
89
-
90
- render() {
91
- const {
92
- visibility,
93
- password,
94
- instanceId
95
- } = this.props;
96
- const visibilityHandlers = {
97
- public: {
98
- onSelect: this.setPublic,
99
- checked: visibility === 'public' && !this.state.hasPassword
100
- },
101
- private: {
102
- onSelect: this.setPrivate,
103
- checked: visibility === 'private'
104
- },
105
- password: {
106
- onSelect: this.setPasswordProtected,
107
- checked: this.state.hasPassword
108
- }
109
- };
110
- return [createElement("fieldset", {
111
- key: "visibility-selector",
112
- className: "editor-post-visibility__dialog-fieldset"
113
- }, createElement("legend", {
114
- className: "editor-post-visibility__dialog-legend"
115
- }, __('Post Visibility')), visibilityOptions.map(_ref => {
116
- let {
117
- value,
118
- label,
119
- info
120
- } = _ref;
121
- return createElement("div", {
122
- key: value,
123
- className: "editor-post-visibility__choice"
124
- }, createElement("input", {
125
- type: "radio",
126
- name: `editor-post-visibility__setting-${instanceId}`,
127
- value: value,
128
- onChange: visibilityHandlers[value].onSelect,
129
- checked: visibilityHandlers[value].checked,
130
- id: `editor-post-${value}-${instanceId}`,
131
- "aria-describedby": `editor-post-${value}-${instanceId}-description`,
132
- className: "editor-post-visibility__dialog-radio"
133
- }), createElement("label", {
134
- htmlFor: `editor-post-${value}-${instanceId}`,
135
- className: "editor-post-visibility__dialog-label"
136
- }, label), createElement("p", {
137
- id: `editor-post-${value}-${instanceId}-description`,
138
- className: "editor-post-visibility__dialog-info"
139
- }, info));
140
- })), this.state.hasPassword && createElement("div", {
141
- className: "editor-post-visibility__dialog-password",
142
- key: "password-selector"
143
- }, createElement(VisuallyHidden, {
144
- as: "label",
145
- htmlFor: `editor-post-visibility__dialog-password-input-${instanceId}`
146
- }, __('Create password')), createElement("input", {
147
- className: "editor-post-visibility__dialog-password-input",
148
- id: `editor-post-visibility__dialog-password-input-${instanceId}`,
149
- type: "text",
150
- onChange: this.updatePassword,
151
- value: password,
152
- placeholder: __('Use a secure password')
153
- })), createElement(ConfirmDialog, {
154
- key: "private-publish-confirmation",
155
- isOpen: this.state.showPrivateConfirmDialog,
156
- onConfirm: this.confirmPrivate,
157
- onCancel: this.handleDialogCancel
158
- }, __('Would you like to privately publish this post now?'))];
159
- }
71
+ setHasPassword(true);
72
+ };
160
73
 
161
- }
162
- export default compose([withSelect(select => {
163
- const {
164
- getEditedPostAttribute,
165
- getEditedPostVisibility
166
- } = select(editorStore);
167
- return {
168
- status: getEditedPostAttribute('status'),
169
- visibility: getEditedPostVisibility(),
170
- password: getEditedPostAttribute('password')
74
+ const updatePassword = event => {
75
+ editPost({
76
+ password: event.target.value
77
+ });
171
78
  };
172
- }), withDispatch(dispatch => {
173
- const {
174
- savePost,
175
- editPost
176
- } = dispatch(editorStore);
177
- return {
178
- onSave: savePost,
179
79
 
180
- onUpdateVisibility(status) {
181
- let password = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
182
- editPost({
183
- status,
184
- password
185
- });
186
- }
80
+ return createElement(Fragment, null, createElement(Button, {
81
+ className: "editor-post-visibility__close",
82
+ isSmall: true,
83
+ icon: closeIcon,
84
+ onClick: onClose
85
+ }), createElement("fieldset", {
86
+ className: "editor-post-visibility__fieldset"
87
+ }, createElement("legend", {
88
+ className: "editor-post-visibility__legend"
89
+ }, __('Visibility')), createElement("p", {
90
+ className: "editor-post-visibility__description"
91
+ }, __('Control how this post is viewed.')), createElement(PostVisibilityChoice, {
92
+ instanceId: instanceId,
93
+ value: "public",
94
+ label: visibilityOptions.public.label,
95
+ info: visibilityOptions.public.info,
96
+ checked: visibility === 'public' && !hasPassword,
97
+ onChange: setPublic
98
+ }), createElement(PostVisibilityChoice, {
99
+ instanceId: instanceId,
100
+ value: "private",
101
+ label: visibilityOptions.private.label,
102
+ info: visibilityOptions.private.info,
103
+ checked: visibility === 'private',
104
+ onChange: setPrivate
105
+ }), createElement(PostVisibilityChoice, {
106
+ instanceId: instanceId,
107
+ value: "password",
108
+ label: visibilityOptions.password.label,
109
+ info: visibilityOptions.password.info,
110
+ checked: hasPassword,
111
+ onChange: setPasswordProtected
112
+ }), hasPassword && createElement("div", {
113
+ className: "editor-post-visibility__password"
114
+ }, createElement(VisuallyHidden, {
115
+ as: "label",
116
+ htmlFor: `editor-post-visibility__password-input-${instanceId}`
117
+ }, __('Create password')), createElement("input", {
118
+ className: "editor-post-visibility__password-input",
119
+ id: `editor-post-visibility__password-input-${instanceId}`,
120
+ type: "text",
121
+ onChange: updatePassword,
122
+ value: password,
123
+ placeholder: __('Use a secure password')
124
+ }))), createElement(ConfirmDialog, {
125
+ isOpen: showPrivateConfirmDialog,
126
+ onConfirm: confirmPrivate,
127
+ onCancel: handleDialogCancel
128
+ }, __('Would you like to privately publish this post now?')));
129
+ }
187
130
 
188
- };
189
- }), withInstanceId])(PostVisibility);
131
+ function PostVisibilityChoice(_ref2) {
132
+ let {
133
+ instanceId,
134
+ value,
135
+ label,
136
+ info,
137
+ ...props
138
+ } = _ref2;
139
+ return createElement("div", {
140
+ className: "editor-post-visibility__choice"
141
+ }, createElement("input", _extends({
142
+ type: "radio",
143
+ name: `editor-post-visibility__setting-${instanceId}`,
144
+ value: value,
145
+ id: `editor-post-${value}-${instanceId}`,
146
+ "aria-describedby": `editor-post-${value}-${instanceId}-description`,
147
+ className: "editor-post-visibility__radio"
148
+ }, props)), createElement("label", {
149
+ htmlFor: `editor-post-${value}-${instanceId}`,
150
+ className: "editor-post-visibility__label"
151
+ }, label), createElement("p", {
152
+ id: `editor-post-${value}-${instanceId}-description`,
153
+ className: "editor-post-visibility__info"
154
+ }, info));
155
+ }
190
156
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/index.js"],"names":["__","Component","VisuallyHidden","__experimentalConfirmDialog","ConfirmDialog","withInstanceId","compose","withSelect","withDispatch","visibilityOptions","store","editorStore","PostVisibility","constructor","props","arguments","onUpdateVisibility","onSave","setState","hasPassword","showPrivateConfirmDialog","setPublic","bind","setPrivate","setPasswordProtected","updatePassword","state","password","visibility","status","event","target","value","render","instanceId","visibilityHandlers","public","onSelect","checked","private","map","label","info","confirmPrivate","handleDialogCancel","select","getEditedPostAttribute","getEditedPostVisibility","dispatch","savePost","editPost"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SACCC,cADD,EAECC,2BAA2B,IAAIC,aAFhC,QAGO,uBAHP;AAIA,SAASC,cAAT,EAAyBC,OAAzB,QAAwC,oBAAxC;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AAEA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,SAAlC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,cAAN,SAA6BX,SAA7B,CAAuC;AAC7CY,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAO,GAAGC,SAAV;;AADoB,4CAyBJ,MAAM;AACtB,YAAM;AAAEC,QAAAA,kBAAF;AAAsBC,QAAAA;AAAtB,UAAiC,KAAKH,KAA5C;AAEAE,MAAAA,kBAAkB,CAAE,SAAF,CAAlB;AACA,WAAKE,QAAL,CAAe;AACdC,QAAAA,WAAW,EAAE,KADC;AAEdC,QAAAA,wBAAwB,EAAE;AAFZ,OAAf;AAIAH,MAAAA,MAAM;AACN,KAlCoB;;AAAA,gDAoCA,MAAM;AAC1B,WAAKC,QAAL,CAAe;AAAEE,QAAAA,wBAAwB,EAAE;AAA5B,OAAf;AACA,KAtCoB;;AAGpB,SAAKC,SAAL,GAAiB,KAAKA,SAAL,CAAeC,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKC,UAAL,GAAkB,KAAKA,UAAL,CAAgBD,IAAhB,CAAsB,IAAtB,CAAlB;AACA,SAAKE,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BF,IAA1B,CAAgC,IAAhC,CAA5B;AACA,SAAKG,cAAL,GAAsB,KAAKA,cAAL,CAAoBH,IAApB,CAA0B,IAA1B,CAAtB;AAEA,SAAKI,KAAL,GAAa;AACZP,MAAAA,WAAW,EAAE,CAAC,CAAEL,KAAK,CAACa,QADV;AAEZP,MAAAA,wBAAwB,EAAE;AAFd,KAAb;AAIA;;AAEDC,EAAAA,SAAS,GAAG;AACX,UAAM;AAAEO,MAAAA,UAAF;AAAcZ,MAAAA,kBAAd;AAAkCa,MAAAA;AAAlC,QAA6C,KAAKf,KAAxD;AAEAE,IAAAA,kBAAkB,CAAEY,UAAU,KAAK,SAAf,GAA2B,OAA3B,GAAqCC,MAAvC,CAAlB;AACA,SAAKX,QAAL,CAAe;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAf;AACA;;AAEDI,EAAAA,UAAU,GAAG;AACZ,SAAKL,QAAL,CAAe;AAAEE,MAAAA,wBAAwB,EAAE;AAA5B,KAAf;AACA;;AAiBDI,EAAAA,oBAAoB,GAAG;AACtB,UAAM;AAAEI,MAAAA,UAAF;AAAcZ,MAAAA,kBAAd;AAAkCa,MAAAA,MAAlC;AAA0CF,MAAAA;AAA1C,QAAuD,KAAKb,KAAlE;AAEAE,IAAAA,kBAAkB,CACjBY,UAAU,KAAK,SAAf,GAA2B,OAA3B,GAAqCC,MADpB,EAEjBF,QAAQ,IAAI,EAFK,CAAlB;AAIA,SAAKT,QAAL,CAAe;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAf;AACA;;AAEDM,EAAAA,cAAc,CAAEK,KAAF,EAAU;AACvB,UAAM;AAAED,MAAAA,MAAF;AAAUb,MAAAA;AAAV,QAAiC,KAAKF,KAA5C;AACAE,IAAAA,kBAAkB,CAAEa,MAAF,EAAUC,KAAK,CAACC,MAAN,CAAaC,KAAvB,CAAlB;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEL,MAAAA,UAAF;AAAcD,MAAAA,QAAd;AAAwBO,MAAAA;AAAxB,QAAuC,KAAKpB,KAAlD;AAEA,UAAMqB,kBAAkB,GAAG;AAC1BC,MAAAA,MAAM,EAAE;AACPC,QAAAA,QAAQ,EAAE,KAAKhB,SADR;AAEPiB,QAAAA,OAAO,EAAEV,UAAU,KAAK,QAAf,IAA2B,CAAE,KAAKF,KAAL,CAAWP;AAF1C,OADkB;AAK1BoB,MAAAA,OAAO,EAAE;AACRF,QAAAA,QAAQ,EAAE,KAAKd,UADP;AAERe,QAAAA,OAAO,EAAEV,UAAU,KAAK;AAFhB,OALiB;AAS1BD,MAAAA,QAAQ,EAAE;AACTU,QAAAA,QAAQ,EAAE,KAAKb,oBADN;AAETc,QAAAA,OAAO,EAAE,KAAKZ,KAAL,CAAWP;AAFX;AATgB,KAA3B;AAeA,WAAO,CACN;AACC,MAAA,GAAG,EAAC,qBADL;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC;AAAQ,MAAA,SAAS,EAAC;AAAlB,OACGnB,EAAE,CAAE,iBAAF,CADL,CAJD,EAOGS,iBAAiB,CAAC+B,GAAlB,CAAuB;AAAA,UAAE;AAAER,QAAAA,KAAF;AAASS,QAAAA,KAAT;AAAgBC,QAAAA;AAAhB,OAAF;AAAA,aACxB;AACC,QAAA,GAAG,EAAGV,KADP;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC;AACC,QAAA,IAAI,EAAC,OADN;AAEC,QAAA,IAAI,EAAI,mCAAmCE,UAAY,EAFxD;AAGC,QAAA,KAAK,EAAGF,KAHT;AAIC,QAAA,QAAQ,EAAGG,kBAAkB,CAAEH,KAAF,CAAlB,CAA4BK,QAJxC;AAKC,QAAA,OAAO,EAAGF,kBAAkB,CAAEH,KAAF,CAAlB,CAA4BM,OALvC;AAMC,QAAA,EAAE,EAAI,eAAeN,KAAO,IAAIE,UAAY,EAN7C;AAOC,4BAAoB,eAAeF,KAAO,IAAIE,UAAY,cAP3D;AAQC,QAAA,SAAS,EAAC;AARX,QAJD,EAcC;AACC,QAAA,OAAO,EAAI,eAAeF,KAAO,IAAIE,UAAY,EADlD;AAEC,QAAA,SAAS,EAAC;AAFX,SAIGO,KAJH,CAdD,EAqBE;AACC,QAAA,EAAE,EAAI,eAAeT,KAAO,IAAIE,UAAY,cAD7C;AAEC,QAAA,SAAS,EAAC;AAFX,SAIGQ,IAJH,CArBF,CADwB;AAAA,KAAvB,CAPH,CADM,EAwCN,KAAKhB,KAAL,CAAWP,WAAX,IACC;AACC,MAAA,SAAS,EAAC,yCADX;AAEC,MAAA,GAAG,EAAC;AAFL,OAIC,cAAC,cAAD;AACC,MAAA,EAAE,EAAC,OADJ;AAEC,MAAA,OAAO,EAAI,iDAAiDe,UAAY;AAFzE,OAIGlC,EAAE,CAAE,iBAAF,CAJL,CAJD,EAUC;AACC,MAAA,SAAS,EAAC,+CADX;AAEC,MAAA,EAAE,EAAI,iDAAiDkC,UAAY,EAFpE;AAGC,MAAA,IAAI,EAAC,MAHN;AAIC,MAAA,QAAQ,EAAG,KAAKT,cAJjB;AAKC,MAAA,KAAK,EAAGE,QALT;AAMC,MAAA,WAAW,EAAG3B,EAAE,CAAE,uBAAF;AANjB,MAVD,CAzCK,EA6DN,cAAC,aAAD;AACC,MAAA,GAAG,EAAC,8BADL;AAEC,MAAA,MAAM,EAAG,KAAK0B,KAAL,CAAWN,wBAFrB;AAGC,MAAA,SAAS,EAAG,KAAKuB,cAHlB;AAIC,MAAA,QAAQ,EAAG,KAAKC;AAJjB,OAMG5C,EAAE,CAAE,oDAAF,CANL,CA7DM,CAAP;AAsEA;;AAhJ4C;AAmJ9C,eAAeM,OAAO,CAAE,CACvBC,UAAU,CAAIsC,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,sBAAF;AAA0BC,IAAAA;AAA1B,MAAsDF,MAAM,CACjElC,WADiE,CAAlE;AAGA,SAAO;AACNkB,IAAAA,MAAM,EAAEiB,sBAAsB,CAAE,QAAF,CADxB;AAENlB,IAAAA,UAAU,EAAEmB,uBAAuB,EAF7B;AAGNpB,IAAAA,QAAQ,EAAEmB,sBAAsB,CAAE,UAAF;AAH1B,GAAP;AAKA,CATS,CADa,EAWvBtC,YAAY,CAAIwC,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBF,QAAQ,CAAErC,WAAF,CAAvC;AACA,SAAO;AACNM,IAAAA,MAAM,EAAEgC,QADF;;AAENjC,IAAAA,kBAAkB,CAAEa,MAAF,EAA0B;AAAA,UAAhBF,QAAgB,uEAAL,EAAK;AAC3CuB,MAAAA,QAAQ,CAAE;AAAErB,QAAAA,MAAF;AAAUF,QAAAA;AAAV,OAAF,CAAR;AACA;;AAJK,GAAP;AAMA,CARW,CAXW,EAoBvBtB,cApBuB,CAAF,CAAP,CAqBVO,cArBU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nexport class PostVisibility extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.setPublic = this.setPublic.bind( this );\n\t\tthis.setPrivate = this.setPrivate.bind( this );\n\t\tthis.setPasswordProtected = this.setPasswordProtected.bind( this );\n\t\tthis.updatePassword = this.updatePassword.bind( this );\n\n\t\tthis.state = {\n\t\t\thasPassword: !! props.password,\n\t\t\tshowPrivateConfirmDialog: false,\n\t\t};\n\t}\n\n\tsetPublic() {\n\t\tconst { visibility, onUpdateVisibility, status } = this.props;\n\n\t\tonUpdateVisibility( visibility === 'private' ? 'draft' : status );\n\t\tthis.setState( { hasPassword: false } );\n\t}\n\n\tsetPrivate() {\n\t\tthis.setState( { showPrivateConfirmDialog: true } );\n\t}\n\n\tconfirmPrivate = () => {\n\t\tconst { onUpdateVisibility, onSave } = this.props;\n\n\t\tonUpdateVisibility( 'private' );\n\t\tthis.setState( {\n\t\t\thasPassword: false,\n\t\t\tshowPrivateConfirmDialog: false,\n\t\t} );\n\t\tonSave();\n\t};\n\n\thandleDialogCancel = () => {\n\t\tthis.setState( { showPrivateConfirmDialog: false } );\n\t};\n\n\tsetPasswordProtected() {\n\t\tconst { visibility, onUpdateVisibility, status, password } = this.props;\n\n\t\tonUpdateVisibility(\n\t\t\tvisibility === 'private' ? 'draft' : status,\n\t\t\tpassword || ''\n\t\t);\n\t\tthis.setState( { hasPassword: true } );\n\t}\n\n\tupdatePassword( event ) {\n\t\tconst { status, onUpdateVisibility } = this.props;\n\t\tonUpdateVisibility( status, event.target.value );\n\t}\n\n\trender() {\n\t\tconst { visibility, password, instanceId } = this.props;\n\n\t\tconst visibilityHandlers = {\n\t\t\tpublic: {\n\t\t\t\tonSelect: this.setPublic,\n\t\t\t\tchecked: visibility === 'public' && ! this.state.hasPassword,\n\t\t\t},\n\t\t\tprivate: {\n\t\t\t\tonSelect: this.setPrivate,\n\t\t\t\tchecked: visibility === 'private',\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\tonSelect: this.setPasswordProtected,\n\t\t\t\tchecked: this.state.hasPassword,\n\t\t\t},\n\t\t};\n\n\t\treturn [\n\t\t\t<fieldset\n\t\t\t\tkey=\"visibility-selector\"\n\t\t\t\tclassName=\"editor-post-visibility__dialog-fieldset\"\n\t\t\t>\n\t\t\t\t<legend className=\"editor-post-visibility__dialog-legend\">\n\t\t\t\t\t{ __( 'Post Visibility' ) }\n\t\t\t\t</legend>\n\t\t\t\t{ visibilityOptions.map( ( { value, label, info } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tclassName=\"editor-post-visibility__choice\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname={ `editor-post-visibility__setting-${ instanceId }` }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ visibilityHandlers[ value ].onSelect }\n\t\t\t\t\t\t\tchecked={ visibilityHandlers[ value ].checked }\n\t\t\t\t\t\t\tid={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\t\t\t\taria-describedby={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\t\t\t\tclassName=\"editor-post-visibility__dialog-radio\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\thtmlFor={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\t\t\t\tclassName=\"editor-post-visibility__dialog-label\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\tid={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\t\t\t\t\tclassName=\"editor-post-visibility__dialog-info\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ info }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\t\t\t</fieldset>,\n\t\t\tthis.state.hasPassword && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"editor-post-visibility__dialog-password\"\n\t\t\t\t\tkey=\"password-selector\"\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\thtmlFor={ `editor-post-visibility__dialog-password-input-${ instanceId }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"editor-post-visibility__dialog-password-input\"\n\t\t\t\t\t\tid={ `editor-post-visibility__dialog-password-input-${ instanceId }` }\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tonChange={ this.updatePassword }\n\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\tplaceholder={ __( 'Use a secure password' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t),\n\t\t\t<ConfirmDialog\n\t\t\t\tkey=\"private-publish-confirmation\"\n\t\t\t\tisOpen={ this.state.showPrivateConfirmDialog }\n\t\t\t\tonConfirm={ this.confirmPrivate }\n\t\t\t\tonCancel={ this.handleDialogCancel }\n\t\t\t>\n\t\t\t\t{ __( 'Would you like to privately publish this post now?' ) }\n\t\t\t</ConfirmDialog>,\n\t\t];\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getEditedPostVisibility } = select(\n\t\t\teditorStore\n\t\t);\n\t\treturn {\n\t\t\tstatus: getEditedPostAttribute( 'status' ),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tpassword: getEditedPostAttribute( 'password' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { savePost, editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonSave: savePost,\n\t\t\tonUpdateVisibility( status, password = '' ) {\n\t\t\t\teditPost( { status, password } );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n] )( PostVisibility );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/index.js"],"names":["__","useState","VisuallyHidden","__experimentalConfirmDialog","ConfirmDialog","Button","useInstanceId","useSelect","useDispatch","close","closeIcon","visibilityOptions","store","editorStore","PostVisibility","onClose","instanceId","status","visibility","password","select","getEditedPostAttribute","getEditedPostVisibility","editPost","savePost","hasPassword","setHasPassword","showPrivateConfirmDialog","setShowPrivateConfirmDialog","setPublic","setPrivate","confirmPrivate","handleDialogCancel","setPasswordProtected","updatePassword","event","target","value","public","label","info","private","PostVisibilityChoice","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { close as closeIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nexport default function PostVisibility( { onClose } ) {\n\tconst instanceId = useInstanceId( PostVisibility );\n\n\tconst { status, visibility, password } = useSelect( ( select ) => ( {\n\t\tstatus: select( editorStore ).getEditedPostAttribute( 'status' ),\n\t\tvisibility: select( editorStore ).getEditedPostVisibility(),\n\t\tpassword: select( editorStore ).getEditedPostAttribute( 'password' ),\n\t} ) );\n\n\tconst { editPost, savePost } = useDispatch( editorStore );\n\n\tconst [ hasPassword, setHasPassword ] = useState( !! password );\n\tconst [ showPrivateConfirmDialog, setShowPrivateConfirmDialog ] = useState(\n\t\tfalse\n\t);\n\n\tconst setPublic = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: '',\n\t\t} );\n\t\tsetHasPassword( false );\n\t};\n\n\tconst setPrivate = () => {\n\t\tsetShowPrivateConfirmDialog( true );\n\t};\n\n\tconst confirmPrivate = () => {\n\t\teditPost( { status: 'private', password: '' } );\n\t\tsetHasPassword( false );\n\t\tsetShowPrivateConfirmDialog( false );\n\t\tsavePost();\n\t};\n\n\tconst handleDialogCancel = () => {\n\t\tsetShowPrivateConfirmDialog( false );\n\t};\n\n\tconst setPasswordProtected = () => {\n\t\teditPost( {\n\t\t\tstatus: visibility === 'private' ? 'draft' : status,\n\t\t\tpassword: password || '',\n\t\t} );\n\t\tsetHasPassword( true );\n\t};\n\n\tconst updatePassword = ( event ) => {\n\t\teditPost( { password: event.target.value } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-post-visibility__close\"\n\t\t\t\tisSmall\n\t\t\t\ticon={ closeIcon }\n\t\t\t\tonClick={ onClose }\n\t\t\t/>\n\t\t\t<fieldset className=\"editor-post-visibility__fieldset\">\n\t\t\t\t<legend className=\"editor-post-visibility__legend\">\n\t\t\t\t\t{ __( 'Visibility' ) }\n\t\t\t\t</legend>\n\t\t\t\t<p className=\"editor-post-visibility__description\">\n\t\t\t\t\t{ __( 'Control how this post is viewed.' ) }\n\t\t\t\t</p>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"public\"\n\t\t\t\t\tlabel={ visibilityOptions.public.label }\n\t\t\t\t\tinfo={ visibilityOptions.public.info }\n\t\t\t\t\tchecked={ visibility === 'public' && ! hasPassword }\n\t\t\t\t\tonChange={ setPublic }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"private\"\n\t\t\t\t\tlabel={ visibilityOptions.private.label }\n\t\t\t\t\tinfo={ visibilityOptions.private.info }\n\t\t\t\t\tchecked={ visibility === 'private' }\n\t\t\t\t\tonChange={ setPrivate }\n\t\t\t\t/>\n\t\t\t\t<PostVisibilityChoice\n\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\tvalue=\"password\"\n\t\t\t\t\tlabel={ visibilityOptions.password.label }\n\t\t\t\t\tinfo={ visibilityOptions.password.info }\n\t\t\t\t\tchecked={ hasPassword }\n\t\t\t\t\tonChange={ setPasswordProtected }\n\t\t\t\t/>\n\t\t\t\t{ hasPassword && (\n\t\t\t\t\t<div className=\"editor-post-visibility__password\">\n\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\thtmlFor={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName=\"editor-post-visibility__password-input\"\n\t\t\t\t\t\t\tid={ `editor-post-visibility__password-input-${ instanceId }` }\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tonChange={ updatePassword }\n\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\tplaceholder={ __( 'Use a secure password' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</fieldset>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showPrivateConfirmDialog }\n\t\t\t\tonConfirm={ confirmPrivate }\n\t\t\t\tonCancel={ handleDialogCancel }\n\t\t\t>\n\t\t\t\t{ __( 'Would you like to privately publish this post now?' ) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n\nfunction PostVisibilityChoice( { instanceId, value, label, info, ...props } ) {\n\treturn (\n\t\t<div className=\"editor-post-visibility__choice\">\n\t\t\t<input\n\t\t\t\ttype=\"radio\"\n\t\t\t\tname={ `editor-post-visibility__setting-${ instanceId }` }\n\t\t\t\tvalue={ value }\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\taria-describedby={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__radio\"\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label\n\t\t\t\thtmlFor={ `editor-post-${ value }-${ instanceId }` }\n\t\t\t\tclassName=\"editor-post-visibility__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t\t<p\n\t\t\t\tid={ `editor-post-${ value }-${ instanceId }-description` }\n\t\t\t\tclassName=\"editor-post-visibility__info\"\n\t\t\t>\n\t\t\t\t{ info }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n"]}
@@ -1,32 +1,17 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { find } from 'lodash';
5
1
  /**
6
2
  * WordPress dependencies
7
3
  */
8
-
9
- import { withSelect } from '@wordpress/data';
4
+ import { useSelect } from '@wordpress/data';
10
5
  /**
11
6
  * Internal dependencies
12
7
  */
13
8
 
14
9
  import { visibilityOptions } from './utils';
15
10
  import { store as editorStore } from '../../store';
11
+ export default function PostVisibilityLabel() {
12
+ var _visibilityOptions$vi;
16
13
 
17
- function PostVisibilityLabel(_ref) {
18
- let {
19
- visibility
20
- } = _ref;
21
-
22
- const getVisibilityLabel = () => find(visibilityOptions, {
23
- value: visibility
24
- }).label;
25
-
26
- return getVisibilityLabel(visibility);
14
+ const visibility = useSelect(select => select(editorStore).getEditedPostVisibility());
15
+ return (_visibilityOptions$vi = visibilityOptions[visibility]) === null || _visibilityOptions$vi === void 0 ? void 0 : _visibilityOptions$vi.label;
27
16
  }
28
-
29
- export default withSelect(select => ({
30
- visibility: select(editorStore).getEditedPostVisibility()
31
- }))(PostVisibilityLabel);
32
17
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/label.js"],"names":["find","withSelect","visibilityOptions","store","editorStore","PostVisibilityLabel","visibility","getVisibilityLabel","value","label","select","getEditedPostVisibility"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,SAAlC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,mBAAT,OAA+C;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;;AAC9C,QAAMC,kBAAkB,GAAG,MAC1BP,IAAI,CAAEE,iBAAF,EAAqB;AAAEM,IAAAA,KAAK,EAAEF;AAAT,GAArB,CAAJ,CAAiDG,KADlD;;AAGA,SAAOF,kBAAkB,CAAED,UAAF,CAAzB;AACA;;AAED,eAAeL,UAAU,CAAIS,MAAF,KAAgB;AAC1CJ,EAAAA,UAAU,EAAEI,MAAM,CAAEN,WAAF,CAAN,CAAsBO,uBAAtB;AAD8B,CAAhB,CAAF,CAAV,CAERN,mBAFQ,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nfunction PostVisibilityLabel( { visibility } ) {\n\tconst getVisibilityLabel = () =>\n\t\tfind( visibilityOptions, { value: visibility } ).label;\n\n\treturn getVisibilityLabel( visibility );\n}\n\nexport default withSelect( ( select ) => ( {\n\tvisibility: select( editorStore ).getEditedPostVisibility(),\n} ) )( PostVisibilityLabel );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/label.js"],"names":["useSelect","visibilityOptions","store","editorStore","PostVisibilityLabel","visibility","select","getEditedPostVisibility","label"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,SAAlC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,eAAe,SAASC,mBAAT,GAA+B;AAAA;;AAC7C,QAAMC,UAAU,GAAGL,SAAS,CAAIM,MAAF,IAC7BA,MAAM,CAAEH,WAAF,CAAN,CAAsBI,uBAAtB,EAD2B,CAA5B;AAGA,kCAAON,iBAAiB,CAAEI,UAAF,CAAxB,0DAAO,sBAAiCG,KAAxC;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { visibilityOptions } from './utils';\nimport { store as editorStore } from '../../store';\n\nexport default function PostVisibilityLabel() {\n\tconst visibility = useSelect( ( select ) =>\n\t\tselect( editorStore ).getEditedPostVisibility()\n\t);\n\treturn visibilityOptions[ visibility ]?.label;\n}\n"]}
@@ -2,17 +2,18 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- export const visibilityOptions = [{
6
- value: 'public',
7
- label: __('Public'),
8
- info: __('Visible to everyone.')
9
- }, {
10
- value: 'private',
11
- label: __('Private'),
12
- info: __('Only visible to site admins and editors.')
13
- }, {
14
- value: 'password',
15
- label: __('Password Protected'),
16
- info: __('Protected with a password you choose. Only those with the password can view this post.')
17
- }];
5
+ export const visibilityOptions = {
6
+ public: {
7
+ label: __('Public'),
8
+ info: __('Visible to everyone.')
9
+ },
10
+ private: {
11
+ label: __('Private'),
12
+ info: __('Only visible to site admins and editors.')
13
+ },
14
+ password: {
15
+ label: __('Password protected'),
16
+ info: __('Only those with the password can view this post.')
17
+ }
18
+ };
18
19
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/utils.js"],"names":["__","visibilityOptions","value","label","info"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,iBAAiB,GAAG,CAChC;AACCC,EAAAA,KAAK,EAAE,QADR;AAECC,EAAAA,KAAK,EAAEH,EAAE,CAAE,QAAF,CAFV;AAGCI,EAAAA,IAAI,EAAEJ,EAAE,CAAE,sBAAF;AAHT,CADgC,EAMhC;AACCE,EAAAA,KAAK,EAAE,SADR;AAECC,EAAAA,KAAK,EAAEH,EAAE,CAAE,SAAF,CAFV;AAGCI,EAAAA,IAAI,EAAEJ,EAAE,CAAE,0CAAF;AAHT,CANgC,EAWhC;AACCE,EAAAA,KAAK,EAAE,UADR;AAECC,EAAAA,KAAK,EAAEH,EAAE,CAAE,oBAAF,CAFV;AAGCI,EAAAA,IAAI,EAAEJ,EAAE,CACP,wFADO;AAHT,CAXgC,CAA1B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const visibilityOptions = [\n\t{\n\t\tvalue: 'public',\n\t\tlabel: __( 'Public' ),\n\t\tinfo: __( 'Visible to everyone.' ),\n\t},\n\t{\n\t\tvalue: 'private',\n\t\tlabel: __( 'Private' ),\n\t\tinfo: __( 'Only visible to site admins and editors.' ),\n\t},\n\t{\n\t\tvalue: 'password',\n\t\tlabel: __( 'Password Protected' ),\n\t\tinfo: __(\n\t\t\t'Protected with a password you choose. Only those with the password can view this post.'\n\t\t),\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-visibility/utils.js"],"names":["__","visibilityOptions","public","label","info","private","password"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,iBAAiB,GAAG;AAChCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,KAAK,EAAEH,EAAE,CAAE,QAAF,CADF;AAEPI,IAAAA,IAAI,EAAEJ,EAAE,CAAE,sBAAF;AAFD,GADwB;AAKhCK,EAAAA,OAAO,EAAE;AACRF,IAAAA,KAAK,EAAEH,EAAE,CAAE,SAAF,CADD;AAERI,IAAAA,IAAI,EAAEJ,EAAE,CAAE,0CAAF;AAFA,GALuB;AAShCM,EAAAA,QAAQ,EAAE;AACTH,IAAAA,KAAK,EAAEH,EAAE,CAAE,oBAAF,CADA;AAETI,IAAAA,IAAI,EAAEJ,EAAE,CAAE,kDAAF;AAFC;AATsB,CAA1B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const visibilityOptions = {\n\tpublic: {\n\t\tlabel: __( 'Public' ),\n\t\tinfo: __( 'Visible to everyone.' ),\n\t},\n\tprivate: {\n\t\tlabel: __( 'Private' ),\n\t\tinfo: __( 'Only visible to site admins and editors.' ),\n\t},\n\tpassword: {\n\t\tlabel: __( 'Password protected' ),\n\t\tinfo: __( 'Only those with the password can view this post.' ),\n\t},\n};\n"]}
@@ -740,20 +740,23 @@
740
740
  color: rgba(30, 30, 30, 0.62);
741
741
  }
742
742
 
743
- .edit-post-post-visibility__dialog,
744
- .editor-post-visibility__dialog-fieldset {
745
- padding: 4px;
746
- padding-top: 0;
743
+ .editor-post-visibility__close {
744
+ position: absolute;
745
+ left: 16px;
746
+ top: 16px;
747
+ }
748
+
749
+ .editor-post-visibility__fieldset {
750
+ padding: 8px;
747
751
  }
748
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-legend,
749
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-legend {
752
+ .editor-post-visibility__fieldset .editor-post-visibility__legend {
750
753
  font-weight: 600;
751
- margin-bottom: 1em;
754
+ padding: 1em 0 0 0;
755
+ }
756
+ .editor-post-visibility__fieldset .editor-post-visibility__description {
752
757
  margin-top: 0.5em;
753
- padding: 0;
754
758
  }
755
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],
756
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio] {
759
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio] {
757
760
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
758
761
  padding: 6px 8px;
759
762
  box-shadow: 0 0 0 transparent;
@@ -773,48 +776,40 @@
773
776
  margin-top: 2px;
774
777
  }
775
778
  @media (prefers-reduced-motion: reduce) {
776
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],
777
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio] {
779
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio] {
778
780
  transition-duration: 0s;
779
781
  transition-delay: 0s;
780
782
  }
781
783
  }
782
784
  @media (min-width: 600px) {
783
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],
784
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio] {
785
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio] {
785
786
  font-size: 13px;
786
787
  /* Override core line-height. To be reviewed. */
787
788
  line-height: normal;
788
789
  }
789
790
  }
790
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,
791
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus {
791
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus {
792
792
  border-color: var(--wp-admin-theme-color);
793
793
  box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
794
794
  outline: 2px solid transparent;
795
795
  }
796
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder,
797
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder {
796
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-webkit-input-placeholder {
798
797
  color: rgba(30, 30, 30, 0.62);
799
798
  }
800
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder,
801
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder {
799
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]::-moz-placeholder {
802
800
  opacity: 1;
803
801
  color: rgba(30, 30, 30, 0.62);
804
802
  }
805
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder,
806
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder {
803
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:-ms-input-placeholder {
807
804
  color: rgba(30, 30, 30, 0.62);
808
805
  }
809
806
  @media (min-width: 600px) {
810
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],
811
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio] {
807
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio] {
812
808
  height: 20px;
813
809
  width: 20px;
814
810
  }
815
811
  }
816
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked::before,
817
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked::before {
812
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked::before {
818
813
  box-sizing: inherit;
819
814
  width: 8px;
820
815
  height: 8px;
@@ -824,36 +819,32 @@
824
819
  border: 4px solid #fff;
825
820
  }
826
821
  @media (min-width: 600px) {
827
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked::before,
828
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked::before {
822
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked::before {
829
823
  transform: translate(-5px, 5px);
830
824
  }
831
825
  }
832
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,
833
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus {
826
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:focus {
834
827
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--wp-admin-theme-color);
835
828
  outline: 2px solid transparent;
836
829
  }
837
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked,
838
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked {
830
+ .editor-post-visibility__fieldset .editor-post-visibility__radio[type=radio]:checked {
839
831
  background: var(--wp-admin-theme-color);
840
832
  border-color: var(--wp-admin-theme-color);
841
833
  }
842
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-label,
843
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-label {
844
- font-weight: 600;
834
+ .editor-post-visibility__fieldset .editor-post-visibility__info {
835
+ color: #757575;
836
+ margin-right: 36px;
837
+ margin-top: 0.5em;
845
838
  }
846
- .edit-post-post-visibility__dialog .editor-post-visibility__dialog-info,
847
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-info {
848
- margin-top: 0;
849
- margin-right: 32px;
839
+ @media (min-width: 600px) {
840
+ .editor-post-visibility__fieldset .editor-post-visibility__info {
841
+ margin-right: 32px;
842
+ }
850
843
  }
851
- .edit-post-post-visibility__dialog .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info,
852
- .editor-post-visibility__dialog-fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info {
844
+ .editor-post-visibility__fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__info {
853
845
  margin-bottom: 0;
854
846
  }
855
-
856
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text] {
847
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text] {
857
848
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
858
849
  padding: 6px 8px;
859
850
  box-shadow: 0 0 0 transparent;
@@ -864,35 +855,35 @@
864
855
  font-size: 16px;
865
856
  /* Override core line-height. To be reviewed. */
866
857
  line-height: normal;
867
- margin-right: 36px;
868
- margin-top: 8px;
858
+ margin-right: 32px;
859
+ width: calc(100% - 32px);
869
860
  }
870
861
  @media (prefers-reduced-motion: reduce) {
871
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text] {
862
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text] {
872
863
  transition-duration: 0s;
873
864
  transition-delay: 0s;
874
865
  }
875
866
  }
876
867
  @media (min-width: 600px) {
877
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text] {
868
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text] {
878
869
  font-size: 13px;
879
870
  /* Override core line-height. To be reviewed. */
880
871
  line-height: normal;
881
872
  }
882
873
  }
883
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:focus {
874
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:focus {
884
875
  border-color: var(--wp-admin-theme-color);
885
876
  box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
886
877
  outline: 2px solid transparent;
887
878
  }
888
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-webkit-input-placeholder {
879
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-webkit-input-placeholder {
889
880
  color: rgba(30, 30, 30, 0.62);
890
881
  }
891
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-moz-placeholder {
882
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]::-moz-placeholder {
892
883
  opacity: 1;
893
884
  color: rgba(30, 30, 30, 0.62);
894
885
  }
895
- .editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:-ms-input-placeholder {
886
+ .editor-post-visibility__fieldset .editor-post-visibility__password .editor-post-visibility__password-input[type=text]:-ms-input-placeholder {
896
887
  color: rgba(30, 30, 30, 0.62);
897
888
  }
898
889