@kingteza/crud-component 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts +8 -0
- package/dist/common/index.cjs.js +1 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.es.js +72 -74
- package/dist/crud/CrudComponent.d.ts +9 -8
- package/dist/crud/CrudTextAreaComponent.d.ts +2 -1
- package/dist/crud/view/CrudViewerUtil.cjs.js +1 -1
- package/dist/crud/view/CrudViewerUtil.es.js +176 -73
- package/dist/crud-component.css +1 -1
- package/dist/types/CopyProps.d.ts +0 -0
- package/dist/util/CopyUtil.cjs.js +1 -0
- package/dist/util/CopyUtil.d.ts +13 -0
- package/dist/util/CopyUtil.es.js +21 -0
- package/package.json +1 -1
- package/dist/common/show-more/index.cjs.js +0 -1
- package/dist/common/show-more/index.d.ts +0 -16
- package/dist/common/show-more/index.es.js +0 -79
package/dist/App.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
39
39
|
label: string;
|
|
40
40
|
type: string;
|
|
41
41
|
required: boolean;
|
|
42
|
+
copyable: boolean;
|
|
42
43
|
hideInTable?: undefined;
|
|
43
44
|
truncated?: undefined;
|
|
44
45
|
format?: undefined;
|
|
@@ -56,6 +57,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
56
57
|
type: string;
|
|
57
58
|
hideInTable: boolean;
|
|
58
59
|
truncated: boolean;
|
|
60
|
+
copyable: boolean;
|
|
59
61
|
required?: undefined;
|
|
60
62
|
format?: undefined;
|
|
61
63
|
use12Hours?: undefined;
|
|
@@ -73,6 +75,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
73
75
|
format: string;
|
|
74
76
|
use12Hours: boolean;
|
|
75
77
|
required: boolean;
|
|
78
|
+
copyable: boolean;
|
|
76
79
|
hideInTable?: undefined;
|
|
77
80
|
truncated?: undefined;
|
|
78
81
|
readonly?: undefined;
|
|
@@ -89,6 +92,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
89
92
|
format: string;
|
|
90
93
|
use12Hours: boolean;
|
|
91
94
|
readonly: boolean;
|
|
95
|
+
copyable: boolean;
|
|
92
96
|
required?: undefined;
|
|
93
97
|
hideInTable?: undefined;
|
|
94
98
|
truncated?: undefined;
|
|
@@ -105,6 +109,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
105
109
|
int: boolean;
|
|
106
110
|
required: boolean;
|
|
107
111
|
hideInTable: boolean;
|
|
112
|
+
copyable: boolean;
|
|
108
113
|
truncated?: undefined;
|
|
109
114
|
format?: undefined;
|
|
110
115
|
use12Hours?: undefined;
|
|
@@ -122,6 +127,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
122
127
|
required: boolean;
|
|
123
128
|
hideInTable: boolean;
|
|
124
129
|
max: number;
|
|
130
|
+
copyable: boolean;
|
|
125
131
|
truncated?: undefined;
|
|
126
132
|
format?: undefined;
|
|
127
133
|
use12Hours?: undefined;
|
|
@@ -132,6 +138,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
132
138
|
type: string;
|
|
133
139
|
int: boolean;
|
|
134
140
|
required: boolean;
|
|
141
|
+
copyable: boolean;
|
|
135
142
|
grid?: undefined;
|
|
136
143
|
hideInTable?: undefined;
|
|
137
144
|
truncated?: undefined;
|
|
@@ -149,6 +156,7 @@ export declare const useWorkShiftCrudComponentProps: () => {
|
|
|
149
156
|
type: string;
|
|
150
157
|
int: boolean;
|
|
151
158
|
required: boolean;
|
|
159
|
+
copyable: boolean;
|
|
152
160
|
hideInTable?: undefined;
|
|
153
161
|
truncated?: undefined;
|
|
154
162
|
format?: undefined;
|
package/dist/common/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./text/index.cjs.js"),t=require("./rich/index.cjs.js"),o=require("./appearance/Hider.cjs.js"),r=require("./button/Button.cjs.js"),n=require("./button/CloneButtonTable.cjs.js"),i=require("./button/DeleteButtonTable.cjs.js"),u=require("./button/HideButtonTable.cjs.js"),c=require("./button/UnHideButton.cjs.js"),s=require("./button/UpdateButtonTable.cjs.js"),a=require("./button/ViewButtonTable.cjs.js"),l=require("./check-box/CheckBox.cjs.js"),d=require("./date-picker/DatePicker.cjs.js"),q=require("./date-picker/TimePicker.cjs.js"),p=require("./description/DescList.cjs.js"),T=require("./layout/VerticalSpace.cjs.js"),B=require("./loading/LoadingIndicator.cjs.js"),m=require("./picker/ImagePicker.cjs.js"),b=require("./select/SelectComponent.cjs.js"),C=require("./select/CustomSelectOption.cjs.js"),x=require("./table/table.cjs.js"),R=require("./tag/StatusTag.cjs.js"),S=require("./text-field/NumberField.cjs.js"),h=require("./text-field/PhoneNumberField.cjs.js"),P=require("./text-field/TextField.cjs.js"),F=require("./text-field/TextArea.cjs.js"),w=require("./tooltip/TooltipComponent.cjs.js"),I=require("./wizard/WizardResult.cjs.js"),V=require("./wizard/WizardViewForm.cjs.js"),g=require("./button/ExportButton.cjs.js"),k=require("./button/ImportButton.cjs.js"),f=require("./button/NewButton.cjs.js"),W=require("./button/PrintButton.cjs.js"),D=require("./button/RefreshButton.cjs.js"),H=require("./radio/RadioGroupComponent.cjs.js"),N=require("./report/SelectFieldInReport.cjs.js"),E=require("./tab/TabViewWithRoute.cjs.js"),z=require("./text/title/index.cjs.js");exports.Text=e.Text;exports.RichTextEditor=t.RichTextEditor;exports.Hider=o;exports.ButtonComponent=r;exports.CloneButtonTable=n;exports.DeleteButtonTable=i;exports.HideButtonTable=u;exports.UnHideButton=c;exports.UpdateButtonTable=s;exports.ViewButtonTable=a;exports.CheckBoxComponent=l;exports.DatePickerComponent=d;exports.TimePickerComponent=q;exports.DescList=p;exports.VerticalSpace=T;exports.LoadingIndicator=B;exports.ImagePicker=m.default;exports.SelectComponent=b;exports.CustomSelectOption=C;exports.TableComponent=x;exports.StatusTag=R;exports.NumberTextField=S;exports.PhoneField=h;exports.TextField=P.default;exports.TextAreaComponent=F.default;exports.TooltipComponent=w;exports.WizardResult=I;exports.WizardViewForm=V;exports.ExportButton=g.ExportButton;exports.ImportButton=k.ImportButton;exports.NewButton=f.NewButton;exports.PrintButton=W.PrintButton;exports.RefreshButton=D.RefreshButton;exports.RadioGroupComponent=H;exports.SelectFieldInReport=N.SelectFieldInReport;exports.TabViewWithRoute=E.TabViewWithRoute;exports.Title=z.Title;
|
package/dist/common/index.d.ts
CHANGED
package/dist/common/index.es.js
CHANGED
|
@@ -1,78 +1,76 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { default as l } from "./
|
|
5
|
-
import { default as x } from "./button/
|
|
6
|
-
import { default as n } from "./button/
|
|
7
|
-
import { default as i } from "./button/
|
|
8
|
-
import { default as B } from "./button/
|
|
9
|
-
import { default as C } from "./button/
|
|
10
|
-
import { default as
|
|
11
|
-
import { default as S } from "./button/ViewButtonTable.es.js";
|
|
1
|
+
import { Text as o } from "./text/index.es.js";
|
|
2
|
+
import { RichTextEditor as a } from "./rich/index.es.js";
|
|
3
|
+
import { default as p } from "./appearance/Hider.es.js";
|
|
4
|
+
import { default as l } from "./button/Button.es.js";
|
|
5
|
+
import { default as x } from "./button/CloneButtonTable.es.js";
|
|
6
|
+
import { default as n } from "./button/DeleteButtonTable.es.js";
|
|
7
|
+
import { default as i } from "./button/HideButtonTable.es.js";
|
|
8
|
+
import { default as B } from "./button/UnHideButton.es.js";
|
|
9
|
+
import { default as C } from "./button/UpdateButtonTable.es.js";
|
|
10
|
+
import { default as R } from "./button/ViewButtonTable.es.js";
|
|
12
11
|
import { default as F } from "./check-box/CheckBox.es.js";
|
|
13
|
-
import { default as
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { default as
|
|
23
|
-
import { default as
|
|
24
|
-
import { default as
|
|
25
|
-
import { default as
|
|
26
|
-
import { default as
|
|
27
|
-
import { default as
|
|
28
|
-
import { default as
|
|
29
|
-
import { default as
|
|
30
|
-
import { ExportButton as
|
|
31
|
-
import { ImportButton as
|
|
32
|
-
import { NewButton as
|
|
33
|
-
import { PrintButton as
|
|
34
|
-
import { RefreshButton as
|
|
35
|
-
import { default as
|
|
36
|
-
import { SelectFieldInReport as
|
|
37
|
-
import { TabViewWithRoute as
|
|
38
|
-
import { Title as
|
|
12
|
+
import { default as S } from "./date-picker/DatePicker.es.js";
|
|
13
|
+
import { default as w } from "./date-picker/TimePicker.es.js";
|
|
14
|
+
import { default as V } from "./description/DescList.es.js";
|
|
15
|
+
import { default as D } from "./layout/VerticalSpace.es.js";
|
|
16
|
+
import { default as W } from "./loading/LoadingIndicator.es.js";
|
|
17
|
+
import { default as E } from "./picker/ImagePicker.es.js";
|
|
18
|
+
import { default as N } from "./select/SelectComponent.es.js";
|
|
19
|
+
import { default as A } from "./select/CustomSelectOption.es.js";
|
|
20
|
+
import { default as O } from "./table/table.es.js";
|
|
21
|
+
import { default as q } from "./tag/StatusTag.es.js";
|
|
22
|
+
import { default as y } from "./text-field/NumberField.es.js";
|
|
23
|
+
import { default as K } from "./text-field/PhoneNumberField.es.js";
|
|
24
|
+
import { default as Q } from "./text-field/TextField.es.js";
|
|
25
|
+
import { default as Y } from "./text-field/TextArea.es.js";
|
|
26
|
+
import { default as _ } from "./tooltip/TooltipComponent.es.js";
|
|
27
|
+
import { default as ee } from "./wizard/WizardResult.es.js";
|
|
28
|
+
import { default as oe } from "./wizard/WizardViewForm.es.js";
|
|
29
|
+
import { ExportButton as ae } from "./button/ExportButton.es.js";
|
|
30
|
+
import { ImportButton as pe } from "./button/ImportButton.es.js";
|
|
31
|
+
import { NewButton as le } from "./button/NewButton.es.js";
|
|
32
|
+
import { PrintButton as xe } from "./button/PrintButton.es.js";
|
|
33
|
+
import { RefreshButton as ne } from "./button/RefreshButton.es.js";
|
|
34
|
+
import { default as ie } from "./radio/RadioGroupComponent.es.js";
|
|
35
|
+
import { SelectFieldInReport as Be } from "./report/SelectFieldInReport.es.js";
|
|
36
|
+
import { TabViewWithRoute as Ce } from "./tab/TabViewWithRoute.es.js";
|
|
37
|
+
import { Title as Re } from "./text/title/index.es.js";
|
|
39
38
|
export {
|
|
40
|
-
|
|
39
|
+
l as ButtonComponent,
|
|
41
40
|
F as CheckBoxComponent,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
C as
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
oe as
|
|
77
|
-
ae as WizardViewForm
|
|
41
|
+
x as CloneButtonTable,
|
|
42
|
+
A as CustomSelectOption,
|
|
43
|
+
S as DatePickerComponent,
|
|
44
|
+
n as DeleteButtonTable,
|
|
45
|
+
V as DescList,
|
|
46
|
+
ae as ExportButton,
|
|
47
|
+
i as HideButtonTable,
|
|
48
|
+
p as Hider,
|
|
49
|
+
E as ImagePicker,
|
|
50
|
+
pe as ImportButton,
|
|
51
|
+
W as LoadingIndicator,
|
|
52
|
+
le as NewButton,
|
|
53
|
+
y as NumberTextField,
|
|
54
|
+
K as PhoneField,
|
|
55
|
+
xe as PrintButton,
|
|
56
|
+
ie as RadioGroupComponent,
|
|
57
|
+
ne as RefreshButton,
|
|
58
|
+
a as RichTextEditor,
|
|
59
|
+
N as SelectComponent,
|
|
60
|
+
Be as SelectFieldInReport,
|
|
61
|
+
q as StatusTag,
|
|
62
|
+
Ce as TabViewWithRoute,
|
|
63
|
+
O as TableComponent,
|
|
64
|
+
o as Text,
|
|
65
|
+
Y as TextAreaComponent,
|
|
66
|
+
Q as TextField,
|
|
67
|
+
w as TimePickerComponent,
|
|
68
|
+
Re as Title,
|
|
69
|
+
_ as TooltipComponent,
|
|
70
|
+
B as UnHideButton,
|
|
71
|
+
C as UpdateButtonTable,
|
|
72
|
+
D as VerticalSpace,
|
|
73
|
+
R as ViewButtonTable,
|
|
74
|
+
ee as WizardResult,
|
|
75
|
+
oe as WizardViewForm
|
|
78
76
|
};
|
|
@@ -12,6 +12,7 @@ import { SelectTagRenderProps } from '../common/select/SelectComponent';
|
|
|
12
12
|
import { default as IdProps } from '../types/Id';
|
|
13
13
|
import { TextAreaBasedFieldProps } from './CrudTextAreaComponent';
|
|
14
14
|
import { SizeType } from 'antd/es/config-provider/SizeContext';
|
|
15
|
+
import { Copyable } from 'src/util/CopyUtil';
|
|
15
16
|
export type SelectFieldItem = {
|
|
16
17
|
key?: string | number;
|
|
17
18
|
value: string | number;
|
|
@@ -61,7 +62,7 @@ export type CrudFieldGrid = {
|
|
|
61
62
|
xl?: number;
|
|
62
63
|
xxl?: number;
|
|
63
64
|
};
|
|
64
|
-
export interface SelectCrudField<T, ItemType extends SelectFieldItem = SelectFieldItem> extends Omit<InitialCrudField<T>, "name">, AddonFieldProps {
|
|
65
|
+
export interface SelectCrudField<T, ItemType extends SelectFieldItem = SelectFieldItem> extends Omit<InitialCrudField<T>, "name">, AddonFieldProps, Copyable<false> {
|
|
65
66
|
name: InitialCrudField<T>["name"] | {
|
|
66
67
|
name: keyof T | (string | number)[];
|
|
67
68
|
upsertFieldName: keyof T | (string | number)[];
|
|
@@ -105,7 +106,7 @@ export interface SelectCrudField<T, ItemType extends SelectFieldItem = SelectFie
|
|
|
105
106
|
onChange?: (value: any, form: FormInstance<T>) => void;
|
|
106
107
|
onSet?: (value: any | any[], items: SelectFieldItem[], form: FormInstance<T>) => void;
|
|
107
108
|
}
|
|
108
|
-
export interface EnumCrudField<T> extends InitialCrudField<T> {
|
|
109
|
+
export interface EnumCrudField<T> extends InitialCrudField<T>, Copyable<false> {
|
|
109
110
|
type: "enum";
|
|
110
111
|
placeholder?: string;
|
|
111
112
|
name: keyof T;
|
|
@@ -123,17 +124,17 @@ export type AddonFieldProps = {
|
|
|
123
124
|
addonAfter?: ReactNode;
|
|
124
125
|
addonBefore?: ReactNode;
|
|
125
126
|
};
|
|
126
|
-
export interface ObjectCrudField<T> extends InitialCrudField<T> {
|
|
127
|
+
export interface ObjectCrudField<T> extends InitialCrudField<T>, Copyable<true> {
|
|
127
128
|
type: "object";
|
|
128
129
|
render: (value: any, obj: T, index: number) => any;
|
|
129
130
|
translation?: object;
|
|
130
131
|
}
|
|
131
|
-
export interface TextBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps {
|
|
132
|
+
export interface TextBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps, Copyable<false> {
|
|
132
133
|
placeholder?: string;
|
|
133
134
|
type: "text" | "time" | "email" | "password";
|
|
134
135
|
onChange?: (value: string, form: FormInstance<T>) => void;
|
|
135
136
|
}
|
|
136
|
-
export interface ColorPickerFieldProps<T> extends Omit<InitialCrudField<T>, "placeholder"> {
|
|
137
|
+
export interface ColorPickerFieldProps<T> extends Omit<InitialCrudField<T>, "placeholder">, Copyable<false> {
|
|
137
138
|
type: "color";
|
|
138
139
|
innerProps?: ColorPickerProps;
|
|
139
140
|
}
|
|
@@ -142,7 +143,7 @@ export interface CheckboxBasedFieldProps<T> extends InitialCrudField<T> {
|
|
|
142
143
|
onChange?: (value: boolean, form: FormInstance<T>) => void;
|
|
143
144
|
switch?: boolean;
|
|
144
145
|
}
|
|
145
|
-
export interface NumberBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps {
|
|
146
|
+
export interface NumberBasedFieldProps<T> extends InitialCrudField<T>, AddonFieldProps, Copyable<false> {
|
|
146
147
|
type: "number";
|
|
147
148
|
placeholder?: string;
|
|
148
149
|
allowMinus?: boolean;
|
|
@@ -155,7 +156,7 @@ export interface NumberBasedFieldProps<T> extends InitialCrudField<T>, AddonFiel
|
|
|
155
156
|
int?: boolean;
|
|
156
157
|
onChange?: (value: number, form: FormInstance<T>) => void;
|
|
157
158
|
}
|
|
158
|
-
export interface DateBasedFieldProps<T> extends InitialCrudField<T> {
|
|
159
|
+
export interface DateBasedFieldProps<T> extends InitialCrudField<T>, Copyable<false> {
|
|
159
160
|
type: "date";
|
|
160
161
|
format?: string;
|
|
161
162
|
placeholder?: string;
|
|
@@ -173,7 +174,7 @@ export interface DateBasedFieldProps<T> extends InitialCrudField<T> {
|
|
|
173
174
|
};
|
|
174
175
|
onChange?: (value: Dayjs | undefined, form: FormInstance<T>) => void;
|
|
175
176
|
}
|
|
176
|
-
export interface TimeBasedFieldProps<T> extends InitialCrudField<T> {
|
|
177
|
+
export interface TimeBasedFieldProps<T> extends InitialCrudField<T>, Copyable<false> {
|
|
177
178
|
type: "time";
|
|
178
179
|
placeholder?: string;
|
|
179
180
|
use12Hours?: boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InitialCrudField } from './CrudComponent';
|
|
2
2
|
import { FormInstance } from 'antd/lib';
|
|
3
|
+
import { Copyable } from 'src/util/CopyUtil';
|
|
3
4
|
interface InitialTextAreaProps<T> extends InitialCrudField<T> {
|
|
4
5
|
type: "textarea";
|
|
5
6
|
onChange?: (value: string, form: FormInstance<T>) => void;
|
|
@@ -17,6 +18,6 @@ interface TextAreaProps<T> extends InitialTextAreaProps<T> {
|
|
|
17
18
|
interface RichTextAreaProps<T> extends InitialTextAreaProps<T> {
|
|
18
19
|
rich?: true;
|
|
19
20
|
}
|
|
20
|
-
export type TextAreaBasedFieldProps<T> = TextAreaProps<T> & RichTextAreaProps<T>;
|
|
21
|
+
export type TextAreaBasedFieldProps<T> = TextAreaProps<T> & RichTextAreaProps<T> & Copyable<false>;
|
|
21
22
|
declare const CrudTextAreaComponent: <T>({ onChange, label, required, rules, name, updatable, ...props }: TextAreaBasedFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
export default CrudTextAreaComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),g=require("@ant-design/icons"),b=require("antd"),B=require("../FileCrudField.cjs.js"),W=require("../ImageCrudField.cjs.js"),C=require("../../util/DateUtil.cjs.js"),v=require("../../util/NumberUtil.cjs.js"),T=require("../../locale/index.cjs.js"),F=require("../../util/CrudUtil.cjs.js"),h=require("../../common/error/ErrorBoundaryComponent.cjs.js"),i=require("../../util/CopyUtil.cjs.js");function q({type:d,render:e,...p}){try{return d==="object"?(o,n,a)=>t.jsx(i.CopyToClipboardButtonWrapper,{copyable:p.copyable,value:o,children:typeof e=="function"?e(o,n,a):""}):d==="select"?(o,n,a)=>{if(!o)return"-";const r=p,c=o||(r.items??[]).find(s=>s[r.innerFieldId??"key"]===n[F.getRealName(p.name,"upsertFieldName")]),u=r.multiple?Array.isArray(c)?c.map(s=>s==null?void 0:s[r.innerFieldLabel??"name"]):void 0:c==null?void 0:c[r.innerFieldLabel??"value"];return t.jsx(b.Typography.Text,{copyable:i.copyableFn(r.copyable,u),children:typeof e=="function"?e(u,n,a):Array.isArray(u)?u.join(", "):u})}:d==="number"?(o,n,a)=>{const r=p;return t.jsx(b.Typography.Text,{copyable:i.copyableFn(r.copyable,o),children:typeof e=="function"?e(o,n,a):r.int?v.default.toInt(o,r.formatted):v.default.toMoney(o)})}:d==="enum"?(o,n,a)=>{var s;if(!o)return"-";const r=p;if(typeof e=="function")return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:o,children:e(o,n,a)});if(r.multiple){const f=(Array.isArray(o)?o:o?[o]:[]).map(l=>{var j,m;const y=(j=r.tagRender)==null?void 0:j[l],x=T.tWithOrWithoutNS(((m=r==null?void 0:r.translation)==null?void 0:m[l??""])??l,void 0,l);return{tagProps:y,translatedValue:x,item:l}});if(typeof r.tagRender=="object")return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:()=>f.map(({translatedValue:l,item:y})=>l??y).join(", "),children:t.jsx(h.ErrorBoundaryComponent,{children:t.jsx(b.Space,{wrap:!0,children:f.map(({tagProps:l,translatedValue:y,item:x},j)=>l?t.jsx(b.Tag,{color:l.color,children:y},j+x):y)})})});if(r!=null&&r.translation)return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:()=>f.map(({translatedValue:l,item:y})=>l??y).join(", "),children:t.jsx(h.ErrorBoundaryComponent,{children:f==null?void 0:f.map(({translatedValue:l,item:y})=>l??y).join(", ")})});{const l=f.map(({translatedValue:y,item:x})=>y??x).join(", ");return t.jsx(b.Typography.Text,{copyable:i.copyableFn(r.copyable,l),children:l})}}const c=((s=r==null?void 0:r.translation)==null?void 0:s[o??""])??o,u=T.tWithOrWithoutNS(c,void 0,o);if(typeof r.tagRender=="object"){const f=r.tagRender[o];if(f)return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:u,children:t.jsx(b.Tag,{color:f.color,children:u})})}return t.jsx(b.Typography.Text,{copyable:i.copyableFn(r.copyable,u),children:u})}:d==="date"?(o,n,a)=>{if(!o)return"-";const r=p,c=r.formatTime?C.formatDateTime(o):C.formatDate(o);return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:c,children:t.jsx(h.ErrorBoundaryComponent,{children:typeof e=="function"?e(o,n,a):c})})}:d==="checkbox"?(o,n,a)=>typeof e=="function"?e(o,n,a):o?t.jsx(g.CheckOutlined,{}):t.jsx(g.CloseOutlined,{}):d==="image"?(o,n,a)=>o?t.jsx(h.ErrorBoundaryComponent,{children:typeof e=="function"?e(o,n,a):t.jsx(W.ImageCrudCellValue,{value:o,provider:p.provider})}):"-":d==="file"?(o,n,a)=>o?t.jsx(h.ErrorBoundaryComponent,{children:typeof e=="function"?e(o,n,a):t.jsx(B.FileCrudCellValue,{value:o,provider:p.provider})}):"":d==="time"?(o,n,a)=>{if(!o)return"-";const r=p,c=r.format,u=r.use12Hours,s=C.formatTime(o,c||(u?"hh:mm:ss A":void 0));return t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:s,children:t.jsx(h.ErrorBoundaryComponent,{children:typeof e=="function"?e(o,n,a):s})})}:d==="color"?(o,n,a)=>{const r=p;return o?t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:o,children:t.jsx(h.ErrorBoundaryComponent,{children:typeof e=="function"?e(o,n,a):typeof o=="string"&&o.startsWith("#")?t.jsx(b.Tooltip,{title:o,children:t.jsx(b.Avatar,{style:{backgroundColor:o}})}):String(o)})}):"-"}:d==="textarea"?(o,n,a)=>{if(!o)return"-";const r=p,c=r.truncated??1,u=typeof o=="string"&&o.split(" ").length<10;return typeof e=="function"?t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:o,children:e(o,n,a)}):c?t.jsx(h.ErrorBoundaryComponent,{children:t.jsx(b.Typography.Paragraph,{ellipsis:!u&&{rows:c===!0?1:c,expandable:"collapsible"},copyable:i.copyableFn(r.copyable,o),children:r.rich?t.jsx("div",{style:{all:"unset"},dangerouslySetInnerHTML:{__html:o}}):o})}):r.rich?t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:o,children:t.jsx("div",{style:{all:"unset"},dangerouslySetInnerHTML:{__html:o}})}):t.jsx(i.CopyToClipboardButtonWrapper,{copyable:r.copyable,value:o,children:o})}:typeof e=="function"?e:(o,n,a)=>{const r=p;return t.jsx(b.Typography.Text,{copyable:i.copyableFn(r.copyable,o),children:o})}}catch(o){return console.warn("An error occurred while rendering the value for field: "+String(p.name),o),"-"}}exports.getRendererValueCrudViewer=q;
|
|
@@ -1,103 +1,206 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { CheckOutlined as
|
|
3
|
-
import { Space as R, Tag as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import v from "../../util/DateUtil.es.js";
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { CheckOutlined as S, CloseOutlined as F } from "@ant-design/icons";
|
|
3
|
+
import { Typography as d, Space as R, Tag as C, Tooltip as w, Avatar as I } from "antd";
|
|
4
|
+
import { FileCrudCellValue as P } from "../FileCrudField.es.js";
|
|
5
|
+
import { ImageCrudCellValue as V } from "../ImageCrudField.es.js";
|
|
6
|
+
import T from "../../util/DateUtil.es.js";
|
|
8
7
|
import j from "../../util/NumberUtil.es.js";
|
|
9
|
-
import { tWithOrWithoutNS as
|
|
10
|
-
import
|
|
11
|
-
import { ErrorBoundaryComponent as
|
|
8
|
+
import { tWithOrWithoutNS as A } from "../../locale/index.es.js";
|
|
9
|
+
import k from "../../util/CrudUtil.es.js";
|
|
10
|
+
import { ErrorBoundaryComponent as b } from "../../common/error/ErrorBoundaryComponent.es.js";
|
|
11
|
+
import { CopyToClipboardButtonWrapper as m, copyableFn as h } from "../../util/CopyUtil.es.js";
|
|
12
12
|
function z({
|
|
13
|
-
type:
|
|
14
|
-
render:
|
|
15
|
-
...
|
|
13
|
+
type: y,
|
|
14
|
+
render: n,
|
|
15
|
+
...u
|
|
16
16
|
}) {
|
|
17
17
|
try {
|
|
18
|
-
return
|
|
18
|
+
return y === "object" ? (t, l, e) => /* @__PURE__ */ r(
|
|
19
|
+
m,
|
|
20
|
+
{
|
|
21
|
+
copyable: u.copyable,
|
|
22
|
+
value: t,
|
|
23
|
+
children: typeof n == "function" ? n(t, l, e) : ""
|
|
24
|
+
}
|
|
25
|
+
) : y === "select" ? (t, l, e) => {
|
|
19
26
|
if (!t) return "-";
|
|
20
|
-
const
|
|
21
|
-
(
|
|
22
|
-
),
|
|
23
|
-
return typeof
|
|
24
|
-
} :
|
|
25
|
-
|
|
27
|
+
const o = u, a = t || (o.items ?? []).find(
|
|
28
|
+
(f) => f[o.innerFieldId ?? "key"] === l[k.getRealName(u.name, "upsertFieldName")]
|
|
29
|
+
), c = o.multiple ? Array.isArray(a) ? a.map((f) => f == null ? void 0 : f[o.innerFieldLabel ?? "name"]) : void 0 : a == null ? void 0 : a[o.innerFieldLabel ?? "value"];
|
|
30
|
+
return /* @__PURE__ */ r(d.Text, { copyable: h(o.copyable, c), children: typeof n == "function" ? n(c, l, e) : Array.isArray(c) ? c.join(", ") : c });
|
|
31
|
+
} : y === "number" ? (t, l, e) => {
|
|
32
|
+
const o = u;
|
|
33
|
+
return /* @__PURE__ */ r(d.Text, { copyable: h(o.copyable, t), children: typeof n == "function" ? n(t, l, e) : o.int ? j.toInt(t, o.formatted) : j.toMoney(t) });
|
|
34
|
+
} : y === "enum" ? (t, l, e) => {
|
|
35
|
+
var f;
|
|
26
36
|
if (!t) return "-";
|
|
27
|
-
const
|
|
28
|
-
if (typeof
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
const o = u;
|
|
38
|
+
if (typeof n == "function")
|
|
39
|
+
return /* @__PURE__ */ r(
|
|
40
|
+
m,
|
|
41
|
+
{
|
|
42
|
+
copyable: o.copyable,
|
|
43
|
+
value: t,
|
|
44
|
+
children: n(t, l, e)
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
if (o.multiple) {
|
|
48
|
+
const s = (Array.isArray(t) ? t : t ? [t] : []).map((i) => {
|
|
49
|
+
var g, x;
|
|
50
|
+
const p = (g = o.tagRender) == null ? void 0 : g[i], v = A(
|
|
51
|
+
((x = o == null ? void 0 : o.translation) == null ? void 0 : x[i ?? ""]) ?? i,
|
|
36
52
|
void 0,
|
|
37
|
-
|
|
53
|
+
i
|
|
38
54
|
);
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
return {
|
|
56
|
+
tagProps: p,
|
|
57
|
+
translatedValue: v,
|
|
58
|
+
item: i
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
if (typeof o.tagRender == "object")
|
|
62
|
+
return /* @__PURE__ */ r(
|
|
63
|
+
m,
|
|
64
|
+
{
|
|
65
|
+
copyable: o.copyable,
|
|
66
|
+
value: () => s.map(
|
|
67
|
+
({ translatedValue: i, item: p }) => i ?? p
|
|
68
|
+
).join(", "),
|
|
69
|
+
children: /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(R, { wrap: !0, children: s.map(({ tagProps: i, translatedValue: p, item: v }, g) => i ? /* @__PURE__ */ r(C, { color: i.color, children: p }, g + v) : p) }) })
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
if (o != null && o.translation)
|
|
73
|
+
return /* @__PURE__ */ r(
|
|
74
|
+
m,
|
|
75
|
+
{
|
|
76
|
+
copyable: o.copyable,
|
|
77
|
+
value: () => s.map(
|
|
78
|
+
({ translatedValue: i, item: p }) => i ?? p
|
|
79
|
+
).join(", "),
|
|
80
|
+
children: /* @__PURE__ */ r(b, { children: s == null ? void 0 : s.map(
|
|
81
|
+
({ translatedValue: i, item: p }) => i ?? p
|
|
82
|
+
).join(", ") })
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
{
|
|
86
|
+
const i = s.map(({ translatedValue: p, item: v }) => p ?? v).join(", ");
|
|
87
|
+
return /* @__PURE__ */ r(
|
|
88
|
+
d.Text,
|
|
89
|
+
{
|
|
90
|
+
copyable: h(o.copyable, i),
|
|
91
|
+
children: i
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
}
|
|
50
95
|
}
|
|
51
|
-
const
|
|
52
|
-
if (typeof
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
55
|
-
return /* @__PURE__ */
|
|
96
|
+
const a = ((f = o == null ? void 0 : o.translation) == null ? void 0 : f[t ?? ""]) ?? t, c = A(a, void 0, t);
|
|
97
|
+
if (typeof o.tagRender == "object") {
|
|
98
|
+
const s = o.tagRender[t];
|
|
99
|
+
if (s)
|
|
100
|
+
return /* @__PURE__ */ r(
|
|
101
|
+
m,
|
|
102
|
+
{
|
|
103
|
+
copyable: o.copyable,
|
|
104
|
+
value: c,
|
|
105
|
+
children: /* @__PURE__ */ r(C, { color: s.color, children: c })
|
|
106
|
+
}
|
|
107
|
+
);
|
|
56
108
|
}
|
|
57
|
-
return
|
|
58
|
-
} :
|
|
109
|
+
return /* @__PURE__ */ r(d.Text, { copyable: h(o.copyable, c), children: c });
|
|
110
|
+
} : y === "date" ? (t, l, e) => {
|
|
59
111
|
if (!t) return "-";
|
|
60
|
-
const
|
|
61
|
-
return /* @__PURE__ */
|
|
62
|
-
|
|
63
|
-
|
|
112
|
+
const o = u, a = o.formatTime ? T.formatDateTime(t) : T.formatDate(t);
|
|
113
|
+
return /* @__PURE__ */ r(
|
|
114
|
+
m,
|
|
115
|
+
{
|
|
116
|
+
copyable: o.copyable,
|
|
117
|
+
value: a,
|
|
118
|
+
children: /* @__PURE__ */ r(b, { children: typeof n == "function" ? n(t, l, e) : a })
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
} : y === "checkbox" ? (t, l, e) => typeof n == "function" ? n(t, l, e) : t ? /* @__PURE__ */ r(S, {}) : /* @__PURE__ */ r(F, {}) : y === "image" ? (t, l, e) => t ? /* @__PURE__ */ r(b, { children: typeof n == "function" ? n(t, l, e) : /* @__PURE__ */ r(
|
|
122
|
+
V,
|
|
64
123
|
{
|
|
65
124
|
value: t,
|
|
66
|
-
provider:
|
|
125
|
+
provider: u.provider
|
|
67
126
|
}
|
|
68
|
-
) }) : "-" :
|
|
69
|
-
|
|
127
|
+
) }) : "-" : y === "file" ? (t, l, e) => t ? /* @__PURE__ */ r(b, { children: typeof n == "function" ? n(t, l, e) : /* @__PURE__ */ r(
|
|
128
|
+
P,
|
|
70
129
|
{
|
|
71
130
|
value: t,
|
|
72
|
-
provider:
|
|
131
|
+
provider: u.provider
|
|
73
132
|
}
|
|
74
|
-
) }) : "" :
|
|
133
|
+
) }) : "" : y === "time" ? (t, l, e) => {
|
|
75
134
|
if (!t) return "-";
|
|
76
|
-
const
|
|
135
|
+
const o = u, a = o.format, c = o.use12Hours, f = T.formatTime(
|
|
77
136
|
t,
|
|
78
|
-
|
|
137
|
+
a || (c ? "hh:mm:ss A" : void 0)
|
|
138
|
+
);
|
|
139
|
+
return /* @__PURE__ */ r(
|
|
140
|
+
m,
|
|
141
|
+
{
|
|
142
|
+
copyable: o.copyable,
|
|
143
|
+
value: f,
|
|
144
|
+
children: /* @__PURE__ */ r(b, { children: typeof n == "function" ? n(t, l, e) : f })
|
|
145
|
+
}
|
|
79
146
|
);
|
|
80
|
-
|
|
81
|
-
|
|
147
|
+
} : y === "color" ? (t, l, e) => {
|
|
148
|
+
const o = u;
|
|
149
|
+
return t ? /* @__PURE__ */ r(m, { copyable: o.copyable, value: t, children: /* @__PURE__ */ r(b, { children: typeof n == "function" ? n(t, l, e) : typeof t == "string" && t.startsWith("#") ? /* @__PURE__ */ r(w, { title: t, children: /* @__PURE__ */ r(I, { style: { backgroundColor: t } }) }) : String(t) }) }) : "-";
|
|
150
|
+
} : y === "textarea" ? (t, l, e) => {
|
|
82
151
|
if (!t) return "-";
|
|
83
|
-
const
|
|
84
|
-
return typeof
|
|
85
|
-
|
|
152
|
+
const o = u, a = o.truncated ?? 1, c = typeof t == "string" && t.split(" ").length < 10;
|
|
153
|
+
return typeof n == "function" ? /* @__PURE__ */ r(
|
|
154
|
+
m,
|
|
86
155
|
{
|
|
87
|
-
|
|
88
|
-
|
|
156
|
+
copyable: o.copyable,
|
|
157
|
+
value: t,
|
|
158
|
+
children: n(t, l, e)
|
|
89
159
|
}
|
|
90
|
-
) :
|
|
91
|
-
|
|
160
|
+
) : a ? /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(
|
|
161
|
+
d.Paragraph,
|
|
92
162
|
{
|
|
93
|
-
|
|
94
|
-
|
|
163
|
+
ellipsis: !c && {
|
|
164
|
+
rows: a === !0 ? 1 : a,
|
|
165
|
+
expandable: "collapsible"
|
|
166
|
+
},
|
|
167
|
+
copyable: h(o.copyable, t),
|
|
168
|
+
children: o.rich ? /* @__PURE__ */ r(
|
|
169
|
+
"div",
|
|
170
|
+
{
|
|
171
|
+
style: { all: "unset" },
|
|
172
|
+
dangerouslySetInnerHTML: { __html: t }
|
|
173
|
+
}
|
|
174
|
+
) : t
|
|
95
175
|
}
|
|
96
|
-
) :
|
|
97
|
-
|
|
176
|
+
) }) : o.rich ? /* @__PURE__ */ r(
|
|
177
|
+
m,
|
|
178
|
+
{
|
|
179
|
+
copyable: o.copyable,
|
|
180
|
+
value: t,
|
|
181
|
+
children: /* @__PURE__ */ r(
|
|
182
|
+
"div",
|
|
183
|
+
{
|
|
184
|
+
style: { all: "unset" },
|
|
185
|
+
dangerouslySetInnerHTML: { __html: t }
|
|
186
|
+
}
|
|
187
|
+
)
|
|
188
|
+
}
|
|
189
|
+
) : /* @__PURE__ */ r(
|
|
190
|
+
m,
|
|
191
|
+
{
|
|
192
|
+
copyable: o.copyable,
|
|
193
|
+
value: t,
|
|
194
|
+
children: t
|
|
195
|
+
}
|
|
196
|
+
);
|
|
197
|
+
} : typeof n == "function" ? n : (t, l, e) => {
|
|
198
|
+
const o = u;
|
|
199
|
+
return /* @__PURE__ */ r(d.Text, { copyable: h(o.copyable, t), children: t });
|
|
200
|
+
};
|
|
98
201
|
} catch (t) {
|
|
99
202
|
return console.warn(
|
|
100
|
-
"An error occurred while rendering the value for field: " + String(
|
|
203
|
+
"An error occurred while rendering the value for field: " + String(u.name),
|
|
101
204
|
t
|
|
102
205
|
), "-";
|
|
103
206
|
}
|
package/dist/crud-component.css
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* https://quilljs.com/
|
|
4
4
|
* Copyright (c) 2014, Jason Chen
|
|
5
5
|
* Copyright (c) 2013, salesforce.com
|
|
6
|
-
*/.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}.show-more-container{position:relative}.show-more-less-clickable{cursor:pointer;background:none;border:none;padding:4px 8px;font-size:inherit;text-decoration:none;transition:color .2s ease}.show-more-less-clickable:hover{color:#40a9ff;text-decoration:underline}.show-more-less-clickable:focus{outline:2px solid #1890ff;outline-offset:2px;border-radius:2px}
|
|
6
|
+
*/.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}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),p=require("antd"),e=(t,o)=>typeof t=="object"?{text(){return t.onCopy(o)}}:t?!0:void 0,i=({copyable:t,value:o,children:r})=>t?n.jsx(p.Typography.Text,{copyable:typeof t=="object"?e(t,o):t?{async text(){return typeof o=="function"?await o():o}}:void 0,children:r}):r;exports.CopyToClipboardButtonWrapper=i;exports.copyableFn=e;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CopyConfig } from 'antd/es/typography/Base';
|
|
2
|
+
import { FC, PropsWithChildren } from 'react';
|
|
3
|
+
export interface CopyProps {
|
|
4
|
+
onCopy: (value: any) => any;
|
|
5
|
+
}
|
|
6
|
+
export interface Copyable<REQUIRED extends boolean> {
|
|
7
|
+
copyable?: REQUIRED extends true ? false | CopyProps : boolean | CopyProps;
|
|
8
|
+
}
|
|
9
|
+
export declare const copyableFn: (copyable: Copyable<false>["copyable"], value: any) => true | CopyConfig | undefined;
|
|
10
|
+
export declare const CopyToClipboardButtonWrapper: FC<PropsWithChildren<{
|
|
11
|
+
copyable: (Copyable<true> | Copyable<false>)["copyable"];
|
|
12
|
+
value: any | (() => PromiseLike<any>);
|
|
13
|
+
}>>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { Typography as p } from "antd";
|
|
3
|
+
const e = (t, o) => typeof t == "object" ? {
|
|
4
|
+
text() {
|
|
5
|
+
return t.onCopy(o);
|
|
6
|
+
}
|
|
7
|
+
} : t ? !0 : void 0, x = ({ copyable: t, value: o, children: r }) => t ? /* @__PURE__ */ n(
|
|
8
|
+
p.Text,
|
|
9
|
+
{
|
|
10
|
+
copyable: typeof t == "object" ? e(t, o) : t ? {
|
|
11
|
+
async text() {
|
|
12
|
+
return typeof o == "function" ? await o() : o;
|
|
13
|
+
}
|
|
14
|
+
} : void 0,
|
|
15
|
+
children: r
|
|
16
|
+
}
|
|
17
|
+
) : r;
|
|
18
|
+
export {
|
|
19
|
+
x as CopyToClipboardButtonWrapper,
|
|
20
|
+
e as copyableFn
|
|
21
|
+
};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("react");;/* empty css */const h=({children:c,className:w="",expanded:f=!1,keepNewLines:g=!1,less:m="Show less",lines:n=3,more:p="Show more",onClick:i,width:o,truncatedEndingComponent:u,anchorClass:b="show-more-less-clickable"})=>{const[t,S]=r.useState(f),[l,x]=r.useState(!1),a=r.useRef(null),d=()=>{if(!a.current)return;const e=a.current,T=(Number.parseInt(getComputedStyle(e).lineHeight)||20)*n,j=e.scrollHeight>T;x(j)};r.useEffect(()=>{const e=setTimeout(d,0);return()=>clearTimeout(e)},[c,n]),r.useEffect(()=>{const e=()=>d();return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const v=()=>{const e=!t;S(e),i==null||i(e)},y=()=>{const e={width:o?`${o}px`:"100%",wordBreak:"break-word",whiteSpace:g?"pre-wrap":"normal"};return!t&&l?{...e,display:"-webkit-box",WebkitLineClamp:n,WebkitBoxOrient:"vertical",overflow:"hidden"}:e};return s.jsxs("div",{className:`show-more-container ${w}`,style:{width:o?`${o}px`:"100%"},children:[s.jsx("div",{ref:a,style:y(),children:c}),!t&&l&&u&&s.jsx("span",{children:u}),l&&s.jsx("button",{type:"button",className:b,onClick:v,style:{cursor:"pointer",background:"none",border:"none",padding:0,font:"inherit",color:"inherit"},"aria-label":t?"Show less content":"Show more content",children:t?m:p})]})};exports.ShowMore=h;exports.default=h;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface ShowMoreProps {
|
|
3
|
-
anchorClass?: string;
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
expanded?: boolean;
|
|
7
|
-
keepNewLines?: boolean;
|
|
8
|
-
less?: React.ReactNode;
|
|
9
|
-
lines?: number;
|
|
10
|
-
more?: React.ReactNode;
|
|
11
|
-
onClick?: ((expanded: boolean) => void);
|
|
12
|
-
width?: number;
|
|
13
|
-
truncatedEndingComponent?: React.ReactNode;
|
|
14
|
-
}
|
|
15
|
-
export declare const ShowMore: React.FC<ShowMoreProps>;
|
|
16
|
-
export default ShowMore;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { jsxs as E, jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import { useState as h, useRef as H, useEffect as w } from "react";
|
|
3
|
-
/* empty css */
|
|
4
|
-
const R = ({
|
|
5
|
-
children: a,
|
|
6
|
-
className: m = "",
|
|
7
|
-
expanded: u = !1,
|
|
8
|
-
keepNewLines: p = !1,
|
|
9
|
-
less: f = "Show less",
|
|
10
|
-
lines: r = 3,
|
|
11
|
-
more: g = "Show more",
|
|
12
|
-
onClick: n,
|
|
13
|
-
width: o,
|
|
14
|
-
truncatedEndingComponent: c,
|
|
15
|
-
anchorClass: b = "show-more-less-clickable"
|
|
16
|
-
}) => {
|
|
17
|
-
const [t, x] = h(u), [s, S] = h(!1), i = H(null), d = () => {
|
|
18
|
-
if (!i.current) return;
|
|
19
|
-
const e = i.current, T = (Number.parseInt(getComputedStyle(e).lineHeight) || 20) * r, k = e.scrollHeight > T;
|
|
20
|
-
S(k);
|
|
21
|
-
};
|
|
22
|
-
w(() => {
|
|
23
|
-
const e = setTimeout(d, 0);
|
|
24
|
-
return () => clearTimeout(e);
|
|
25
|
-
}, [a, r]), w(() => {
|
|
26
|
-
const e = () => d();
|
|
27
|
-
return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
28
|
-
}, []);
|
|
29
|
-
const v = () => {
|
|
30
|
-
const e = !t;
|
|
31
|
-
x(e), n == null || n(e);
|
|
32
|
-
}, y = () => {
|
|
33
|
-
const e = {
|
|
34
|
-
width: o ? `${o}px` : "100%",
|
|
35
|
-
wordBreak: "break-word",
|
|
36
|
-
whiteSpace: p ? "pre-wrap" : "normal"
|
|
37
|
-
};
|
|
38
|
-
return !t && s ? {
|
|
39
|
-
...e,
|
|
40
|
-
display: "-webkit-box",
|
|
41
|
-
WebkitLineClamp: r,
|
|
42
|
-
WebkitBoxOrient: "vertical",
|
|
43
|
-
overflow: "hidden"
|
|
44
|
-
} : e;
|
|
45
|
-
};
|
|
46
|
-
return /* @__PURE__ */ E(
|
|
47
|
-
"div",
|
|
48
|
-
{
|
|
49
|
-
className: `show-more-container ${m}`,
|
|
50
|
-
style: { width: o ? `${o}px` : "100%" },
|
|
51
|
-
children: [
|
|
52
|
-
/* @__PURE__ */ l("div", { ref: i, style: y(), children: a }),
|
|
53
|
-
!t && s && c && /* @__PURE__ */ l("span", { children: c }),
|
|
54
|
-
s && /* @__PURE__ */ l(
|
|
55
|
-
"button",
|
|
56
|
-
{
|
|
57
|
-
type: "button",
|
|
58
|
-
className: b,
|
|
59
|
-
onClick: v,
|
|
60
|
-
style: {
|
|
61
|
-
cursor: "pointer",
|
|
62
|
-
background: "none",
|
|
63
|
-
border: "none",
|
|
64
|
-
padding: 0,
|
|
65
|
-
font: "inherit",
|
|
66
|
-
color: "inherit"
|
|
67
|
-
},
|
|
68
|
-
"aria-label": t ? "Show less content" : "Show more content",
|
|
69
|
-
children: t ? f : g
|
|
70
|
-
}
|
|
71
|
-
)
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
export {
|
|
77
|
-
R as ShowMore,
|
|
78
|
-
R as default
|
|
79
|
-
};
|