@panneau/field-html 1.0.0-alpha.21 → 1.0.0-alpha.224
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/assets/css/styles.css +1 -1
- package/es/index.js +63 -154
- package/lib/index.js +79 -171
- package/package.json +10 -11
package/assets/css/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.quill{-
|
|
1
|
+
.quill{background-color:#fff;border-radius:.25rem;color:#212529}.ql-toolbar{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.ql-container{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}
|
package/es/index.js
CHANGED
|
@@ -1,71 +1,26 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import classNames from 'classnames';
|
|
2
|
+
import { CKEditor } from '@ckeditor/ckeditor5-react';
|
|
5
3
|
import InputGroup from '@panneau/field-input-group';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React, { useState, useEffect, useCallback } from 'react';
|
|
6
7
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Locale loader
|
|
10
11
|
*/
|
|
11
12
|
|
|
12
|
-
var packageCache
|
|
13
|
-
|
|
14
|
-
var useCKEditor = function useCKEditor(_ref) {
|
|
15
|
-
var _ref$disabled = _ref.disabled,
|
|
16
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
17
|
-
|
|
18
|
-
// transport
|
|
19
|
-
var _useState = useState({
|
|
20
|
-
"package": packageCache$2
|
|
21
|
-
}),
|
|
22
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
-
loadedPackage = _useState2[0]["package"],
|
|
24
|
-
setLoadedPackage = _useState2[1];
|
|
25
|
-
|
|
26
|
-
useEffect(function () {
|
|
27
|
-
var canceled = false;
|
|
28
|
-
|
|
29
|
-
if (loadedPackage !== null) {
|
|
30
|
-
return function () {
|
|
31
|
-
canceled = true;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (!disabled) {
|
|
36
|
-
import('@ckeditor/ckeditor5-react').then(function (_ref2) {
|
|
37
|
-
var CKEditor = _ref2.CKEditor;
|
|
38
|
-
packageCache$2 = CKEditor;
|
|
39
|
-
|
|
40
|
-
if (!canceled) {
|
|
41
|
-
setLoadedPackage({
|
|
42
|
-
"package": CKEditor
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return function () {
|
|
49
|
-
canceled = true;
|
|
50
|
-
};
|
|
51
|
-
}, [loadedPackage, setLoadedPackage]);
|
|
52
|
-
return loadedPackage;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Locale loader
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
var packageCache$1 = null;
|
|
13
|
+
var packageCache = null;
|
|
60
14
|
|
|
61
|
-
var useCKEditorBuild = function useCKEditorBuild(
|
|
62
|
-
var _ref
|
|
15
|
+
var useCKEditorBuild = function useCKEditorBuild() {
|
|
16
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
17
|
+
_ref$disabled = _ref.disabled,
|
|
63
18
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
64
19
|
_ref$inline = _ref.inline,
|
|
65
20
|
inline = _ref$inline === void 0 ? false : _ref$inline;
|
|
66
21
|
|
|
67
22
|
var _useState = useState({
|
|
68
|
-
"package": packageCache
|
|
23
|
+
"package": packageCache
|
|
69
24
|
}),
|
|
70
25
|
_useState2 = _slicedToArray(_useState, 2),
|
|
71
26
|
loadedPackage = _useState2[0]["package"],
|
|
@@ -83,83 +38,27 @@ var useCKEditorBuild = function useCKEditorBuild(_ref) {
|
|
|
83
38
|
if (!disabled) {
|
|
84
39
|
var onEditorBuildLoaded = function onEditorBuildLoaded(_ref2) {
|
|
85
40
|
var EditorBuild = _ref2["default"];
|
|
86
|
-
packageCache
|
|
41
|
+
packageCache = EditorBuild;
|
|
87
42
|
|
|
88
43
|
if (!canceled) {
|
|
89
44
|
setLoadedPackage({
|
|
90
45
|
"package": EditorBuild
|
|
91
46
|
});
|
|
92
47
|
}
|
|
93
|
-
};
|
|
48
|
+
}; // if (inline) {
|
|
49
|
+
// import('@ckeditor/ckeditor5-build-inline').then(onEditorBuildLoaded);
|
|
50
|
+
// } else {
|
|
51
|
+
// import('@ckeditor/ckeditor5-build-classic').then(onEditorBuildLoaded);
|
|
52
|
+
// }
|
|
94
53
|
|
|
95
|
-
if (inline) {
|
|
96
|
-
import('@ckeditor/ckeditor5-build-inline').then(onEditorBuildLoaded);
|
|
97
|
-
} else {
|
|
98
|
-
import('@ckeditor/ckeditor5-build-classic').then(onEditorBuildLoaded);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return function () {
|
|
103
|
-
canceled = true;
|
|
104
|
-
};
|
|
105
|
-
}, [loadedPackage, setLoadedPackage, disabled, inline]);
|
|
106
|
-
return loadedPackage;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Locale loader
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
var packageCache = null;
|
|
114
54
|
|
|
115
|
-
|
|
116
|
-
var _ref$disabled = _ref.disabled,
|
|
117
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
118
|
-
_ref$inline = _ref.inline,
|
|
119
|
-
inline = _ref$inline === void 0 ? false : _ref$inline;
|
|
120
|
-
|
|
121
|
-
// transport
|
|
122
|
-
var _useState = useState({
|
|
123
|
-
"package": packageCache
|
|
124
|
-
}),
|
|
125
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
126
|
-
loadedPackage = _useState2[0]["package"],
|
|
127
|
-
setLoadedPackage = _useState2[1];
|
|
128
|
-
|
|
129
|
-
useEffect(function () {
|
|
130
|
-
var canceled = false;
|
|
131
|
-
|
|
132
|
-
if (loadedPackage !== null) {
|
|
133
|
-
return function () {
|
|
134
|
-
canceled = true;
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
if (!disabled) {
|
|
139
|
-
var onThemeLoaded = function onThemeLoaded() {
|
|
140
|
-
import('react-quill').then(function (component) {
|
|
141
|
-
var EditorBuild = component["default"];
|
|
142
|
-
packageCache = EditorBuild;
|
|
143
|
-
|
|
144
|
-
if (!canceled) {
|
|
145
|
-
setLoadedPackage({
|
|
146
|
-
"package": EditorBuild
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
if (inline) {
|
|
153
|
-
import('react-quill/dist/quill.bubble.css').then(onThemeLoaded);
|
|
154
|
-
} else {
|
|
155
|
-
import('react-quill/dist/quill.snow.css').then(onThemeLoaded);
|
|
156
|
-
}
|
|
55
|
+
import('@ckeditor/ckeditor5-build-classic').then(onEditorBuildLoaded);
|
|
157
56
|
}
|
|
158
57
|
|
|
159
58
|
return function () {
|
|
160
59
|
canceled = true;
|
|
161
60
|
};
|
|
162
|
-
}, [loadedPackage, setLoadedPackage, inline]);
|
|
61
|
+
}, [loadedPackage, setLoadedPackage, disabled, inline]);
|
|
163
62
|
return loadedPackage;
|
|
164
63
|
};
|
|
165
64
|
|
|
@@ -168,11 +67,14 @@ var propTypes = {
|
|
|
168
67
|
errors: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
|
|
169
68
|
value: PropTypes.string,
|
|
170
69
|
placeholder: PropTypes.string,
|
|
171
|
-
type: PropTypes.oneOf([null, 'quill', 'ck-editor']),
|
|
172
70
|
inline: PropTypes.bool,
|
|
173
71
|
onChange: PropTypes.func,
|
|
174
72
|
onFocus: PropTypes.func,
|
|
175
73
|
onBlur: PropTypes.func,
|
|
74
|
+
ckConfig: PropTypes.object,
|
|
75
|
+
// eslint-disable-line react/forbid-prop-types
|
|
76
|
+
ckOptions: PropTypes.object,
|
|
77
|
+
// eslint-disable-line react/forbid-prop-types
|
|
176
78
|
className: PropTypes.string
|
|
177
79
|
};
|
|
178
80
|
var defaultProps = {
|
|
@@ -180,11 +82,40 @@ var defaultProps = {
|
|
|
180
82
|
errors: null,
|
|
181
83
|
value: null,
|
|
182
84
|
placeholder: null,
|
|
183
|
-
type: null,
|
|
184
85
|
inline: false,
|
|
185
86
|
onChange: null,
|
|
186
87
|
onFocus: null,
|
|
187
88
|
onBlur: null,
|
|
89
|
+
ckConfig: {
|
|
90
|
+
toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList' // 'blockQuote',
|
|
91
|
+
// 'mediaEmbed',
|
|
92
|
+
],
|
|
93
|
+
heading: {
|
|
94
|
+
options: [{
|
|
95
|
+
model: 'paragraph',
|
|
96
|
+
title: 'Paragraph'
|
|
97
|
+
}, {
|
|
98
|
+
model: 'heading1',
|
|
99
|
+
view: 'h1',
|
|
100
|
+
title: 'Heading 1'
|
|
101
|
+
}, {
|
|
102
|
+
model: 'heading2',
|
|
103
|
+
view: 'h2',
|
|
104
|
+
title: 'Heading 2'
|
|
105
|
+
}, {
|
|
106
|
+
model: 'heading3',
|
|
107
|
+
view: 'h3',
|
|
108
|
+
title: 'Heading 3'
|
|
109
|
+
}]
|
|
110
|
+
},
|
|
111
|
+
link: {
|
|
112
|
+
addTargetToExternalLinks: true
|
|
113
|
+
},
|
|
114
|
+
mediaEmbed: {
|
|
115
|
+
previewsInData: true
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
ckOptions: null,
|
|
188
119
|
className: null
|
|
189
120
|
};
|
|
190
121
|
|
|
@@ -194,57 +125,36 @@ var HtmlField = function HtmlField(_ref) {
|
|
|
194
125
|
var feedback = _ref.feedback,
|
|
195
126
|
errors = _ref.errors,
|
|
196
127
|
value = _ref.value,
|
|
197
|
-
placeholder = _ref.placeholder,
|
|
198
|
-
type = _ref.type,
|
|
199
128
|
inline = _ref.inline,
|
|
200
129
|
onChange = _ref.onChange,
|
|
201
130
|
onFocus = _ref.onFocus,
|
|
202
131
|
onBlur = _ref.onBlur,
|
|
132
|
+
ckConfig = _ref.ckConfig,
|
|
133
|
+
ckOptions = _ref.ckOptions,
|
|
203
134
|
className = _ref.className;
|
|
204
|
-
var
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
});
|
|
208
|
-
var CKEditorBuild = useCKEditorBuild({
|
|
209
|
-
disabled: !usingCKeditor,
|
|
210
|
-
inline: inline
|
|
211
|
-
});
|
|
212
|
-
var Quill = useQuill({
|
|
213
|
-
disabled: usingCKeditor,
|
|
214
|
-
inline: inline
|
|
215
|
-
});
|
|
216
|
-
var finalValue = value !== null ? value : '';
|
|
217
|
-
var finalClassName = inline ? classNames(['form-control', (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, 'is-valid', feedback === 'valid'), _defineProperty(_ref2, 'is-invalid', feedback === 'invalid' && errors !== null && errors.length > 0), _ref2)]) : className;
|
|
135
|
+
var CKEditorBuild = useCKEditorBuild();
|
|
136
|
+
var CKValue = value !== null ? value : '';
|
|
137
|
+
var finalClassName = inline ? classNames(['form-control', (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, 'is-valid', feedback === 'valid'), _defineProperty(_ref2, 'is-invalid', feedback === 'invalid' || errors !== null && errors.length > 0), _ref2)]) : className;
|
|
218
138
|
var onCkEditorChange = useCallback(function (event, editor) {
|
|
219
139
|
var data = editor.getData();
|
|
220
140
|
|
|
221
141
|
if (onChange !== null) {
|
|
222
|
-
onChange(data);
|
|
142
|
+
onChange(data === '' ? null : data);
|
|
223
143
|
}
|
|
224
144
|
}, [onChange]);
|
|
225
145
|
var commonProps = {
|
|
226
146
|
onFocus: onFocus,
|
|
227
147
|
onBlur: onBlur
|
|
228
148
|
};
|
|
229
|
-
var ckElement =
|
|
149
|
+
var ckElement = CKEditorBuild !== null ? /*#__PURE__*/React.createElement("div", {
|
|
230
150
|
className: finalClassName
|
|
231
151
|
}, /*#__PURE__*/React.createElement(CKEditor, Object.assign({
|
|
232
152
|
editor: CKEditorBuild,
|
|
233
|
-
data:
|
|
234
|
-
config:
|
|
235
|
-
placeholder: placeholder
|
|
236
|
-
},
|
|
153
|
+
data: CKValue,
|
|
154
|
+
config: ckConfig,
|
|
237
155
|
onChange: onCkEditorChange
|
|
238
|
-
}, commonProps))) : null;
|
|
239
|
-
|
|
240
|
-
className: finalClassName,
|
|
241
|
-
value: finalValue,
|
|
242
|
-
theme: inline ? 'bubble' : 'snow',
|
|
243
|
-
onChange: onChange,
|
|
244
|
-
placeholder: placeholder
|
|
245
|
-
}, commonProps)) : null;
|
|
246
|
-
var element = usingCKeditor ? ckElement : quillElement;
|
|
247
|
-
return inline ? /*#__PURE__*/React.createElement(InputGroup, null, element) : element;
|
|
156
|
+
}, commonProps, ckOptions))) : null;
|
|
157
|
+
return inline ? /*#__PURE__*/React.createElement(InputGroup, null, ckElement) : ckElement;
|
|
248
158
|
};
|
|
249
159
|
|
|
250
160
|
HtmlField.propTypes = propTypes;
|
|
@@ -255,5 +165,4 @@ var definition = {
|
|
|
255
165
|
component: 'Html'
|
|
256
166
|
};
|
|
257
167
|
|
|
258
|
-
export default
|
|
259
|
-
export { definition };
|
|
168
|
+
export { HtmlField as default, definition };
|
package/lib/index.js
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var
|
|
7
|
-
var PropTypes = require('prop-types');
|
|
8
|
-
var classNames = require('classnames');
|
|
6
|
+
var ckeditor5React = require('@ckeditor/ckeditor5-react');
|
|
9
7
|
var InputGroup = require('@panneau/field-input-group');
|
|
8
|
+
var classNames = require('classnames');
|
|
9
|
+
var PropTypes = require('prop-types');
|
|
10
|
+
var React = require('react');
|
|
10
11
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -20,87 +21,39 @@ function _interopNamespace(e) {
|
|
|
20
21
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
22
|
Object.defineProperty(n, k, d.get ? d : {
|
|
22
23
|
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return e[k];
|
|
25
|
-
}
|
|
24
|
+
get: function () { return e[k]; }
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
|
-
n[
|
|
29
|
+
n["default"] = e;
|
|
31
30
|
return Object.freeze(n);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
35
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
36
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
37
|
-
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
38
34
|
var InputGroup__default = /*#__PURE__*/_interopDefaultLegacy(InputGroup);
|
|
35
|
+
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
36
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
37
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
39
38
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
40
39
|
|
|
41
40
|
/**
|
|
42
41
|
* Locale loader
|
|
43
42
|
*/
|
|
44
43
|
|
|
45
|
-
var packageCache
|
|
46
|
-
|
|
47
|
-
var useCKEditor = function useCKEditor(_ref) {
|
|
48
|
-
var _ref$disabled = _ref.disabled,
|
|
49
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
50
|
-
|
|
51
|
-
// transport
|
|
52
|
-
var _useState = React.useState({
|
|
53
|
-
"package": packageCache$2
|
|
54
|
-
}),
|
|
55
|
-
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
56
|
-
loadedPackage = _useState2[0]["package"],
|
|
57
|
-
setLoadedPackage = _useState2[1];
|
|
58
|
-
|
|
59
|
-
React.useEffect(function () {
|
|
60
|
-
var canceled = false;
|
|
61
|
-
|
|
62
|
-
if (loadedPackage !== null) {
|
|
63
|
-
return function () {
|
|
64
|
-
canceled = true;
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (!disabled) {
|
|
69
|
-
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@ckeditor/ckeditor5-react')); }).then(function (_ref2) {
|
|
70
|
-
var CKEditor = _ref2.CKEditor;
|
|
71
|
-
packageCache$2 = CKEditor;
|
|
72
|
-
|
|
73
|
-
if (!canceled) {
|
|
74
|
-
setLoadedPackage({
|
|
75
|
-
"package": CKEditor
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return function () {
|
|
82
|
-
canceled = true;
|
|
83
|
-
};
|
|
84
|
-
}, [loadedPackage, setLoadedPackage]);
|
|
85
|
-
return loadedPackage;
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Locale loader
|
|
90
|
-
*/
|
|
91
|
-
|
|
92
|
-
var packageCache$1 = null;
|
|
44
|
+
var packageCache = null;
|
|
93
45
|
|
|
94
|
-
var useCKEditorBuild = function useCKEditorBuild(
|
|
95
|
-
var _ref
|
|
46
|
+
var useCKEditorBuild = function useCKEditorBuild() {
|
|
47
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
48
|
+
_ref$disabled = _ref.disabled,
|
|
96
49
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
97
50
|
_ref$inline = _ref.inline,
|
|
98
51
|
inline = _ref$inline === void 0 ? false : _ref$inline;
|
|
99
52
|
|
|
100
53
|
var _useState = React.useState({
|
|
101
|
-
"package": packageCache
|
|
54
|
+
"package": packageCache
|
|
102
55
|
}),
|
|
103
|
-
_useState2 = _slicedToArray__default[
|
|
56
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
104
57
|
loadedPackage = _useState2[0]["package"],
|
|
105
58
|
setLoadedPackage = _useState2[1];
|
|
106
59
|
|
|
@@ -116,108 +69,84 @@ var useCKEditorBuild = function useCKEditorBuild(_ref) {
|
|
|
116
69
|
if (!disabled) {
|
|
117
70
|
var onEditorBuildLoaded = function onEditorBuildLoaded(_ref2) {
|
|
118
71
|
var EditorBuild = _ref2["default"];
|
|
119
|
-
packageCache
|
|
72
|
+
packageCache = EditorBuild;
|
|
120
73
|
|
|
121
74
|
if (!canceled) {
|
|
122
75
|
setLoadedPackage({
|
|
123
76
|
"package": EditorBuild
|
|
124
77
|
});
|
|
125
78
|
}
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@ckeditor/ckeditor5-build-classic')); }).then(onEditorBuildLoaded);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return function () {
|
|
136
|
-
canceled = true;
|
|
137
|
-
};
|
|
138
|
-
}, [loadedPackage, setLoadedPackage, disabled, inline]);
|
|
139
|
-
return loadedPackage;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Locale loader
|
|
144
|
-
*/
|
|
145
|
-
|
|
146
|
-
var packageCache = null;
|
|
147
|
-
|
|
148
|
-
var useQuill = function useQuill(_ref) {
|
|
149
|
-
var _ref$disabled = _ref.disabled,
|
|
150
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
151
|
-
_ref$inline = _ref.inline,
|
|
152
|
-
inline = _ref$inline === void 0 ? false : _ref$inline;
|
|
153
|
-
|
|
154
|
-
// transport
|
|
155
|
-
var _useState = React.useState({
|
|
156
|
-
"package": packageCache
|
|
157
|
-
}),
|
|
158
|
-
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
159
|
-
loadedPackage = _useState2[0]["package"],
|
|
160
|
-
setLoadedPackage = _useState2[1];
|
|
79
|
+
}; // if (inline) {
|
|
80
|
+
// import('@ckeditor/ckeditor5-build-inline').then(onEditorBuildLoaded);
|
|
81
|
+
// } else {
|
|
82
|
+
// import('@ckeditor/ckeditor5-build-classic').then(onEditorBuildLoaded);
|
|
83
|
+
// }
|
|
161
84
|
|
|
162
|
-
React.useEffect(function () {
|
|
163
|
-
var canceled = false;
|
|
164
85
|
|
|
165
|
-
|
|
166
|
-
return function () {
|
|
167
|
-
canceled = true;
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (!disabled) {
|
|
172
|
-
var onThemeLoaded = function onThemeLoaded() {
|
|
173
|
-
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-quill')); }).then(function (component) {
|
|
174
|
-
var EditorBuild = component["default"];
|
|
175
|
-
packageCache = EditorBuild;
|
|
176
|
-
|
|
177
|
-
if (!canceled) {
|
|
178
|
-
setLoadedPackage({
|
|
179
|
-
"package": EditorBuild
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
if (inline) {
|
|
186
|
-
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-quill/dist/quill.bubble.css')); }).then(onThemeLoaded);
|
|
187
|
-
} else {
|
|
188
|
-
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-quill/dist/quill.snow.css')); }).then(onThemeLoaded);
|
|
189
|
-
}
|
|
86
|
+
Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@ckeditor/ckeditor5-build-classic')); }).then(onEditorBuildLoaded);
|
|
190
87
|
}
|
|
191
88
|
|
|
192
89
|
return function () {
|
|
193
90
|
canceled = true;
|
|
194
91
|
};
|
|
195
|
-
}, [loadedPackage, setLoadedPackage, inline]);
|
|
92
|
+
}, [loadedPackage, setLoadedPackage, disabled, inline]);
|
|
196
93
|
return loadedPackage;
|
|
197
94
|
};
|
|
198
95
|
|
|
199
96
|
var propTypes = {
|
|
200
|
-
feedback: PropTypes__default[
|
|
201
|
-
errors: PropTypes__default[
|
|
202
|
-
value: PropTypes__default[
|
|
203
|
-
placeholder: PropTypes__default[
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
97
|
+
feedback: PropTypes__default["default"].oneOf(['valid', 'invalid', 'loading']),
|
|
98
|
+
errors: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)]),
|
|
99
|
+
value: PropTypes__default["default"].string,
|
|
100
|
+
placeholder: PropTypes__default["default"].string,
|
|
101
|
+
inline: PropTypes__default["default"].bool,
|
|
102
|
+
onChange: PropTypes__default["default"].func,
|
|
103
|
+
onFocus: PropTypes__default["default"].func,
|
|
104
|
+
onBlur: PropTypes__default["default"].func,
|
|
105
|
+
ckConfig: PropTypes__default["default"].object,
|
|
106
|
+
// eslint-disable-line react/forbid-prop-types
|
|
107
|
+
ckOptions: PropTypes__default["default"].object,
|
|
108
|
+
// eslint-disable-line react/forbid-prop-types
|
|
109
|
+
className: PropTypes__default["default"].string
|
|
210
110
|
};
|
|
211
111
|
var defaultProps = {
|
|
212
112
|
feedback: null,
|
|
213
113
|
errors: null,
|
|
214
114
|
value: null,
|
|
215
115
|
placeholder: null,
|
|
216
|
-
type: null,
|
|
217
116
|
inline: false,
|
|
218
117
|
onChange: null,
|
|
219
118
|
onFocus: null,
|
|
220
119
|
onBlur: null,
|
|
120
|
+
ckConfig: {
|
|
121
|
+
toolbar: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList' // 'blockQuote',
|
|
122
|
+
// 'mediaEmbed',
|
|
123
|
+
],
|
|
124
|
+
heading: {
|
|
125
|
+
options: [{
|
|
126
|
+
model: 'paragraph',
|
|
127
|
+
title: 'Paragraph'
|
|
128
|
+
}, {
|
|
129
|
+
model: 'heading1',
|
|
130
|
+
view: 'h1',
|
|
131
|
+
title: 'Heading 1'
|
|
132
|
+
}, {
|
|
133
|
+
model: 'heading2',
|
|
134
|
+
view: 'h2',
|
|
135
|
+
title: 'Heading 2'
|
|
136
|
+
}, {
|
|
137
|
+
model: 'heading3',
|
|
138
|
+
view: 'h3',
|
|
139
|
+
title: 'Heading 3'
|
|
140
|
+
}]
|
|
141
|
+
},
|
|
142
|
+
link: {
|
|
143
|
+
addTargetToExternalLinks: true
|
|
144
|
+
},
|
|
145
|
+
mediaEmbed: {
|
|
146
|
+
previewsInData: true
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
ckOptions: null,
|
|
221
150
|
className: null
|
|
222
151
|
};
|
|
223
152
|
|
|
@@ -227,57 +156,36 @@ var HtmlField = function HtmlField(_ref) {
|
|
|
227
156
|
var feedback = _ref.feedback,
|
|
228
157
|
errors = _ref.errors,
|
|
229
158
|
value = _ref.value,
|
|
230
|
-
placeholder = _ref.placeholder,
|
|
231
|
-
type = _ref.type,
|
|
232
159
|
inline = _ref.inline,
|
|
233
160
|
onChange = _ref.onChange,
|
|
234
161
|
onFocus = _ref.onFocus,
|
|
235
162
|
onBlur = _ref.onBlur,
|
|
163
|
+
ckConfig = _ref.ckConfig,
|
|
164
|
+
ckOptions = _ref.ckOptions,
|
|
236
165
|
className = _ref.className;
|
|
237
|
-
var
|
|
238
|
-
var
|
|
239
|
-
|
|
240
|
-
});
|
|
241
|
-
var CKEditorBuild = useCKEditorBuild({
|
|
242
|
-
disabled: !usingCKeditor,
|
|
243
|
-
inline: inline
|
|
244
|
-
});
|
|
245
|
-
var Quill = useQuill({
|
|
246
|
-
disabled: usingCKeditor,
|
|
247
|
-
inline: inline
|
|
248
|
-
});
|
|
249
|
-
var finalValue = value !== null ? value : '';
|
|
250
|
-
var finalClassName = inline ? classNames__default['default'](['form-control', (_ref2 = {}, _defineProperty__default['default'](_ref2, className, className !== null), _defineProperty__default['default'](_ref2, 'is-valid', feedback === 'valid'), _defineProperty__default['default'](_ref2, 'is-invalid', feedback === 'invalid' && errors !== null && errors.length > 0), _ref2)]) : className;
|
|
166
|
+
var CKEditorBuild = useCKEditorBuild();
|
|
167
|
+
var CKValue = value !== null ? value : '';
|
|
168
|
+
var finalClassName = inline ? classNames__default["default"](['form-control', (_ref2 = {}, _defineProperty__default["default"](_ref2, className, className !== null), _defineProperty__default["default"](_ref2, 'is-valid', feedback === 'valid'), _defineProperty__default["default"](_ref2, 'is-invalid', feedback === 'invalid' || errors !== null && errors.length > 0), _ref2)]) : className;
|
|
251
169
|
var onCkEditorChange = React.useCallback(function (event, editor) {
|
|
252
170
|
var data = editor.getData();
|
|
253
171
|
|
|
254
172
|
if (onChange !== null) {
|
|
255
|
-
onChange(data);
|
|
173
|
+
onChange(data === '' ? null : data);
|
|
256
174
|
}
|
|
257
175
|
}, [onChange]);
|
|
258
176
|
var commonProps = {
|
|
259
177
|
onFocus: onFocus,
|
|
260
178
|
onBlur: onBlur
|
|
261
179
|
};
|
|
262
|
-
var ckElement =
|
|
180
|
+
var ckElement = CKEditorBuild !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
263
181
|
className: finalClassName
|
|
264
|
-
}, /*#__PURE__*/React__default[
|
|
182
|
+
}, /*#__PURE__*/React__default["default"].createElement(ckeditor5React.CKEditor, Object.assign({
|
|
265
183
|
editor: CKEditorBuild,
|
|
266
|
-
data:
|
|
267
|
-
config:
|
|
268
|
-
placeholder: placeholder
|
|
269
|
-
},
|
|
184
|
+
data: CKValue,
|
|
185
|
+
config: ckConfig,
|
|
270
186
|
onChange: onCkEditorChange
|
|
271
|
-
}, commonProps))) : null;
|
|
272
|
-
|
|
273
|
-
className: finalClassName,
|
|
274
|
-
value: finalValue,
|
|
275
|
-
theme: inline ? 'bubble' : 'snow',
|
|
276
|
-
onChange: onChange,
|
|
277
|
-
placeholder: placeholder
|
|
278
|
-
}, commonProps)) : null;
|
|
279
|
-
var element = usingCKeditor ? ckElement : quillElement;
|
|
280
|
-
return inline ? /*#__PURE__*/React__default['default'].createElement(InputGroup__default['default'], null, element) : element;
|
|
187
|
+
}, commonProps, ckOptions))) : null;
|
|
188
|
+
return inline ? /*#__PURE__*/React__default["default"].createElement(InputGroup__default["default"], null, ckElement) : ckElement;
|
|
281
189
|
};
|
|
282
190
|
|
|
283
191
|
HtmlField.propTypes = propTypes;
|
|
@@ -288,5 +196,5 @@ var definition = {
|
|
|
288
196
|
component: 'Html'
|
|
289
197
|
};
|
|
290
198
|
|
|
291
|
-
exports
|
|
199
|
+
exports["default"] = HtmlField;
|
|
292
200
|
exports.definition = definition;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/field-html",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.224",
|
|
4
4
|
"description": "A HTML field, using either Quill or CK Editor",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -44,27 +44,26 @@
|
|
|
44
44
|
"prepare": "../../scripts/prepare-package.sh"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"react": "^16.8.0",
|
|
48
|
-
"react-dom": "^16.8.0"
|
|
47
|
+
"react": "^16.8.0 || ^17.0.0",
|
|
48
|
+
"react-dom": "^16.8.0 || ^17.0.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"react": "^16.8.0",
|
|
52
|
-
"react-dom": "^16.8.0"
|
|
51
|
+
"react": "^16.8.0 || ^17.0.0",
|
|
52
|
+
"react-dom": "^16.8.0 || ^17.0.0"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@babel/runtime": "^7.12.5",
|
|
56
56
|
"@ckeditor/ckeditor5-build-classic": "^27.0.0",
|
|
57
57
|
"@ckeditor/ckeditor5-build-inline": "^27.0.0",
|
|
58
58
|
"@ckeditor/ckeditor5-react": "^3.0.2",
|
|
59
|
-
"@panneau/core": "^1.0.0-alpha.
|
|
60
|
-
"@panneau/field-input-group": "^1.0.0-alpha.
|
|
61
|
-
"@panneau/themes": "^1.0.0-alpha.
|
|
59
|
+
"@panneau/core": "^1.0.0-alpha.224",
|
|
60
|
+
"@panneau/field-input-group": "^1.0.0-alpha.224",
|
|
61
|
+
"@panneau/themes": "^1.0.0-alpha.224",
|
|
62
62
|
"classnames": "^2.2.6",
|
|
63
|
-
"prop-types": "^15.7.2"
|
|
64
|
-
"react-quill": "^2.0.0-beta.2"
|
|
63
|
+
"prop-types": "^15.7.2"
|
|
65
64
|
},
|
|
66
65
|
"publishConfig": {
|
|
67
66
|
"access": "public"
|
|
68
67
|
},
|
|
69
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "3ff8c0088bc2e64b2572d28142e3a80426b440cd"
|
|
70
69
|
}
|