@elice/material-survey 1.240716.0 → 1.240718.0-trasncript.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.
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { EliceWysiwygEditorProps } from '@elice/wysiwyg';
3
+ export declare const MarkdownEditor: ({ value, onChange, ...props }: EliceWysiwygEditorProps) => React.JSX.Element;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var reactUse = require('react-use');
6
+ var wysiwyg = require('@elice/wysiwyg');
7
+
8
+ const STATE_SYNC_DEBOUNCE_TIME = 50;
9
+ const MarkdownEditor = _a => {
10
+ var {
11
+ value,
12
+ onChange
13
+ } = _a,
14
+ props = tslib.__rest(_a, ["value", "onChange"]);
15
+ const [__value, __setValue] = React.useState(value);
16
+ reactUse.useDebounce(() => __setValue(value), STATE_SYNC_DEBOUNCE_TIME, [value]);
17
+ reactUse.useDebounce(() => {
18
+ if (__value !== value && typeof onChange === 'function') {
19
+ onChange(__value !== null && __value !== void 0 ? __value : '');
20
+ }
21
+ }, STATE_SYNC_DEBOUNCE_TIME, [__value]);
22
+ return React.createElement(wysiwyg.EliceWysiwygEditor, Object.assign({
23
+ value: value,
24
+ onChange: __setValue
25
+ }, props));
26
+ };
27
+
28
+ exports.MarkdownEditor = MarkdownEditor;
@@ -7,8 +7,8 @@ var reactHookForm = require('react-hook-form');
7
7
  var blocks = require('@elice/blocks');
8
8
  var intl = require('@elice/intl');
9
9
  var types = require('@elice/types');
10
- var wysiwyg = require('@elice/wysiwyg');
11
10
  var styled = require('styled-components');
11
+ var index = require('../markdown-editor/index.js');
12
12
  var randomId = require('./utils/randomId.js');
13
13
  var context = require('./context.js');
14
14
  var MaterialSurveyEditOptionSelect = require('./MaterialSurveyEditOptionSelect.js');
@@ -154,7 +154,7 @@ const MaterialSurveyEditContent = () => {
154
154
  name: "questionInfoList.0.questionDescription",
155
155
  render: ({
156
156
  field
157
- }) => React.createElement(wysiwyg.EliceWysiwygEditor, Object.assign({
157
+ }) => React.createElement(index.MarkdownEditor, Object.assign({
158
158
  placeholder: intl$1.formatMessage({
159
159
  id: 'content.description.placeholder'
160
160
  }),
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { EliceWysiwygEditorProps } from '@elice/wysiwyg';
3
+ export declare const MarkdownEditor: ({ value, onChange, ...props }: EliceWysiwygEditorProps) => React.JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { __rest } from 'tslib';
2
+ import React from 'react';
3
+ import { useDebounce } from 'react-use';
4
+ import { EliceWysiwygEditor } from '@elice/wysiwyg';
5
+
6
+ const STATE_SYNC_DEBOUNCE_TIME = 50;
7
+ const MarkdownEditor = _a => {
8
+ var {
9
+ value,
10
+ onChange
11
+ } = _a,
12
+ props = __rest(_a, ["value", "onChange"]);
13
+ const [__value, __setValue] = React.useState(value);
14
+ useDebounce(() => __setValue(value), STATE_SYNC_DEBOUNCE_TIME, [value]);
15
+ useDebounce(() => {
16
+ if (__value !== value && typeof onChange === 'function') {
17
+ onChange(__value !== null && __value !== void 0 ? __value : '');
18
+ }
19
+ }, STATE_SYNC_DEBOUNCE_TIME, [__value]);
20
+ return React.createElement(EliceWysiwygEditor, Object.assign({
21
+ value: value,
22
+ onChange: __setValue
23
+ }, props));
24
+ };
25
+
26
+ export { MarkdownEditor };
@@ -3,8 +3,8 @@ import { useFormContext, Controller } from 'react-hook-form';
3
3
  import { FormInputVerticalLayout, Label, Input, Tooltip, Select, Vspace } from '@elice/blocks';
4
4
  import { useRawEliceIntl } from '@elice/intl';
5
5
  import { enums } from '@elice/types';
6
- import { EliceWysiwygEditor } from '@elice/wysiwyg';
7
6
  import styled from 'styled-components';
7
+ import { MarkdownEditor } from '../markdown-editor/index.js';
8
8
  import { createRandomId } from './utils/randomId.js';
9
9
  import { useMaterialSurveyEditContext } from './context.js';
10
10
  import OptionSelectOne from './MaterialSurveyEditOptionSelect.js';
@@ -150,7 +150,7 @@ const MaterialSurveyEditContent = () => {
150
150
  name: "questionInfoList.0.questionDescription",
151
151
  render: ({
152
152
  field
153
- }) => React.createElement(EliceWysiwygEditor, Object.assign({
153
+ }) => React.createElement(MarkdownEditor, Object.assign({
154
154
  placeholder: intl.formatMessage({
155
155
  id: 'content.description.placeholder'
156
156
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-survey",
3
- "version": "1.240716.0",
3
+ "version": "1.240718.0-trasncript.0",
4
4
  "description": "User view and editing components of Elice material survey",
5
5
  "repository": "https://git.elicer.io/elice/frontend/library/elice-material",
6
6
  "license": "UNLICENSED",
@@ -53,8 +53,8 @@
53
53
  "@elice/icons-legacy": "npm:@elice/icons@0.230814.0",
54
54
  "@elice/intl": "0.240425.0-rc.2",
55
55
  "@elice/markdown": "^1.220815.0",
56
- "@elice/material-shared-types": "1.240716.0",
57
- "@elice/material-shared-utils": "1.240716.0",
56
+ "@elice/material-shared-types": "1.240718.0-trasncript.0",
57
+ "@elice/material-shared-utils": "1.240718.0-trasncript.0",
58
58
  "@elice/types": "^1.240619.0",
59
59
  "@elice/wysiwyg": "1.240716.1",
60
60
  "@types/classnames": "^2.3.1",
@@ -65,5 +65,5 @@
65
65
  "react-use": "^17.2.4",
66
66
  "styled-components": "^5.3.0"
67
67
  },
68
- "gitHead": "824db30f6b6377305ae84358cdb33224af59d1f1"
68
+ "gitHead": "832dc77a5e38ff02e0bfec8905a3a9706b9b9593"
69
69
  }