@knovator/pagecreator-admin 0.5.7 → 0.5.9

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/index.cjs CHANGED
@@ -7,6 +7,7 @@ var fetchUrl = require('@knovator/api');
7
7
  var classNames = require('classnames');
8
8
  var ReactSelect = require('react-select/async');
9
9
  var reactHookForm = require('react-hook-form');
10
+ var JoditEditor = require('jodit-react');
10
11
  var reactBeautifulDnd = require('react-beautiful-dnd');
11
12
  var CSSTransition = require('react-transition-group/CSSTransition');
12
13
  var reactDropzone = require('react-dropzone');
@@ -19,6 +20,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
20
  var fetchUrl__default = /*#__PURE__*/_interopDefaultLegacy(fetchUrl);
20
21
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
21
22
  var ReactSelect__default = /*#__PURE__*/_interopDefaultLegacy(ReactSelect);
23
+ var JoditEditor__default = /*#__PURE__*/_interopDefaultLegacy(JoditEditor);
22
24
  var CSSTransition__default = /*#__PURE__*/_interopDefaultLegacy(CSSTransition);
23
25
 
24
26
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1710,7 +1712,7 @@ const TRANSLATION_PAIRS_WIDGET = {
1710
1712
  'widget.nameRequired': 'Name is required',
1711
1713
  'widget.widgetTitle': 'Widget Title',
1712
1714
  'widget.widgetTitlePlaceholder': 'Enter Widget Title',
1713
- 'widget.widgetTitleRequired': 'Section Widget is required',
1715
+ 'widget.widgetTitleRequired': 'Widget Title is required',
1714
1716
  'widget.itemsType': 'Items Type',
1715
1717
  'widget.itemsTypePlaceholder': 'Select Items Type',
1716
1718
  'widget.widgetType': 'Widget Type',
@@ -3471,11 +3473,38 @@ const SrcSet = ({
3471
3473
  }, error));
3472
3474
  };
3473
3475
 
3476
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3477
+ const App = ({
3478
+ label,
3479
+ wrapperClassName,
3480
+ required,
3481
+ value,
3482
+ error,
3483
+ onChange
3484
+ }) => {
3485
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3486
+ className: classNames__default["default"]('khb_input-wrapper', wrapperClassName)
3487
+ }, label && /*#__PURE__*/React__default["default"].createElement("label", {
3488
+ className: "khb_input-label"
3489
+ }, label, required ? /*#__PURE__*/React__default["default"].createElement("span", {
3490
+ className: "khb_input-label-required"
3491
+ }, "*") : null), /*#__PURE__*/React__default["default"].createElement(JoditEditor__default["default"], {
3492
+ value: value || '',
3493
+ config: {
3494
+ buttons: ['bold', 'italic', 'align', 'brush', 'undo', 'redo']
3495
+ },
3496
+ onBlur: newContent => onChange(newContent)
3497
+ }), error && /*#__PURE__*/React__default["default"].createElement("p", {
3498
+ className: "khb_input-error "
3499
+ }, error));
3500
+ };
3501
+
3474
3502
  var Input = Object.assign(Input$1, {
3475
3503
  Select,
3476
3504
  ReactSelect: CustomReactSelect,
3477
3505
  Checkbox,
3478
- SrcSet
3506
+ SrcSet,
3507
+ HTML: App
3479
3508
  });
3480
3509
 
3481
3510
  const PageSearch = () => {
@@ -3894,6 +3923,26 @@ const SimpleForm = /*#__PURE__*/React.forwardRef(({
3894
3923
  }
3895
3924
  });
3896
3925
  break;
3926
+ case 'html':
3927
+ input = /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
3928
+ control: control,
3929
+ name: schema.accessor,
3930
+ rules: schema.validations,
3931
+ render: ({
3932
+ field
3933
+ }) => {
3934
+ var _a, _b;
3935
+ return /*#__PURE__*/React__default["default"].createElement(Input.HTML, {
3936
+ label: schema.label,
3937
+ error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3938
+ onInput: schema.onInput,
3939
+ required: schema.required,
3940
+ value: field.value,
3941
+ onChange: field.onChange
3942
+ });
3943
+ }
3944
+ });
3945
+ break;
3897
3946
  case 'text':
