@kingteza/crud-component 1.13.1 → 1.13.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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),be=require("react-advanced-cropper"),q=require("@ant-design/icons"),v=require("antd"),s=require("react"),ye=require("../../locale/index.cjs.js"),y=require("../button/Button.cjs.js"),ne=require("../../util/ImageUtil.cjs.js"),ve=require("../../icons/FlipHIcon.cjs.js"),Se=require("../../icons/FlipVIcon.cjs.js"),Ie=v.Form.Item,ie="crud-component.image-picker.button-state";function H(n){return new Promise((d,f)=>{const i=new FileReader;i.readAsDataURL(n),i.onload=()=>d(i.result),i.onerror=m=>f(m)})}const Fe=({values:n=[],required:d,buttonType:f,label:i,name:m,onChange:g,aspectRatio:S,buttonTitle:I,hidePreview:F,buttonSize:x="large",showButtonText:j=!0,showOnlyIcon:L=!1,icon:z=e.jsx(q.UploadOutlined,{}),loading:N,maxCount:O=1,onAdd:l,onRemove:T,listType:P,showSkipCropButton:ae,skipResize:V,...A})=>{const[le,ce]=s.useState(""),[ue,de]=s.useState(""),[pe,J]=s.useState(!1),M=s.useRef(),c=s.useRef(null),[o,E]=s.useState([]),[h,_]=s.useState(),fe=s.useRef(),me=()=>J(!1),ge=async t=>{!t.url&&!t.preview&&(t.preview=await H(t.originFileObj)),de(t.url||t.preview),J(!0),ce(t.name)},[W,p]=s.useState(!1),$=t=>{var r;(r=c.current)==null||r.rotateImage(t?-90:90)},G=s.useCallback(t=>{var r;c.current&&((r=c.current)==null||r.flipImage(t==="h",t==="v"))},[]);s.useEffect(()=>{g==null||g(o[0],o)},[o,g]);const K=s.useCallback(async t=>{var k;const{type:r,size:a,name:w,uid:C}=M.current;if(p(!0),t){const b=M.current,B=V?b:await ne.resizeImage(b),U=await H(B),R={url:U,name:w,uid:C,type:r,size:a,thumbUrl:U,originFileObj:B};if(l)try{p(!0),await l(R)}finally{p(!1)}E([R,...o]),p(!1),_(void 0)}else{const b=(k=c.current)==null?void 0:k.getCanvas();b==null||b.toBlob(async B=>{const U=Object.assign(new File([B],w,{type:r}),{uid:C}),R=V?U:await ne.resizeImage(U),re=await H(R),se={url:re,name:w,uid:C,type:r,size:a,thumbUrl:re,originFileObj:R};if(l)try{p(!0),await l(se)}finally{p(!1)}E([se,...o]),p(!1)}),_(void 0)}},[]),xe=()=>{_(void 0),M.current=void 0},Q=s.useCallback(t=>{const r=t;if(r){M.current=r;const a=new FileReader;a.addEventListener("load",()=>{var w;if(typeof a.result=="string"){_(a.result);const C=localStorage.getItem(ie),k=C?JSON.parse(C):void 0;k&&((w=c.current)==null||w.setState(k)),setTimeout(()=>{te(c.current)},100)}}),a.readAsDataURL(r)}},[]);s.useEffect(()=>{if(n!=null&&n.length||typeof n=="string"){const t=Array.isArray(n)?n.map(r=>[{uid:n,url:r}]):[{uid:n,url:n}];E(t)}},[n]);const{t:u}=ye.useTranslationLib(),je=s.useMemo(()=>d?{required:d,validator:(t,r,a)=>{h||o!=null&&o.length?a():a(`${i??""} ${u("err.validation.required")}`)}}:void 0,[d,h,o==null?void 0:o.length,i,u]),X=I??u("message.uploadButtonText"),Y=s.useMemo(()=>e.jsx(oe,{showLoadingIndicator:W,_buttonTitle:X,buttonSize:x,buttonType:f,fileList:o,hidePreview:F,icon:z,loading:N,listType:P,maxCount:O,onChangeFile:Q,onRemove:T,showButtonText:j,handlePreview:ge,setFileList:E}),[W,X,x,f,o,F,z,N,P,O,Q,T,j]);fe.current=Y.props.beforeUpload;const[he,Z]=s.useState(0),[we,ee]=s.useState(0),[D,Ce]=s.useState();s.useEffect(()=>{const t=setTimeout(()=>{D&&localStorage.setItem(ie,JSON.stringify(D))},400);return()=>clearTimeout(t)},[D]),s.useEffect(()=>{if(!h){Z(0),ee(0);const t=setTimeout(()=>{var r;(r=c.current)==null||r.reset()},1500);return()=>clearTimeout(t)}},[h]);const te=s.useCallback(async t=>{if(t){const r=t.getCoordinates();Ce(t.getState()),Z((r==null?void 0:r.width)??10),ee((r==null?void 0:r.height)??10)}},[]);return e.jsxs(e.Fragment,{children:[e.jsx(Ie,{label:i,...A,name:m,className:"mb-0",rules:[je,...A.rules??[]],children:Y}),e.jsxs(v.Modal,{open:!!h,maskClosable:!1,onOk:()=>K(!1),closable:!1,onCancel:xe,footer:(t,{CancelBtn:r,OkBtn:a})=>ae?e.jsxs(v.Space,{children:[e.jsx(r,{}),e.jsx(y,{type:"primary",onClick:()=>K(!0),children:u("str.skipCrop")}),e.jsx(a,{})]}):e.jsx(e.Fragment,{children:t}),destroyOnHidden:!0,children:[e.jsx(be.Cropper,{ref:c,stencilProps:{grid:!0},style:{border:"1px solid black"},src:h,onChange:t=>{te(t)},aspectRatio:S?{minimum:S,maximum:S}:void 0}),e.jsx("p",{className:"text-center",children:[he,we].join(" ⨉ ")}),e.jsx("div",{className:"mt-2 d-flex justify-content-center",children:e.jsxs(v.Space.Compact,{children:[e.jsx(y,{size:"large",tooltip:u("str.rotateLeft"),icon:e.jsx(q.RotateLeftOutlined,{}),onClick:()=>$(!0)}),e.jsx(y,{size:"large",icon:e.jsx(q.RotateRightOutlined,{}),tooltip:u("str.rotateRight"),onClick:()=>$(!1)}),e.jsx(y,{size:"large",icon:e.jsx(ve,{}),tooltip:u("str.flipHorizontal"),onClick:()=>G("h")}),e.jsx(y,{size:"large",icon:e.jsx(Se,{}),tooltip:u("str.flipVertical"),onClick:()=>G("v")})]})})]}),e.jsx(v.Modal,{open:pe,title:le,footer:null,onCancel:me,children:e.jsx("div",{className:"text-center",children:e.jsx("img",{alt:"example",style:{maxWidth:"400px"},src:ue})})})]})},oe=({_buttonTitle:n,buttonSize:d,buttonType:f,fileList:i,hidePreview:m,icon:g,loading:S,maxCount:I,onChangeFile:F,onRemove:x,showButtonText:j,handlePreview:L,setFileList:z,showLoadingIndicator:N,listType:O="picture"})=>e.jsxs(v.Upload,{accept:"image/x-png,image/gif,image/jpeg",fileList:i,defaultFileList:i,onChange:()=>{},className:(i.length>=I?" hide-upload ":"")+" mb-0",multiple:!1,onPreview:m?void 0:L,onDrop:l=>(F(l.dataTransfer.files.item(0)),!1),listType:O,showUploadList:!m,onRemove:l=>{const T=i.filter(P=>l.uid!==P.uid);x==null||x(l),z(T)},beforeUpload:async l=>(F(l),!1),maxCount:I,children:[N&&e.jsx(q.LoadingOutlined,{}),e.jsx("div",{className:"d-flex flex-column",children:i.length<I&&(O==="picture-circle"?e.jsx(q.UploadOutlined,{}):e.jsx(y,{loading:S,tooltip:j?void 0:n,size:d,icon:g,type:j?f:"text",children:j?n:void 0}))})]},i.length);exports.UploadComponent=oe;exports.default=Fe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),ye=require("react-advanced-cropper"),q=require("@ant-design/icons"),y=require("antd"),s=require("react"),Se=require("../../locale/index.cjs.js"),v=require("../button/Button.cjs.js"),ie=require("../../util/ImageUtil.cjs.js"),ke=require("../../icons/FlipHIcon.cjs.js"),Ie=require("../../icons/FlipVIcon.cjs.js"),Fe=y.Form.Item,ae="crud-component.image-picker.button-state";function V(o){return new Promise((d,f)=>{const n=new FileReader;n.readAsDataURL(o),n.onload=()=>d(n.result),n.onerror=m=>f(m)})}const Oe=({values:o=[],required:d,buttonType:f,label:n,name:m,onChange:g,aspectRatio:S,buttonTitle:k,hidePreview:I,buttonSize:x="large",showButtonText:j=!0,showOnlyIcon:A=!1,icon:z=t.jsx(q.UploadOutlined,{}),loading:N,maxCount:F=1,onAdd:l,onRemove:P,listType:T,showSkipCropButton:ce,skipResize:J,...W})=>{const[ue,de]=s.useState(""),[pe,fe]=s.useState(""),[me,$]=s.useState(!1),B=s.useRef(),c=s.useRef(null),[i,M]=s.useState([]),[h,E]=s.useState(),ge=s.useRef(),xe=()=>$(!1),je=async e=>{!e.url&&!e.preview&&(e.preview=await V(e.originFileObj)),fe(e.url||e.preview),$(!0),de(e.name)},[G,p]=s.useState(!1),K=e=>{var r;(r=c.current)==null||r.rotateImage(e?-90:90)},Q=s.useCallback(e=>{var r;c.current&&((r=c.current)==null||r.flipImage(e==="h",e==="v"))},[]);s.useEffect(()=>{g==null||g(i[0],i)},[i,g]);const[_,H]=s.useState(),X=s.useCallback(async e=>{var O;const{type:r,size:a,name:b,uid:w}=B.current;if(H(e?"skip-crop":"crop"),p(!0),e){const C=B.current,D=J?C:await ie.resizeImage(C),U=await V(D),R={url:U,name:b,uid:w,type:r,size:a,thumbUrl:U,originFileObj:D};if(l)try{p(!0),await l(R)}finally{p(!1)}M([R,...i]),p(!1),E(void 0),H(void 0)}else{const C=(O=c.current)==null?void 0:O.getCanvas();C==null||C.toBlob(async D=>{const U=Object.assign(new File([D],b,{type:r}),{uid:w}),R=J?U:await ie.resizeImage(U),oe=await V(R),ne={url:oe,name:b,uid:w,type:r,size:a,thumbUrl:oe,originFileObj:R};if(l)try{p(!0),await l(ne)}finally{p(!1)}M([ne,...i]),p(!1)}),E(void 0),H(void 0)}},[]),he=()=>{E(void 0),B.current=void 0},Y=s.useCallback(e=>{const r=e;if(r){B.current=r;const a=new FileReader;a.addEventListener("load",()=>{var b;if(typeof a.result=="string"){E(a.result);const w=localStorage.getItem(ae),O=w?JSON.parse(w):void 0;O&&((b=c.current)==null||b.setState(O)),setTimeout(()=>{se(c.current)},100)}}),a.readAsDataURL(r)}},[]);s.useEffect(()=>{if(o!=null&&o.length||typeof o=="string"){const e=Array.isArray(o)?o.map(r=>[{uid:o,url:r}]):[{uid:o,url:o}];M(e)}},[o]);const{t:u}=Se.useTranslationLib(),be=s.useMemo(()=>d?{required:d,validator:(e,r,a)=>{h||i!=null&&i.length?a():a(`${n??""} ${u("err.validation.required")}`)}}:void 0,[d,h,i==null?void 0:i.length,n,u]),Z=k??u("message.uploadButtonText"),ee=s.useMemo(()=>t.jsx(le,{showLoadingIndicator:G,_buttonTitle:Z,buttonSize:x,buttonType:f,fileList:i,hidePreview:I,icon:z,loading:N,listType:T,maxCount:F,onChangeFile:Y,onRemove:P,showButtonText:j,handlePreview:je,setFileList:M}),[G,Z,x,f,i,I,z,N,T,F,Y,P,j]);ge.current=ee.props.beforeUpload;const[we,te]=s.useState(0),[Ce,re]=s.useState(0),[L,ve]=s.useState();s.useEffect(()=>{const e=setTimeout(()=>{L&&localStorage.setItem(ae,JSON.stringify(L))},400);return()=>clearTimeout(e)},[L]),s.useEffect(()=>{if(!h){te(0),re(0);const e=setTimeout(()=>{var r;(r=c.current)==null||r.reset()},1500);return()=>clearTimeout(e)}},[h]);const se=s.useCallback(async e=>{if(e){const r=e.getCoordinates();ve(e.getState()),te((r==null?void 0:r.width)??10),re((r==null?void 0:r.height)??10)}},[]);return t.jsxs(t.Fragment,{children:[t.jsx(Fe,{label:n,...W,name:m,className:"mb-0",rules:[be,...W.rules??[]],children:ee}),t.jsxs(y.Modal,{open:!!h,maskClosable:!1,onOk:()=>X(!1),closable:!1,okButtonProps:{loading:_==="crop",disabled:_==="skip-crop"},onCancel:he,footer:(e,{CancelBtn:r,OkBtn:a})=>ce?t.jsxs(y.Space,{children:[t.jsx(r,{}),t.jsx(v,{type:"primary",loading:_==="skip-crop",disabled:_==="crop",onClick:()=>X(!0),children:u("str.skipCrop")}),t.jsx(a,{})]}):t.jsx(t.Fragment,{children:e}),destroyOnHidden:!0,children:[t.jsx(ye.Cropper,{ref:c,stencilProps:{grid:!0},style:{border:"1px solid black"},src:h,onChange:e=>{se(e)},aspectRatio:S?{minimum:S,maximum:S}:void 0}),t.jsx("p",{className:"text-center",children:[we,Ce].join(" ⨉ ")}),t.jsx("div",{className:"mt-2 d-flex justify-content-center",children:t.jsxs(y.Space.Compact,{children:[t.jsx(v,{size:"large",tooltip:u("str.rotateLeft"),icon:t.jsx(q.RotateLeftOutlined,{}),onClick:()=>K(!0)}),t.jsx(v,{size:"large",icon:t.jsx(q.RotateRightOutlined,{}),tooltip:u("str.rotateRight"),onClick:()=>K(!1)}),t.jsx(v,{size:"large",icon:t.jsx(ke,{}),tooltip:u("str.flipHorizontal"),onClick:()=>Q("h")}),t.jsx(v,{size:"large",icon:t.jsx(Ie,{}),tooltip:u("str.flipVertical"),onClick:()=>Q("v")})]})})]}),t.jsx(y.Modal,{open:me,title:ue,footer:null,onCancel:xe,children:t.jsx("div",{className:"text-center",children:t.jsx("img",{alt:"example",style:{maxWidth:"400px"},src:pe})})})]})},le=({_buttonTitle:o,buttonSize:d,buttonType:f,fileList:n,hidePreview:m,icon:g,loading:S,maxCount:k,onChangeFile:I,onRemove:x,showButtonText:j,handlePreview:A,setFileList:z,showLoadingIndicator:N,listType:F="picture"})=>t.jsxs(y.Upload,{accept:"image/x-png,image/gif,image/jpeg",fileList:n,defaultFileList:n,onChange:()=>{},className:(n.length>=k?" hide-upload ":"")+" mb-0",multiple:!1,onPreview:m?void 0:A,onDrop:l=>(I(l.dataTransfer.files.item(0)),!1),listType:F,showUploadList:!m,onRemove:l=>{const P=n.filter(T=>l.uid!==T.uid);x==null||x(l),z(P)},beforeUpload:async l=>(I(l),!1),maxCount:k,children:[N&&t.jsx(q.LoadingOutlined,{}),t.jsx("div",{className:"d-flex flex-column",children:n.length<k&&(F==="picture-circle"?t.jsx(q.UploadOutlined,{}):t.jsx(v,{loading:S,tooltip:j?void 0:o,size:d,icon:g,type:j?f:"text",children:j?o:void 0}))})]},n.length);exports.UploadComponent=le;exports.default=Oe;
@@ -1,279 +1,285 @@
1
- import { jsx as r, jsxs as j, Fragment as se } from "react/jsx-runtime";
2
- import { Cropper as Se } from "react-advanced-cropper";
3
- import { RotateLeftOutlined as Re, RotateRightOutlined as je, UploadOutlined as ue, LoadingOutlined as ze } from "@ant-design/icons";
4
- import { Form as Ne, Modal as le, Space as ce, Upload as Te } from "antd";
5
- import M, { useRef as A, useState as v, useCallback as V, useEffect as _, useMemo as de } from "react";
6
- import { useTranslationLib as Pe } from "../../locale/index.es.js";
1
+ import { jsx as r, jsxs as j, Fragment as ce } from "react/jsx-runtime";
2
+ import { Cropper as je } from "react-advanced-cropper";
3
+ import { RotateLeftOutlined as ze, RotateRightOutlined as Ne, UploadOutlined as ge, LoadingOutlined as Be } from "@ant-design/icons";
4
+ import { Form as Pe, Modal as de, Space as pe, Upload as Te } from "antd";
5
+ import J, { useRef as W, useState as m, useCallback as _, useEffect as E, useMemo as me } from "react";
6
+ import { useTranslationLib as De } from "../../locale/index.es.js";
7
7
  import I from "../button/Button.es.js";
