@ryuzaki13/react-foundation-ui 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,369 +0,0 @@
1
- import { n as e } from "./button-CC0Jdx1j.js";
2
- import { AlignCenter as t, AlignJustify as n, AlignLeft as r, AlignRight as i, AtSign as a, Bold as o, BookType as s, BrushCleaning as c, Clock as l, Code as u, ExternalLink as d, Heading1 as f, Heading2 as p, Heading3 as m, Heading4 as h, Heading5 as g, Heading6 as _, Highlighter as v, Italic as y, Languages as b, Link as x, List as S, ListOrdered as C, MessageSquareQuote as w, Phone as T, PictureInPicture as E, Pilcrow as D, Redo as O, Save as k, Shredder as A, Strikethrough as j, TextQuote as M, Type as N, Underline as P, Undo as F } from "lucide-react";
3
- import { Fragment as I, jsx as L, jsxs as R } from "react/jsx-runtime";
4
- var z = {
5
- toolbar: "shIOqq",
6
- groupControls: "YM-4Dq"
7
- };
8
- //#endregion
9
- //#region src/text-editor/toolbar/ToolbarControl.tsx
10
- function B({ isActive: t, disabled: n, style: r, title: i, icon: a, onClick: o }) {
11
- return /* @__PURE__ */ L(e, {
12
- title: i,
13
- disabled: n,
14
- appearance: "outline",
15
- tone: t ? "info" : void 0,
16
- onMouseDown: (e) => {
17
- e.preventDefault(), o?.(r || "");
18
- },
19
- icon: a
20
- });
21
- }
22
- //#endregion
23
- //#region src/text-editor/toolbar/ActionControls.tsx
24
- function V({ onChange: e }) {
25
- return /* @__PURE__ */ L("div", {
26
- className: z.groupControls,
27
- children: /* @__PURE__ */ L(B, {
28
- title: "Сохранить текущее состояние",
29
- icon: /* @__PURE__ */ L(k, {}),
30
- onClick: e
31
- })
32
- });
33
- }
34
- //#endregion
35
- //#region src/text-editor/toolbar/AlignmentControls.tsx
36
- function H({ onAlignmentChange: e, activeAlignment: a }) {
37
- return /* @__PURE__ */ R("div", {
38
- className: z.groupControls,
39
- children: [
40
- /* @__PURE__ */ L(B, {
41
- title: "По левому краю",
42
- icon: /* @__PURE__ */ L(r, {}),
43
- isActive: a === "left",
44
- onClick: () => e("left")
45
- }),
46
- /* @__PURE__ */ L(B, {
47
- title: "По центру",
48
- icon: /* @__PURE__ */ L(t, {}),
49
- isActive: a === "center",
50
- onClick: () => e("center")
51
- }),
52
- /* @__PURE__ */ L(B, {
53
- title: "По правому краю",
54
- icon: /* @__PURE__ */ L(i, {}),
55
- isActive: a === "right",
56
- onClick: () => e("right")
57
- }),
58
- /* @__PURE__ */ L(B, {
59
- title: "По ширине",
60
- icon: /* @__PURE__ */ L(n, {}),
61
- isActive: a === "justify",
62
- onClick: () => e("justify")
63
- })
64
- ]
65
- });
66
- }
67
- //#endregion
68
- //#region src/text-editor/toolbar/HistoryControls.tsx
69
- function U({ onUndo: e, onRedo: t }) {
70
- return /* @__PURE__ */ R("div", {
71
- className: z.groupControls,
72
- children: [/* @__PURE__ */ L(B, {
73
- title: "Отменить последнее действие",
74
- icon: /* @__PURE__ */ L(F, {}),
75
- onClick: e
76
- }), /* @__PURE__ */ L(B, {
77
- title: "Повторить предыдущее действие",
78
- icon: /* @__PURE__ */ L(O, {}),
79
- onClick: t
80
- })]
81
- });
82
- }
83
- //#endregion
84
- //#region src/text-editor/toolbar/types.tsx
85
- var W = {
86
- unstyled: {
87
- label: "Параграф",
88
- node: "p",
89
- style: "unstyled",
90
- icon: /* @__PURE__ */ L(N, {})
91
- },
92
- paragraph: {
93
- label: "Параграф",
94
- node: "p",
95
- style: "paragraph",
96
- icon: /* @__PURE__ */ L(D, {})
97
- },
98
- "header-one": {
99
- label: "Заголовок первого уровня",
100
- node: "h1",
101
- style: "header-one",
102
- icon: /* @__PURE__ */ L(f, {})
103
- },
104
- "header-two": {
105
- label: "Заголовок второго уровня",
106
- node: "h2",
107
- style: "header-two",
108
- icon: /* @__PURE__ */ L(p, {})
109
- },
110
- "header-three": {
111
- label: "Заголовок третьего уровня",
112
- node: "h3",
113
- style: "header-three",
114
- icon: /* @__PURE__ */ L(m, {})
115
- },
116
- "header-four": {
117
- label: "Заголовок четвертого уровня",
118
- node: "h4",
119
- style: "header-four",
120
- icon: /* @__PURE__ */ L(h, {})
121
- },
122
- "header-five": {
123
- label: "Заголовок пятого уровня",
124
- node: "h5",
125
- style: "header-five",
126
- icon: /* @__PURE__ */ L(g, {})
127
- },
128
- "header-six": {
129
- label: "Заголовок шестого уровня",
130
- node: "h6",
131
- style: "header-six",
132
- icon: /* @__PURE__ */ L(_, {})
133
- },
134
- "code-block": {
135
- label: "Блок кода",
136
- node: "pre",
137
- style: "code-block",
138
- icon: /* @__PURE__ */ L(u, {})
139
- },
140
- blockquote: {
141
- label: "Цитата",
142
- node: "blockquote",
143
- style: "blockquote",
144
- icon: /* @__PURE__ */ L(M, {})
145
- },
146
- "unordered-list-item": {
147
- label: "Маркированный список",
148
- node: "ul",
149
- style: "unordered-list-item",
150
- icon: /* @__PURE__ */ L(S, {})
151
- },
152
- "ordered-list-item": {
153
- label: "Нумерованный список",
154
- node: "ol",
155
- style: "ordered-list-item",
156
- icon: /* @__PURE__ */ L(C, {})
157
- },
158
- CODE: {
159
- label: "Моноширинный код",
160
- node: "code",
161
- style: "CODE",
162
- icon: /* @__PURE__ */ L(u, {})
163
- },
164
- BOLD: {
165
- label: "Выделение жирным",
166
- node: "strong",
167
- style: "BOLD",
168
- icon: /* @__PURE__ */ L(o, {})
169
- },
170
- UNDERLINE: {
171
- label: "Выделение подчеркнутым",
172
- node: "u",
173
- style: "UNDERLINE",
174
- icon: /* @__PURE__ */ L(P, {})
175
- },
176
- STRIKETHROUGH: {
177
- label: "Выделение зачеркнутым",
178
- node: "s",
179
- style: "STRIKETHROUGH",
180
- icon: /* @__PURE__ */ L(j, {})
181
- },
182
- HIGHLIGHT: {
183
- label: "Подсветка цветом",
184
- node: "span",
185
- style: "HIGHLIGHT",
186
- icon: /* @__PURE__ */ L(v, {})
187
- },
188
- ITALIC: {
189
- label: "Выделение курсивным",
190
- node: "i",
191
- style: "ITALIC",
192
- icon: /* @__PURE__ */ L(y, {})
193
- }
194
- }, G = (e) => {
195
- let t = W[e];
196
- return t ? t.node : "div";
197
- }, K = (e) => {
198
- let t = W[e];
199
- return t ? t.node : null;
200
- }, q = [
201
- W.unstyled,
202
- W["header-three"],
203
- W["header-four"],
204
- W["header-five"],
205
- W["header-six"],
206
- W["ordered-list-item"],
207
- W["unordered-list-item"],
208
- W.blockquote
209
- ], J = [
210
- W.BOLD,
211
- W.ITALIC,
212
- W.UNDERLINE,
213
- W.STRIKETHROUGH,
214
- W.HIGHLIGHT,
215
- W.CODE
216
- ], Y = {
217
- CODE: {
218
- color: "rgb(8, 89, 114)",
219
- padding: "0.15em 0.4em",
220
- margin: "0",
221
- fontFamily: "monospace",
222
- fontSize: "85%",
223
- backgroundColor: "rgba(40, 68, 77, 0.05)",
224
- borderRadius: "var(--radius-md)",
225
- lineHeight: "1"
226
- },
227
- HIGHLIGHT: {
228
- paddingInline: "0.15em",
229
- backgroundColor: "rgb(234,255,142)",
230
- borderRadius: "var(--radius-md)"
231
- },
232
- unstyled: { marginBottom: "1.5em" },
233
- BOLD: { fontWeight: "bold" },
234
- ITALIC: { fontStyle: "italic" },
235
- UNDERLINE: { textDecoration: "underline" },
236
- STRIKETHROUGH: { textDecoration: "line-through" }
237
- }, X = /* @__PURE__ */ function(e) {
238
- return e.LINK = "link", e.LOCAL_LINK = "localLink", e.PHONE = "phone", e.EMAIL = "email", e;
239
- }({}), Z = /* @__PURE__ */ function(e) {
240
- return e.abbr = "abbr", e.lang = "lang", e.time = "time", e.cite = "cite", e.ins = "ins", e.del = "del", e;
241
- }({});
242
- //#endregion
243
- //#region src/text-editor/toolbar/LinkButtons.tsx
244
- function Q({ disabled: e, onClick: t }) {
245
- return /* @__PURE__ */ R("div", {
246
- className: z.groupControls,
247
- children: [
248
- /* @__PURE__ */ L(B, {
249
- title: "Добавить ссылку на статью",
250
- icon: /* @__PURE__ */ L(x, {}),
251
- onClick: () => t(X.LOCAL_LINK)
252
- }),
253
- /* @__PURE__ */ L(B, {
254
- title: "Добавить ссылку",
255
- disabled: e,
256
- icon: /* @__PURE__ */ L(d, {}),
257
- onClick: () => t(X.LINK)
258
- }),
259
- /* @__PURE__ */ L(B, {
260
- title: "Добавить телефон",
261
- disabled: e,
262
- icon: /* @__PURE__ */ L(T, {}),
263
- onClick: () => t(X.PHONE)
264
- }),
265
- /* @__PURE__ */ L(B, {
266
- title: "Добавить email",
267
- disabled: e,
268
- icon: /* @__PURE__ */ L(a, {}),
269
- onClick: () => t(X.EMAIL)
270
- })
271
- ]
272
- });
273
- }
274
- //#endregion
275
- //#region src/text-editor/toolbar/TagButtons.tsx
276
- function $({ onClick: e }) {
277
- return /* @__PURE__ */ R("div", {
278
- className: z.groupControls,
279
- children: [
280
- /* @__PURE__ */ L(B, {
281
- title: "Вставить Аббревиатуру",
282
- icon: /* @__PURE__ */ L(s, {}),
283
- onClick: () => e(Z.abbr)
284
- }),
285
- /* @__PURE__ */ L(B, {
286
- title: "Вставить Код языка",
287
- icon: /* @__PURE__ */ L(b, {}),
288
- onClick: () => e(Z.lang)
289
- }),
290
- /* @__PURE__ */ L(B, {
291
- title: "Вставить Дату/время",
292
- icon: /* @__PURE__ */ L(l, {}),
293
- onClick: () => e(Z.time)
294
- }),
295
- /* @__PURE__ */ L(B, {
296
- title: "Вставить Ссылку на источник",
297
- icon: /* @__PURE__ */ L(w, {}),
298
- onClick: () => e(Z.cite)
299
- }),
300
- /* @__PURE__ */ L(B, {
301
- title: "Вставить Удалённый фрагмент",
302
- icon: /* @__PURE__ */ L(A, {}),
303
- onClick: () => e(Z.del)
304
- }),
305
- /* @__PURE__ */ L(B, {
306
- title: "Вставить Добавленный фрагмент",
307
- icon: /* @__PURE__ */ L(E, {}),
308
- onClick: () => e(Z.ins)
309
- })
310
- ]
311
- });
312
- }
313
- //#endregion
314
- //#region src/text-editor/toolbar/TextEditorToolbarLexical.tsx
315
- function ee({ toolbarComponents: e, state: t, onBlockStyleToggle: n, onInlineStyleToggle: r, onAlignmentChange: i, onLinkClick: a, onTagClick: o, onUndo: s, onRedo: l, onCleanTag: u }) {
316
- let d = {
317
- history: !0,
318
- ...e || {}
319
- };
320
- return /* @__PURE__ */ R("div", {
321
- className: z.toolbar,
322
- children: [
323
- d.blocks && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L("div", {
324
- className: z.groupControls,
325
- children: q.map((e) => /* @__PURE__ */ L(B, {
326
- isActive: e.style === t.blockType,
327
- style: e.style,
328
- title: e.label,
329
- icon: e.icon,
330
- onClick: n
331
- }, e.style))
332
- }), /* @__PURE__ */ L("hr", {})] }),
333
- d.inline && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L("div", {
334
- className: z.groupControls,
335
- children: J.map((e) => /* @__PURE__ */ L(B, {
336
- isActive: !!t.activeInlineStyles[e.style],
337
- title: e.label,
338
- style: e.style,
339
- icon: e.icon,
340
- disabled: t.isTextUnselected,
341
- onClick: r
342
- }, e.style))
343
- }), /* @__PURE__ */ L("hr", {})] }),
344
- d.alignment && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L(H, {
345
- activeAlignment: t.activeAlignment,
346
- onAlignmentChange: i
347
- }), /* @__PURE__ */ L("hr", {})] }),
348
- d.links && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L(Q, {
349
- disabled: t.isTextUnselected,
350
- onClick: a
351
- }), /* @__PURE__ */ L("hr", {})] }),
352
- d.tags && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L($, { onClick: o }), /* @__PURE__ */ L("hr", {})] }),
353
- d.history && /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L(U, {
354
- onUndo: s,
355
- onRedo: l
356
- }), /* @__PURE__ */ L("hr", {})] }),
357
- /* @__PURE__ */ L(B, {
358
- disabled: t.isTextUnselected,
359
- title: "Очистить выбранный тег",
360
- icon: /* @__PURE__ */ L(c, {}),
361
- onClick: u
362
- })
363
- ]
364
- });
365
- }
366
- //#endregion
367
- export { q as a, G as c, H as d, V as f, Z as i, K as l, Q as n, J as o, B as p, X as r, Y as s, ee as t, U as u };
368
-
369
- //# sourceMappingURL=toolbar-XCDeS2Li.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolbar-XCDeS2Li.js","names":[],"sources":["../../src/text-editor/toolbar/Toolbar.module.scss","../../src/text-editor/toolbar/ToolbarControl.tsx","../../src/text-editor/toolbar/ActionControls.tsx","../../src/text-editor/toolbar/AlignmentControls.tsx","../../src/text-editor/toolbar/HistoryControls.tsx","../../src/text-editor/toolbar/types.tsx","../../src/text-editor/toolbar/LinkButtons.tsx","../../src/text-editor/toolbar/TagButtons.tsx","../../src/text-editor/toolbar/TextEditorToolbarLexical.tsx"],"sourcesContent":[".toolbar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: start;\n\tgap: var(--space-sm);\n\tmargin-bottom: var(--space-md);\n\n\thr {\n\t\tmargin: 0.5rem 0;\n\t}\n}\n\n.groupControls {\n\tdisplay: flex;\n\tgap: var(--space-sm);\n}\n","import { type MouseEvent, type ReactNode } from \"react\";\n\nimport { Button } from \"../../button\";\n\ntype ToolbarControlProps = {\n\tisActive?: boolean;\n\tonClick?: (style: string) => void;\n\ttitle?: string;\n\tstyle?: string;\n\tdisabled?: boolean;\n\ticon?: ReactNode;\n};\n\n/**\n * Унифицированная кнопка действия в тулбаре текстового редактора. Отвечает за активное состояние, disabled-режим и визуальное представление иконки.\n */\nexport function ToolbarControl({ isActive, disabled, style, title, icon, onClick }: ToolbarControlProps) {\n\tconst handleMouseDown = (e: MouseEvent<HTMLButtonElement>) => {\n\t\te.preventDefault();\n\t\tonClick?.(style || \"\");\n\t};\n\n\treturn (\n\t\t<Button\n\t\t\ttitle={title}\n\t\t\tdisabled={disabled}\n\t\t\tappearance=\"outline\"\n\t\t\ttone={isActive ? \"info\" : undefined}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t\ticon={icon}\n\t\t/>\n\t);\n}\n","import { Save } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\n\ninterface ActionControlsProps {\n\tonChange?: () => void;\n}\n\n/**\n * Группа базовых действий тулбара текстового редактора. Содержит переключатели форматирования для повседневного редактирования.\n */\nexport function ActionControls({ onChange }: ActionControlsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title={\"Сохранить текущее состояние\"} icon={<Save />} onClick={onChange} />\n\t\t</div>\n\t);\n}\n","import { AlignCenter, AlignJustify, AlignLeft, AlignRight } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\n\nimport type { TextAlignment } from \"../model/textEditorTypes\";\n\ninterface AlignmentControlsProps {\n\tonAlignmentChange: (alignment: TextAlignment) => void;\n\tactiveAlignment?: TextAlignment | null;\n}\n\n/**\n * Кнопки управления выравниванием содержимого в текстовом редакторе. Используются в тулбаре для смены текстового alignment.\n */\nexport function AlignmentControls({ onAlignmentChange, activeAlignment }: AlignmentControlsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По левому краю\"\n\t\t\t\ticon={<AlignLeft />}\n\t\t\t\tisActive={activeAlignment === \"left\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"left\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По центру\"\n\t\t\t\ticon={<AlignCenter />}\n\t\t\t\tisActive={activeAlignment === \"center\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"center\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По правому краю\"\n\t\t\t\ticon={<AlignRight />}\n\t\t\t\tisActive={activeAlignment === \"right\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"right\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По ширине\"\n\t\t\t\ticon={<AlignJustify />}\n\t\t\t\tisActive={activeAlignment === \"justify\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"justify\")}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import { Redo, Undo } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\n\ninterface HistoryControlsProps {\n\tonUndo: () => void;\n\tonRedo: () => void;\n}\n\n/**\n * Кнопки отмены и повтора действий для текстового редактора. Отвечают за работу с историей изменений документа.\n */\nexport function HistoryControls({ onUndo, onRedo }: HistoryControlsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Отменить последнее действие\" icon={<Undo />} onClick={onUndo} />\n\t\t\t<ToolbarControl title=\"Повторить предыдущее действие\" icon={<Redo />} onClick={onRedo} />\n\t\t</div>\n\t);\n}\n","import { JSX } from \"react\";\n\nimport {\n\tBold,\n\tCode,\n\tHeading1,\n\tHeading2,\n\tHeading3,\n\tHeading4,\n\tHeading5,\n\tHeading6,\n\tHighlighter,\n\tItalic,\n\tList,\n\tListOrdered,\n\tPilcrow,\n\tStrikethrough,\n\tTextQuote,\n\tType,\n\tUnderline\n} from \"lucide-react\";\n\nimport type { TextEditorElementTypes } from \"../types\";\n\ninterface TextEditorElement {\n\tlabel: string;\n\tstyle: TextEditorElementTypes;\n\tnode: string;\n\ticon: JSX.Element;\n}\n\nconst TextEditorElements: Record<TextEditorElementTypes, TextEditorElement> = {\n\tunstyled: { label: \"Параграф\", node: \"p\", style: \"unstyled\", icon: <Type /> },\n\tparagraph: { label: \"Параграф\", node: \"p\", style: \"paragraph\", icon: <Pilcrow /> },\n\t\"header-one\": { label: \"Заголовок первого уровня\", node: \"h1\", style: \"header-one\", icon: <Heading1 /> },\n\t\"header-two\": { label: \"Заголовок второго уровня\", node: \"h2\", style: \"header-two\", icon: <Heading2 /> },\n\t\"header-three\": { label: \"Заголовок третьего уровня\", node: \"h3\", style: \"header-three\", icon: <Heading3 /> },\n\t\"header-four\": { label: \"Заголовок четвертого уровня\", node: \"h4\", style: \"header-four\", icon: <Heading4 /> },\n\t\"header-five\": { label: \"Заголовок пятого уровня\", node: \"h5\", style: \"header-five\", icon: <Heading5 /> },\n\t\"header-six\": { label: \"Заголовок шестого уровня\", node: \"h6\", style: \"header-six\", icon: <Heading6 /> },\n\t\"code-block\": { label: \"Блок кода\", node: \"pre\", style: \"code-block\", icon: <Code /> },\n\tblockquote: { label: \"Цитата\", node: \"blockquote\", style: \"blockquote\", icon: <TextQuote /> },\n\t\"unordered-list-item\": { label: \"Маркированный список\", node: \"ul\", style: \"unordered-list-item\", icon: <List /> },\n\t\"ordered-list-item\": { label: \"Нумерованный список\", node: \"ol\", style: \"ordered-list-item\", icon: <ListOrdered /> },\n\tCODE: { label: \"Моноширинный код\", node: \"code\", style: \"CODE\", icon: <Code /> },\n\tBOLD: { label: \"Выделение жирным\", node: \"strong\", style: \"BOLD\", icon: <Bold /> },\n\tUNDERLINE: { label: \"Выделение подчеркнутым\", node: \"u\", style: \"UNDERLINE\", icon: <Underline /> },\n\tSTRIKETHROUGH: { label: \"Выделение зачеркнутым\", node: \"s\", style: \"STRIKETHROUGH\", icon: <Strikethrough /> },\n\tHIGHLIGHT: { label: \"Подсветка цветом\", node: \"span\", style: \"HIGHLIGHT\", icon: <Highlighter /> },\n\tITALIC: { label: \"Выделение курсивным\", node: \"i\", style: \"ITALIC\", icon: <Italic /> }\n};\n\nexport const getElementFromElementStyle = (style: TextEditorElementTypes) => {\n\tconst element = TextEditorElements[style];\n\tif (!element) {\n\t\treturn \"div\";\n\t}\n\treturn element.node;\n};\n\nexport const getTagFromElementStyle = (style: TextEditorElementTypes) => {\n\tconst element = TextEditorElements[style];\n\tif (!element) {\n\t\treturn null;\n\t}\n\treturn element.node;\n};\n\nexport const TextEditorBlockControls = [\n\tTextEditorElements.unstyled,\n\tTextEditorElements[\"header-three\"],\n\tTextEditorElements[\"header-four\"],\n\tTextEditorElements[\"header-five\"],\n\tTextEditorElements[\"header-six\"],\n\tTextEditorElements[\"ordered-list-item\"],\n\tTextEditorElements[\"unordered-list-item\"],\n\tTextEditorElements.blockquote\n];\n\nexport const TextEditorInlineControls = [\n\tTextEditorElements.BOLD,\n\tTextEditorElements.ITALIC,\n\tTextEditorElements.UNDERLINE,\n\tTextEditorElements.STRIKETHROUGH,\n\tTextEditorElements.HIGHLIGHT,\n\tTextEditorElements.CODE\n];\n\nexport const TextEditorStyleClasses = {\n\tCODE: {\n\t\tcolor: \"rgb(8, 89, 114)\",\n\t\tpadding: \"0.15em 0.4em\",\n\t\tmargin: \"0\",\n\t\tfontFamily: \"monospace\",\n\t\tfontSize: \"85%\",\n\t\tbackgroundColor: \"rgba(40, 68, 77, 0.05)\",\n\t\tborderRadius: \"var(--radius-md)\",\n\t\tlineHeight: \"1\"\n\t},\n\tHIGHLIGHT: {\n\t\tpaddingInline: \"0.15em\",\n\t\tbackgroundColor: \"rgb(234,255,142)\",\n\t\tborderRadius: \"var(--radius-md)\"\n\t},\n\tunstyled: {\n\t\tmarginBottom: \"1.5em\"\n\t},\n\tBOLD: { fontWeight: \"bold\" },\n\tITALIC: { fontStyle: \"italic\" },\n\tUNDERLINE: { textDecoration: \"underline\" },\n\tSTRIKETHROUGH: { textDecoration: \"line-through\" }\n};\n\nexport enum LinkTypes {\n\tLINK = \"link\",\n\tLOCAL_LINK = \"localLink\",\n\tPHONE = \"phone\",\n\tEMAIL = \"email\"\n}\n\nexport enum TagTypes {\n\tabbr = \"abbr\",\n\tlang = \"lang\",\n\ttime = \"time\",\n\tcite = \"cite\",\n\tins = \"ins\",\n\tdel = \"del\"\n}\n","import { AtSign, ExternalLink, Link, Phone } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { LinkTypes } from \"./types\";\n\ninterface LinkButtonsProps {\n\tdisabled: boolean;\n\tonClick: (type: LinkTypes) => void;\n}\n\n/**\n * Набор кнопок для вставки ссылок и связанных сущностей в текстовом редакторе. Используется в составе тулбара редактора.\n */\nexport function LinkButtons({ disabled, onClick }: LinkButtonsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Добавить ссылку на статью\" icon={<Link />} onClick={() => onClick(LinkTypes.LOCAL_LINK)} />\n\t\t\t<ToolbarControl title=\"Добавить ссылку\" disabled={disabled} icon={<ExternalLink />} onClick={() => onClick(LinkTypes.LINK)} />\n\t\t\t<ToolbarControl title=\"Добавить телефон\" disabled={disabled} icon={<Phone />} onClick={() => onClick(LinkTypes.PHONE)} />\n\t\t\t<ToolbarControl title=\"Добавить email\" disabled={disabled} icon={<AtSign />} onClick={() => onClick(LinkTypes.EMAIL)} />\n\t\t</div>\n\t);\n}\n","import { BookType, Clock, Languages, MessageSquareQuote, PictureInPicture, Shredder } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { TagTypes } from \"./types\";\n\ninterface TagButtonsProps {\n\tonClick: (type: TagTypes) => void;\n}\n\n/**\n * Переиспользуемый компонент `TagButtons` из раздела `toolbar`. Инкапсулирует общую логику отображения и взаимодействия, чтобы интерфейс оставался консистентным.\n */\nexport function TagButtons({ onClick }: TagButtonsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Вставить Аббревиатуру\" icon={<BookType />} onClick={() => onClick(TagTypes.abbr)} />\n\t\t\t<ToolbarControl title=\"Вставить Код языка\" icon={<Languages />} onClick={() => onClick(TagTypes.lang)} />\n\t\t\t<ToolbarControl title=\"Вставить Дату/время\" icon={<Clock />} onClick={() => onClick(TagTypes.time)} />\n\t\t\t<ToolbarControl title=\"Вставить Ссылку на источник\" icon={<MessageSquareQuote />} onClick={() => onClick(TagTypes.cite)} />\n\t\t\t<ToolbarControl title=\"Вставить Удалённый фрагмент\" icon={<Shredder />} onClick={() => onClick(TagTypes.del)} />\n\t\t\t<ToolbarControl title=\"Вставить Добавленный фрагмент\" icon={<PictureInPicture />} onClick={() => onClick(TagTypes.ins)} />\n\t\t</div>\n\t);\n}\n","import { BrushCleaning } from \"lucide-react\";\n\nimport { AlignmentControls } from \"./AlignmentControls\";\nimport { HistoryControls } from \"./HistoryControls\";\nimport { LinkButtons } from \"./LinkButtons\";\nimport { TagButtons } from \"./TagButtons\";\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { LinkTypes, TagTypes, TextEditorBlockControls, TextEditorInlineControls } from \"./types\";\n\nimport type { TextEditorToolbarComponents } from \"../editorModel\";\nimport type { LexicalToolbarState, TextAlignment } from \"../model/textEditorTypes\";\n\ninterface TextEditorToolbarLexicalProps {\n\ttoolbarComponents?: TextEditorToolbarComponents;\n\tstate: LexicalToolbarState;\n\tonBlockStyleToggle: (style: string) => void;\n\tonInlineStyleToggle: (style: string) => void;\n\tonAlignmentChange: (alignment: TextAlignment) => void;\n\tonLinkClick: (type: LinkTypes) => void;\n\tonTagClick: (type: TagTypes) => void;\n\tonUndo: () => void;\n\tonRedo: () => void;\n\tonCleanTag?: () => void;\n}\n\n/**\n * Основная панель инструментов редактора Lexical. Собирает управляющие блоки и синхронизирует их с текущим состоянием выделения.\n */\nexport function TextEditorToolbarLexical({\n\ttoolbarComponents,\n\tstate,\n\tonBlockStyleToggle,\n\tonInlineStyleToggle,\n\tonAlignmentChange,\n\tonLinkClick,\n\tonTagClick,\n\tonUndo,\n\tonRedo,\n\tonCleanTag\n}: TextEditorToolbarLexicalProps) {\n\tconst components = { history: true, ...(toolbarComponents || {}) };\n\n\treturn (\n\t\t<div className={ToolbarStyle.toolbar}>\n\t\t\t{components.blocks && (\n\t\t\t\t<>\n\t\t\t\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t\t\t\t{TextEditorBlockControls.map((control) => (\n\t\t\t\t\t\t\t<ToolbarControl\n\t\t\t\t\t\t\t\tkey={control.style}\n\t\t\t\t\t\t\t\tisActive={control.style === state.blockType}\n\t\t\t\t\t\t\t\tstyle={control.style}\n\t\t\t\t\t\t\t\ttitle={control.label}\n\t\t\t\t\t\t\t\ticon={control.icon}\n\t\t\t\t\t\t\t\tonClick={onBlockStyleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.inline && (\n\t\t\t\t<>\n\t\t\t\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t\t\t\t{TextEditorInlineControls.map((control) => (\n\t\t\t\t\t\t\t<ToolbarControl\n\t\t\t\t\t\t\t\tkey={control.style}\n\t\t\t\t\t\t\t\tisActive={!!state.activeInlineStyles[control.style as keyof typeof state.activeInlineStyles]}\n\t\t\t\t\t\t\t\ttitle={control.label}\n\t\t\t\t\t\t\t\tstyle={control.style}\n\t\t\t\t\t\t\t\ticon={control.icon}\n\t\t\t\t\t\t\t\tdisabled={state.isTextUnselected}\n\t\t\t\t\t\t\t\tonClick={onInlineStyleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.alignment && (\n\t\t\t\t<>\n\t\t\t\t\t<AlignmentControls activeAlignment={state.activeAlignment} onAlignmentChange={onAlignmentChange} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.links && (\n\t\t\t\t<>\n\t\t\t\t\t<LinkButtons disabled={state.isTextUnselected} onClick={onLinkClick} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.tags && (\n\t\t\t\t<>\n\t\t\t\t\t<TagButtons onClick={onTagClick} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.history && (\n\t\t\t\t<>\n\t\t\t\t\t<HistoryControls onUndo={onUndo} onRedo={onRedo} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<ToolbarControl\n\t\t\t\tdisabled={state.isTextUnselected}\n\t\t\t\ttitle=\"Очистить выбранный тег\"\n\t\t\t\ticon={<BrushCleaning />}\n\t\t\t\tonClick={onCleanTag}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { a as e, t } from "../../../chunks/plugins-BqaLckPx.js";
2
- export { e as InitialHtmlPlugin, t as SelectionStatePlugin };
@@ -1,2 +0,0 @@
1
- import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "../../chunks/toolbar-XCDeS2Li.js";
2
- export { r as ActionControls, n as AlignmentControls, f as HistoryControls, o as LinkButtons, l as LinkTypes, i as TagTypes, e as TextEditorBlockControls, s as TextEditorInlineControls, u as TextEditorStyleClasses, d as TextEditorToolbarLexical, c as ToolbarControl, t as getElementFromElementStyle, a as getTagFromElementStyle };