3898
3947
  case 'number':
3899
3948
  case 'url':
@@ -7046,7 +7095,7 @@ const WidgetForm = ({
7046
7095
  label: `${t('widget.widgetTitle')}`,
7047
7096
  accessor: 'widgetTitle',
7048
7097
  required: true,
7049
- type: 'text',
7098
+ type: 'html',
7050
7099
  onInput: handleCapitalize,
7051
7100
  placeholder: t('widget.widgetTitlePlaceholder'),
7052
7101
  validations: {
package/index.css CHANGED
@@ -918,6 +918,9 @@ video {
918
918
  .uppercase {
919
919
  text-transform: uppercase;
920
920
  }
921
+ .italic {
922
+ font-style: italic;
923
+ }
921
924
  .leading-6 {
922
925
  line-height: 1.5rem;
923
926
  }
package/index.js CHANGED
@@ -3,6 +3,7 @@ import fetchUrl, { setAPIConfig } from '@knovator/api';
3
3
  import classNames from 'classnames';
4
4
  import ReactSelect from 'react-select/async';
5
5
  import { useFieldArray, useForm, Controller } from 'react-hook-form';
6
+ import JoditEditor from 'jodit-react';
6
7
  import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
7
8
  import CSSTransition from 'react-transition-group/CSSTransition';
8
9
  import { useDropzone } from 'react-dropzone';
@@ -1698,7 +1699,7 @@ const TRANSLATION_PAIRS_WIDGET = {
1698
1699
  'widget.nameRequired': 'Name is required',
1699
1700
  'widget.widgetTitle': 'Widget Title',
1700
1701
  'widget.widgetTitlePlaceholder': 'Enter Widget Title',
1701
- 'widget.widgetTitleRequired': 'Section Widget is required',
1702
+ 'widget.widgetTitleRequired': 'Widget Title is required',
1702
1703
  'widget.itemsType': 'Items Type',
1703
1704
  'widget.itemsTypePlaceholder': 'Select Items Type',
1704
1705
  'widget.widgetType': 'Widget Type',
@@ -3459,11 +3460,38 @@ const SrcSet = ({
3459
3460
  }, error));
3460
3461
  };
3461
3462
 
3463
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3464
+ const App = ({
3465
+ label,
3466
+ wrapperClassName,
3467
+ required,
3468
+ value,
3469
+ error,
3470
+ onChange
3471
+ }) => {
3472
+ return /*#__PURE__*/React.createElement("div", {
3473
+ className: classNames('khb_input-wrapper', wrapperClassName)
3474
+ }, label && /*#__PURE__*/React.createElement("label", {
3475
+ className: "khb_input-label"
3476
+ }, label, required ? /*#__PURE__*/React.createElement("span", {
3477
+ className: "khb_input-label-required"
3478
+ }, "*") : null), /*#__PURE__*/React.createElement(JoditEditor, {
3479
+ value: value || '',
3480
+ config: {
3481
+ buttons: ['bold', 'italic', 'align', 'brush', 'undo', 'redo']
3482
+ },
3483
+ onBlur: newContent => onChange(newContent)
3484
+ }), error && /*#__PURE__*/React.createElement("p", {
3485
+ className: "khb_input-error "
3486
+ }, error));
3487
+ };
3488
+
3462
3489
  var Input = Object.assign(Input$1, {
3463
3490
  Select,
3464
3491
  ReactSelect: CustomReactSelect,
3465
3492
  Checkbox,
3466
- SrcSet
3493
+ SrcSet,
3494
+ HTML: App
3467
3495
  });
3468
3496
 
3469
3497
  const PageSearch = () => {
@@ -3882,6 +3910,26 @@ const SimpleForm = /*#__PURE__*/forwardRef(({
3882
3910
  }
3883
3911
  });
3884
3912
  break;
3913
+ case 'html':
3914
+ input = /*#__PURE__*/React.createElement(Controller, {
3915
+ control: control,
3916
+ name: schema.accessor,
3917
+ rules: schema.validations,
3918
+ render: ({
3919
+ field
3920
+ }) => {
3921
+ var _a, _b;
3922
+ return /*#__PURE__*/React.createElement(Input.HTML, {
3923
+ label: schema.label,
3924
+ error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3925
+ onInput: schema.onInput,
3926
+ required: schema.required,
3927
+ value: field.value,
3928
+ onChange: field.onChange
3929
+ });
3930
+ }
3931
+ });
3932
+ break;
3885
3933
  case 'text':
3886
3934
  case 'number':
3887
3935
  case 'url':
@@ -7034,7 +7082,7 @@ const WidgetForm = ({
7034
7082
  label: `${t('widget.widgetTitle')}`,
7035
7083
  accessor: 'widgetTitle',
7036
7084
  required: true,
7037
- type: 'text',
7085
+ type: 'html',
7038
7086
  onInput: handleCapitalize,
7039
7087
  placeholder: t('widget.widgetTitlePlaceholder'),
7040
7088
  validations: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knovator/pagecreator-admin",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "dependencies": {
5
5
  "classnames": "^2.3.1",
6
6
  "react-beautiful-dnd": "^13.1.0",
@@ -9,7 +9,8 @@
9
9
  "react-dropzone": "^14.2.2",
10
10
  "react-select": "^5.4.0",
11
11
  "react-tabs": "^6.0.0",
12
- "react-tiny-popover": "^7.2.0"
12
+ "react-tiny-popover": "^7.2.0",
13
+ "jodit-react": "^1.3.32"
13
14
  },
14
15
  "peerDependencies": {
15
16
  "react": "^18 | ^17",
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { HTMLEditorProps } from '../../../types';
3
+ declare const App: ({ label, wrapperClassName, required, value, error, onChange, }: HTMLEditorProps) => JSX.Element;
4
+ export default App;
@@ -3,10 +3,12 @@ import Checkbox from "./Checkbox";
3
3
  import Select from "./Select";
4
4
  import ReactSelect from "./ReactSelect";
5
5
  import SrcSet from './SrcSet';
6
- declare const _default: (({ label, id, placeholder, type, size, required, error, className, disabled, rest, onInput, onBlur, value, onChange, wrapperClassName, }: import("../../../types").InputProps) => JSX.Element) & {
6
+ import HTMLEditor from './HTMLEditor';
7
+ declare const _default: (({ label, id, placeholder, type, size, required, error, className, disabled, rest, onInput, onBlur, value, info, onChange, wrapperClassName, }: import("../../../types").InputProps) => JSX.Element) & {
7
8
  Select: typeof Select;
8
9
  ReactSelect: typeof ReactSelect;
9
10
  Checkbox: typeof Checkbox;
10
11
  SrcSet: typeof SrcSet;
12
+ HTML: typeof HTMLEditor;
11
13
  };
12
14
  export default _default;
@@ -53,6 +53,17 @@ export interface InputProps {
53
53
  register?: any;
54
54
  info?: string;
55
55
  }
56
+ export interface HTMLEditorProps {
57
+ id?: string;
58
+ label?: string;
59
+ placeholder?: string;
60
+ value?: string;
61
+ wrapperClassName?: string;
62
+ onChange: (value: string) => void;
63
+ onInput?: (e: any) => void;
64
+ required?: boolean;
65
+ error?: string;
66
+ }
56
67
  export interface CheckboxProps {
57
68
  rest?: any;
58
69
  label?: string;
@@ -146,7 +157,7 @@ export interface SchemaType extends ReactSelectProps {
146
157
  validations?: RegisterOptions;
147
158
  editable?: boolean;
148
159
  onInput?: (e: React.ChangeEvent<HTMLInputElement>) => void;
149
- type?: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'file' | 'url' | 'ReactSelect' | 'srcset' | 'color';
160
+ type?: 'text' | 'number' | 'select' | 'checkbox' | 'textarea' | 'file' | 'url' | 'ReactSelect' | 'srcset' | 'color' | 'html';
150
161
  options?: {
151
162
  value: string;
152
163
  label: string;