8
- import me from "../../util/ImageUtil.es.js";
9
- import Be from "../../icons/FlipHIcon.es.js";
10
- import De from "../../icons/FlipVIcon.es.js";
11
- const He = Ne.Item, pe = "crud-component.image-picker.button-state";
12
- function J(o) {
13
- return new Promise((d, p) => {
8
+ import ue from "../../util/ImageUtil.es.js";
9
+ import He from "../../icons/FlipHIcon.es.js";
10
+ import Le from "../../icons/FlipVIcon.es.js";
11
+ const Ve = Pe.Item, fe = "crud-component.image-picker.button-state";
12
+ function $(o) {
13
+ return new Promise((d, u) => {
14
14
  const i = new FileReader();
15
- i.readAsDataURL(o), i.onload = () => d(i.result), i.onerror = (u) => p(u);
15
+ i.readAsDataURL(o), i.onload = () => d(i.result), i.onerror = (f) => u(f);
16
16
  });
17
17
  }
18
- const Qe = ({
18
+ const Ye = ({
19
19
  values: o = [],
20
20
  required: d,
21
- buttonType: p,
21
+ buttonType: u,
22
22
  label: i,
23
- name: u,
24
- onChange: f,
25
- aspectRatio: F,
26
- buttonTitle: O,
27
- hidePreview: x,
28
- buttonSize: g = "large",
29
- showButtonText: h = !0,
30
- showOnlyIcon: W = !1,
31
- icon: z = /* @__PURE__ */ r(ue, {}),
23
+ name: f,
24
+ onChange: g,
25
+ aspectRatio: k,
26
+ buttonTitle: F,
27
+ hidePreview: O,
28
+ buttonSize: h = "large",
29
+ showButtonText: w = !0,
30
+ showOnlyIcon: G = !1,
31
+ icon: z = /* @__PURE__ */ r(ge, {}),
32
32
  loading: N,
33
- maxCount: U = 1,
33
+ maxCount: x = 1,
34
34
  onAdd: s,
35
- onRemove: T,
35
+ onRemove: B,
36
36
  listType: P,
37
- showSkipCropButton: fe,
38
- skipResize: $,
39
- ...G
37
+ showSkipCropButton: he,
38
+ skipResize: K,
39
+ ...Q
40
40
  }) => {
41
- const [ge, he] = M.useState(""), [we, ye] = M.useState(""), [Ce, K] = M.useState(!1), B = A(), l = A(null), [n, D] = v([]), [w, H] = v(), be = A(), ve = () => K(!1), Ie = async (e) => {
42
- !e.url && !e.preview && (e.preview = await J(e.originFileObj)), ye(e.url || e.preview), K(!0), he(e.name);
43
- }, [Q, m] = v(!1), X = (e) => {
41
+ const [we, be] = J.useState(""), [ye, ve] = J.useState(""), [Ce, X] = J.useState(!1), T = W(), l = W(null), [n, D] = m([]), [b, H] = m(), Ie = W(), ke = () => X(!1), Fe = async (e) => {
42
+ !e.url && !e.preview && (e.preview = await $(e.originFileObj)), ve(e.url || e.preview), X(!0), be(e.name);
43
+ }, [Y, p] = m(!1), Z = (e) => {
44
44
  var t;
45
45
  (t = l.current) == null || t.rotateImage(e ? -90 : 90);
46
- }, Y = V((e) => {
46
+ }, q = _((e) => {
47
47
  var t;
48
48
  l.current && ((t = l.current) == null || t.flipImage(e === "h", e === "v"));
49
49
  }, []);
50
- _(() => {
51
- f == null || f(n[0], n);
52
- }, [n, f]);
53
- const Z = V(async (e) => {
54
- var k;
55
- const { type: t, size: a, name: y, uid: C } = B.current;
56
- if (m(!0), e) {
57
- const b = B.current, L = $ ? b : await me.resizeImage(b), S = await J(L), R = {
50
+ E(() => {
51
+ g == null || g(n[0], n);
52
+ }, [n, g]);
53
+ const [L, M] = m(), ee = _(async (e) => {
54
+ var U;
55
+ const { type: t, size: a, name: y, uid: v } = T.current;
56
+ if (M(e ? "skip-crop" : "crop"), p(!0), e) {
57
+ const C = T.current, V = K ? C : await ue.resizeImage(C), S = await $(V), R = {
58
58
  url: S,
59
59
  name: y,
60
- uid: C,
60
+ uid: v,
61
61
  type: t,
62
62
  size: a,
63
63
  thumbUrl: S,
64
- originFileObj: L
64
+ originFileObj: V
65
65
  };
66
66
  if (s)
67
67
  try {
68
- m(!0), await s(R);
68
+ p(!0), await s(R);
69
69
  } finally {
70
- m(!1);
70
+ p(!1);
71
71
  }
72
- D([R, ...n]), m(!1), H(void 0);
72
+ D([R, ...n]), p(!1), H(void 0), M(void 0);
73
73
  } else {
74
- const b = (k = l.current) == null ? void 0 : k.getCanvas();
75
- b == null || b.toBlob(async (L) => {
76
- const S = Object.assign(new File([L], y, { type: t }), {
77
- uid: C
78
- }), R = $ ? S : await me.resizeImage(S), ne = await J(R), ae = {
79
- url: ne,
74
+ const C = (U = l.current) == null ? void 0 : U.getCanvas();
75
+ C == null || C.toBlob(async (V) => {
76
+ const S = Object.assign(new File([V], y, { type: t }), {
77
+ uid: v
78
+ }), R = K ? S : await ue.resizeImage(S), se = await $(R), le = {
79
+ url: se,
80
80
  name: y,
81
- uid: C,
81
+ uid: v,
82
82
  type: t,
83
83
  size: a,
84
- thumbUrl: ne,
84
+ thumbUrl: se,
85
85
  originFileObj: R
86
86
  };
87
87
  if (s)
88
88
  try {
89
- m(!0), await s(ae);
89
+ p(!0), await s(le);
90
90
  } finally {
91
- m(!1);
91
+ p(!1);
92
92
  }
93
- D([ae, ...n]), m(!1);
94
- }), H(void 0);
93
+ D([le, ...n]), p(!1);
94
+ }), H(void 0), M(void 0);
95
95
  }
96
- }, []), Fe = () => {
97
- H(void 0), B.current = void 0;
98
- }, q = V((e) => {
96
+ }, []), Oe = () => {
97
+ H(void 0), T.current = void 0;
98
+ }, te = _((e) => {
99
99
  const t = e;
100
100
  if (t) {
101
- B.current = t;
101
+ T.current = t;
102
102
  const a = new FileReader();
103
103
  a.addEventListener("load", () => {
104
104
  var y;
105
105
  if (typeof a.result == "string") {
106
106
  H(a.result);
107
- const C = localStorage.getItem(pe), k = C ? JSON.parse(C) : void 0;
108
- k && ((y = l.current) == null || y.setState(k)), setTimeout(() => {
109
- ie(l.current);
107
+ const v = localStorage.getItem(fe), U = v ? JSON.parse(v) : void 0;
108
+ U && ((y = l.current) == null || y.setState(U)), setTimeout(() => {
109
+ ae(l.current);
110
110
  }, 100);
111
111
  }
112
112
  }), a.readAsDataURL(t);
113
113
  }
114
114
  }, []);
115
- _(() => {
115
+ E(() => {
116
116
  if (o != null && o.length || typeof o == "string") {
117
117
  const e = Array.isArray(o) ? o.map((t) => [{ uid: o, url: t }]) : [{ uid: o, url: o }];
118
118
  D(e);
119
119
  }
120
120
  }, [o]);
121
- const { t: c } = Pe(), Oe = de(
121
+ const { t: c } = De(), xe = me(
122
122
  () => d ? {
123
123
  required: d,
124
124
  validator: (e, t, a) => {
125
- w || n != null && n.length ? a() : a(`${i ?? ""} ${c("err.validation.required")}`);
125
+ b || n != null && n.length ? a() : a(`${i ?? ""} ${c("err.validation.required")}`);
126
126
  }
127
127
  } : void 0,
128
- [d, w, n == null ? void 0 : n.length, i, c]
129
- ), ee = O ?? c("message.uploadButtonText"), te = de(
128
+ [d, b, n == null ? void 0 : n.length, i, c]
129
+ ), re = F ?? c("message.uploadButtonText"), oe = me(
130
130
  () => /* @__PURE__ */ r(
131
- Le,
131
+ _e,
132
132
  {
133
- showLoadingIndicator: Q,
134
- _buttonTitle: ee,
135
- buttonSize: g,
136
- buttonType: p,
133
+ showLoadingIndicator: Y,
134
+ _buttonTitle: re,
135
+ buttonSize: h,
136
+ buttonType: u,
137
137
  fileList: n,
138
- hidePreview: x,
138
+ hidePreview: O,
139
139
  icon: z,
140
140
  loading: N,
141
141
  listType: P,
142
- maxCount: U,
143
- onChangeFile: q,
144
- onRemove: T,
145
- showButtonText: h,
146
- handlePreview: Ie,
142
+ maxCount: x,
143
+ onChangeFile: te,
144
+ onRemove: B,
145
+ showButtonText: w,
146
+ handlePreview: Fe,
147
147
  setFileList: D
148
148
  }
149
149
  ),
150
150
  [
151
- Q,
152
- ee,
153
- g,
154
- p,
151
+ Y,
152
+ re,
153
+ h,
154
+ u,
155
155
  n,
156
- x,
156
+ O,
157
157
  z,
158
158
  N,
159
159
  P,
160
- U,
161
- q,
162
- T,
163
- h
160
+ x,
161
+ te,
162
+ B,
163
+ w
164
164
  ]
165
165
  );
166
- be.current = te.props.beforeUpload;
167
- const [xe, re] = v(0), [Ue, oe] = v(0), [E, ke] = v();
168
- _(() => {
166
+ Ie.current = oe.props.beforeUpload;
167
+ const [Ue, ie] = m(0), [Se, ne] = m(0), [A, Re] = m();
168
+ E(() => {
169
169
  const e = setTimeout(() => {
170
- E && localStorage.setItem(pe, JSON.stringify(E));
170
+ A && localStorage.setItem(fe, JSON.stringify(A));
171
171
  }, 400);
172
172
  return () => clearTimeout(e);
173
- }, [E]), _(() => {
174
- if (!w) {
175
- re(0), oe(0);
173
+ }, [A]), E(() => {
174
+ if (!b) {
175
+ ie(0), ne(0);
176
176
  const e = setTimeout(() => {
177
177
  var t;
178
178
  (t = l.current) == null || t.reset();
179
179
  }, 1500);
180
180
  return () => clearTimeout(e);
181
181
  }
182
- }, [w]);
183
- const ie = V(async (e) => {
182
+ }, [b]);
183
+ const ae = _(async (e) => {
184
184
  if (e) {
185
185
  const t = e.getCoordinates();
186
- ke(e.getState()), re((t == null ? void 0 : t.width) ?? 10), oe((t == null ? void 0 : t.height) ?? 10);
186
+ Re(e.getState()), ie((t == null ? void 0 : t.width) ?? 10), ne((t == null ? void 0 : t.height) ?? 10);
187
187
  }
188
188
  }, []);
189
- return /* @__PURE__ */ j(se, { children: [
189
+ return /* @__PURE__ */ j(ce, { children: [
190
190
  /* @__PURE__ */ r(
191
- He,
191
+ Ve,
192
192
  {
193
193
  label: i,
194
- ...G,
195
- name: u,
194
+ ...Q,
195
+ name: f,
196
196
  className: "mb-0",
197
- rules: [Oe, ...G.rules ?? []],
198
- children: te
197
+ rules: [xe, ...Q.rules ?? []],
198
+ children: oe
199
199
  }
200
200
  ),
201
201
  /* @__PURE__ */ j(
202
- le,
202
+ de,
203
203
  {
204
- open: !!w,
204
+ open: !!b,
205
205
  maskClosable: !1,
206
- onOk: () => Z(!1),
206
+ onOk: () => ee(!1),
207
207
  closable: !1,
208
- onCancel: Fe,
209
- footer: (e, { CancelBtn: t, OkBtn: a }) => fe ? /* @__PURE__ */ j(ce, { children: [
208
+ okButtonProps: {
209
+ loading: L === "crop",
210
+ disabled: L === "skip-crop"
211
+ },
212
+ onCancel: Oe,
213
+ footer: (e, { CancelBtn: t, OkBtn: a }) => he ? /* @__PURE__ */ j(pe, { children: [
210
214
  /* @__PURE__ */ r(t, {}),
211
215
  /* @__PURE__ */ r(
212
216
  I,
213
217
  {
214
218
  type: "primary",
215
- onClick: () => Z(!0),
219
+ loading: L === "skip-crop",
220
+ disabled: L === "crop",
221
+ onClick: () => ee(!0),
216
222
  children: c("str.skipCrop")
217
223
  }
218
224
  ),
219
225
  /* @__PURE__ */ r(a, {})
220
- ] }) : /* @__PURE__ */ r(se, { children: e }),
226
+ ] }) : /* @__PURE__ */ r(ce, { children: e }),
221
227
  destroyOnHidden: !0,
222
228
  children: [
223
229
  /* @__PURE__ */ r(
224
- Se,
230
+ je,
225
231
  {
226
232
  ref: l,
227
233
  stencilProps: {
228
234
  grid: !0
229
235
  },
230
236
  style: { border: "1px solid black" },
231
- src: w,
237
+ src: b,
232
238
  onChange: (e) => {
233
- ie(e);
239
+ ae(e);
234
240
  },
235
- aspectRatio: F ? {
236
- minimum: F,
237
- maximum: F
241
+ aspectRatio: k ? {
242
+ minimum: k,
243
+ maximum: k
238
244
  } : void 0
239
245
  }
240
246
  ),
241
- /* @__PURE__ */ r("p", { className: "text-center", children: [xe, Ue].join(" ⨉ ") }),
242
- /* @__PURE__ */ r("div", { className: "mt-2 d-flex justify-content-center", children: /* @__PURE__ */ j(ce.Compact, { children: [
247
+ /* @__PURE__ */ r("p", { className: "text-center", children: [Ue, Se].join(" ⨉ ") }),
248
+ /* @__PURE__ */ r("div", { className: "mt-2 d-flex justify-content-center", children: /* @__PURE__ */ j(pe.Compact, { children: [
243
249
  /* @__PURE__ */ r(
244
250
  I,
245
251
  {
246
252
  size: "large",
247
253
  tooltip: c("str.rotateLeft"),
248
- icon: /* @__PURE__ */ r(Re, {}),
249
- onClick: () => X(!0)
254
+ icon: /* @__PURE__ */ r(ze, {}),
255
+ onClick: () => Z(!0)
250
256
  }
251
257
  ),
252
258
  /* @__PURE__ */ r(
253
259
  I,
254
260
  {
255
261
  size: "large",
256
- icon: /* @__PURE__ */ r(je, {}),
262
+ icon: /* @__PURE__ */ r(Ne, {}),
257
263
  tooltip: c("str.rotateRight"),
258
- onClick: () => X(!1)
264
+ onClick: () => Z(!1)
259
265
  }
260
266
  ),
261
267
  /* @__PURE__ */ r(
262
268
  I,
263
269
  {
264
270
  size: "large",
265
- icon: /* @__PURE__ */ r(Be, {}),
271
+ icon: /* @__PURE__ */ r(He, {}),
266
272
  tooltip: c("str.flipHorizontal"),
267
- onClick: () => Y("h")
273
+ onClick: () => q("h")
268
274
  }
269
275
  ),
270
276
  /* @__PURE__ */ r(
271
277
  I,
272
278
  {
273
279
  size: "large",
274
- icon: /* @__PURE__ */ r(De, {}),
280
+ icon: /* @__PURE__ */ r(Le, {}),
275
281
  tooltip: c("str.flipVertical"),
276
- onClick: () => Y("v")
282
+ onClick: () => q("v")
277
283
  }
278
284
  )
279
285
  ] }) })
@@ -281,32 +287,32 @@ const Qe = ({
281
287
  }
282
288
  ),
283
289
  /* @__PURE__ */ r(
284
- le,
290
+ de,
285
291
  {
286
292
  open: Ce,
287
- title: ge,
293
+ title: we,
288
294
  footer: null,
289
- onCancel: ve,
290
- children: /* @__PURE__ */ r("div", { className: "text-center", children: /* @__PURE__ */ r("img", { alt: "example", style: { maxWidth: "400px" }, src: we }) })
295
+ onCancel: ke,
296
+ children: /* @__PURE__ */ r("div", { className: "text-center", children: /* @__PURE__ */ r("img", { alt: "example", style: { maxWidth: "400px" }, src: ye }) })
291
297
  }
292
298
  )
293
299
  ] });
294
- }, Le = ({
300
+ }, _e = ({
295
301
  _buttonTitle: o,
296
302
  buttonSize: d,
297
- buttonType: p,
303
+ buttonType: u,
298
304
  fileList: i,
299
- hidePreview: u,
300
- icon: f,
301
- loading: F,
302
- maxCount: O,
303
- onChangeFile: x,
304
- onRemove: g,
305
- showButtonText: h,
306
- handlePreview: W,
305
+ hidePreview: f,
306
+ icon: g,
307
+ loading: k,
308
+ maxCount: F,
309
+ onChangeFile: O,
310
+ onRemove: h,
311
+ showButtonText: w,
312
+ handlePreview: G,
307
313
  setFileList: z,
308
314
  showLoadingIndicator: N,
309
- listType: U = "picture"
315
+ listType: x = "picture"
310
316
  }) => /* @__PURE__ */ j(
311
317
  Te,
312
318
  {
@@ -315,29 +321,29 @@ const Qe = ({
315
321
  defaultFileList: i,
316
322
  onChange: () => {
317
323
  },
318
- className: (i.length >= O ? " hide-upload " : "") + " mb-0",
324
+ className: (i.length >= F ? " hide-upload " : "") + " mb-0",
319
325
  multiple: !1,
320
- onPreview: u ? void 0 : W,
321
- onDrop: (s) => (x(s.dataTransfer.files.item(0)), !1),
322
- listType: U,
323
- showUploadList: !u,
326
+ onPreview: f ? void 0 : G,
327
+ onDrop: (s) => (O(s.dataTransfer.files.item(0)), !1),
328
+ listType: x,
329
+ showUploadList: !f,
324
330
  onRemove: (s) => {
325
- const T = i.filter((P) => s.uid !== P.uid);
326
- g == null || g(s), z(T);
331
+ const B = i.filter((P) => s.uid !== P.uid);
332
+ h == null || h(s), z(B);
327
333
  },
328
- beforeUpload: async (s) => (x(s), !1),
329
- maxCount: O,
334
+ beforeUpload: async (s) => (O(s), !1),
335
+ maxCount: F,
330
336
  children: [
331
- N && /* @__PURE__ */ r(ze, {}),
332
- /* @__PURE__ */ r("div", { className: "d-flex flex-column", children: i.length < O && (U === "picture-circle" ? /* @__PURE__ */ r(ue, {}) : /* @__PURE__ */ r(
337
+ N && /* @__PURE__ */ r(Be, {}),
338
+ /* @__PURE__ */ r("div", { className: "d-flex flex-column", children: i.length < F && (x === "picture-circle" ? /* @__PURE__ */ r(ge, {}) : /* @__PURE__ */ r(
333
339
  I,
334
340
  {
335
- loading: F,
336
- tooltip: h ? void 0 : o,
341
+ loading: k,
342
+ tooltip: w ? void 0 : o,
337
343
  size: d,
338
- icon: f,
339
- type: h ? p : "text",
340
- children: h ? o : void 0
344
+ icon: g,
345
+ type: w ? u : "text",
346
+ children: w ? o : void 0
341
347
  }
342
348
  )) })
343
349
  ]
@@ -345,6 +351,6 @@ const Qe = ({
345
351
  i.length
346
352
  );
347
353
  export {
348
- Le as UploadComponent,
349
- Qe as default
354
+ _e as UploadComponent,
355
+ Ye as default
350
356
  };
@@ -1 +1 @@
1
- "use strict";var V=Object.create;var p=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var R=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of F(t))!w.call(e,r)&&r!==o&&p(e,r,{get:()=>t[r],enumerable:!(s=j(t,r))||s.enumerable});return e};var y=(e,t,o)=>(o=e!=null?V(q(e)):{},R(t||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),h=require("antd"),c=require("react"),E=require("../../util/ValidationUtil.cjs.js"),S=c.lazy(async()=>{const{default:e}=await import("react-quill");return{default:t=>a.jsx(e,{...t})}}),T=({name:e,label:t,required:o,rules:s=[],disabled:r,help:f})=>{const n=h.Form.useFormInstance(),[u,d]=c.useState(""),b={toolbar:[["bold","italic","underline","strike","blockquote"],[{list:"ordered"},{list:"bullet"}],["link"],["clean"]]},k=["bold","italic","underline","strike","blockquote","list","bullet","link"];c.useEffect(()=>{const i=n.getFieldValue(e);i&&i!=="<p></p>"&&i!=="<p><br></p>"&&d(i)},[n,e]);const l=h.Form.useWatch(e,n);c.useEffect(()=>{l!==u&&d(!l||l==="<p></p>"||l==="<p><br></p>"?"":l)},[l,u]);const m=i=>{d(i);const g=!i||i==="<p></p>"||i.trim()==="<p><br></p>"?void 0:i;n.setFieldValue(e,g),n.validateFields([e]).catch(()=>{})},x=c.useMemo(()=>o?[...s,...E.required(t??"")]:s,[o,s,t]);return a.jsx(h.Form.Item,{help:f,name:e,label:t,rules:x,children:a.jsx(c.Suspense,{fallback:a.jsx("div",{children:"Loading editor..."}),children:a.jsx(S,{readOnly:r,value:u,onChange:m,theme:"snow",className:"bg-white dark:!bg-[#141414] dark:text-white dark:!fill-white",modules:b,formats:k})})})};exports.RichTextEditor=T;
1
+ "use strict";var k=Object.create;var f=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var y=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!R.call(e,s)&&s!==o&&f(e,s,{get:()=>t[s],enumerable:!(r=F(t,s))||r.enumerable});return e};var E=(e,t,o)=>(o=e!=null?k(q(e)):{},y(t||!e||!e.__esModule?f(o,"default",{value:e,enumerable:!0}):o,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),p=require("antd"),c=require("react"),S=require("../../util/ValidationUtil.cjs.js"),w=c.lazy(async()=>{const{default:e}=await import("react-quill");return{default:t=>d.jsx(e,{...t})}}),T=({name:e,label:t,required:o,rules:r=[],disabled:s,help:h})=>{const n=p.Form.useFormInstance(),[u,a]=c.useState(""),b={toolbar:[["bold","italic","underline","strike","blockquote"],[{list:"ordered"},{list:"bullet"}],["link"],["clean"]]},m=["bold","italic","underline","strike","blockquote","list","bullet","link"];c.useEffect(()=>{const i=n.getFieldValue(e);i&&i!=="<p></p>"&&i!=="<p><br></p>"&&a(i)},[n,e]);const l=p.Form.useWatch(e,n);c.useEffect(()=>{l!==u&&a(!l||l==="<p></p>"||l==="<p><br></p>"?"":l)},[l,u]);const x=i=>{a(i);const j=!i||i==="<p></p>"||i.trim()==="<p><br></p>"?void 0:i;n.setFieldValue(e,j),n.validateFields([e]).catch(()=>{})},V=c.useMemo(()=>o?[...r,...S.required(t??"")]:r,[o,r,t]);return d.jsx(p.Form.Item,{help:h,name:e,label:t,rules:V,children:d.jsx(c.Suspense,{fallback:d.jsx("div",{children:"Loading editor..."}),children:d.jsx(w,{readOnly:s,value:u,onChange:x,theme:"snow",className:"rich-text-editor",modules:b,formats:m})})})};exports.RichTextEditor=T;
@@ -1,26 +1,26 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { Form as a } from "antd";
3
- import g, { useState as w, useEffect as u, useMemo as F, Suspense as x } from "react";
4
- import R from "../../util/ValidationUtil.es.js";
5
- const y = g.lazy(async () => {
3
+ import F, { useState as g, useEffect as u, useMemo as x, Suspense as R } from "react";
4
+ import w from "../../util/ValidationUtil.es.js";
5
+ const y = F.lazy(async () => {
6
6
  const { default: e } = await import("react-quill");
7
- return { default: (o) => /* @__PURE__ */ r(e, { ...o }) };
7
+ return { default: (i) => /* @__PURE__ */ r(e, { ...i }) };
8
8
  }), Q = ({
9
9
  name: e,
10
- label: o,
10
+ label: i,
11
11
  required: d,
12
12
  rules: c = [],
13
13
  disabled: p,
14
14
  help: f
15
15
  }) => {
16
- const l = a.useFormInstance(), [n, s] = w(""), h = {
16
+ const l = a.useFormInstance(), [n, s] = g(""), m = {
17
17
  toolbar: [
18
18
  ["bold", "italic", "underline", "strike", "blockquote"],
19
19
  [{ list: "ordered" }, { list: "bullet" }],
20
20
  ["link"],
21
21
  ["clean"]
22
22
  ]
23
- }, m = [
23
+ }, h = [
24
24
  "bold",
25
25
  "italic",
26
26
  "underline",
@@ -34,29 +34,29 @@ const y = g.lazy(async () => {
34
34
  const t = l.getFieldValue(e);
35
35
  t && t !== "<p></p>" && t !== "<p><br></p>" && s(t);
36
36
  }, [l, e]);
37
- const i = a.useWatch(e, l);
37
+ const o = a.useWatch(e, l);
38
38
  u(() => {
39
- i !== n && s(!i || i === "<p></p>" || i === "<p><br></p>" ? "" : i);
40
- }, [i, n]);
39
+ o !== n && s(!o || o === "<p></p>" || o === "<p><br></p>" ? "" : o);
40
+ }, [o, n]);
41
41
  const b = (t) => {
42
42
  s(t);
43
- const V = !t || t === "<p></p>" || t.trim() === "<p><br></p>" ? void 0 : t;
44
- l.setFieldValue(e, V), l.validateFields([e]).catch(() => {
43
+ const k = !t || t === "<p></p>" || t.trim() === "<p><br></p>" ? void 0 : t;
44
+ l.setFieldValue(e, k), l.validateFields([e]).catch(() => {
45
45
  });
46
- }, k = F(
47
- () => d ? [...c, ...R.required(o ?? "")] : c,
48
- [d, c, o]
46
+ }, V = x(
47
+ () => d ? [...c, ...w.required(i ?? "")] : c,
48
+ [d, c, i]
49
49
  );
50
- return /* @__PURE__ */ r(a.Item, { help: f, name: e, label: o, rules: k, children: /* @__PURE__ */ r(x, { fallback: /* @__PURE__ */ r("div", { children: "Loading editor..." }), children: /* @__PURE__ */ r(
50
+ return /* @__PURE__ */ r(a.Item, { help: f, name: e, label: i, rules: V, children: /* @__PURE__ */ r(R, { fallback: /* @__PURE__ */ r("div", { children: "Loading editor..." }), children: /* @__PURE__ */ r(
51
51
  y,
52
52
  {
53
53
  readOnly: p,
54
54
  value: n,
55
55
  onChange: b,
56
56
  theme: "snow",
57
- className: "bg-white dark:!bg-[#141414] dark:text-white dark:!fill-white",
58
- modules: h,
59
- formats: m
57
+ className: "rich-text-editor",
58
+ modules: m,
59
+ formats: h
60
60
  }
61
61
  ) }) });
62
62
  };
@@ -1,4 +1 @@
1
- "use strict";const r=require("react/jsx-runtime"),J=require("@ant-design/icons"),s=require("antd"),i=require("react"),j=require("./CrudField.cjs.js"),K=require("./view/CrudViewer.cjs.js"),M=require("../common/report/SelectFieldInReport.cjs.js"),v=require("./view/CrudViewerUtil.cjs.js"),Q=require("../common/select/SelectComponent.cjs.js"),V=require("../common/button/Button.cjs.js"),W=require("../common/button/PrintButton.cjs.js"),A={lg:6,md:8,sm:12,xs:24},X={lg:12,md:16,sm:24,xs:24};function Y({fields:d,data:u,idField:L,loadingData:f,onSubmit:x,paginateProps:G,size:O,onClickPrint:h,onClickExcelExport:y,minusHeight:U,extraSearchFields:R,searchOnMount:B,summary:_}){const{searchable:$,selectable:c,sortable:w,defaultSort:p}=i.useMemo(()=>{var b,m,N,I,T;const e=[],t=[],o=[];let n;for(const l of d.filter(H=>!H.hidden))l.type==="image"||!l.report||((b=l.report)!=null&&b.searchable&&e.push(l),(m=l.report)!=null&&m.sortable&&(t.push(l),!n&&((N=l.report)!=null&&N.defaultSort)&&(n=l)),l.hideInTable||o.push({id:l.name,label:l.label,lock:(I=l.report)==null?void 0:I.lock,alreadySelected:(T=l.report)==null?void 0:T.alreadySelected}));return{defaultSort:n,searchable:e,sortable:t,selectable:o}},[d]),[S,F]=i.useState([]),g=i.useCallback(async({sortBy:e,sortByType:t,showFields:o=[],...n})=>{const b=[];e&&b.push({field:e,sort:t??"DESC"}),F(d.filter(m=>o.includes(m.name)).map(m=>({...m,hideInTable:!1}))),x({showFields:o,sortBy:b,...n})},[d,x]),[a]=s.Form.useForm(),[q,z]=i.useState(!1),[C,D]=i.useState(!0);return i.useEffect(()=>{if(B&&C){const e=setTimeout(()=>{a.validateFields().then(t=>{g(t)}),D(!1)},200);return()=>clearTimeout(e)}},[g,a,C,B]),i.useEffect(()=>{var t,o;!a.getFieldValue("sortBy")&&p&&a.setFieldsValue({sortBy:p.name,sortByType:typeof((t=p.report)==null?void 0:t.defaultSort)=="string"?(o=p.report)==null?void 0:o.defaultSort:"ASC"})},[p,a]),i.useEffect(()=>{if(q){const e=c.filter(t=>t.alreadySelected).map(t=>t.id);F(d.filter(t=>e.includes(t.name)).map(t=>({...t,hideInTable:!1}))),z(!1)}},[d,q,c]),r.jsxs(s.Space,{className:"w-100",direction:"vertical",children:[r.jsxs(s.Form,{form:a,layout:"vertical",onFinish:g,children:[r.jsxs(s.Row,{gutter:[8,8],children:[$.map(e=>{var t,o,n;return r.jsx(s.Col,{...e.grid??A,style:{alignSelf:"end"},children:(t=e.report)!=null&&t.customRender?e.report.customRender(a):e.type==="date"?r.jsx(j.default,{...e,type:"date",range:(o=e.report)==null?void 0:o.range,required:!!((n=e.report)!=null&&n.required),readonly:!1,fieldClassName:"mb-0"}):e.type==="select"?r.jsx(j.default,{...e,type:"select",multiple:!0,required:!1,readonly:!1,fieldClassName:"mb-0"}):r.jsx(j.default,{...e,readonly:!1,required:!1,fieldClassName:"mb-0"})},e.name)}),!!(c!=null&&c.length)&&r.jsx(s.Col,{...X,children:r.jsx(M.SelectFieldInReport,{items:c,name:"showFields",mode:"multiple",label:"Show Fields",className:"mb-0"})}),!!w.length&&r.jsx(s.Col,{...A,children:r.jsx(Q,{label:"Sort By",name:"sortBy",items:w.map(e=>({id:e.name,label:e.label})),nameFieldInArray:"label",fieldId:"id",className:"mb-0",dropdownRender:e=>r.jsxs(r.Fragment,{children:[e,r.jsx(s.Form.Item,{name:"sortByType",noStyle:!0,className:"mt-3",children:r.jsx(s.Radio.Group,{className:"w-100",defaultValue:"DESC",optionType:"button",children:r.jsxs(s.Row,{children:[r.jsx(s.Col,{xs:12,children:r.jsx(s.Radio,{className:"w-100",style:{borderTopRightRadius:0,borderBottomRightRadius:0},value:"ASC",children:"Ascending"})}),r.jsx(s.Col,{xs:12,children:r.jsx(s.Radio,{className:"w-100",style:{borderTopLeftRadius:0,borderBottomLeftRadius:0},value:"DESC",children:"Descending"})})]})})})]})})}),R?R(a):null]}),r.jsx(V,{className:"mt-3",type:"primary",block:!0,htmlType:"submit",disabled:f,children:"Submit"})]}),r.jsxs(s.Space,{children:[!!h&&r.jsx(W.PrintButton,{disabled:f||!u.length,onClick:()=>h==null?void 0:h({tableId:"#crud-table table",data:u,fields:S.map(e=>({...e,render:v.getRendererValueCrudViewer(e)}))})}),!!y&&r.jsx(V,{disabled:f||!u.length,onClick:()=>y==null?void 0:y({tableId:"#crud-table table",data:u,fields:S.map(e=>({...e,render:v.getRendererValueCrudViewer(e)}))}),icon:r.jsx(J.FileExcelOutlined,{}),className:`group
2
- ${f||!u.length?"":"!bg-green-700 hover:!bg-green-600 !text-white !border-green-700 hover:!border-green-600"}
3
-
4
- `,children:"Excel"})]}),_,r.jsx(K,{minusHeight:U,data:u,size:O,fields:S,idField:L,loadingData:f,paginateProps:G,viewable:!1})]})}module.exports=Y;
1
+ "use strict";const t=require("react/jsx-runtime"),J=require("@ant-design/icons"),s=require("antd"),i=require("react"),x=require("./CrudField.cjs.js"),K=require("./view/CrudViewer.cjs.js"),M=require("../common/report/SelectFieldInReport.cjs.js"),V=require("./view/CrudViewerUtil.cjs.js"),Q=require("../common/select/SelectComponent.cjs.js"),v=require("../common/button/Button.cjs.js"),W=require("../common/button/PrintButton.cjs.js"),A={lg:6,md:8,sm:12,xs:24},X={lg:12,md:16,sm:24,xs:24};function Y({fields:d,data:u,idField:L,loadingData:f,onSubmit:g,paginateProps:G,size:O,onClickPrint:h,onClickExcelExport:y,minusHeight:U,extraSearchFields:R,searchOnMount:B,summary:_}){const{searchable:$,selectable:c,sortable:F,defaultSort:p}=i.useMemo(()=>{var b,m,N,I,T;const e=[],r=[],o=[];let n;for(const l of d.filter(H=>!H.hidden))l.type==="image"||!l.report||((b=l.report)!=null&&b.searchable&&e.push(l),(m=l.report)!=null&&m.sortable&&(r.push(l),!n&&((N=l.report)!=null&&N.defaultSort)&&(n=l)),l.hideInTable||o.push({id:l.name,label:l.label,lock:(I=l.report)==null?void 0:I.lock,alreadySelected:(T=l.report)==null?void 0:T.alreadySelected}));return{defaultSort:n,searchable:e,sortable:r,selectable:o}},[d]),[S,q]=i.useState([]),j=i.useCallback(async({sortBy:e,sortByType:r,showFields:o=[],...n})=>{const b=[];e&&b.push({field:e,sort:r??"DESC"}),q(d.filter(m=>o.includes(m.name)).map(m=>({...m,hideInTable:!1}))),g({showFields:o,sortBy:b,...n})},[d,g]),[a]=s.Form.useForm(),[w,z]=i.useState(!1),[C,D]=i.useState(!0);return i.useEffect(()=>{if(B&&C){const e=setTimeout(()=>{a.validateFields().then(r=>{j(r)}),D(!1)},200);return()=>clearTimeout(e)}},[j,a,C,B]),i.useEffect(()=>{var r,o;!a.getFieldValue("sortBy")&&p&&a.setFieldsValue({sortBy:p.name,sortByType:typeof((r=p.report)==null?void 0:r.defaultSort)=="string"?(o=p.report)==null?void 0:o.defaultSort:"ASC"})},[p,a]),i.useEffect(()=>{if(w){const e=c.filter(r=>r.alreadySelected).map(r=>r.id);q(d.filter(r=>e.includes(r.name)).map(r=>({...r,hideInTable:!1}))),z(!1)}},[d,w,c]),t.jsxs(s.Space,{className:"w-100",direction:"vertical",children:[t.jsxs(s.Form,{form:a,layout:"vertical",onFinish:j,children:[t.jsxs(s.Row,{gutter:[8,8],children:[$.map(e=>{var r,o,n;return t.jsx(s.Col,{...e.grid??A,style:{alignSelf:"end"},children:(r=e.report)!=null&&r.customRender?e.report.customRender(a):e.type==="date"?t.jsx(x.default,{...e,type:"date",range:(o=e.report)==null?void 0:o.range,required:!!((n=e.report)!=null&&n.required),readonly:!1,fieldClassName:"mb-0"}):e.type==="select"?t.jsx(x.default,{...e,type:"select",multiple:!0,required:!1,readonly:!1,fieldClassName:"mb-0"}):t.jsx(x.default,{...e,readonly:!1,required:!1,fieldClassName:"mb-0"})},e.name)}),!!(c!=null&&c.length)&&t.jsx(s.Col,{...X,children:t.jsx(M.SelectFieldInReport,{items:c,name:"showFields",mode:"multiple",label:"Show Fields",className:"mb-0"})}),!!F.length&&t.jsx(s.Col,{...A,children:t.jsx(Q,{label:"Sort By",name:"sortBy",items:F.map(e=>({id:e.name,label:e.label})),nameFieldInArray:"label",fieldId:"id",className:"mb-0",dropdownRender:e=>t.jsxs(t.Fragment,{children:[e,t.jsx(s.Form.Item,{name:"sortByType",noStyle:!0,className:"mt-3",children:t.jsx(s.Radio.Group,{className:"w-100",defaultValue:"DESC",optionType:"button",children:t.jsxs(s.Row,{children:[t.jsx(s.Col,{xs:12,children:t.jsx(s.Radio,{className:"w-100",style:{borderTopRightRadius:0,borderBottomRightRadius:0},value:"ASC",children:"Ascending"})}),t.jsx(s.Col,{xs:12,children:t.jsx(s.Radio,{className:"w-100",style:{borderTopLeftRadius:0,borderBottomLeftRadius:0},value:"DESC",children:"Descending"})})]})})})]})})}),R?R(a):null]}),t.jsx(v,{className:"mt-3",type:"primary",block:!0,htmlType:"submit",disabled:f,children:"Submit"})]}),t.jsxs(s.Space,{children:[!!h&&t.jsx(W.PrintButton,{disabled:f||!u.length,onClick:()=>h==null?void 0:h({tableId:"#crud-table table",data:u,fields:S.map(e=>({...e,render:V.getRendererValueCrudViewer(e)}))})}),!!y&&t.jsx(v,{disabled:f||!u.length,onClick:()=>y==null?void 0:y({tableId:"#crud-table table",data:u,fields:S.map(e=>({...e,render:V.getRendererValueCrudViewer(e)}))}),icon:t.jsx(J.FileExcelOutlined,{}),className:`group ${f||!u.length?"":"crud-excel-export-btn"}`,children:"Excel"})]}),_,t.jsx(K,{minusHeight:U,data:u,size:O,fields:S,idField:L,loadingData:f,paginateProps:G,viewable:!1})]})}module.exports=Y;
@@ -1,35 +1,35 @@
1
- import { jsxs as u, jsx as t, Fragment as Z } from "react/jsx-runtime";
2
- import { FileExcelOutlined as x } from "@ant-design/icons";
1
+ import { jsxs as u, jsx as t, Fragment as Y } from "react/jsx-runtime";
2
+ import { FileExcelOutlined as Z } from "@ant-design/icons";
3
3
  import { Form as B, Space as O, Row as _, Col as b, Radio as R } from "antd";
4
- import { useMemo as k, useState as w, useCallback as E, useEffect as F } from "react";
4
+ import { useMemo as k, useState as F, useCallback as E, useEffect as w } from "react";
5
5
  import N from "./CrudField.es.js";
6
6
  import P from "./view/CrudViewer.es.js";
7
7
  import { SelectFieldInReport as ee } from "../common/report/SelectFieldInReport.es.js";
8
8
  import { getRendererValueCrudViewer as $ } from "./view/CrudViewerUtil.es.js";
9
9
  import re from "../common/select/SelectComponent.es.js";
10
- import z from "../common/button/Button.es.js";
10
+ import x from "../common/button/Button.es.js";
11
11
  import { PrintButton as te } from "../common/button/PrintButton.es.js";
12
- const D = { lg: 6, md: 8, sm: 12, xs: 24 }, le = { lg: 12, md: 16, sm: 24, xs: 24 };
12
+ const z = { lg: 6, md: 8, sm: 12, xs: 24 }, le = { lg: 12, md: 16, sm: 24, xs: 24 };
13
13
  function be({
14
- fields: n,
15
- data: i,
16
- idField: H,
14
+ fields: i,
15
+ data: d,
16
+ idField: D,
17
17
  loadingData: c,
18
18
  onSubmit: T,
19
- paginateProps: J,
20
- size: K,
19
+ paginateProps: H,
20
+ size: J,
21
21
  onClickPrint: h,
22
22
  onClickExcelExport: y,
23
- minusHeight: M,
24
- extraSearchFields: v,
25
- searchOnMount: C,
26
- summary: Q
23
+ minusHeight: K,
24
+ extraSearchFields: C,
25
+ searchOnMount: I,
26
+ summary: M
27
27
  }) {
28
- const { searchable: U, selectable: d, sortable: I, defaultSort: p } = k(() => {
28
+ const { searchable: Q, selectable: n, sortable: v, defaultSort: p } = k(() => {
29
29
  var f, m, j, L, G;
30
30
  const e = [], r = [], o = [];
31
31
  let a;
32
- for (const l of n.filter((Y) => !Y.hidden))
32
+ for (const l of i.filter((X) => !X.hidden))
33
33
  l.type === "image" || !l.report || ((f = l.report) != null && f.searchable && e.push(l), (m = l.report) != null && m.sortable && (r.push(l), !a && ((j = l.report) != null && j.defaultSort) && (a = l)), l.hideInTable || o.push({
34
34
  id: l.name,
35
35
  label: l.label,
@@ -42,9 +42,9 @@ function be({
42
42
  sortable: r,
43
43
  selectable: o
44
44
  };
45
- }, [n]), [g, V] = w(
45
+ }, [i]), [S, V] = F(
46
46
  []
47
- ), S = E(
47
+ ), g = E(
48
48
  async ({
49
49
  sortBy: e,
50
50
  sortByType: r,
@@ -56,42 +56,42 @@ function be({
56
56
  field: e,
57
57
  sort: r ?? "DESC"
58
58
  }), V(
59
- n.filter((m) => o.includes(m.name)).map((m) => ({ ...m, hideInTable: !1 }))
59
+ i.filter((m) => o.includes(m.name)).map((m) => ({ ...m, hideInTable: !1 }))
60
60
  ), T({ showFields: o, sortBy: f, ...a });
61
61
  },
62
- [n, T]
63
- ), [s] = B.useForm(), [q, W] = w(!1), [A, X] = w(!0);
64
- return F(() => {
65
- if (C && A) {
62
+ [i, T]
63
+ ), [s] = B.useForm(), [q, U] = F(!1), [A, W] = F(!0);
64
+ return w(() => {
65
+ if (I && A) {
66
66
  const e = setTimeout(() => {
67
67
  s.validateFields().then((r) => {
68
- S(r);
69
- }), X(!1);
68
+ g(r);
69
+ }), W(!1);
70
70
  }, 200);
71
71
  return () => clearTimeout(e);
72
72
  }
73
- }, [S, s, A, C]), F(() => {
73
+ }, [g, s, A, I]), w(() => {
74
74
  var r, o;
75
75
  !s.getFieldValue("sortBy") && p && s.setFieldsValue({
76
76
  sortBy: p.name,
77
77
  sortByType: typeof ((r = p.report) == null ? void 0 : r.defaultSort) == "string" ? (o = p.report) == null ? void 0 : o.defaultSort : "ASC"
78
78
  });
79
- }, [p, s]), F(() => {
79
+ }, [p, s]), w(() => {
80
80
  if (q) {
81
- const e = d.filter((r) => r.alreadySelected).map((r) => r.id);
81
+ const e = n.filter((r) => r.alreadySelected).map((r) => r.id);
82
82
  V(
83
- n.filter((r) => e.includes(r.name)).map((r) => ({ ...r, hideInTable: !1 }))
84
- ), W(!1);
83
+ i.filter((r) => e.includes(r.name)).map((r) => ({ ...r, hideInTable: !1 }))
84
+ ), U(!1);
85
85
  }
86
- }, [n, q, d]), /* @__PURE__ */ u(O, { className: "w-100", direction: "vertical", children: [
87
- /* @__PURE__ */ u(B, { form: s, layout: "vertical", onFinish: S, children: [
86
+ }, [i, q, n]), /* @__PURE__ */ u(O, { className: "w-100", direction: "vertical", children: [
87
+ /* @__PURE__ */ u(B, { form: s, layout: "vertical", onFinish: g, children: [
88
88
  /* @__PURE__ */ u(_, { gutter: [8, 8], children: [
89
- U.map((e) => {
89
+ Q.map((e) => {
90
90
  var r, o, a;
91
91
  return /* @__PURE__ */ t(
92
92
  b,
93
93
  {
94
- ...e.grid ?? D,
94
+ ...e.grid ?? z,
95
95
  style: { alignSelf: "end" },
96
96
  children: (r = e.report) != null && r.customRender ? e.report.customRender(s) : e.type === "date" ? /* @__PURE__ */ t(
97
97
  N,
@@ -126,26 +126,26 @@ function be({
126
126
  e.name
127
127
  );
128
128
  }),
129
- !!(d != null && d.length) && /* @__PURE__ */ t(b, { ...le, children: /* @__PURE__ */ t(
129
+ !!(n != null && n.length) && /* @__PURE__ */ t(b, { ...le, children: /* @__PURE__ */ t(
130
130
  ee,
131
131
  {
132
- items: d,
132
+ items: n,
133
133
  name: "showFields",
134
134
  mode: "multiple",
135
135
  label: "Show Fields",
136
136
  className: "mb-0"
137
137
  }
138
138
  ) }),
139
- !!I.length && /* @__PURE__ */ t(b, { ...D, children: /* @__PURE__ */ t(
139
+ !!v.length && /* @__PURE__ */ t(b, { ...z, children: /* @__PURE__ */ t(
140
140
  re,
141
141
  {
142
142
  label: "Sort By",
143
143
  name: "sortBy",
144
- items: I.map((e) => ({ id: e.name, label: e.label })),
144
+ items: v.map((e) => ({ id: e.name, label: e.label })),
145
145
  nameFieldInArray: "label",
146
146
  fieldId: "id",
147
147
  className: "mb-0",
148
- dropdownRender: (e) => /* @__PURE__ */ u(Z, { children: [
148
+ dropdownRender: (e) => /* @__PURE__ */ u(Y, { children: [
149
149
  e,
150
150
  /* @__PURE__ */ t(B.Item, { name: "sortByType", noStyle: !0, className: "mt-3", children: /* @__PURE__ */ t(
151
151
  R.Group,
@@ -184,10 +184,10 @@ function be({
184
184
  ] })
185
185
  }
186
186
  ) }),
187
- v ? v(s) : null
187
+ C ? C(s) : null
188
188
  ] }),
189
189
  /* @__PURE__ */ t(
190
- z,
190
+ x,
191
191
  {
192
192
  className: "mt-3",
193
193
  type: "primary",
@@ -202,11 +202,11 @@ function be({
202
202
  !!h && /* @__PURE__ */ t(
203
203
  te,
204
204
  {
205
- disabled: c || !i.length,
205
+ disabled: c || !d.length,
206
206
  onClick: () => h == null ? void 0 : h({
207
207
  tableId: "#crud-table table",
208
- data: i,
209
- fields: g.map((e) => ({
208
+ data: d,
209
+ fields: S.map((e) => ({
210
210
  ...e,
211
211
  render: $(e)
212
212
  }))
@@ -214,37 +214,34 @@ function be({
214
214
  }
215
215
  ),
216
216
  !!y && /* @__PURE__ */ t(
217
- z,
217
+ x,
218
218
  {
219
- disabled: c || !i.length,
219
+ disabled: c || !d.length,
220
220
  onClick: () => y == null ? void 0 : y({
221
221
  tableId: "#crud-table table",
222
- data: i,
223
- fields: g.map((e) => ({
222
+ data: d,
223
+ fields: S.map((e) => ({
224
224
  ...e,
225
225
  render: $(e)
226
226
  }))
227
227
  }),
228
- icon: /* @__PURE__ */ t(x, {}),
229
- className: `group
230
- ${c || !i.length ? "" : "!bg-green-700 hover:!bg-green-600 !text-white !border-green-700 hover:!border-green-600"}
231
-
232
- `,
228
+ icon: /* @__PURE__ */ t(Z, {}),
229
+ className: `group ${c || !d.length ? "" : "crud-excel-export-btn"}`,
233
230
  children: "Excel"
234
231
  }
235
232
  )
236
233
  ] }),
237
- Q,
234
+ M,
238
235
  /* @__PURE__ */ t(
239
236
  P,
240
237
  {
241
- minusHeight: M,
242
- data: i,
243
- size: K,
244
- fields: g,
245
- idField: H,
238
+ minusHeight: K,
239
+ data: d,
240
+ size: J,
241
+ fields: S,
242
+ idField: D,
246
243
  loadingData: c,
247
- paginateProps: J,
244
+ paginateProps: H,
248
245
  viewable: !1
249
246
  }
250
247
  )
package/dist/style.css CHANGED
@@ -8,4 +8,4 @@
8
8
  * https://quilljs.com/
9
9
  * Copyright (c) 2014, Jason Chen
10
10
  * Copyright (c) 2013, salesforce.com
11
- */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.dark .ql-toolbar.ql-snow,.dark .ql-container.ql-snow{@apply border border-[#424242];}.ql-toolbar.ql-snow{border-top-left-radius:6px;border-top-right-radius:6px;@apply border border-[#d9d9d9];}.ql-container.ql-snow{border-bottom-left-radius:6px;border-bottom-right-radius:6px;@apply border border-[#d9d9d9];}.quill{border-radius:6px}.ant-avatar-string{left:0!important;position:relative!important}.hide-upload div.ant-upload-select{display:none!important}.max-width{width:100%}.ant-btn:focus{outline:none!important;box-shadow:none!important}.ant-btn:active{outline:none!important;border-color:inherit!important}input:focus{outline:none!important}
11
+ */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}html.dark .ql-toolbar.ql-snow,html[data-theme=dark] .ql-toolbar.ql-snow,body.dark .ql-toolbar.ql-snow,html.dark .ql-container.ql-snow,html[data-theme=dark] .ql-container.ql-snow,body.dark .ql-container.ql-snow{border:1px solid #424242}html.dark .rich-text-editor,html[data-theme=dark] .rich-text-editor,body.dark .rich-text-editor{background-color:#141414!important;color:#fff!important}html.dark .rich-text-editor svg,html[data-theme=dark] .rich-text-editor svg,body.dark .rich-text-editor svg{fill:#fff!important}.ql-toolbar.ql-snow{border-top-left-radius:6px;border-top-right-radius:6px;border:1px solid #d9d9d9}.ql-container.ql-snow{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border:1px solid #d9d9d9}.quill{border-radius:6px}.rich-text-editor{background-color:#fff}.ant-avatar-string{left:0!important;position:relative!important}.hide-upload div.ant-upload-select{display:none!important}.max-width{width:100%}.crud-excel-export-btn{background-color:#15803d!important;color:#fff!important;border-color:#15803d!important}.crud-excel-export-btn:hover{background-color:#16a34a!important;border-color:#16a34a!important}.ant-btn:focus{outline:none!important;box-shadow:none!important}.ant-btn:active{outline:none!important;border-color:inherit!important}input:focus{outline:none!important}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kingteza/crud-component",
3
3
  "private": false,
4
- "version": "1.13.1",
4
+ "version": "1.13.3",
5
5
  "description": "React CRUD component library with Ant Design",
6
6
  "keywords": [
7
7
  "react",