infinity-forge 8.5.1 → 8.5.3
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/test/index.js +2 -181
- package/dist/test/index.js.map +1 -1
- package/dist/ui/components/form/text-editor/component.d.ts +10 -0
- package/dist/ui/components/form/text-editor/component.js +65 -0
- package/dist/ui/components/form/text-editor/component.js.map +1 -0
- package/dist/ui/components/form/text-editor/hook/index.d.ts +4 -0
- package/dist/ui/components/form/text-editor/hook/index.js +20 -0
- package/dist/ui/components/form/text-editor/hook/index.js.map +1 -0
- package/dist/ui/components/form/text-editor/index.d.ts +3 -5
- package/dist/ui/components/form/text-editor/index.js +5 -51
- package/dist/ui/components/form/text-editor/index.js.map +1 -1
- package/dist/ui/components/form/text-editor/quill.d.ts +21 -5
- package/dist/ui/components/form/text-editor/quill.js +126 -41
- package/dist/ui/components/form/text-editor/quill.js.map +1 -1
- package/package.json +1 -1
package/dist/test/index.js
CHANGED
|
@@ -4,186 +4,7 @@ exports.NaoRemoverDaHomeUsadaParaTesteTestarAquiDentro = NaoRemoverDaHomeUsadaPa
|
|
|
4
4
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
var ui_1 = require("../ui/index.js");
|
|
6
6
|
function NaoRemoverDaHomeUsadaParaTesteTestarAquiDentro() {
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
//1. Autocomplete
|
|
10
|
-
//2. button
|
|
11
|
-
//2.1.Que a estilização herda do buttonStyles que injetado na InfinityForgeProvider
|
|
12
|
-
//2.2 <Button /> herda os estados do formulário, como assim? Se o formulário estiver carregando já trata por trás do panos de fazer o efeito visual
|
|
13
|
-
//3.@DEFAULT = TRUE cleanFieldsOnSubmit={false} - É pra limpar os campos após o submit? Tem casos que você quer manter os dados no formulário
|
|
14
|
-
//4.CustomAction
|
|
15
|
-
{
|
|
16
|
-
/* <FormHandler
|
|
17
|
-
autoComplete='off'
|
|
18
|
-
button={{}}
|
|
19
|
-
cleanFieldsOnSubmit
|
|
20
|
-
customAction={{
|
|
21
|
-
Component: ({ values, setFieldValue, stateForm }) => {
|
|
22
|
-
|
|
23
|
-
if(stateForm.state === "loading") {
|
|
24
|
-
return <LoaderCircle />
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (values.name === 'Tiago') {
|
|
28
|
-
return <button onClick={() => {
|
|
29
|
-
setModal(true);
|
|
30
|
-
setFieldValue("genero", "masculino")
|
|
31
|
-
}}>Ação X</button>
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return <button>Ação Y</button>
|
|
35
|
-
},
|
|
36
|
-
}}
|
|
37
|
-
>
|
|
38
|
-
<Select name="genero" options={[{ label: "Masculino", value: "masculino" }]} />
|
|
39
|
-
</FormHandler> */
|
|
40
|
-
}
|
|
41
|
-
//5.Custom Submit
|
|
42
|
-
{
|
|
43
|
-
//Paciente
|
|
44
|
-
/* <FormHandler
|
|
45
|
-
button={{ text: 'Salvar dados do paciente' }}
|
|
46
|
-
initialData={{ genero: 'masculino' }}
|
|
47
|
-
cleanFieldsOnSubmit={false}
|
|
48
|
-
customSubmit={[
|
|
49
|
-
{
|
|
50
|
-
active: false, //habilita e desabilita o botão de submit customizado
|
|
51
|
-
action: async (data, setStateForm, initialValues, handlers) => {
|
|
52
|
-
if (data.genero === 'feminino' && initialValues.genero === 'masculino') {
|
|
53
|
-
throw new ValidationError({
|
|
54
|
-
validationErrors: { genero: { errors: ['Você não pode mudar o seu genero'] } },
|
|
55
|
-
})
|
|
56
|
-
} else {
|
|
57
|
-
setStateForm({ state: 'loading', message: '' })
|
|
58
|
-
|
|
59
|
-
await api({ url: '/mudargenero', method: 'post', body: data })
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
props: ({ state, message }, setFieldValue) => ({
|
|
63
|
-
text: state === 'loading' ? 'Carregando...' : 'Salvar dados e imprimir generos disponiveis',
|
|
64
|
-
loading: false,
|
|
65
|
-
onClick: () => setFieldValue(''),
|
|
66
|
-
disabled: message === 'desabilitar' ? true : false,
|
|
67
|
-
}),
|
|
68
|
-
},
|
|
69
|
-
]}
|
|
70
|
-
|
|
71
|
-
>
|
|
72
|
-
<Select
|
|
73
|
-
name='genero'
|
|
74
|
-
onlyOneValue
|
|
75
|
-
options={[
|
|
76
|
-
{ label: 'Masculino', value: 'masculino' },
|
|
77
|
-
{ label: 'feminino', value: 'feminino' },
|
|
78
|
-
{ label: 'Outros', value: 'outros' },
|
|
79
|
-
]}
|
|
80
|
-
/>
|
|
81
|
-
</FormHandler> */
|
|
82
|
-
}
|
|
83
|
-
//6. Decimal fields > baseado no name do campo ele vai tentar transformar a string para valor númerico
|
|
84
|
-
//7. Link pros validators que existem //Defaults schemaas destrinchar e talvez fazer subtópicos para eles
|
|
85
|
-
//8.Default schemas
|
|
86
|
-
// 8.1 No nosso defaultSchema possuimos uma série de validações padrões prontas para uso por exemplo:
|
|
87
|
-
// O campo phone utilizase da validação de um utilário chamado: <linK>ValidatePhone</linK> neste link você poder ver mais detalhes sobre a validação feita
|
|
88
|
-
//9.1 - disableEnterKeySubmitForm - vc avaliar como fica a melhor descrição, evitar que no enter dê submit por padrão é true
|
|
89
|
-
//10.
|
|
90
|
-
{
|
|
91
|
-
/* <FormHandler
|
|
92
|
-
onSucess={async (data) => {
|
|
93
|
-
console.log(data)
|
|
94
|
-
}}
|
|
95
|
-
button={{ text: 'Salvar dados do paciente' }}
|
|
96
|
-
i18n={{
|
|
97
|
-
schema: { name: yup.string().required('Campo requerido') },
|
|
98
|
-
RenderFields: ({ symbol }) => {
|
|
99
|
-
return (
|
|
100
|
-
<>
|
|
101
|
-
<Input name={`${symbol}.name`} />
|
|
102
|
-
</>
|
|
103
|
-
)
|
|
104
|
-
},
|
|
105
|
-
}}
|
|
106
|
-
></FormHandler> */
|
|
107
|
-
}
|
|
108
|
-
//11.InitialData que a chave tentara buscar um campo no formulário que de "match" para o campo começar com aquele valor
|
|
109
|
-
//12.isStickyButtons se o formulário possuir uma altura "fixa" a parte inferior das "ações" ficaram com position sticky ou seja acompanhando o formulário durante o seu preenchimento
|
|
110
|
-
//13.messageProvider={{ }}
|
|
111
|
-
//14. modifyInitialData={() => {}} ele irá modificar os dados iniciais que serão jogados pra dentro dos campos, o useTable, Atena muitas funcionalidade dentro do infinity-forge não possuem controle pleno do initialData por isso via função as vezes é necessário este controle
|
|
112
|
-
//15
|
|
113
|
-
{
|
|
114
|
-
/* <FormHandler
|
|
115
|
-
onSucess={async (data) => {
|
|
116
|
-
console.log(data)
|
|
117
|
-
}}
|
|
118
|
-
modifySchema={({ schema, data }) => {
|
|
119
|
-
let newSchema = schema
|
|
120
|
-
|
|
121
|
-
if (data.paymentMethod === 'PIX') {
|
|
122
|
-
newSchema = {
|
|
123
|
-
...newSchema,
|
|
124
|
-
cpf: yup.string().required('Campo requerido'),
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (data.paymentMethod === 'CREDIT_CARD') {
|
|
129
|
-
newSchema = {
|
|
130
|
-
...newSchema,
|
|
131
|
-
creditCardName: yup.string().required('Campo requerido'),
|
|
132
|
-
creditCardNumber: yup.string().required('Campo requerido'),
|
|
133
|
-
creditCardVV: yup.string().required('Campo requerido'),
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return newSchema
|
|
138
|
-
}}
|
|
139
|
-
>
|
|
140
|
-
<Input name='name' />
|
|
141
|
-
</FormHandler> */
|
|
142
|
-
}
|
|
143
|
-
//16.onChangeForm
|
|
144
|
-
// const [name, setName] = useState('')
|
|
145
|
-
// return (
|
|
146
|
-
// <>
|
|
147
|
-
// <button
|
|
148
|
-
// type='button'
|
|
149
|
-
// onClick={() => {
|
|
150
|
-
// setName('Roberto')
|
|
151
|
-
// }}
|
|
152
|
-
// >Roberto</button>
|
|
153
|
-
// <FormHandler
|
|
154
|
-
// onSucess={async (data) => {
|
|
155
|
-
// console.log(data)
|
|
156
|
-
// }}
|
|
157
|
-
// initialData={{ name }}
|
|
158
|
-
// decimalFields={["idade"]}
|
|
159
|
-
// onChangeForm={{
|
|
160
|
-
// callbackResult: (dataForm) => {
|
|
161
|
-
// setName(dataForm.name)
|
|
162
|
-
// if (name === 'Roberto' && dataForm.idade > 22) {
|
|
163
|
-
// window.alert('Não permitimos robertos no sistema.')
|
|
164
|
-
// }
|
|
165
|
-
// },
|
|
166
|
-
// additionalDependencies: [name], //Se remover a dependencia caso sete roberto no useState não poderá ser mais válidado pois não terá a dependencia
|
|
167
|
-
// }}
|
|
168
|
-
// >
|
|
169
|
-
// <Input name='name' />
|
|
170
|
-
// <Input name='idade' />
|
|
171
|
-
// </FormHandler>
|
|
172
|
-
// </>
|
|
173
|
-
// )
|
|
174
|
-
//17. O onFinish executa após a ação do onSucess e o legal é que ele possui o data que está vindo e os dados iniciais que foram recebidos no initialData
|
|
175
|
-
{
|
|
176
|
-
/* <FormHandler
|
|
177
|
-
onSucess={async (data) => {
|
|
178
|
-
//Criar usuário
|
|
179
|
-
}}
|
|
180
|
-
onFinish={(data) => {
|
|
181
|
-
// Logue o usuário
|
|
182
|
-
}}
|
|
183
|
-
>
|
|
184
|
-
<Input name='name' />
|
|
185
|
-
|
|
186
|
-
<Input name='idade' />
|
|
187
|
-
</FormHandler> */
|
|
7
|
+
var _a = (0, ui_1.useTextEditor)(), handleEditorReady = _a.handleEditorReady, handleInsert = _a.handleInsert;
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ui_1.FormHandler, { disableEnterKeySubmitForm: true, onChangeForm: { callbackResult: function (v) { return console.log(v); } }, children: (0, jsx_runtime_1.jsx)(ui_1.TextEditor, { name: "prontuario", onEditorReady: handleEditorReady }) }), (0, jsx_runtime_1.jsx)("div", { onClick: function () { return handleInsert("Medicamento 1"); }, children: "Medicamento 1" }), (0, jsx_runtime_1.jsx)("div", { onClick: function () { return handleInsert("Medicamento 2"); }, children: "Medicamento 2" })] }));
|
|
188
9
|
}
|
|
189
10
|
//# sourceMappingURL=index.js.map
|
package/dist/test/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.tsx"],"names":[],"mappings":";;AAKA,wGA0BC;;AA7BD,2BAA8D;AAG9D,SAAgB,8CAA8C;IAEtD,IAAA,KAAsC,IAAA,kBAAa,GAAE,EAAnD,iBAAiB,uBAAA,EAAE,YAAY,kBAAoB,CAAA;IAE3D,OAAO,CACL,6DACE,uBAAC,gBAAW,IAAC,yBAAyB,QAAC,YAAY,EAAE,EAAE,cAAc,EAAE,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAd,CAAc,EAAE,YAC1F,uBAAC,eAAU,IACT,IAAI,EAAC,YAAY,EACjB,aAAa,EAAE,iBAAiB,GAChC,GACU,EAEd,gCACE,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,eAAe,CAAC,EAA7B,CAA6B,8BAGxC,EAEN,gCACE,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,eAAe,CAAC,EAA7B,CAA6B,8BAGxC,IACL,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputProps } from '../interfaces.js';
|
|
2
|
+
import { EditorQuillHandle } from './quill.js';
|
|
3
|
+
export type TextEditorProps = {
|
|
4
|
+
disableToolbar?: boolean;
|
|
5
|
+
onEditorReady?: (insert: EditorQuillHandle['insertText']) => void;
|
|
6
|
+
} & Partial<InputProps>;
|
|
7
|
+
export declare const TextEditor: import("react").ForwardRefExoticComponent<{
|
|
8
|
+
disableToolbar?: boolean;
|
|
9
|
+
onEditorReady?: (insert: EditorQuillHandle["insertText"]) => void;
|
|
10
|
+
} & Partial<InputProps> & import("react").RefAttributes<EditorQuillHandle>>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.TextEditor = void 0;
|
|
51
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
52
|
+
var react_1 = require("react");
|
|
53
|
+
var formik_1 = require("formik");
|
|
54
|
+
var dynamic_1 = __importDefault(require("next/dynamic"));
|
|
55
|
+
var input_control_1 = require("../input-control/index.js");
|
|
56
|
+
var EditorQuill = (0, dynamic_1.default)(function () { return Promise.resolve().then(function () { return __importStar(require("./quill.js")); }).then(function (r) { return r.QuillEditor; }); }, {
|
|
57
|
+
loading: function () { return (0, jsx_runtime_1.jsx)("div", { children: "loading..." }); },
|
|
58
|
+
ssr: false,
|
|
59
|
+
});
|
|
60
|
+
exports.TextEditor = (0, react_1.forwardRef)(function (props, ref) {
|
|
61
|
+
var _a = (0, formik_1.useField)({ name: props.name }), field = _a[0], helpers = _a[2];
|
|
62
|
+
var handleOnChange = function (val) { return helpers.setValue(val); };
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)(input_control_1.InputControl, __assign({}, props, { children: (0, jsx_runtime_1.jsx)(EditorQuill, __assign({}, props, { ref: ref, value: field.value || "", handleOnChange: handleOnChange })) })));
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/text-editor/component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmC;AAEnC,iCAAiC;AACjC,yDAAkC;AAElC,kDAA+C;AAC/C,IAAM,WAAW,GAAG,IAAA,iBAAO,EAAC,cAAM,OAAA,iEAAO,SAAS,OAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,WAAW,EAAb,CAAa,CAAC,EAA1C,CAA0C,EAAE;IAC5E,OAAO,EAAE,cAAM,OAAA,yDAAqB,EAArB,CAAqB;IACpC,GAAG,EAAE,KAAK;CACX,CAAC,CAAC;AAUU,QAAA,UAAU,GAAG,IAAA,kBAAU,EAClC,UAAC,KAAK,EAAE,GAAG;IACH,IAAA,KAAqB,IAAA,iBAAQ,EAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAA1D,KAAK,QAAA,EAAI,OAAO,QAA0C,CAAC;IAClE,IAAM,cAAc,GAAG,UAAC,GAAW,IAAK,OAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;IAE9D,OAAO,CACL,uBAAC,4BAAY,eAAM,KAAY,cAC7B,uBAAC,WAAW,eACN,KAAK,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EACxB,cAAc,EAAE,cAAc,IAC9B,IACW,CAChB,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useTextEditor = useTextEditor;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useTextEditor() {
|
|
6
|
+
var _a = (0, react_1.useState)(null), insertTextFunction = _a[0], setInsertTextFunction = _a[1];
|
|
7
|
+
var handleInsert = function (text) {
|
|
8
|
+
if (insertTextFunction) {
|
|
9
|
+
insertTextFunction(text);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
console.warn("Insert text function not yet available (editor might not be ready).");
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var handleEditorReady = (0, react_1.useCallback)(function (insert) {
|
|
16
|
+
setInsertTextFunction(function () { return insert; });
|
|
17
|
+
}, []);
|
|
18
|
+
return { handleInsert: handleInsert, handleEditorReady: handleEditorReady };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/components/form/text-editor/hook/index.ts"],"names":[],"mappings":";;AAEA,sCAgBC;AAlBD,+BAA8C;AAE9C,SAAgB,aAAa;IACnB,IAAA,KAA8C,IAAA,gBAAQ,EAAkC,IAAI,CAAC,EAA5F,kBAAkB,QAAA,EAAE,qBAAqB,QAAmD,CAAC;IAEpG,IAAM,YAAY,GAAG,UAAC,IAAY;QAC9B,IAAI,kBAAkB,EAAE,CAAC;YACrB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,IAAA,mBAAW,EAAC,UAAC,MAAM;QACzC,qBAAqB,CAAC,cAAM,OAAA,MAAM,EAAN,CAAM,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,YAAY,cAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAA;AAC9C,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
export declare function TextEditor(props: InputProps & TextEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export * from "./component.js";
|
|
2
|
+
export * from "./hook/index.js";
|
|
3
|
+
export * from "./quill.js";
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
3
|
if (k2 === undefined) k2 = k;
|
|
15
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -21,46 +10,11 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
21
10
|
if (k2 === undefined) k2 = k;
|
|
22
11
|
o[k2] = m[k];
|
|
23
12
|
}));
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
48
15
|
};
|
|
49
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var input_control_1 = require("../input-control/index.js");
|
|
54
|
-
var dynamic_1 = __importDefault(require("next/dynamic"));
|
|
55
|
-
var EditorQuill = (0, dynamic_1.default)(function () { return Promise.resolve().then(function () { return __importStar(require("./quill.js")); }).then(function (r) { return r.EditorQuill; }); }, {
|
|
56
|
-
loading: function () { return (0, jsx_runtime_1.jsx)("div", { children: "loading..." }); },
|
|
57
|
-
ssr: false,
|
|
58
|
-
});
|
|
59
|
-
function TextEditor(props) {
|
|
60
|
-
var _a = (0, formik_1.useField)({ name: props.name }), field = _a[0], _ = _a[1], helpers = _a[2];
|
|
61
|
-
var handleOnChange = function (value) {
|
|
62
|
-
helpers.setValue(value);
|
|
63
|
-
};
|
|
64
|
-
return ((0, jsx_runtime_1.jsx)(input_control_1.InputControl, __assign({}, props, { children: (0, jsx_runtime_1.jsx)(EditorQuill, __assign({}, props, { value: field.value || "", handleOnChange: handleOnChange })) })));
|
|
65
|
-
}
|
|
17
|
+
__exportStar(require("./component.js"), exports);
|
|
18
|
+
__exportStar(require("./hook/index.js"), exports);
|
|
19
|
+
__exportStar(require("./quill.js"), exports);
|
|
66
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/text-editor/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/text-editor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAuB;AACvB,0CAAuB"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TextEditorProps } from "./component.js";
|
|
3
|
+
export interface EditorQuillHandle {
|
|
4
|
+
insertText: (text: string) => void;
|
|
5
|
+
getSelection: () => {
|
|
6
|
+
index: number;
|
|
7
|
+
length: number;
|
|
8
|
+
} | null;
|
|
9
|
+
setSelection: (index: number, length: number) => void;
|
|
10
|
+
}
|
|
11
|
+
export type EditorQuillProps = {
|
|
12
|
+
value: string;
|
|
13
|
+
handleOnChange: (val: string) => void;
|
|
14
|
+
} & TextEditorProps;
|
|
15
|
+
export declare const QuillEditor: React.ForwardRefExoticComponent<{
|
|
16
|
+
value: string;
|
|
17
|
+
handleOnChange: (val: string) => void;
|
|
18
|
+
} & {
|
|
19
|
+
disableToolbar?: boolean;
|
|
20
|
+
onEditorReady?: (insert: EditorQuillHandle["insertText"]) => void;
|
|
21
|
+
} & Partial<import("../index.js").InputProps> & React.RefAttributes<EditorQuillHandle>>;
|
|
@@ -1,52 +1,137 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
45
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
46
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
47
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
48
|
+
function step(op) {
|
|
49
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
50
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
51
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
52
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
53
|
+
switch (op[0]) {
|
|
54
|
+
case 0: case 1: t = op; break;
|
|
55
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
56
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
57
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
58
|
+
default:
|
|
59
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
60
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
61
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
62
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
63
|
+
if (t[2]) _.ops.pop();
|
|
64
|
+
_.trys.pop(); continue;
|
|
65
|
+
}
|
|
66
|
+
op = body.call(thisArg, _);
|
|
67
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
68
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
69
|
+
}
|
|
4
70
|
};
|
|
5
71
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
72
|
+
exports.QuillEditor = void 0;
|
|
7
73
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
74
|
var react_1 = require("react");
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var ID = 'id-' + Math.random().toString(36).substring(2, 9);
|
|
75
|
+
exports.QuillEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
76
|
+
var value = _a.value, handleOnChange = _a.handleOnChange, disableToolbar = _a.disableToolbar, onEditorReady = _a.onEditorReady;
|
|
77
|
+
var containerRef = (0, react_1.useRef)(null);
|
|
13
78
|
var quillRef = (0, react_1.useRef)(null);
|
|
79
|
+
var getEditor = (0, react_1.useCallback)(function () {
|
|
80
|
+
return quillRef.current;
|
|
81
|
+
}, []);
|
|
14
82
|
(0, react_1.useEffect)(function () {
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
: [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
83
|
+
var loadQuill = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
+
var Quill;
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("quill")); })];
|
|
88
|
+
case 1:
|
|
89
|
+
Quill = (_a.sent()).default;
|
|
90
|
+
if (!containerRef.current)
|
|
91
|
+
return [2 /*return*/];
|
|
92
|
+
quillRef.current = new Quill(containerRef.current, {
|
|
93
|
+
theme: "snow",
|
|
94
|
+
modules: disableToolbar ? {} : { toolbar: true },
|
|
95
|
+
});
|
|
96
|
+
quillRef.current.on("text-change", function () {
|
|
97
|
+
handleOnChange(quillRef.current.root.innerHTML);
|
|
98
|
+
});
|
|
99
|
+
quillRef.current.root.innerHTML = value;
|
|
100
|
+
onEditorReady === null || onEditorReady === void 0 ? void 0 : onEditorReady(function (text) {
|
|
101
|
+
var editor = quillRef.current;
|
|
102
|
+
editor.focus();
|
|
103
|
+
var sel = editor.getSelection() || { index: editor.getLength(), length: 0 };
|
|
104
|
+
editor.insertText(sel.index, text);
|
|
105
|
+
editor.setSelection(sel.index + text.length, 0);
|
|
106
|
+
});
|
|
107
|
+
return [2 /*return*/];
|
|
108
|
+
}
|
|
39
109
|
});
|
|
40
|
-
}
|
|
41
|
-
|
|
110
|
+
}); };
|
|
111
|
+
loadQuill();
|
|
112
|
+
}, [onEditorReady]);
|
|
42
113
|
(0, react_1.useEffect)(function () {
|
|
43
|
-
if (quillRef.current &&
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
114
|
+
if (quillRef.current &&
|
|
115
|
+
quillRef.current.root.innerHTML !== value) {
|
|
116
|
+
var sel = quillRef.current.getSelection();
|
|
117
|
+
quillRef.current.root.innerHTML = value;
|
|
118
|
+
if (sel)
|
|
119
|
+
quillRef.current.setSelection(sel.index, sel.length);
|
|
48
120
|
}
|
|
49
|
-
}, [
|
|
50
|
-
|
|
51
|
-
|
|
121
|
+
}, [value]);
|
|
122
|
+
(0, react_1.useImperativeHandle)(ref, function () { return ({
|
|
123
|
+
insertText: function (text) {
|
|
124
|
+
var editor = getEditor();
|
|
125
|
+
editor.focus();
|
|
126
|
+
var sel = editor.getSelection() || { index: editor.getLength(), length: 0 };
|
|
127
|
+
editor.insertText(sel.index, text);
|
|
128
|
+
editor.setSelection(sel.index + text.length, 0);
|
|
129
|
+
},
|
|
130
|
+
getSelection: function () { return getEditor().getSelection(); },
|
|
131
|
+
setSelection: function (index, length) {
|
|
132
|
+
return getEditor().setSelection(index, length);
|
|
133
|
+
},
|
|
134
|
+
}); }, []);
|
|
135
|
+
return (0, jsx_runtime_1.jsx)("div", { ref: containerRef, style: { minHeight: 200 } });
|
|
136
|
+
});
|
|
52
137
|
//# sourceMappingURL=quill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quill.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/text-editor/quill.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quill.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/text-editor/quill.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAMe;AAeF,QAAA,WAAW,GAAG,IAAA,kBAAU,EACnC,UAAC,EAAwD,EAAE,GAAG;QAA3D,KAAK,WAAA,EAAE,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,aAAa,mBAAA;IACrD,IAAM,YAAY,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAClD,IAAM,QAAQ,GAAG,IAAA,cAAM,EAAM,IAAI,CAAC,CAAC;IAEnC,IAAM,SAAS,GAAG,IAAA,mBAAW,EAAC;QAC5B,OAAO,QAAQ,CAAC,OAAQ,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,IAAM,SAAS,GAAG;;;;4BACD,sFAAa,OAAO,QAAC;;wBAA9B,KAAK,GAAG,CAAC,SAAqB,CAAC,CAAC,OAAO;wBAE7C,IAAI,CAAC,YAAY,CAAC,OAAO;4BAAE,sBAAO;wBAElC,QAAQ,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;4BACjD,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;yBACjD,CAAC,CAAC;wBAEH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE;4BACjC,cAAc,CAAC,QAAQ,CAAC,OAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACnD,CAAC,CAAC,CAAC;wBAEH,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBAExC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAC,IAAY;4BAC3B,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAQ,CAAC;4BACjC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,IAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;4BAC9E,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACnC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAClD,CAAC,CAAC,CAAC;;;;aACJ,CAAC;QAEF,SAAS,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAA,iBAAS,EAAC;QACR,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,EACzC,CAAC;YACD,IAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACxC,IAAI,GAAG;gBAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAA,2BAAmB,EACjB,GAAG,EACH,cAAM,OAAA,CAAC;QACL,UAAU,EAAE,UAAC,IAAY;YACvB,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC9E,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,YAAY,EAAE,cAAM,OAAA,SAAS,EAAE,CAAC,YAAY,EAAE,EAA1B,CAA0B;QAC9C,YAAY,EAAE,UAAC,KAAa,EAAE,MAAc;YAC1C,OAAA,SAAS,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAAvC,CAAuC;KAC1C,CAAC,EAXI,CAWJ,EACF,EAAE,CACH,CAAC;IAEF,OAAO,gCAAK,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAI,CAAC;AAC/D,CAAC,CACF,CAAC"}
|