@baasix/lexical 0.0.2
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/README.md +281 -0
- package/dist/DateTimeComponent-4MX2IKXK.css +45 -0
- package/dist/DateTimeComponent-4MX2IKXK.css.map +1 -0
- package/dist/DateTimeComponent-7V5RW3AE.js +2928 -0
- package/dist/DateTimeComponent-7V5RW3AE.js.map +1 -0
- package/dist/EquationComponent-3IW3ONJD.js +159 -0
- package/dist/EquationComponent-3IW3ONJD.js.map +1 -0
- package/dist/EquationComponent-C2C6477P.css +28 -0
- package/dist/EquationComponent-C2C6477P.css.map +1 -0
- package/dist/ExcalidrawComponent-GZYLHNOY.js +267 -0
- package/dist/ExcalidrawComponent-GZYLHNOY.js.map +1 -0
- package/dist/ExcalidrawComponent-U6BD7DUB.css +152 -0
- package/dist/ExcalidrawComponent-U6BD7DUB.css.map +1 -0
- package/dist/ImageComponent-IYUGOT6O.css +73 -0
- package/dist/ImageComponent-IYUGOT6O.css.map +1 -0
- package/dist/ImageComponent-TTUYUG3M.js +429 -0
- package/dist/ImageComponent-TTUYUG3M.js.map +1 -0
- package/dist/PollComponent-CWI5UJF5.css +187 -0
- package/dist/PollComponent-CWI5UJF5.css.map +1 -0
- package/dist/PollComponent-KLJZSW5O.js +199 -0
- package/dist/PollComponent-KLJZSW5O.js.map +1 -0
- package/dist/StickyComponent-MZSTQF47.css +774 -0
- package/dist/StickyComponent-MZSTQF47.css.map +1 -0
- package/dist/StickyComponent-ZED6LNTX.js +233 -0
- package/dist/StickyComponent-ZED6LNTX.js.map +1 -0
- package/dist/chunk-35UCX4ZT.js +168 -0
- package/dist/chunk-35UCX4ZT.js.map +1 -0
- package/dist/chunk-44LUNGL3.js +16608 -0
- package/dist/chunk-44LUNGL3.js.map +1 -0
- package/dist/chunk-BHROZTZU.js +42 -0
- package/dist/chunk-BHROZTZU.js.map +1 -0
- package/dist/chunk-FJ6COZ4H.js +275 -0
- package/dist/chunk-FJ6COZ4H.js.map +1 -0
- package/dist/chunk-GSFNU3JE.js +211 -0
- package/dist/chunk-GSFNU3JE.js.map +1 -0
- package/dist/chunk-I43VQAHW.js +918 -0
- package/dist/chunk-I43VQAHW.js.map +1 -0
- package/dist/chunk-N22RKA5D.js +402 -0
- package/dist/chunk-N22RKA5D.js.map +1 -0
- package/dist/chunk-OIMMC5C3.js +134 -0
- package/dist/chunk-OIMMC5C3.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-TVF6V3BJ.js +41 -0
- package/dist/chunk-TVF6V3BJ.js.map +1 -0
- package/dist/chunk-XTKVR2JI.js +225 -0
- package/dist/chunk-XTKVR2JI.js.map +1 -0
- package/dist/emoji-list-MUV74SND.js +8 -0
- package/dist/emoji-list-MUV74SND.js.map +1 -0
- package/dist/index.css +4234 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +16050 -0
- package/dist/index.js.map +1 -0
- package/dist/landscape-RJWVK6ET.jpg +0 -0
- package/dist/yellow-flower-R72KOP74.jpg +0 -0
- package/package.json +76 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// src/nodes/DateTimeNode/DateTimeNode.tsx
|
|
2
|
+
import {
|
|
3
|
+
applyFormatFromStyle,
|
|
4
|
+
applyFormatToDom,
|
|
5
|
+
DecoratorTextNode
|
|
6
|
+
} from "@lexical/extension";
|
|
7
|
+
import {
|
|
8
|
+
$getState,
|
|
9
|
+
$isTextNode,
|
|
10
|
+
$setState,
|
|
11
|
+
buildImportMap,
|
|
12
|
+
createState
|
|
13
|
+
} from "lexical";
|
|
14
|
+
import * as React from "react";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
var DateTimeComponent = React.lazy(() => import("./DateTimeComponent-7V5RW3AE.js"));
|
|
17
|
+
var tagToFormat = {
|
|
18
|
+
b: "bold",
|
|
19
|
+
i: "italic",
|
|
20
|
+
mark: "highlight",
|
|
21
|
+
s: "strikethrough",
|
|
22
|
+
u: "underline"
|
|
23
|
+
};
|
|
24
|
+
var getDateTimeText = (dateTime) => {
|
|
25
|
+
if (dateTime === void 0) {
|
|
26
|
+
return "";
|
|
27
|
+
}
|
|
28
|
+
const hours = dateTime?.getHours();
|
|
29
|
+
const minutes = dateTime?.getMinutes();
|
|
30
|
+
return dateTime.toDateString() + (hours === 0 && minutes === 0 ? "" : ` ${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}`);
|
|
31
|
+
};
|
|
32
|
+
function $convertDateTimeElement(domNode) {
|
|
33
|
+
const dateTimeValue = domNode.getAttribute("data-lexical-datetime");
|
|
34
|
+
if (dateTimeValue) {
|
|
35
|
+
const node = $createDateTimeNode(new Date(Date.parse(dateTimeValue)));
|
|
36
|
+
return {
|
|
37
|
+
after: (childLexicalNodes) => {
|
|
38
|
+
const firstChild = childLexicalNodes[0];
|
|
39
|
+
if ($isTextNode(firstChild)) {
|
|
40
|
+
node.setFormat(firstChild.getFormat());
|
|
41
|
+
}
|
|
42
|
+
return childLexicalNodes;
|
|
43
|
+
},
|
|
44
|
+
node
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const gDocsDateTimePayload = domNode.getAttribute("data-rich-links");
|
|
48
|
+
if (!gDocsDateTimePayload) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const parsed = JSON.parse(gDocsDateTimePayload);
|
|
52
|
+
const parsedDate = parsed?.dat_df?.dfie_ts?.tv?.tv_s * 1e3 || Date.parse(parsed?.dat_df?.dfie_dt || "");
|
|
53
|
+
if (isNaN(parsedDate)) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const dateTimeNode = $createDateTimeNode(new Date(parsedDate));
|
|
57
|
+
return { node: applyFormatFromStyle(dateTimeNode, domNode.style) };
|
|
58
|
+
}
|
|
59
|
+
var dateTimeState = createState("dateTime", {
|
|
60
|
+
parse: (v) => new Date(v),
|
|
61
|
+
unparse: (v) => v.toISOString()
|
|
62
|
+
});
|
|
63
|
+
var DateTimeNode = class extends DecoratorTextNode {
|
|
64
|
+
$config() {
|
|
65
|
+
return this.config("datetime", {
|
|
66
|
+
extends: DecoratorTextNode,
|
|
67
|
+
importDOM: buildImportMap({
|
|
68
|
+
span: (domNode) => domNode.getAttribute("data-lexical-datetime") !== null || // GDocs Support
|
|
69
|
+
domNode.getAttribute("data-rich-links") !== null && JSON.parse(domNode.getAttribute("data-rich-links") || "{}").type === "date" ? {
|
|
70
|
+
conversion: $convertDateTimeElement,
|
|
71
|
+
priority: 2
|
|
72
|
+
} : null
|
|
73
|
+
}),
|
|
74
|
+
stateConfigs: [{ flat: true, stateConfig: dateTimeState }]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
getDateTime() {
|
|
78
|
+
return $getState(this, dateTimeState);
|
|
79
|
+
}
|
|
80
|
+
setDateTime(valueOrUpdater) {
|
|
81
|
+
return $setState(this, dateTimeState, valueOrUpdater);
|
|
82
|
+
}
|
|
83
|
+
getTextContent() {
|
|
84
|
+
const dateTime = this.getDateTime();
|
|
85
|
+
return getDateTimeText(dateTime);
|
|
86
|
+
}
|
|
87
|
+
exportDOM() {
|
|
88
|
+
const element = document.createElement("span");
|
|
89
|
+
const textDom = document.createTextNode(
|
|
90
|
+
getDateTimeText(this.getDateTime())
|
|
91
|
+
);
|
|
92
|
+
element.setAttribute(
|
|
93
|
+
"data-lexical-datetime",
|
|
94
|
+
this.getDateTime()?.toString() || ""
|
|
95
|
+
);
|
|
96
|
+
element.appendChild(applyFormatToDom(this, textDom, tagToFormat));
|
|
97
|
+
return { element };
|
|
98
|
+
}
|
|
99
|
+
createDOM() {
|
|
100
|
+
const element = document.createElement("span");
|
|
101
|
+
element.setAttribute(
|
|
102
|
+
"data-lexical-datetime",
|
|
103
|
+
this.getDateTime()?.toString() || ""
|
|
104
|
+
);
|
|
105
|
+
element.style.display = "inline-block";
|
|
106
|
+
return element;
|
|
107
|
+
}
|
|
108
|
+
updateDOM() {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
decorate() {
|
|
112
|
+
return /* @__PURE__ */ jsx(
|
|
113
|
+
DateTimeComponent,
|
|
114
|
+
{
|
|
115
|
+
dateTime: this.getDateTime(),
|
|
116
|
+
format: this.getFormat(),
|
|
117
|
+
nodeKey: this.__key
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
function $createDateTimeNode(dateTime) {
|
|
123
|
+
return new DateTimeNode().setDateTime(dateTime);
|
|
124
|
+
}
|
|
125
|
+
function $isDateTimeNode(node) {
|
|
126
|
+
return node instanceof DateTimeNode;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export {
|
|
130
|
+
DateTimeNode,
|
|
131
|
+
$createDateTimeNode,
|
|
132
|
+
$isDateTimeNode
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=chunk-OIMMC5C3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/nodes/DateTimeNode/DateTimeNode.tsx"],"sourcesContent":["/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport type {JSX} from 'react';\r\n\r\nimport {\r\n applyFormatFromStyle,\r\n applyFormatToDom,\r\n DecoratorTextNode,\r\n SerializedDecoratorTextNode,\r\n} from '@lexical/extension';\r\nimport {\r\n $getState,\r\n $isTextNode,\r\n $setState,\r\n buildImportMap,\r\n createState,\r\n DOMConversionOutput,\r\n DOMExportOutput,\r\n LexicalNode,\r\n Spread,\r\n StateConfigValue,\r\n StateValueOrUpdater,\r\n} from 'lexical';\r\nimport * as React from 'react';\r\n\r\nconst DateTimeComponent = React.lazy(() => import('./DateTimeComponent'));\r\n\r\nconst tagToFormat = {\r\n b: 'bold',\r\n i: 'italic',\r\n mark: 'highlight',\r\n s: 'strikethrough',\r\n u: 'underline',\r\n} as const;\r\n\r\nconst getDateTimeText = (dateTime: Date) => {\r\n if (dateTime === undefined) {\r\n return '';\r\n }\r\n const hours = dateTime?.getHours();\r\n const minutes = dateTime?.getMinutes();\r\n return (\r\n dateTime.toDateString() +\r\n (hours === 0 && minutes === 0\r\n ? ''\r\n : ` ${hours.toString().padStart(2, '0')}:${minutes\r\n .toString()\r\n .padStart(2, '0')}`)\r\n );\r\n};\r\n\r\nexport type SerializedDateTimeNode = Spread<\r\n {\r\n dateTime?: string;\r\n },\r\n SerializedDecoratorTextNode\r\n>;\r\n\r\nfunction $convertDateTimeElement(\r\n domNode: HTMLElement,\r\n): DOMConversionOutput | null {\r\n const dateTimeValue = domNode.getAttribute('data-lexical-datetime');\r\n if (dateTimeValue) {\r\n const node = $createDateTimeNode(new Date(Date.parse(dateTimeValue)));\r\n return {\r\n after: (childLexicalNodes) => {\r\n // exportDOM returns only one child text, so only the first node of the array is taken\r\n const firstChild = childLexicalNodes[0];\r\n if ($isTextNode(firstChild)) {\r\n node.setFormat(firstChild.getFormat());\r\n }\r\n return childLexicalNodes;\r\n },\r\n node,\r\n };\r\n }\r\n const gDocsDateTimePayload = domNode.getAttribute('data-rich-links');\r\n if (!gDocsDateTimePayload) {\r\n return null;\r\n }\r\n const parsed = JSON.parse(gDocsDateTimePayload);\r\n const parsedDate =\r\n parsed?.dat_df?.dfie_ts?.tv?.tv_s * 1000 ||\r\n Date.parse(parsed?.dat_df?.dfie_dt || '');\r\n if (isNaN(parsedDate)) {\r\n return null;\r\n }\r\n const dateTimeNode = $createDateTimeNode(new Date(parsedDate));\r\n return {node: applyFormatFromStyle(dateTimeNode, domNode.style)};\r\n}\r\n\r\nconst dateTimeState = createState('dateTime', {\r\n parse: (v) => new Date(v as string),\r\n unparse: (v) => v.toISOString(),\r\n});\r\n\r\nexport class DateTimeNode extends DecoratorTextNode {\r\n $config() {\r\n return this.config('datetime', {\r\n extends: DecoratorTextNode,\r\n importDOM: buildImportMap({\r\n span: (domNode) =>\r\n domNode.getAttribute('data-lexical-datetime') !== null ||\r\n // GDocs Support\r\n (domNode.getAttribute('data-rich-links') !== null &&\r\n JSON.parse(domNode.getAttribute('data-rich-links') || '{}').type ===\r\n 'date')\r\n ? {\r\n conversion: $convertDateTimeElement,\r\n priority: 2,\r\n }\r\n : null,\r\n }),\r\n stateConfigs: [{flat: true, stateConfig: dateTimeState}],\r\n });\r\n }\r\n\r\n getDateTime(): StateConfigValue<typeof dateTimeState> {\r\n return $getState(this, dateTimeState);\r\n }\r\n\r\n setDateTime(valueOrUpdater: StateValueOrUpdater<typeof dateTimeState>): this {\r\n return $setState(this, dateTimeState, valueOrUpdater);\r\n }\r\n\r\n getTextContent(): string {\r\n const dateTime = this.getDateTime();\r\n return getDateTimeText(dateTime);\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n const element = document.createElement('span');\r\n const textDom: HTMLElement | Text = document.createTextNode(\r\n getDateTimeText(this.getDateTime()),\r\n );\r\n element.setAttribute(\r\n 'data-lexical-datetime',\r\n this.getDateTime()?.toString() || '',\r\n );\r\n element.appendChild(applyFormatToDom(this, textDom, tagToFormat));\r\n\r\n return {element};\r\n }\r\n\r\n createDOM(): HTMLElement {\r\n const element = document.createElement('span');\r\n element.setAttribute(\r\n 'data-lexical-datetime',\r\n this.getDateTime()?.toString() || '',\r\n );\r\n element.style.display = 'inline-block';\r\n return element;\r\n }\r\n\r\n updateDOM(): false {\r\n return false;\r\n }\r\n\r\n decorate(): JSX.Element {\r\n return (\r\n <DateTimeComponent\r\n dateTime={this.getDateTime()}\r\n format={this.getFormat()}\r\n nodeKey={this.__key}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport function $createDateTimeNode(dateTime: Date): DateTimeNode {\r\n return new DateTimeNode().setDateTime(dateTime);\r\n}\r\n\r\nexport function $isDateTimeNode(\r\n node: LexicalNode | null | undefined,\r\n): node is DateTimeNode {\r\n return node instanceof DateTimeNode;\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// src/utils/joinClasses.ts
|
|
2
|
+
function joinClasses(...args) {
|
|
3
|
+
return args.filter(Boolean).join(" ");
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// src/ui/Button.tsx
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function Button({
|
|
9
|
+
"data-test-id": dataTestId,
|
|
10
|
+
children,
|
|
11
|
+
className,
|
|
12
|
+
onClick,
|
|
13
|
+
disabled,
|
|
14
|
+
small,
|
|
15
|
+
title
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
"button",
|
|
19
|
+
{
|
|
20
|
+
type: "button",
|
|
21
|
+
disabled,
|
|
22
|
+
className: joinClasses(
|
|
23
|
+
"Button__root",
|
|
24
|
+
disabled && "Button__disabled",
|
|
25
|
+
small && "Button__small",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
onClick,
|
|
29
|
+
title,
|
|
30
|
+
"aria-label": title,
|
|
31
|
+
...dataTestId && { "data-test-id": dataTestId },
|
|
32
|
+
children
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export {
|
|
38
|
+
joinClasses,
|
|
39
|
+
Button
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=chunk-TVF6V3BJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/joinClasses.ts","../src/ui/Button.tsx"],"sourcesContent":["/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nexport default function joinClasses(\r\n ...args: Array<string | boolean | null | undefined>\r\n) {\r\n return args.filter(Boolean).join(' ');\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport type {JSX} from 'react';\r\n\r\nimport './Button.css';\r\n\r\nimport * as React from 'react';\r\nimport {ReactNode} from 'react';\r\n\r\nimport joinClasses from '../utils/joinClasses';\r\n\r\nexport default function Button({\r\n 'data-test-id': dataTestId,\r\n children,\r\n className,\r\n onClick,\r\n disabled,\r\n small,\r\n title,\r\n}: {\r\n 'data-test-id'?: string;\r\n children: ReactNode;\r\n className?: string;\r\n disabled?: boolean;\r\n onClick: () => void;\r\n small?: boolean;\r\n title?: string;\r\n}): JSX.Element {\r\n return (\r\n <button\r\n type=\"button\"\r\n disabled={disabled}\r\n className={joinClasses(\r\n 'Button__root',\r\n disabled && 'Button__disabled',\r\n small && 'Button__small',\r\n className,\r\n )}\r\n onClick={onClick}\r\n title={title}\r\n aria-label={title}\r\n {...(dataTestId && {'data-test-id': dataTestId})}>\r\n {children}\r\n </button>\r\n );\r\n}\r\n"],"mappings":";AAQe,SAAR,eACF,MACH;AACA,SAAO,KAAK,OAAO,OAAO,EAAE,KAAK,GAAG;AACtC;;;ACuBI;AAlBW,SAAR,OAAwB;AAAA,EAC7B,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAQgB;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,YAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAY;AAAA,MACX,GAAI,cAAc,EAAC,gBAAgB,WAAU;AAAA,MAC7C;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
// src/nodes/StickyNode.tsx
|
|
2
|
+
import { $setSelection, createEditor, DecoratorNode } from "lexical";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { createPortal } from "react-dom";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var StickyComponent = React.lazy(() => import("./StickyComponent-ZED6LNTX.js"));
|
|
7
|
+
var StickyNode = class _StickyNode extends DecoratorNode {
|
|
8
|
+
__x;
|
|
9
|
+
__y;
|
|
10
|
+
__color;
|
|
11
|
+
__caption;
|
|
12
|
+
static getType() {
|
|
13
|
+
return "sticky";
|
|
14
|
+
}
|
|
15
|
+
static clone(node) {
|
|
16
|
+
return new _StickyNode(
|
|
17
|
+
node.__x,
|
|
18
|
+
node.__y,
|
|
19
|
+
node.__color,
|
|
20
|
+
node.__caption,
|
|
21
|
+
node.__key
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
static importJSON(serializedNode) {
|
|
25
|
+
return new _StickyNode(
|
|
26
|
+
serializedNode.xOffset,
|
|
27
|
+
serializedNode.yOffset,
|
|
28
|
+
serializedNode.color
|
|
29
|
+
).updateFromJSON(serializedNode);
|
|
30
|
+
}
|
|
31
|
+
updateFromJSON(serializedNode) {
|
|
32
|
+
const stickyNode = super.updateFromJSON(serializedNode);
|
|
33
|
+
const caption = serializedNode.caption;
|
|
34
|
+
const nestedEditor = stickyNode.__caption;
|
|
35
|
+
const editorState = nestedEditor.parseEditorState(caption.editorState);
|
|
36
|
+
if (!editorState.isEmpty()) {
|
|
37
|
+
nestedEditor.setEditorState(editorState);
|
|
38
|
+
}
|
|
39
|
+
return stickyNode;
|
|
40
|
+
}
|
|
41
|
+
constructor(x, y, color, caption, key) {
|
|
42
|
+
super(key);
|
|
43
|
+
this.__x = x;
|
|
44
|
+
this.__y = y;
|
|
45
|
+
this.__caption = caption || createEditor();
|
|
46
|
+
this.__color = color;
|
|
47
|
+
}
|
|
48
|
+
exportJSON() {
|
|
49
|
+
return {
|
|
50
|
+
...super.exportJSON(),
|
|
51
|
+
caption: this.__caption.toJSON(),
|
|
52
|
+
color: this.__color,
|
|
53
|
+
xOffset: this.__x,
|
|
54
|
+
yOffset: this.__y
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
createDOM(config) {
|
|
58
|
+
const div = document.createElement("div");
|
|
59
|
+
div.style.display = "contents";
|
|
60
|
+
return div;
|
|
61
|
+
}
|
|
62
|
+
updateDOM() {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
setPosition(x, y) {
|
|
66
|
+
const writable = this.getWritable();
|
|
67
|
+
writable.__x = x;
|
|
68
|
+
writable.__y = y;
|
|
69
|
+
$setSelection(null);
|
|
70
|
+
}
|
|
71
|
+
toggleColor() {
|
|
72
|
+
const writable = this.getWritable();
|
|
73
|
+
writable.__color = writable.__color === "pink" ? "yellow" : "pink";
|
|
74
|
+
}
|
|
75
|
+
decorate(editor, config) {
|
|
76
|
+
return createPortal(
|
|
77
|
+
/* @__PURE__ */ jsx(
|
|
78
|
+
StickyComponent,
|
|
79
|
+
{
|
|
80
|
+
color: this.__color,
|
|
81
|
+
x: this.__x,
|
|
82
|
+
y: this.__y,
|
|
83
|
+
nodeKey: this.getKey(),
|
|
84
|
+
caption: this.__caption
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
document.body
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
isIsolated() {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
function $isStickyNode(node) {
|
|
95
|
+
return node instanceof StickyNode;
|
|
96
|
+
}
|
|
97
|
+
function $createStickyNode(xOffset, yOffset) {
|
|
98
|
+
return new StickyNode(xOffset, yOffset, "yellow");
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// src/themes/PlaygroundEditorTheme.ts
|
|
102
|
+
var theme = {
|
|
103
|
+
autocomplete: "PlaygroundEditorTheme__autocomplete",
|
|
104
|
+
blockCursor: "PlaygroundEditorTheme__blockCursor",
|
|
105
|
+
characterLimit: "PlaygroundEditorTheme__characterLimit",
|
|
106
|
+
code: "PlaygroundEditorTheme__code",
|
|
107
|
+
codeHighlight: {
|
|
108
|
+
atrule: "PlaygroundEditorTheme__tokenAttr",
|
|
109
|
+
attr: "PlaygroundEditorTheme__tokenAttr",
|
|
110
|
+
boolean: "PlaygroundEditorTheme__tokenProperty",
|
|
111
|
+
builtin: "PlaygroundEditorTheme__tokenSelector",
|
|
112
|
+
cdata: "PlaygroundEditorTheme__tokenComment",
|
|
113
|
+
char: "PlaygroundEditorTheme__tokenSelector",
|
|
114
|
+
class: "PlaygroundEditorTheme__tokenFunction",
|
|
115
|
+
"class-name": "PlaygroundEditorTheme__tokenFunction",
|
|
116
|
+
comment: "PlaygroundEditorTheme__tokenComment",
|
|
117
|
+
constant: "PlaygroundEditorTheme__tokenProperty",
|
|
118
|
+
deleted: "PlaygroundEditorTheme__tokenDeleted",
|
|
119
|
+
doctype: "PlaygroundEditorTheme__tokenComment",
|
|
120
|
+
entity: "PlaygroundEditorTheme__tokenOperator",
|
|
121
|
+
function: "PlaygroundEditorTheme__tokenFunction",
|
|
122
|
+
important: "PlaygroundEditorTheme__tokenVariable",
|
|
123
|
+
inserted: "PlaygroundEditorTheme__tokenInserted",
|
|
124
|
+
keyword: "PlaygroundEditorTheme__tokenAttr",
|
|
125
|
+
namespace: "PlaygroundEditorTheme__tokenVariable",
|
|
126
|
+
number: "PlaygroundEditorTheme__tokenProperty",
|
|
127
|
+
operator: "PlaygroundEditorTheme__tokenOperator",
|
|
128
|
+
prolog: "PlaygroundEditorTheme__tokenComment",
|
|
129
|
+
property: "PlaygroundEditorTheme__tokenProperty",
|
|
130
|
+
punctuation: "PlaygroundEditorTheme__tokenPunctuation",
|
|
131
|
+
regex: "PlaygroundEditorTheme__tokenVariable",
|
|
132
|
+
selector: "PlaygroundEditorTheme__tokenSelector",
|
|
133
|
+
string: "PlaygroundEditorTheme__tokenSelector",
|
|
134
|
+
symbol: "PlaygroundEditorTheme__tokenProperty",
|
|
135
|
+
tag: "PlaygroundEditorTheme__tokenProperty",
|
|
136
|
+
unchanged: "PlaygroundEditorTheme__tokenUnchanged",
|
|
137
|
+
url: "PlaygroundEditorTheme__tokenOperator",
|
|
138
|
+
variable: "PlaygroundEditorTheme__tokenVariable"
|
|
139
|
+
},
|
|
140
|
+
embedBlock: {
|
|
141
|
+
base: "PlaygroundEditorTheme__embedBlock",
|
|
142
|
+
focus: "PlaygroundEditorTheme__embedBlockFocus"
|
|
143
|
+
},
|
|
144
|
+
hashtag: "PlaygroundEditorTheme__hashtag",
|
|
145
|
+
heading: {
|
|
146
|
+
h1: "PlaygroundEditorTheme__h1",
|
|
147
|
+
h2: "PlaygroundEditorTheme__h2",
|
|
148
|
+
h3: "PlaygroundEditorTheme__h3",
|
|
149
|
+
h4: "PlaygroundEditorTheme__h4",
|
|
150
|
+
h5: "PlaygroundEditorTheme__h5",
|
|
151
|
+
h6: "PlaygroundEditorTheme__h6"
|
|
152
|
+
},
|
|
153
|
+
hr: "PlaygroundEditorTheme__hr",
|
|
154
|
+
hrSelected: "PlaygroundEditorTheme__hrSelected",
|
|
155
|
+
image: "editor-image",
|
|
156
|
+
indent: "PlaygroundEditorTheme__indent",
|
|
157
|
+
layoutContainer: "PlaygroundEditorTheme__layoutContainer",
|
|
158
|
+
layoutItem: "PlaygroundEditorTheme__layoutItem",
|
|
159
|
+
link: "PlaygroundEditorTheme__link",
|
|
160
|
+
list: {
|
|
161
|
+
checklist: "PlaygroundEditorTheme__checklist",
|
|
162
|
+
listitem: "PlaygroundEditorTheme__listItem",
|
|
163
|
+
listitemChecked: "PlaygroundEditorTheme__listItemChecked",
|
|
164
|
+
listitemUnchecked: "PlaygroundEditorTheme__listItemUnchecked",
|
|
165
|
+
nested: {
|
|
166
|
+
listitem: "PlaygroundEditorTheme__nestedListItem"
|
|
167
|
+
},
|
|
168
|
+
olDepth: [
|
|
169
|
+
"PlaygroundEditorTheme__ol1",
|
|
170
|
+
"PlaygroundEditorTheme__ol2",
|
|
171
|
+
"PlaygroundEditorTheme__ol3",
|
|
172
|
+
"PlaygroundEditorTheme__ol4",
|
|
173
|
+
"PlaygroundEditorTheme__ol5"
|
|
174
|
+
],
|
|
175
|
+
ul: "PlaygroundEditorTheme__ul"
|
|
176
|
+
},
|
|
177
|
+
mark: "PlaygroundEditorTheme__mark",
|
|
178
|
+
markOverlap: "PlaygroundEditorTheme__markOverlap",
|
|
179
|
+
paragraph: "PlaygroundEditorTheme__paragraph",
|
|
180
|
+
quote: "PlaygroundEditorTheme__quote",
|
|
181
|
+
specialText: "PlaygroundEditorTheme__specialText",
|
|
182
|
+
tab: "PlaygroundEditorTheme__tabNode",
|
|
183
|
+
table: "PlaygroundEditorTheme__table",
|
|
184
|
+
tableAddColumns: "PlaygroundEditorTheme__tableAddColumns",
|
|
185
|
+
tableAddRows: "PlaygroundEditorTheme__tableAddRows",
|
|
186
|
+
tableAlignment: {
|
|
187
|
+
center: "PlaygroundEditorTheme__tableAlignmentCenter",
|
|
188
|
+
right: "PlaygroundEditorTheme__tableAlignmentRight"
|
|
189
|
+
},
|
|
190
|
+
tableCell: "PlaygroundEditorTheme__tableCell",
|
|
191
|
+
tableCellActionButton: "PlaygroundEditorTheme__tableCellActionButton",
|
|
192
|
+
tableCellActionButtonContainer: "PlaygroundEditorTheme__tableCellActionButtonContainer",
|
|
193
|
+
tableCellHeader: "PlaygroundEditorTheme__tableCellHeader",
|
|
194
|
+
tableCellResizer: "PlaygroundEditorTheme__tableCellResizer",
|
|
195
|
+
tableCellSelected: "PlaygroundEditorTheme__tableCellSelected",
|
|
196
|
+
tableFrozenColumn: "PlaygroundEditorTheme__tableFrozenColumn",
|
|
197
|
+
tableFrozenRow: "PlaygroundEditorTheme__tableFrozenRow",
|
|
198
|
+
tableRowStriping: "PlaygroundEditorTheme__tableRowStriping",
|
|
199
|
+
tableScrollableWrapper: "PlaygroundEditorTheme__tableScrollableWrapper",
|
|
200
|
+
tableSelected: "PlaygroundEditorTheme__tableSelected",
|
|
201
|
+
tableSelection: "PlaygroundEditorTheme__tableSelection",
|
|
202
|
+
text: {
|
|
203
|
+
bold: "PlaygroundEditorTheme__textBold",
|
|
204
|
+
capitalize: "PlaygroundEditorTheme__textCapitalize",
|
|
205
|
+
code: "PlaygroundEditorTheme__textCode",
|
|
206
|
+
highlight: "PlaygroundEditorTheme__textHighlight",
|
|
207
|
+
italic: "PlaygroundEditorTheme__textItalic",
|
|
208
|
+
lowercase: "PlaygroundEditorTheme__textLowercase",
|
|
209
|
+
strikethrough: "PlaygroundEditorTheme__textStrikethrough",
|
|
210
|
+
subscript: "PlaygroundEditorTheme__textSubscript",
|
|
211
|
+
superscript: "PlaygroundEditorTheme__textSuperscript",
|
|
212
|
+
underline: "PlaygroundEditorTheme__textUnderline",
|
|
213
|
+
underlineStrikethrough: "PlaygroundEditorTheme__textUnderlineStrikethrough",
|
|
214
|
+
uppercase: "PlaygroundEditorTheme__textUppercase"
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
var PlaygroundEditorTheme_default = theme;
|
|
218
|
+
|
|
219
|
+
export {
|
|
220
|
+
PlaygroundEditorTheme_default,
|
|
221
|
+
StickyNode,
|
|
222
|
+
$isStickyNode,
|
|
223
|
+
$createStickyNode
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=chunk-XTKVR2JI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/nodes/StickyNode.tsx","../src/themes/PlaygroundEditorTheme.ts"],"sourcesContent":["/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport type {\r\n EditorConfig,\r\n LexicalEditor,\r\n LexicalNode,\r\n LexicalUpdateJSON,\r\n NodeKey,\r\n SerializedEditor,\r\n SerializedLexicalNode,\r\n Spread,\r\n} from 'lexical';\r\nimport type {JSX} from 'react';\r\n\r\nimport {$setSelection, createEditor, DecoratorNode} from 'lexical';\r\nimport * as React from 'react';\r\nimport {createPortal} from 'react-dom';\r\n\r\nconst StickyComponent = React.lazy(() => import('./StickyComponent'));\r\n\r\ntype StickyNoteColor = 'pink' | 'yellow';\r\n\r\nexport type SerializedStickyNode = Spread<\r\n {\r\n xOffset: number;\r\n yOffset: number;\r\n color: StickyNoteColor;\r\n caption: SerializedEditor;\r\n },\r\n SerializedLexicalNode\r\n>;\r\n\r\nexport class StickyNode extends DecoratorNode<JSX.Element> {\r\n __x: number;\r\n __y: number;\r\n __color: StickyNoteColor;\r\n __caption: LexicalEditor;\r\n\r\n static getType(): string {\r\n return 'sticky';\r\n }\r\n\r\n static clone(node: StickyNode): StickyNode {\r\n return new StickyNode(\r\n node.__x,\r\n node.__y,\r\n node.__color,\r\n node.__caption,\r\n node.__key,\r\n );\r\n }\r\n static importJSON(serializedNode: SerializedStickyNode): StickyNode {\r\n return new StickyNode(\r\n serializedNode.xOffset,\r\n serializedNode.yOffset,\r\n serializedNode.color,\r\n ).updateFromJSON(serializedNode);\r\n }\r\n\r\n updateFromJSON(\r\n serializedNode: LexicalUpdateJSON<SerializedStickyNode>,\r\n ): this {\r\n const stickyNode = super.updateFromJSON(serializedNode);\r\n const caption = serializedNode.caption;\r\n const nestedEditor = stickyNode.__caption;\r\n const editorState = nestedEditor.parseEditorState(caption.editorState);\r\n if (!editorState.isEmpty()) {\r\n nestedEditor.setEditorState(editorState);\r\n }\r\n return stickyNode;\r\n }\r\n\r\n constructor(\r\n x: number,\r\n y: number,\r\n color: 'pink' | 'yellow',\r\n caption?: LexicalEditor,\r\n key?: NodeKey,\r\n ) {\r\n super(key);\r\n this.__x = x;\r\n this.__y = y;\r\n this.__caption = caption || createEditor();\r\n this.__color = color;\r\n }\r\n\r\n exportJSON(): SerializedStickyNode {\r\n return {\r\n ...super.exportJSON(),\r\n caption: this.__caption.toJSON(),\r\n color: this.__color,\r\n xOffset: this.__x,\r\n yOffset: this.__y,\r\n };\r\n }\r\n\r\n createDOM(config: EditorConfig): HTMLElement {\r\n const div = document.createElement('div');\r\n div.style.display = 'contents';\r\n return div;\r\n }\r\n\r\n updateDOM(): false {\r\n return false;\r\n }\r\n\r\n setPosition(x: number, y: number): void {\r\n const writable = this.getWritable();\r\n writable.__x = x;\r\n writable.__y = y;\r\n $setSelection(null);\r\n }\r\n\r\n toggleColor(): void {\r\n const writable = this.getWritable();\r\n writable.__color = writable.__color === 'pink' ? 'yellow' : 'pink';\r\n }\r\n\r\n decorate(editor: LexicalEditor, config: EditorConfig): JSX.Element {\r\n return createPortal(\r\n <StickyComponent\r\n color={this.__color}\r\n x={this.__x}\r\n y={this.__y}\r\n nodeKey={this.getKey()}\r\n caption={this.__caption}\r\n />,\r\n document.body,\r\n );\r\n }\r\n\r\n isIsolated(): true {\r\n return true;\r\n }\r\n}\r\n\r\nexport function $isStickyNode(\r\n node: LexicalNode | null | undefined,\r\n): node is StickyNode {\r\n return node instanceof StickyNode;\r\n}\r\n\r\nexport function $createStickyNode(\r\n xOffset: number,\r\n yOffset: number,\r\n): StickyNode {\r\n return new StickyNode(xOffset, yOffset, 'yellow');\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport type {EditorThemeClasses} from 'lexical';\r\n\r\nimport './PlaygroundEditorTheme.css';\r\n\r\nconst theme: EditorThemeClasses = {\r\n autocomplete: 'PlaygroundEditorTheme__autocomplete',\r\n blockCursor: 'PlaygroundEditorTheme__blockCursor',\r\n characterLimit: 'PlaygroundEditorTheme__characterLimit',\r\n code: 'PlaygroundEditorTheme__code',\r\n codeHighlight: {\r\n atrule: 'PlaygroundEditorTheme__tokenAttr',\r\n attr: 'PlaygroundEditorTheme__tokenAttr',\r\n boolean: 'PlaygroundEditorTheme__tokenProperty',\r\n builtin: 'PlaygroundEditorTheme__tokenSelector',\r\n cdata: 'PlaygroundEditorTheme__tokenComment',\r\n char: 'PlaygroundEditorTheme__tokenSelector',\r\n class: 'PlaygroundEditorTheme__tokenFunction',\r\n 'class-name': 'PlaygroundEditorTheme__tokenFunction',\r\n comment: 'PlaygroundEditorTheme__tokenComment',\r\n constant: 'PlaygroundEditorTheme__tokenProperty',\r\n deleted: 'PlaygroundEditorTheme__tokenDeleted',\r\n doctype: 'PlaygroundEditorTheme__tokenComment',\r\n entity: 'PlaygroundEditorTheme__tokenOperator',\r\n function: 'PlaygroundEditorTheme__tokenFunction',\r\n important: 'PlaygroundEditorTheme__tokenVariable',\r\n inserted: 'PlaygroundEditorTheme__tokenInserted',\r\n keyword: 'PlaygroundEditorTheme__tokenAttr',\r\n namespace: 'PlaygroundEditorTheme__tokenVariable',\r\n number: 'PlaygroundEditorTheme__tokenProperty',\r\n operator: 'PlaygroundEditorTheme__tokenOperator',\r\n prolog: 'PlaygroundEditorTheme__tokenComment',\r\n property: 'PlaygroundEditorTheme__tokenProperty',\r\n punctuation: 'PlaygroundEditorTheme__tokenPunctuation',\r\n regex: 'PlaygroundEditorTheme__tokenVariable',\r\n selector: 'PlaygroundEditorTheme__tokenSelector',\r\n string: 'PlaygroundEditorTheme__tokenSelector',\r\n symbol: 'PlaygroundEditorTheme__tokenProperty',\r\n tag: 'PlaygroundEditorTheme__tokenProperty',\r\n unchanged: 'PlaygroundEditorTheme__tokenUnchanged',\r\n url: 'PlaygroundEditorTheme__tokenOperator',\r\n variable: 'PlaygroundEditorTheme__tokenVariable',\r\n },\r\n embedBlock: {\r\n base: 'PlaygroundEditorTheme__embedBlock',\r\n focus: 'PlaygroundEditorTheme__embedBlockFocus',\r\n },\r\n hashtag: 'PlaygroundEditorTheme__hashtag',\r\n heading: {\r\n h1: 'PlaygroundEditorTheme__h1',\r\n h2: 'PlaygroundEditorTheme__h2',\r\n h3: 'PlaygroundEditorTheme__h3',\r\n h4: 'PlaygroundEditorTheme__h4',\r\n h5: 'PlaygroundEditorTheme__h5',\r\n h6: 'PlaygroundEditorTheme__h6',\r\n },\r\n hr: 'PlaygroundEditorTheme__hr',\r\n hrSelected: 'PlaygroundEditorTheme__hrSelected',\r\n image: 'editor-image',\r\n indent: 'PlaygroundEditorTheme__indent',\r\n layoutContainer: 'PlaygroundEditorTheme__layoutContainer',\r\n layoutItem: 'PlaygroundEditorTheme__layoutItem',\r\n link: 'PlaygroundEditorTheme__link',\r\n list: {\r\n checklist: 'PlaygroundEditorTheme__checklist',\r\n listitem: 'PlaygroundEditorTheme__listItem',\r\n listitemChecked: 'PlaygroundEditorTheme__listItemChecked',\r\n listitemUnchecked: 'PlaygroundEditorTheme__listItemUnchecked',\r\n nested: {\r\n listitem: 'PlaygroundEditorTheme__nestedListItem',\r\n },\r\n olDepth: [\r\n 'PlaygroundEditorTheme__ol1',\r\n 'PlaygroundEditorTheme__ol2',\r\n 'PlaygroundEditorTheme__ol3',\r\n 'PlaygroundEditorTheme__ol4',\r\n 'PlaygroundEditorTheme__ol5',\r\n ],\r\n ul: 'PlaygroundEditorTheme__ul',\r\n },\r\n mark: 'PlaygroundEditorTheme__mark',\r\n markOverlap: 'PlaygroundEditorTheme__markOverlap',\r\n paragraph: 'PlaygroundEditorTheme__paragraph',\r\n quote: 'PlaygroundEditorTheme__quote',\r\n specialText: 'PlaygroundEditorTheme__specialText',\r\n tab: 'PlaygroundEditorTheme__tabNode',\r\n table: 'PlaygroundEditorTheme__table',\r\n tableAddColumns: 'PlaygroundEditorTheme__tableAddColumns',\r\n tableAddRows: 'PlaygroundEditorTheme__tableAddRows',\r\n tableAlignment: {\r\n center: 'PlaygroundEditorTheme__tableAlignmentCenter',\r\n right: 'PlaygroundEditorTheme__tableAlignmentRight',\r\n },\r\n tableCell: 'PlaygroundEditorTheme__tableCell',\r\n tableCellActionButton: 'PlaygroundEditorTheme__tableCellActionButton',\r\n tableCellActionButtonContainer:\r\n 'PlaygroundEditorTheme__tableCellActionButtonContainer',\r\n tableCellHeader: 'PlaygroundEditorTheme__tableCellHeader',\r\n tableCellResizer: 'PlaygroundEditorTheme__tableCellResizer',\r\n tableCellSelected: 'PlaygroundEditorTheme__tableCellSelected',\r\n tableFrozenColumn: 'PlaygroundEditorTheme__tableFrozenColumn',\r\n tableFrozenRow: 'PlaygroundEditorTheme__tableFrozenRow',\r\n tableRowStriping: 'PlaygroundEditorTheme__tableRowStriping',\r\n tableScrollableWrapper: 'PlaygroundEditorTheme__tableScrollableWrapper',\r\n tableSelected: 'PlaygroundEditorTheme__tableSelected',\r\n tableSelection: 'PlaygroundEditorTheme__tableSelection',\r\n text: {\r\n bold: 'PlaygroundEditorTheme__textBold',\r\n capitalize: 'PlaygroundEditorTheme__textCapitalize',\r\n code: 'PlaygroundEditorTheme__textCode',\r\n highlight: 'PlaygroundEditorTheme__textHighlight',\r\n italic: 'PlaygroundEditorTheme__textItalic',\r\n lowercase: 'PlaygroundEditorTheme__textLowercase',\r\n strikethrough: 'PlaygroundEditorTheme__textStrikethrough',\r\n subscript: 'PlaygroundEditorTheme__textSubscript',\r\n superscript: 'PlaygroundEditorTheme__textSuperscript',\r\n underline: 'PlaygroundEditorTheme__textUnderline',\r\n underlineStrikethrough: 'PlaygroundEditorTheme__textUnderlineStrikethrough',\r\n uppercase: 'PlaygroundEditorTheme__textUppercase',\r\n },\r\n};\r\n\r\nexport default theme;\r\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|