@synerise/ds-code-area 0.3.1 → 0.3.2

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 CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.3.2](https://github.com/Synerise/synerise-design/compare/@synerise/ds-code-area@0.3.1...@synerise/ds-code-area@0.3.2) (2024-11-28)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-code-area
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.3.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-code-area@0.3.0...@synerise/ds-code-area@0.3.1) (2024-11-21)
7
15
 
8
16
 
package/dist/CodeArea.js CHANGED
@@ -1,40 +1,31 @@
1
1
  var _excluded = ["getPopupContainer", "onFullscreenChange"];
2
-
3
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
-
5
3
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
-
7
4
  import React, { useRef, useState } from 'react';
8
5
  import { createPortal } from 'react-dom';
9
6
  import { getPopupContainer as defaultGetPopupContainer } from '@synerise/ds-utils';
10
7
  import { CodeAreaEditor } from './components';
11
-
12
8
  var CodeArea = function CodeArea(_ref) {
13
9
  var _ref$getPopupContaine = _ref.getPopupContainer,
14
- getPopupContainer = _ref$getPopupContaine === void 0 ? defaultGetPopupContainer : _ref$getPopupContaine,
15
- onFullscreenChange = _ref.onFullscreenChange,
16
- codeAreaProps = _objectWithoutPropertiesLoose(_ref, _excluded);
17
-
10
+ getPopupContainer = _ref$getPopupContaine === void 0 ? defaultGetPopupContainer : _ref$getPopupContaine,
11
+ onFullscreenChange = _ref.onFullscreenChange,
12
+ codeAreaProps = _objectWithoutPropertiesLoose(_ref, _excluded);
18
13
  var wrapperRef = useRef(null);
19
-
20
14
  var _useState = useState(false),
21
- isFullscreen = _useState[0],
22
- setIsFullscreen = _useState[1];
23
-
15
+ isFullscreen = _useState[0],
16
+ setIsFullscreen = _useState[1];
24
17
  var toggleFullscreen = function toggleFullscreen() {
25
18
  setIsFullscreen(!isFullscreen);
26
19
  onFullscreenChange && onFullscreenChange(isFullscreen);
27
20
  };
28
-
29
21
  return /*#__PURE__*/React.createElement("div", {
30
22
  ref: wrapperRef
31
23
  }, /*#__PURE__*/React.createElement(CodeAreaEditor, _extends({}, codeAreaProps, {
32
24
  toggleFullscreen: toggleFullscreen,
33
25
  isFullscreen: false
34
- })), wrapperRef.current && isFullscreen && createPortal( /*#__PURE__*/React.createElement(CodeAreaEditor, _extends({}, codeAreaProps, {
26
+ })), wrapperRef.current && isFullscreen && createPortal(/*#__PURE__*/React.createElement(CodeAreaEditor, _extends({}, codeAreaProps, {
35
27
  toggleFullscreen: toggleFullscreen,
36
28
  isFullscreen: isFullscreen
37
29
  })), getPopupContainer(wrapperRef.current)));
38
30
  };
39
-
40
31
  export default CodeArea;
@@ -35,7 +35,6 @@ export var CodeAreaWrapper = styled.div.withConfig({
35
35
  if (props.isFullscreen) {
36
36
  return css(["position:fixed;width:100vw;height:100vh;z-index:", ";left:0;top:0;background:", ";", "{height:calc(100vh - ", "px);}", "{margin:0 24px;}"], props.zIndex !== undefined ? props.zIndex : props.theme.variables['zindex-modal'], props.theme.palette.white, EditorInnerWrapper, props.requiredSpace, CodeAreaContent);
37
37
  }
38
-
39
38
  return css(["margin-bottom:12px;"]);
40
39
  }, EditorWrapper, function (props) {
41
40
  return props.readOnly && css(["background:", ";.monaco-editor .cursors-layer > .cursor{display:none !important;}"], props.theme.palette['grey-050']);
@@ -4,10 +4,10 @@ import Icon, { FullScreenM } from '@synerise/ds-icon';
4
4
  import * as S from '../CodeArea.styles';
5
5
  export var BottomBar = function BottomBar(_ref) {
6
6
  var texts = _ref.texts,
7
- syntaxSelect = _ref.syntaxSelect,
8
- customFooterContent = _ref.customFooterContent,
9
- allowFullscreen = _ref.allowFullscreen,
10
- toggleFullscreen = _ref.toggleFullscreen;
7
+ syntaxSelect = _ref.syntaxSelect,
8
+ customFooterContent = _ref.customFooterContent,
9
+ allowFullscreen = _ref.allowFullscreen,
10
+ toggleFullscreen = _ref.toggleFullscreen;
11
11
  var fullscreenButton = allowFullscreen && /*#__PURE__*/React.createElement(Button, {
12
12
  type: "ghost",
13
13
  mode: "icon-label",
@@ -1,19 +1,11 @@
1
1
  var _excluded = ["label", "description", "counter", "errorText", "syntaxOptions", "currentSyntax", "allowFullscreen", "fullscreenLabel", "renderFooterContent", "renderAdditionalDescription", "tooltip", "tooltipProps", "style", "className", "texts", "onChange", "onSyntaxChange", "value", "readOnly", "isFullscreen", "toggleFullscreen", "zIndex"];
2
-
3
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
-
5
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
-
7
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
-
9
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
-
11
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
-
13
7
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
-
15
8
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
-
17
9
  import React, { useState, useMemo, useRef, useEffect } from 'react';
18
10
  import MonacoEditor from 'react-monaco-editor';
19
11
  import { InlineSelect } from '@synerise/ds-inline-edit';
@@ -25,57 +17,50 @@ import { getDefaultTexts, getCharCount, calculateRequiredSpace } from '../utils'
25
17
  import { MONACO_DEFAULT_OPTIONS, TRIGGER_SOURCE, DS_MONACO_THEME, DS_MONACO_THEME_NAME } from '../constants';
26
18
  export var CodeAreaEditor = function CodeAreaEditor(_ref) {
27
19
  var label = _ref.label,
28
- description = _ref.description,
29
- counter = _ref.counter,
30
- errorText = _ref.errorText,
31
- syntaxOptions = _ref.syntaxOptions,
32
- currentSyntax = _ref.currentSyntax,
33
- allowFullscreen = _ref.allowFullscreen,
34
- fullscreenLabel = _ref.fullscreenLabel,
35
- renderFooterContent = _ref.renderFooterContent,
36
- renderAdditionalDescription = _ref.renderAdditionalDescription,
37
- tooltip = _ref.tooltip,
38
- tooltipProps = _ref.tooltipProps,
39
- style = _ref.style,
40
- className = _ref.className,
41
- texts = _ref.texts,
42
- onChange = _ref.onChange,
43
- onSyntaxChange = _ref.onSyntaxChange,
44
- value = _ref.value,
45
- readOnly = _ref.readOnly,
46
- isFullscreen = _ref.isFullscreen,
47
- toggleFullscreen = _ref.toggleFullscreen,
48
- zIndex = _ref.zIndex,
49
- monacoProps = _objectWithoutPropertiesLoose(_ref, _excluded);
50
-
20
+ description = _ref.description,
21
+ counter = _ref.counter,
22
+ errorText = _ref.errorText,
23
+ syntaxOptions = _ref.syntaxOptions,
24
+ currentSyntax = _ref.currentSyntax,
25
+ allowFullscreen = _ref.allowFullscreen,
26
+ fullscreenLabel = _ref.fullscreenLabel,
27
+ renderFooterContent = _ref.renderFooterContent,
28
+ renderAdditionalDescription = _ref.renderAdditionalDescription,
29
+ tooltip = _ref.tooltip,
30
+ tooltipProps = _ref.tooltipProps,
31
+ style = _ref.style,
32
+ className = _ref.className,
33
+ texts = _ref.texts,
34
+ onChange = _ref.onChange,
35
+ onSyntaxChange = _ref.onSyntaxChange,
36
+ value = _ref.value,
37
+ readOnly = _ref.readOnly,
38
+ isFullscreen = _ref.isFullscreen,
39
+ toggleFullscreen = _ref.toggleFullscreen,
40
+ zIndex = _ref.zIndex,
41
+ monacoProps = _objectWithoutPropertiesLoose(_ref, _excluded);
51
42
  var _useState = useState(true),
52
- isValid = _useState[0],
53
- setIsValid = _useState[1];
54
-
43
+ isValid = _useState[0],
44
+ setIsValid = _useState[1];
55
45
  var editorRef = useRef(null);
56
46
  var monacoRef = useRef(null);
57
47
  var wrapperRef = useRef(null);
58
48
  var contentBelowRef = useRef(null);
59
-
60
49
  var _useResizeObserver = useResizeObserver(wrapperRef),
61
- height = _useResizeObserver.height,
62
- width = _useResizeObserver.width;
63
-
50
+ height = _useResizeObserver.height,
51
+ width = _useResizeObserver.width;
64
52
  var _useResizeObserver2 = useResizeObserver(contentBelowRef),
65
- contentBelowHeight = _useResizeObserver2.height;
66
-
53
+ contentBelowHeight = _useResizeObserver2.height;
67
54
  var counterLimit = counter == null ? void 0 : counter.limit;
68
55
  var count = getCharCount(value, counterLimit);
69
56
  var allTexts = getDefaultTexts(texts);
70
57
  var editorWillMount = monacoProps.editorWillMount,
71
- editorDidMount = monacoProps.editorDidMount,
72
- options = monacoProps.options;
73
-
58
+ editorDidMount = monacoProps.editorDidMount,
59
+ options = monacoProps.options;
74
60
  var combinedOptions = _objectSpread({}, MONACO_DEFAULT_OPTIONS, {}, options, {
75
61
  readOnly: readOnly,
76
62
  domReadOnly: readOnly
77
63
  });
78
-
79
64
  var handleEditorWillMount = function handleEditorWillMount(monacoInstance) {
80
65
  monacoRef.current = monacoInstance;
81
66
  monacoInstance.editor.defineTheme(DS_MONACO_THEME_NAME, DS_MONACO_THEME);
@@ -86,25 +71,20 @@ export var CodeAreaEditor = function CodeAreaEditor(_ref) {
86
71
  });
87
72
  editorWillMount && editorWillMount(monacoInstance);
88
73
  };
89
-
90
74
  var handleEditorDidMount = function handleEditorDidMount(editor, monacoInstance) {
91
75
  editorRef.current = editor;
92
76
  editorDidMount && editorDidMount(editor, monacoInstance);
93
77
  };
94
-
95
78
  var handleChange = function handleChange(newValue, event) {
96
79
  if (counterLimit && newValue.length > counterLimit) {
97
80
  editorRef.current && editorRef.current.trigger(TRIGGER_SOURCE, 'undo', null);
98
81
  return;
99
82
  }
100
-
101
83
  if (editorRef.current) {
102
84
  editorRef.current.pushUndoStop();
103
85
  }
104
-
105
86
  onChange && onChange(newValue, event);
106
87
  };
107
-
108
88
  var labelWithTooltip = label && /*#__PURE__*/React.createElement(Label, {
109
89
  label: label,
110
90
  tooltip: tooltip,
@@ -113,46 +93,41 @@ export var CodeAreaEditor = function CodeAreaEditor(_ref) {
113
93
  title: tooltip
114
94
  })
115
95
  });
116
-
117
96
  var renderCounter = function renderCounter(placement) {
118
97
  return counterLimit && (!placement || (counter == null ? void 0 : counter.placement) === placement) && /*#__PURE__*/React.createElement(S.Counter, null, count, " / ", counter.limit);
119
98
  };
120
-
121
99
  useEffect(function () {
122
100
  setIsValid(!errorText);
123
101
  }, [errorText]);
124
102
  useEffect(function () {
125
103
  if (editorRef.current) {
126
104
  var _editorRef$current, _monacoRef$current;
127
-
128
- var currentModel = (_editorRef$current = editorRef.current) == null ? void 0 : _editorRef$current.getModel(); // eslint-disable-next-line no-unused-expressions
129
-
105
+ var currentModel = (_editorRef$current = editorRef.current) == null ? void 0 : _editorRef$current.getModel();
106
+ // eslint-disable-next-line no-unused-expressions
130
107
  currentModel && ((_monacoRef$current = monacoRef.current) == null ? void 0 : _monacoRef$current.editor.setModelLanguage(currentModel, currentSyntax));
131
108
  }
132
109
  }, [currentSyntax]);
133
-
134
110
  var _useMemo = useMemo(function () {
135
- var source = syntaxOptions == null ? void 0 : syntaxOptions.map(function (item) {
136
- var itemLabel = item.label,
111
+ var source = syntaxOptions == null ? void 0 : syntaxOptions.map(function (item) {
112
+ var itemLabel = item.label,
137
113
  language = item.language;
114
+ return {
115
+ key: language,
116
+ text: itemLabel || language
117
+ };
118
+ });
119
+ var currentItem = syntaxOptions == null ? void 0 : syntaxOptions.find(function (item) {
120
+ return item.language === currentSyntax;
121
+ });
138
122
  return {
139
- key: language,
140
- text: itemLabel || language
123
+ syntaxDataSource: source,
124
+ currentSyntaxItem: currentItem || {
125
+ language: currentSyntax
126
+ }
141
127
  };
142
- });
143
- var currentItem = syntaxOptions == null ? void 0 : syntaxOptions.find(function (item) {
144
- return item.language === currentSyntax;
145
- });
146
- return {
147
- syntaxDataSource: source,
148
- currentSyntaxItem: currentItem || {
149
- language: currentSyntax
150
- }
151
- };
152
- }, [currentSyntax, syntaxOptions]),
153
- syntaxDataSource = _useMemo.syntaxDataSource,
154
- currentSyntaxItem = _useMemo.currentSyntaxItem;
155
-
128
+ }, [currentSyntax, syntaxOptions]),
129
+ syntaxDataSource = _useMemo.syntaxDataSource,
130
+ currentSyntaxItem = _useMemo.currentSyntaxItem;
156
131
  var syntaxSelect = useMemo(function () {
157
132
  return syntaxDataSource && syntaxDataSource.length > 1 && !readOnly ? /*#__PURE__*/React.createElement(InlineSelect, {
158
133
  size: "small",
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import * as S from '../CodeArea.styles';
3
3
  export var ContentAbove = function ContentAbove(_ref) {
4
4
  var label = _ref.label,
5
- counter = _ref.counter;
5
+ counter = _ref.counter;
6
6
  return /*#__PURE__*/React.createElement(S.ContentAbove, null, label && /*#__PURE__*/React.createElement(S.LeftSide, {
7
7
  "data-testid": "code-area-label"
8
8
  }, label), counter && /*#__PURE__*/React.createElement(S.RightSide, {
@@ -2,9 +2,9 @@ import React, { forwardRef } from 'react';
2
2
  import * as S from '../CodeArea.styles';
3
3
  export var ContentBelow = forwardRef(function (_ref, ref) {
4
4
  var description = _ref.description,
5
- additionalDescription = _ref.additionalDescription,
6
- errorText = _ref.errorText,
7
- counter = _ref.counter;
5
+ additionalDescription = _ref.additionalDescription,
6
+ errorText = _ref.errorText,
7
+ counter = _ref.counter;
8
8
  return /*#__PURE__*/React.createElement(S.ContentBelow, {
9
9
  "data-testid": "code-area-below",
10
10
  ref: ref
@@ -4,8 +4,8 @@ import Icon, { CloseM, CodeTerminalM } from '@synerise/ds-icon';
4
4
  import * as S from '../CodeArea.styles';
5
5
  export var FullscreenHeader = function FullscreenHeader(_ref) {
6
6
  var label = _ref.label,
7
- texts = _ref.texts,
8
- onClick = _ref.onClick;
7
+ texts = _ref.texts,
8
+ onClick = _ref.onClick;
9
9
  return /*#__PURE__*/React.createElement(S.FullscreenHeader, null, /*#__PURE__*/React.createElement(S.LeftSide, null, /*#__PURE__*/React.createElement(S.FullscreenHeaderTitle, {
10
10
  level: 3
11
11
  }, /*#__PURE__*/React.createElement(Icon, {
@@ -1,13 +1,8 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
-
9
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
-
11
6
  import React from 'react';
12
7
  import { FormattedMessage } from 'react-intl';
13
8
  export var getDefaultTexts = function getDefaultTexts(texts) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-code-area",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "CodeArea UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -34,13 +34,13 @@
34
34
  ],
35
35
  "types": "dist/index.d.ts",
36
36
  "dependencies": {
37
- "@synerise/ds-button": "^0.21.19",
37
+ "@synerise/ds-button": "^0.21.20",
38
38
  "@synerise/ds-core": "^0.42.1",
39
- "@synerise/ds-icon": "^0.67.0",
40
- "@synerise/ds-inline-edit": "^0.9.1",
41
- "@synerise/ds-input": "^0.24.14",
42
- "@synerise/ds-tooltip": "^0.14.49",
43
- "@synerise/ds-typography": "^0.16.6",
39
+ "@synerise/ds-icon": "^0.67.1",
40
+ "@synerise/ds-inline-edit": "^0.9.2",
41
+ "@synerise/ds-input": "^0.24.15",
42
+ "@synerise/ds-tooltip": "^0.14.50",
43
+ "@synerise/ds-typography": "^0.16.7",
44
44
  "@synerise/ds-utils": "^0.31.2",
45
45
  "monaco-editor": "0.47.0",
46
46
  "react-monaco-editor": "^0.55.0"
@@ -52,5 +52,5 @@
52
52
  "react-intl": ">=3.12.0 <= 6.8",
53
53
  "styled-components": "5.0.1"
54
54
  },
55
- "gitHead": "05f083c767e2cec3c2f91c9475aee89852a77d6c"
55
+ "gitHead": "4a56ee7ef816c22341ce704154dc7aa65b7d1dcc"
56
56
  }