@commercetools-uikit/localized-rich-text-input 15.2.3 → 15.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commercetools-uikit-localized-rich-text-input.cjs.dev.js +36 -46
- package/dist/commercetools-uikit-localized-rich-text-input.cjs.prod.js +30 -40
- package/dist/commercetools-uikit-localized-rich-text-input.esm.js +17 -27
- package/dist/declarations/src/editor.d.ts +1 -1
- package/package.json +17 -17
|
@@ -16,8 +16,8 @@ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/ins
|
|
|
16
16
|
var _Map = require('@babel/runtime-corejs3/core-js-stable/map');
|
|
17
17
|
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
18
18
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
19
|
-
var react
|
|
20
|
-
var react = require('@emotion/react');
|
|
19
|
+
var react = require('react');
|
|
20
|
+
var react$1 = require('@emotion/react');
|
|
21
21
|
var Stack = require('@commercetools-uikit/spacings-stack');
|
|
22
22
|
var Constraints = require('@commercetools-uikit/constraints');
|
|
23
23
|
var hooks = require('@commercetools-uikit/hooks');
|
|
@@ -71,17 +71,9 @@ var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
|
|
|
71
71
|
var isHotkey__default = /*#__PURE__*/_interopDefault(isHotkey);
|
|
72
72
|
var pipe__default = /*#__PURE__*/_interopDefault(pipe);
|
|
73
73
|
|
|
74
|
-
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
75
|
-
|
|
76
|
-
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
77
|
-
|
|
78
74
|
var EditorLanguageLabel = /*#__PURE__*/_styled__default["default"]("label", {
|
|
79
75
|
target: "ew063c2"
|
|
80
|
-
} )(
|
|
81
|
-
var overwrittenVars = _objectSpread$4(_objectSpread$4({}, designSystem.customProperties), props.theme);
|
|
82
|
-
|
|
83
|
-
return /*#__PURE__*/react.css("white-space:nowrap;flex:0;color:", overwrittenVars[designSystem.designTokens.fontColorForInputWhenDisabled], ";line-height:calc(\n ", designSystem.customProperties.sizeHeightInput, " - 2 *\n ", designSystem.customProperties.borderRadius1, "\n );background-color:", overwrittenVars[designSystem.designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designSystem.designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", designSystem.customProperties.spacingS, ";transition:border-color ", designSystem.customProperties.transitionStandard, ",background-color ", designSystem.customProperties.transitionStandard, ",color ", designSystem.customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;cursor:inherit;" + ("" ), "" );
|
|
84
|
-
}, "" );
|
|
76
|
+
} )("white-space:nowrap;flex:0;color:", designSystem.designTokens.fontColorForInputWhenDisabled, ";line-height:calc(\n ", designSystem.designTokens.sizeHeightInput, " - 2 * ", designSystem.designTokens.borderRadius1, "\n );background-color:", designSystem.designTokens.backgroundColorForInputWhenDisabled, ";border-top-left-radius:", designSystem.designTokens.borderRadiusForInput, ";border-bottom-left-radius:", designSystem.designTokens.borderRadiusForInput, ";border:1px ", designSystem.designTokens.borderColorForInputWhenDisabled, " solid;padding:0 ", designSystem.designTokens.spacingS, ";transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ",color ", designSystem.designTokens.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;cursor:inherit;" + ("" ));
|
|
85
77
|
|
|
86
78
|
var EditorWrapper = /*#__PURE__*/_styled__default["default"]("div", {
|
|
87
79
|
target: "ew063c1"
|
|
@@ -141,27 +133,27 @@ var _ref$1 = {
|
|
|
141
133
|
styles: "flex:auto;width:0;border-top-left-radius:0;border-bottom-left-radius:0"
|
|
142
134
|
} ;
|
|
143
135
|
|
|
144
|
-
var Editor = /*#__PURE__*/react
|
|
136
|
+
var Editor = /*#__PURE__*/react.forwardRef(function (props, forwardedRef) {
|
|
145
137
|
var intl = reactIntl.useIntl();
|
|
146
|
-
var ref = react
|
|
138
|
+
var ref = react.useRef();
|
|
147
139
|
var createEditorWithPlugins = pipe__default["default"](slateReact.withReact, slateHistory.withHistory); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
148
140
|
|
|
149
|
-
var editor = react
|
|
141
|
+
var editor = react.useMemo(function () {
|
|
150
142
|
return createEditorWithPlugins(slate.createEditor());
|
|
151
143
|
}, []);
|
|
152
144
|
|
|
153
145
|
if (props.showExpandIcon) ;
|
|
154
146
|
|
|
155
|
-
var _useState = react
|
|
147
|
+
var _useState = react.useState(false),
|
|
156
148
|
_useState2 = _slicedToArray(_useState, 2),
|
|
157
149
|
renderToggleButton = _useState2[0],
|
|
158
150
|
setRenderToggleButton = _useState2[1];
|
|
159
151
|
|
|
160
152
|
var toggleLanguage = props.toggleLanguage;
|
|
161
|
-
var onToggle = react
|
|
153
|
+
var onToggle = react.useCallback(function () {
|
|
162
154
|
toggleLanguage(props.language);
|
|
163
155
|
}, [toggleLanguage, props.language]);
|
|
164
|
-
var updateRenderToggleButton = react
|
|
156
|
+
var updateRenderToggleButton = react.useCallback(function () {
|
|
165
157
|
var _ref$current;
|
|
166
158
|
|
|
167
159
|
var doesExceedCollapsedHeightLimit = Number((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.clientHeight) > COLLAPSED_HEIGHT;
|
|
@@ -174,39 +166,38 @@ var Editor = /*#__PURE__*/react$1.forwardRef(function (props, forwardedRef) {
|
|
|
174
166
|
setRenderToggleButton(false);
|
|
175
167
|
}
|
|
176
168
|
}, [setRenderToggleButton, renderToggleButton]);
|
|
177
|
-
react
|
|
169
|
+
react.useEffect(function () {
|
|
178
170
|
updateRenderToggleButton();
|
|
179
171
|
}, [editor, updateRenderToggleButton]); // resetting
|
|
180
172
|
|
|
181
|
-
var resetValue = react
|
|
173
|
+
var resetValue = react.useCallback(function (newValue) {
|
|
182
174
|
var _newValue$props$langu;
|
|
183
175
|
|
|
184
176
|
var newStringValue = typeof newValue === 'string' ? newValue : (_newValue$props$langu = newValue === null || newValue === void 0 ? void 0 : newValue[props.language]) !== null && _newValue$props$langu !== void 0 ? _newValue$props$langu : '';
|
|
185
177
|
richTextUtils.resetEditor(editor, newStringValue);
|
|
186
178
|
}, [editor, props.language]);
|
|
187
|
-
/*
|
|
179
|
+
/*
|
|
188
180
|
Resetting the editor requires access to `editor` object returned from `useSlate` hook.
|
|
189
|
-
Therefore, `reset` function is attached to the passed `ref` object via `useImperativeHandle`
|
|
190
|
-
to be called from the parent component.
|
|
181
|
+
Therefore, `reset` function is attached to the passed `ref` object via `useImperativeHandle`
|
|
182
|
+
to be called from the parent component.
|
|
191
183
|
e.g. <button onMouseDown={() => ref.current?.resetValue("<p><strong>Value after reset</strong></p>")}>Reset</button>
|
|
192
184
|
*/
|
|
193
185
|
|
|
194
|
-
react
|
|
186
|
+
react.useImperativeHandle(forwardedRef, function () {
|
|
195
187
|
return {
|
|
196
188
|
resetValue: resetValue
|
|
197
189
|
};
|
|
198
190
|
});
|
|
199
191
|
var shouldToggleButtonTakeSpace =
|
|
200
|
-
/*
|
|
192
|
+
/*
|
|
201
193
|
- if hasLanguagesControl and there are no errors/warnings to display
|
|
202
194
|
- then the toggleButton is absolutely positioned
|
|
203
195
|
This is because the toggle button is placed next to the LocalizedInputToggle without being siblings in the DOM.
|
|
204
196
|
If there is a error or warning showing,
|
|
205
197
|
then it can be placed statically because it will then be a sibling to the error/warning message
|
|
206
|
-
and LocalizedInputToggle is placed below the errors/warnings.
|
|
198
|
+
and LocalizedInputToggle is placed below the errors/warnings.
|
|
207
199
|
*/
|
|
208
200
|
renderToggleButton && !props.hasLanguagesControl || props.error || props.warning;
|
|
209
|
-
var theme = react.useTheme();
|
|
210
201
|
return jsxRuntime.jsx(CollapsibleMotion__default["default"], {
|
|
211
202
|
minHeight: COLLAPSED_HEIGHT,
|
|
212
203
|
isClosed: !props.isOpen,
|
|
@@ -232,7 +223,6 @@ var Editor = /*#__PURE__*/react$1.forwardRef(function (props, forwardedRef) {
|
|
|
232
223
|
onChange: props.onChange,
|
|
233
224
|
children: [jsxRuntime.jsx(EditorLanguageLabel, {
|
|
234
225
|
htmlFor: props.id,
|
|
235
|
-
theme: theme,
|
|
236
226
|
children: jsxRuntime.jsx(Text__default["default"].Detail, {
|
|
237
227
|
tone: "secondary",
|
|
238
228
|
children: props.language.toUpperCase()
|
|
@@ -298,7 +288,7 @@ var Editor = /*#__PURE__*/react$1.forwardRef(function (props, forwardedRef) {
|
|
|
298
288
|
// does the trick.
|
|
299
289
|
// TODO: revisit the logic and the implementation to maybe avoid having to apply this style.
|
|
300
290
|
, {
|
|
301
|
-
css: /*#__PURE__*/react.css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + ("" ), "" ),
|
|
291
|
+
css: /*#__PURE__*/react$1.css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + ("" ), "" ),
|
|
302
292
|
children: [function () {
|
|
303
293
|
if (props.error) return jsxRuntime.jsx(LeftColumn, {
|
|
304
294
|
children: jsxRuntime.jsx("div", {
|
|
@@ -313,7 +303,7 @@ var Editor = /*#__PURE__*/react$1.forwardRef(function (props, forwardedRef) {
|
|
|
313
303
|
return null;
|
|
314
304
|
}(), renderToggleButton && jsxRuntime.jsx(RightColumn, {
|
|
315
305
|
children: jsxRuntime.jsx(ToggleButtonWrapper, {
|
|
316
|
-
css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/react.css("position:absolute;top:0;right:0;margin-top:", designSystem.
|
|
306
|
+
css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/react$1.css("position:absolute;top:0;right:0;margin-top:", designSystem.designTokens.spacingXs, ";" + ("" ), "" ), "" , "" ],
|
|
317
307
|
children: jsxRuntime.jsx(FlatButton__default["default"], {
|
|
318
308
|
onClick: toggle,
|
|
319
309
|
label: intl.formatMessage(isOpen ? inputUtils.messagesMultilineInput.collapse : inputUtils.messagesMultilineInput.expand),
|
|
@@ -432,7 +422,7 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
|
|
|
432
422
|
}]);
|
|
433
423
|
|
|
434
424
|
return RichTextInput;
|
|
435
|
-
}(react
|
|
425
|
+
}(react.PureComponent);
|
|
436
426
|
|
|
437
427
|
RichTextInput.defaultProps = {
|
|
438
428
|
defaultExpandMultilineText: false,
|
|
@@ -440,7 +430,7 @@ RichTextInput.defaultProps = {
|
|
|
440
430
|
};
|
|
441
431
|
RichTextInput.displayName = 'RichTextInput';
|
|
442
432
|
RichTextInput.propTypes = {};
|
|
443
|
-
var RichTextInputWithRef = /*#__PURE__*/react
|
|
433
|
+
var RichTextInputWithRef = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
444
434
|
return jsxRuntime.jsx(RichTextInput, _objectSpread$2({
|
|
445
435
|
parentRef: ref
|
|
446
436
|
}, props));
|
|
@@ -501,7 +491,7 @@ var _ref = {
|
|
|
501
491
|
styles: "align-self:flex-start"
|
|
502
492
|
} ;
|
|
503
493
|
|
|
504
|
-
var LocalizedRichTextInput = /*#__PURE__*/react
|
|
494
|
+
var LocalizedRichTextInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
|
|
505
495
|
var _context2;
|
|
506
496
|
|
|
507
497
|
if (!props.isReadOnly) ;
|
|
@@ -514,7 +504,7 @@ var LocalizedRichTextInput = /*#__PURE__*/react$1.forwardRef(function (props, re
|
|
|
514
504
|
return _objectSpread(_defineProperty({}, locale, Boolean(props.defaultExpandMultilineText)), translations);
|
|
515
505
|
}, {});
|
|
516
506
|
|
|
517
|
-
var _useReducer = react
|
|
507
|
+
var _useReducer = react.useReducer(expandedTranslationsReducer, initialExpandedTranslationsState),
|
|
518
508
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
519
509
|
expandedTranslationsState = _useReducer2[0],
|
|
520
510
|
expandedTranslationsDispatch = _useReducer2[1];
|
|
@@ -526,13 +516,13 @@ var LocalizedRichTextInput = /*#__PURE__*/react$1.forwardRef(function (props, re
|
|
|
526
516
|
areLanguagesOpened = _useToggleState2[0],
|
|
527
517
|
toggleLanguages = _useToggleState2[1];
|
|
528
518
|
|
|
529
|
-
var toggleLanguage = react
|
|
519
|
+
var toggleLanguage = react.useCallback(function (language) {
|
|
530
520
|
expandedTranslationsDispatch({
|
|
531
521
|
type: 'toggle',
|
|
532
522
|
payload: language
|
|
533
523
|
});
|
|
534
524
|
}, [expandedTranslationsDispatch]);
|
|
535
|
-
var createChangeHandler = react
|
|
525
|
+
var createChangeHandler = react.useCallback(function (language) {
|
|
536
526
|
return function (state) {
|
|
537
527
|
var _props$onChange, _context3, _context4;
|
|
538
528
|
|
|
@@ -559,15 +549,15 @@ var LocalizedRichTextInput = /*#__PURE__*/react$1.forwardRef(function (props, re
|
|
|
559
549
|
}
|
|
560
550
|
}
|
|
561
551
|
|
|
562
|
-
var langRefs = react
|
|
563
|
-
var resetValue = react
|
|
552
|
+
var langRefs = react.useRef(new _Map__default["default"]());
|
|
553
|
+
var resetValue = react.useCallback(function (newValue) {
|
|
564
554
|
var _context5;
|
|
565
555
|
|
|
566
556
|
_forEachInstanceProperty__default["default"](_context5 = langRefs.current).call(_context5, function (langRef) {
|
|
567
557
|
langRef.resetValue(newValue);
|
|
568
558
|
});
|
|
569
559
|
}, []);
|
|
570
|
-
react
|
|
560
|
+
react.useImperativeHandle(ref, function () {
|
|
571
561
|
return {
|
|
572
562
|
resetValue: resetValue
|
|
573
563
|
};
|
|
@@ -583,7 +573,7 @@ var LocalizedRichTextInput = /*#__PURE__*/react$1.forwardRef(function (props, re
|
|
|
583
573
|
if (!isFirstLanguage && !areLanguagesOpened) return null;
|
|
584
574
|
var isLastLanguage = index === languages.length - 1;
|
|
585
575
|
var hasLanguagesControl = isFirstLanguage && !areLanguagesOpened || isLastLanguage;
|
|
586
|
-
return react.createElement(RichTextInput$1, _objectSpread(_objectSpread({}, utils.filterDataAttributes(props)), {}, {
|
|
576
|
+
return react$1.createElement(RichTextInput$1, _objectSpread(_objectSpread({}, utils.filterDataAttributes(props)), {}, {
|
|
587
577
|
key: language,
|
|
588
578
|
id: localizedUtils.getId(props.id, language),
|
|
589
579
|
name: localizedUtils.getName(props.name, language),
|
|
@@ -634,7 +624,7 @@ LocalizedRichTextInput.isTouched = localizedUtils.isTouched;
|
|
|
634
624
|
var LocalizedRichTextInput$1 = LocalizedRichTextInput;
|
|
635
625
|
|
|
636
626
|
// NOTE: This string will be replaced on build time with the package version.
|
|
637
|
-
var version = "15.
|
|
627
|
+
var version = "15.3.0";
|
|
638
628
|
|
|
639
629
|
exports["default"] = LocalizedRichTextInput$1;
|
|
640
630
|
exports.version = version;
|