laif-ds 0.2.85-test-beta.3 → 0.2.86
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 +11 -81
- package/dist/CHANGELOG.md +7 -0
- package/dist/_virtual/index7.js +5 -2
- package/dist/_virtual/index8.js +2 -5
- package/dist/agent-docs/adoption-report.json +2 -2
- package/dist/agent-docs/manifest.json +3 -3
- package/dist/components/editor/editor-hooks/use-update-toolbar.js +6 -6
- package/dist/components/editor/editor-ui/content-editable.js +1 -1
- package/dist/components/editor/nodes/mention-node.js +2 -2
- package/dist/components/editor/plugins/actions/clear-editor-plugin.js +2 -2
- package/dist/components/editor/plugins/actions/counter-character-plugin.js +2 -2
- package/dist/components/editor/plugins/mention-plugin.js +21 -21
- package/dist/components/editor/plugins/toolbar/block-format/format-bulleted-list.js +10 -10
- package/dist/components/editor/plugins/toolbar/block-format/format-check-list.js +5 -5
- package/dist/components/editor/plugins/toolbar/block-format/format-heading.js +5 -5
- package/dist/components/editor/plugins/toolbar/block-format/format-numbered-list.js +5 -5
- package/dist/components/editor/plugins/toolbar/block-format/format-paragraph.js +9 -9
- package/dist/components/editor/plugins/toolbar/block-format/format-quote.js +3 -3
- package/dist/components/editor/plugins/toolbar/block-format-toolbar-plugin.js +13 -13
- package/dist/components/editor/plugins/toolbar/font-format-toolbar-plugin.js +2 -2
- package/dist/components/editor/plugins/toolbar/history-toolbar-plugin.js +18 -19
- package/dist/components/editor/plugins/toolbar/mention-insert-toolbar-plugin.js +1 -1
- package/dist/components/editor/plugins/toolbar/toolbar-plugin.js +3 -3
- package/dist/components/ui/app-editor.js +51 -51
- package/dist/components/ui/gantt/components/Chart/Chart.js +1 -1
- package/dist/components/ui/markdown-renderer.js +33 -32
- package/dist/lib/utils.js +35 -34
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +1 -1
- package/dist/node_modules/@floating-ui/{utils → core/node_modules/@floating-ui/utils}/dist/floating-ui.utils.js +33 -39
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +20 -19
- package/dist/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +12 -0
- package/dist/node_modules/@lexical/clipboard/dist/LexicalClipboard.prod.js +354 -0
- package/dist/node_modules/@lexical/code-core/dist/LexicalCodeCore.prod.js +298 -0
- package/dist/node_modules/@lexical/dragon/dist/LexicalDragon.prod.js +89 -0
- package/dist/node_modules/@lexical/extension/dist/LexicalExtension.prod.js +611 -0
- package/dist/node_modules/@lexical/history/dist/LexicalHistory.prod.js +96 -0
- package/dist/node_modules/@lexical/html/dist/LexicalHtml.prod.js +604 -0
- package/dist/node_modules/@lexical/link/dist/LexicalLink.prod.js +201 -0
- package/dist/node_modules/@lexical/list/dist/LexicalList.prod.js +843 -0
- package/dist/node_modules/@lexical/markdown/dist/LexicalMarkdown.prod.js +555 -0
- package/dist/node_modules/@lexical/react/dist/LexicalCheckListPlugin.prod.js +11 -0
- package/dist/node_modules/@lexical/react/dist/LexicalClearEditorPlugin.prod.js +13 -0
- package/dist/node_modules/@lexical/react/dist/LexicalComposer.prod.js +45 -0
- package/dist/node_modules/@lexical/react/{LexicalComposerContext.prod.js → dist/LexicalComposerContext.prod.js} +1 -1
- package/dist/node_modules/@lexical/react/dist/LexicalContentEditable.prod.js +53 -0
- package/dist/node_modules/@lexical/react/dist/LexicalErrorBoundary.prod.js +21 -0
- package/dist/node_modules/@lexical/react/{LexicalHistoryPlugin.prod.js → dist/LexicalHistoryPlugin.prod.js} +3 -3
- package/dist/node_modules/@lexical/react/dist/LexicalListPlugin.prod.js +17 -0
- package/dist/node_modules/@lexical/react/dist/LexicalOnChangePlugin.prod.js +16 -0
- package/dist/node_modules/@lexical/react/dist/LexicalReactProviderExtension.prod.js +6 -0
- package/dist/node_modules/@lexical/react/dist/LexicalRichTextPlugin.prod.js +77 -0
- package/dist/node_modules/@lexical/react/dist/LexicalTypeaheadMenuPlugin.prod.js +245 -0
- package/dist/node_modules/@lexical/react/dist/useLexicalEditable.prod.js +22 -0
- package/dist/node_modules/@lexical/rich-text/dist/LexicalRichText.prod.js +567 -0
- package/dist/node_modules/@lexical/selection/dist/LexicalSelection.prod.js +123 -0
- package/dist/node_modules/@lexical/table/dist/LexicalTable.prod.js +929 -0
- package/dist/node_modules/@lexical/text/{LexicalText.prod.js → dist/LexicalText.prod.js} +6 -6
- package/dist/node_modules/@lexical/utils/dist/LexicalUtils.prod.js +111 -0
- package/dist/node_modules/eventemitter3/index2.js +1 -1
- package/dist/node_modules/lexical/dist/Lexical.prod.js +6731 -0
- package/package.json +11 -11
- package/dist/_virtual/prism-cpp.js +0 -3
- package/dist/_virtual/prism-cpp2.js +0 -5
- package/dist/_virtual/prism-java.js +0 -3
- package/dist/_virtual/prism-java2.js +0 -5
- package/dist/_virtual/prism-python.js +0 -3
- package/dist/_virtual/prism-python2.js +0 -5
- package/dist/_virtual/prism-rust.js +0 -3
- package/dist/_virtual/prism-rust2.js +0 -5
- package/dist/_virtual/prism-typescript.js +0 -3
- package/dist/_virtual/prism-typescript2.js +0 -5
- package/dist/_virtual/prism.js +0 -3
- package/dist/_virtual/prism2.js +0 -5
- package/dist/node_modules/@lexical/clipboard/LexicalClipboard.prod.js +0 -159
- package/dist/node_modules/@lexical/code/LexicalCode.prod.js +0 -236
- package/dist/node_modules/@lexical/dragon/LexicalDragon.prod.js +0 -46
- package/dist/node_modules/@lexical/history/LexicalHistory.prod.js +0 -89
- package/dist/node_modules/@lexical/html/LexicalHtml.prod.js +0 -108
- package/dist/node_modules/@lexical/link/LexicalLink.prod.js +0 -187
- package/dist/node_modules/@lexical/list/LexicalList.prod.js +0 -729
- package/dist/node_modules/@lexical/markdown/LexicalMarkdown.prod.js +0 -367
- package/dist/node_modules/@lexical/react/LexicalCheckListPlugin.prod.js +0 -11
- package/dist/node_modules/@lexical/react/LexicalClearEditorPlugin.prod.js +0 -17
- package/dist/node_modules/@lexical/react/LexicalComposer.prod.js +0 -45
- package/dist/node_modules/@lexical/react/LexicalContentEditable.prod.js +0 -55
- package/dist/node_modules/@lexical/react/LexicalErrorBoundary.prod.js +0 -49
- package/dist/node_modules/@lexical/react/LexicalListPlugin.prod.js +0 -17
- package/dist/node_modules/@lexical/react/LexicalOnChangePlugin.prod.js +0 -16
- package/dist/node_modules/@lexical/react/LexicalRichTextPlugin.prod.js +0 -56
- package/dist/node_modules/@lexical/react/LexicalTypeaheadMenuPlugin.prod.js +0 -220
- package/dist/node_modules/@lexical/react/useLexicalEditable.prod.js +0 -21
- package/dist/node_modules/@lexical/rich-text/LexicalRichText.prod.js +0 -376
- package/dist/node_modules/@lexical/selection/LexicalSelection.prod.js +0 -107
- package/dist/node_modules/@lexical/table/LexicalTable.prod.js +0 -661
- package/dist/node_modules/@lexical/utils/LexicalUtils.prod.js +0 -102
- package/dist/node_modules/lexical/Lexical.prod.js +0 -4912
- package/dist/node_modules/prismjs/components/prism-c.js +0 -77
- package/dist/node_modules/prismjs/components/prism-clike.js +0 -32
- package/dist/node_modules/prismjs/components/prism-cpp.js +0 -93
- package/dist/node_modules/prismjs/components/prism-css.js +0 -56
- package/dist/node_modules/prismjs/components/prism-java.js +0 -122
- package/dist/node_modules/prismjs/components/prism-javascript.js +0 -138
- package/dist/node_modules/prismjs/components/prism-markdown.js +0 -301
- package/dist/node_modules/prismjs/components/prism-markup.js +0 -174
- package/dist/node_modules/prismjs/components/prism-objectivec.js +0 -11
- package/dist/node_modules/prismjs/components/prism-powershell.js +0 -56
- package/dist/node_modules/prismjs/components/prism-python.js +0 -69
- package/dist/node_modules/prismjs/components/prism-rust.js +0 -124
- package/dist/node_modules/prismjs/components/prism-sql.js +0 -34
- package/dist/node_modules/prismjs/components/prism-swift.js +0 -114
- package/dist/node_modules/prismjs/components/prism-typescript.js +0 -53
- package/dist/node_modules/prismjs/prism.js +0 -1165
- /package/dist/node_modules/@floating-ui/{utils → dom/node_modules/@floating-ui/utils}/dist/floating-ui.utils.dom.js +0 -0
package/README.md
CHANGED
|
@@ -5,13 +5,11 @@
|
|
|
5
5
|
## Install Laif DS on your project:
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
npm i
|
|
8
|
+
npm i laif-ds
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Development mode
|
|
12
12
|
|
|
13
|
-
Per vedere i componenti con storybook:
|
|
14
|
-
|
|
15
13
|
```sh
|
|
16
14
|
yarn storybook
|
|
17
15
|
```
|
|
@@ -19,88 +17,20 @@ yarn storybook
|
|
|
19
17
|
Il comando esegue due operazioni in sequenza: prima compila il CSS con tailwindcss v4 salvandolo in un file output.css, poi avvia Storybook che utilizza questo file CSS precompilato.
|
|
20
18
|
Questo approccio è necessario con Tailwind CSS v4 perché, a differenza delle versioni precedenti, v4 utilizza un'architettura "zero-runtime" che non si integra più direttamente con Storybook. La generazione separata del CSS è quindi la soluzione raccomandata per utilizzare Tailwind v4 con Storybook.
|
|
21
19
|
|
|
22
|
-
##
|
|
23
|
-
|
|
24
|
-
```sh
|
|
25
|
-
npm login
|
|
26
|
-
|
|
27
|
-
npm whoami # verifica se sei loggato con account corretto
|
|
28
|
-
|
|
29
|
-
yarn build # farà partire build per tailwindv3 e tailwindv4
|
|
30
|
-
|
|
31
|
-
npm publish --access public
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## How stories work
|
|
20
|
+
## Release
|
|
35
21
|
|
|
36
|
-
|
|
22
|
+
Il rilascio è **automatizzato e PR-driven**. In sintesi:
|
|
37
23
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
import { Button } from "../ui/button";
|
|
46
|
-
|
|
47
|
-
// Metadati del componente
|
|
48
|
-
const meta = {
|
|
49
|
-
title: "UI/Button", // Categoria/Nome nella sidebar di Storybook
|
|
50
|
-
component: Button, // Il componente da documentare
|
|
51
|
-
parameters: {
|
|
52
|
-
layout: "centered", // Layout della preview
|
|
53
|
-
},
|
|
54
|
-
tags: ["autodocs"], // Genera automaticamente la documentazione
|
|
55
|
-
argTypes: {
|
|
56
|
-
// Definizione dei controlli per i props
|
|
57
|
-
variant: {
|
|
58
|
-
control: "select",
|
|
59
|
-
options: [
|
|
60
|
-
"default",
|
|
61
|
-
"destructive",
|
|
62
|
-
"outline",
|
|
63
|
-
"secondary",
|
|
64
|
-
"ghost",
|
|
65
|
-
"link",
|
|
66
|
-
],
|
|
67
|
-
description: "La variante visiva del bottone",
|
|
68
|
-
},
|
|
69
|
-
// Altri argTypes...
|
|
70
|
-
},
|
|
71
|
-
} satisfies Meta<typeof Button>;
|
|
72
|
-
|
|
73
|
-
export default meta;
|
|
74
|
-
type Story = StoryObj<typeof meta>;
|
|
75
|
-
|
|
76
|
-
// Definizione delle singole stories
|
|
77
|
-
export const Default: Story = {
|
|
78
|
-
args: {
|
|
79
|
-
children: "Button",
|
|
80
|
-
variant: "default",
|
|
81
|
-
size: "default",
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const Secondary: Story = {
|
|
86
|
-
args: {
|
|
87
|
-
children: "Button",
|
|
88
|
-
variant: "secondary",
|
|
89
|
-
size: "default",
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
// Altre stories...
|
|
94
|
-
```
|
|
24
|
+
- **Stabile (`latest`)**: mergia una PR in `master` → la CI fa bump, tag `vX.Y.Z` e publish.
|
|
25
|
+
Bump patch di default; label `release:minor` / `release:major` per l'override.
|
|
26
|
+
- **Beta (per-feature)**: metti la label `beta` su una PR aperta → ogni push pubblica una prerelease
|
|
27
|
+
sul canale del branch (`feat/map-v2` → `npm i laif-ds@map-v2`), senza toccare `latest`. Alla
|
|
28
|
+
chiusura della PR il canale viene rimosso e le sue versioni deprecate — **lascia la label `beta`
|
|
29
|
+
fino alla chiusura**, altrimenti il teardown non parte.
|
|
30
|
+
Se la feature è stata testata e può essere deployata, chiudi la PR `beta` e riapri una nuova PR stabile senza label `beta`.
|
|
95
31
|
|
|
96
|
-
|
|
32
|
+
Guida completa (prerequisiti, versioning, teardown, gestione fallimenti): **[docs/RELEASE.md](./docs/RELEASE.md)**.
|
|
97
33
|
|
|
98
|
-
1. Crea un nuovo file nella directory `src/components/stories/` con nome `nome-componente.stories.tsx`
|
|
99
|
-
2. Importa il componente e le dipendenze necessarie
|
|
100
|
-
3. Definisci i metadati con `const meta = {...}`
|
|
101
|
-
4. Esporta i metadati con `export default meta`
|
|
102
|
-
5. Definisci il tipo Story con `type Story = StoryObj<typeof meta>`
|
|
103
|
-
6. Crea le diverse varianti del componente esportando costanti di tipo Story
|
|
104
34
|
|
|
105
35
|
### Colors
|
|
106
36
|
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable technical changes to the laif-ds core will be documented in this fil
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [laif-ds@0.2.86]
|
|
9
|
+
|
|
10
|
+
### 🐛 Fixed
|
|
11
|
+
|
|
12
|
+
- **MarkdownRenderer**: Fixed bold/italic text not rendering when the source markdown wraps emphasis around leading/trailing spaces using the ` ` entity (e.g. `** IC 200**`), which is not a valid CommonMark flanking delimiter run — such content now normalizes correctly and renders as bold/italic
|
|
13
|
+
- **AppEditor**: Fixed emphasis markers (`**bold**`, `*italic*`) around leading/trailing spaces exporting as literal asterisks instead of formatted text, by bumping the underlying `@lexical/*` packages to 0.47.0
|
|
14
|
+
|
|
8
15
|
## [laif-ds@0.2.85]
|
|
9
16
|
|
|
10
17
|
### 🐛 Fixed
|
package/dist/_virtual/index7.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
2
|
+
import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
|
|
3
|
+
import { __require as e } from "../node_modules/classnames/index.js";
|
|
4
|
+
var s = e();
|
|
5
|
+
const o = /* @__PURE__ */ r(s);
|
|
3
6
|
export {
|
|
4
|
-
|
|
7
|
+
o as default
|
|
5
8
|
};
|
package/dist/_virtual/index8.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
import { __require as e } from "../node_modules/classnames/index.js";
|
|
4
|
-
var s = e();
|
|
5
|
-
const o = /* @__PURE__ */ r(s);
|
|
2
|
+
var e = { exports: {} };
|
|
6
3
|
export {
|
|
7
|
-
|
|
4
|
+
e as __module
|
|
8
5
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.1.0",
|
|
3
|
-
"generatedAt": "2026-07-
|
|
3
|
+
"generatedAt": "2026-07-28T14:33:38.734Z",
|
|
4
4
|
"package": {
|
|
5
5
|
"name": "laif-ds",
|
|
6
|
-
"version": "0.2.
|
|
6
|
+
"version": "0.2.86"
|
|
7
7
|
},
|
|
8
8
|
"stats": {
|
|
9
9
|
"documentedComponentCount": 93,
|
|
@@ -6167,5 +6167,5 @@
|
|
|
6167
6167
|
]
|
|
6168
6168
|
}
|
|
6169
6169
|
],
|
|
6170
|
-
"checksum": "
|
|
6170
|
+
"checksum": "7be68c86b3d656b60342fbdd770636c717524b60f862721a4288dd09d2041efe"
|
|
6171
6171
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useLexicalComposerContext as n } from "../../../node_modules/@lexical/react/LexicalComposerContext.prod.js";
|
|
3
|
-
import { SELECTION_CHANGE_COMMAND as m, $getSelection as r, COMMAND_PRIORITY_CRITICAL as f } from "../../../node_modules/lexical/Lexical.prod.js";
|
|
4
|
-
import { useEffect as
|
|
2
|
+
import { useLexicalComposerContext as n } from "../../../node_modules/@lexical/react/dist/LexicalComposerContext.prod.js";
|
|
3
|
+
import { SELECTION_CHANGE_COMMAND as m, $getSelection as r, COMMAND_PRIORITY_CRITICAL as f } from "../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
4
|
+
import { useEffect as s } from "react";
|
|
5
5
|
import { useToolbarContext as C } from "../context/toolbar-context.js";
|
|
6
6
|
function c(t) {
|
|
7
|
-
const [
|
|
8
|
-
|
|
7
|
+
const [i] = n(), { activeEditor: o } = C();
|
|
8
|
+
s(() => o.registerCommand(
|
|
9
9
|
m,
|
|
10
10
|
() => {
|
|
11
11
|
const e = r();
|
|
12
12
|
return e && t(e), !1;
|
|
13
13
|
},
|
|
14
14
|
f
|
|
15
|
-
), [
|
|
15
|
+
), [i, t, o]), s(() => {
|
|
16
16
|
o.getEditorState().read(() => {
|
|
17
17
|
const e = r();
|
|
18
18
|
e && t(e);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
-
import { ContentEditable as r } from "../../../node_modules/@lexical/react/LexicalContentEditable.prod.js";
|
|
3
|
+
import { ContentEditable as r } from "../../../node_modules/@lexical/react/dist/LexicalContentEditable.prod.js";
|
|
4
4
|
import { cn as o } from "../../../lib/utils.js";
|
|
5
5
|
function s({
|
|
6
6
|
placeholder: e,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
3
|
-
import { useLexicalComposerContext as m } from "../../../node_modules/@lexical/react/LexicalComposerContext.prod.js";
|
|
4
|
-
import { DecoratorNode as u, $getNodeByKey as c } from "../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { useLexicalComposerContext as m } from "../../../node_modules/@lexical/react/dist/LexicalComposerContext.prod.js";
|
|
4
|
+
import { DecoratorNode as u, $getNodeByKey as c } from "../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
5
5
|
import { Icon as _ } from "../../ui/icon.js";
|
|
6
6
|
const p = "bg-d-primary/10 text-d-primary inline-flex items-center gap-0.5 rounded-md py-0.5 pr-0.5 pl-1.5 text-sm font-medium align-baseline", d = "ml-0.5 inline-flex size-5 items-center justify-center rounded-sm hover:bg-d-primary/20 cursor-pointer";
|
|
7
7
|
function b({ nodeKey: n, data: e }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as i, jsx as r } from "react/jsx-runtime";
|
|
3
|
-
import { useLexicalComposerContext as l } from "../../../../node_modules/@lexical/react/LexicalComposerContext.prod.js";
|
|
4
|
-
import { CLEAR_EDITOR_COMMAND as n } from "../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { useLexicalComposerContext as l } from "../../../../node_modules/@lexical/react/dist/LexicalComposerContext.prod.js";
|
|
4
|
+
import { CLEAR_EDITOR_COMMAND as n } from "../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
5
5
|
import { Button as e } from "../../../ui/button.js";
|
|
6
6
|
import { Dialog as a, DialogTrigger as d, DialogContent as c, DialogHeader as s, DialogTitle as h, DialogDescription as m, DialogFooter as C, DialogClose as o } from "../../../ui/dialog.js";
|
|
7
7
|
import { Tooltip as u, TooltipTrigger as p, TooltipContent as g } from "../../../ui/tooltip.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as o } from "react/jsx-runtime";
|
|
3
|
-
import { useLexicalComposerContext as a } from "../../../../node_modules/@lexical/react/LexicalComposerContext.prod.js";
|
|
4
|
-
import { $rootTextContent as u } from "../../../../node_modules/@lexical/text/LexicalText.prod.js";
|
|
3
|
+
import { useLexicalComposerContext as a } from "../../../../node_modules/@lexical/react/dist/LexicalComposerContext.prod.js";
|
|
4
|
+
import { $rootTextContent as u } from "../../../../node_modules/@lexical/text/dist/LexicalText.prod.js";
|
|
5
5
|
import { useState as d, useEffect as f } from "react";
|
|
6
6
|
let s = null;
|
|
7
7
|
function h() {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as d, jsxs as
|
|
3
|
-
import { useLexicalComposerContext as I } from "../../../node_modules/@lexical/react/LexicalComposerContext.prod.js";
|
|
4
|
-
import { useBasicTypeaheadTriggerMatch as
|
|
5
|
-
import { $createTextNode as
|
|
6
|
-
import { useState as N, useRef as L, useEffect as x, useMemo as
|
|
2
|
+
import { jsx as d, jsxs as R } from "react/jsx-runtime";
|
|
3
|
+
import { useLexicalComposerContext as I } from "../../../node_modules/@lexical/react/dist/LexicalComposerContext.prod.js";
|
|
4
|
+
import { useBasicTypeaheadTriggerMatch as U, LexicalTypeaheadMenuPlugin as D, MenuOption as Q } from "../../../node_modules/@lexical/react/dist/LexicalTypeaheadMenuPlugin.prod.js";
|
|
5
|
+
import { $createTextNode as q } from "../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
|
+
import { useState as N, useRef as L, useEffect as x, useMemo as F, useCallback as _ } from "react";
|
|
7
7
|
import { createPortal as j } from "react-dom";
|
|
8
8
|
import { MentionNode as z, $createMentionNode as T, $isMentionNode as B } from "../nodes/mention-node.js";
|
|
9
9
|
import { cn as $ } from "../../../lib/utils.js";
|
|
10
10
|
const w = "app-editor-mention-menu", E = (e) => `${w}-option-${e}`;
|
|
11
|
-
class
|
|
11
|
+
class G extends Q {
|
|
12
12
|
item;
|
|
13
13
|
constructor(t) {
|
|
14
14
|
super(String(t.id)), this.item = t;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function H(e, t) {
|
|
18
18
|
const o = t.trim().toLowerCase();
|
|
19
19
|
return o ? e.filter(
|
|
20
20
|
(n) => n.label.toLowerCase().split(/\s+/).some((i) => i.startsWith(o))
|
|
@@ -69,13 +69,13 @@ function oe({ source: e, trigger: t }) {
|
|
|
69
69
|
}, [n, l]), x(() => {
|
|
70
70
|
n === null && l === "error" && r("idle");
|
|
71
71
|
}, [n, l]);
|
|
72
|
-
const
|
|
72
|
+
const S = a ? m : e, p = a ? l : "ready", O = t.length === 1 ? t : "@", k = U(O, {
|
|
73
73
|
minLength: 0
|
|
74
|
-
}), g =
|
|
75
|
-
() =>
|
|
76
|
-
(s) => new
|
|
74
|
+
}), g = F(
|
|
75
|
+
() => H(S, n ?? "").map(
|
|
76
|
+
(s) => new G(s)
|
|
77
77
|
),
|
|
78
|
-
[
|
|
78
|
+
[S, n]
|
|
79
79
|
), A = _(
|
|
80
80
|
(s, u, M) => {
|
|
81
81
|
o.update(() => {
|
|
@@ -85,14 +85,14 @@ function oe({ source: e, trigger: t }) {
|
|
|
85
85
|
value: s.item.value
|
|
86
86
|
});
|
|
87
87
|
u && u.replace(h);
|
|
88
|
-
const b =
|
|
88
|
+
const b = q(" ");
|
|
89
89
|
h.insertAfter(b), b.select(), M();
|
|
90
90
|
});
|
|
91
91
|
},
|
|
92
92
|
[o]
|
|
93
93
|
);
|
|
94
94
|
return /* @__PURE__ */ d(
|
|
95
|
-
|
|
95
|
+
D,
|
|
96
96
|
{
|
|
97
97
|
onQueryChange: i,
|
|
98
98
|
onSelectOption: A,
|
|
@@ -101,15 +101,15 @@ function oe({ source: e, trigger: t }) {
|
|
|
101
101
|
menuRenderFn: (s, { selectedIndex: u, selectOptionAndCleanUp: M, setHighlightedIndex: h }) => {
|
|
102
102
|
if (s.current === null)
|
|
103
103
|
return null;
|
|
104
|
-
const b = p === "loading" || p === "error",
|
|
105
|
-
return !b && g.length === 0 && !
|
|
104
|
+
const b = p === "loading" || p === "error", P = (n ?? "").length > 0, C = p === "ready" && P && g.length === 0;
|
|
105
|
+
return !b && g.length === 0 && !C ? null : j(
|
|
106
106
|
/* @__PURE__ */ d(
|
|
107
|
-
|
|
107
|
+
V,
|
|
108
108
|
{
|
|
109
109
|
options: g,
|
|
110
110
|
selectedIndex: u,
|
|
111
111
|
status: p,
|
|
112
|
-
showEmptyState:
|
|
112
|
+
showEmptyState: C,
|
|
113
113
|
query: n ?? "",
|
|
114
114
|
onHighlight: h,
|
|
115
115
|
onSelect: M
|
|
@@ -121,7 +121,7 @@ function oe({ source: e, trigger: t }) {
|
|
|
121
121
|
}
|
|
122
122
|
);
|
|
123
123
|
}
|
|
124
|
-
function
|
|
124
|
+
function V({
|
|
125
125
|
options: e,
|
|
126
126
|
selectedIndex: t,
|
|
127
127
|
status: o,
|
|
@@ -174,7 +174,7 @@ function W({
|
|
|
174
174
|
className: "text-d-muted-foreground px-2 py-1.5 text-sm",
|
|
175
175
|
children: "Couldn't load mentions"
|
|
176
176
|
}
|
|
177
|
-
) : n ? /* @__PURE__ */
|
|
177
|
+
) : n ? /* @__PURE__ */ R(
|
|
178
178
|
"li",
|
|
179
179
|
{
|
|
180
180
|
role: "presentation",
|
|
@@ -185,7 +185,7 @@ function W({
|
|
|
185
185
|
'"'
|
|
186
186
|
]
|
|
187
187
|
}
|
|
188
|
-
) : e.map((r, c) => /* @__PURE__ */
|
|
188
|
+
) : e.map((r, c) => /* @__PURE__ */ R(
|
|
189
189
|
"li",
|
|
190
190
|
{
|
|
191
191
|
id: E(c),
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { INSERT_UNORDERED_LIST_COMMAND as m } from "../../../../../node_modules/@lexical/list/LexicalList.prod.js";
|
|
4
|
-
import { $setBlocksType as c } from "../../../../../node_modules/@lexical/selection/LexicalSelection.prod.js";
|
|
5
|
-
import { $getSelection as n, $isRangeSelection as
|
|
2
|
+
import { jsx as i, jsxs as s } from "react/jsx-runtime";
|
|
3
|
+
import { INSERT_UNORDERED_LIST_COMMAND as m } from "../../../../../node_modules/@lexical/list/dist/LexicalList.prod.js";
|
|
4
|
+
import { $setBlocksType as c } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
5
|
+
import { $getSelection as n, $isRangeSelection as p, $createParagraphNode as f } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
6
|
import { useToolbarContext as d } from "../../../context/toolbar-context.js";
|
|
7
7
|
import { blockTypeToBlockName as r } from "./block-format-data.js";
|
|
8
8
|
import { SelectItem as u } from "../../../../ui/select.js";
|
|
9
9
|
const e = "bullet";
|
|
10
|
-
function
|
|
11
|
-
const { activeEditor: t, blockType: a } = d(),
|
|
10
|
+
function E() {
|
|
11
|
+
const { activeEditor: t, blockType: a } = d(), l = () => {
|
|
12
12
|
t.update(() => {
|
|
13
13
|
const o = n();
|
|
14
|
-
|
|
14
|
+
p(o) && c(o, () => f());
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
a !== "bullet" ? t.dispatchCommand(m, void 0) :
|
|
17
|
+
return /* @__PURE__ */ i(u, { value: e, onPointerDown: () => {
|
|
18
|
+
a !== "bullet" ? t.dispatchCommand(m, void 0) : l();
|
|
19
19
|
}, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-1 font-normal", children: [
|
|
20
20
|
r[e].icon,
|
|
21
21
|
r[e].label
|
|
22
22
|
] }) });
|
|
23
23
|
}
|
|
24
24
|
export {
|
|
25
|
-
|
|
25
|
+
E as FormatBulletedList
|
|
26
26
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as i, jsxs as s } from "react/jsx-runtime";
|
|
3
|
-
import { INSERT_CHECK_LIST_COMMAND as m } from "../../../../../node_modules/@lexical/list/LexicalList.prod.js";
|
|
4
|
-
import { $setBlocksType as n } from "../../../../../node_modules/@lexical/selection/LexicalSelection.prod.js";
|
|
5
|
-
import { $getSelection as l, $isRangeSelection as p, $createParagraphNode as f } from "../../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { INSERT_CHECK_LIST_COMMAND as m } from "../../../../../node_modules/@lexical/list/dist/LexicalList.prod.js";
|
|
4
|
+
import { $setBlocksType as n } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
5
|
+
import { $getSelection as l, $isRangeSelection as p, $createParagraphNode as f } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
6
|
import { useToolbarContext as h } from "../../../context/toolbar-context.js";
|
|
7
7
|
import { blockTypeToBlockName as r } from "./block-format-data.js";
|
|
8
8
|
import { SelectItem as d } from "../../../../ui/select.js";
|
|
9
9
|
const o = "check";
|
|
10
|
-
function
|
|
10
|
+
function S() {
|
|
11
11
|
const { activeEditor: e, blockType: c } = h(), a = () => {
|
|
12
12
|
e.update(() => {
|
|
13
13
|
const t = l();
|
|
@@ -22,5 +22,5 @@ function x() {
|
|
|
22
22
|
] }) });
|
|
23
23
|
}
|
|
24
24
|
export {
|
|
25
|
-
|
|
25
|
+
S as FormatCheckList
|
|
26
26
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as a, jsxs as c } from "react/jsx-runtime";
|
|
3
|
-
import { $createHeadingNode as s } from "../../../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js";
|
|
4
|
-
import { $setBlocksType as p } from "../../../../../node_modules/@lexical/selection/LexicalSelection.prod.js";
|
|
5
|
-
import { $getSelection as f } from "../../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { $createHeadingNode as s } from "../../../../../node_modules/@lexical/rich-text/dist/LexicalRichText.prod.js";
|
|
4
|
+
import { $setBlocksType as p } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
5
|
+
import { $getSelection as f } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
6
|
import { useToolbarContext as l } from "../../../context/toolbar-context.js";
|
|
7
7
|
import { blockTypeToBlockName as t } from "./block-format-data.js";
|
|
8
8
|
import { SelectItem as d } from "../../../../ui/select.js";
|
|
9
|
-
function
|
|
9
|
+
function H({ levels: r = [] }) {
|
|
10
10
|
const { activeEditor: e, blockType: m } = l(), i = (o) => {
|
|
11
11
|
m !== o && e.update(() => {
|
|
12
12
|
const n = f();
|
|
@@ -27,5 +27,5 @@ function y({ levels: r = [] }) {
|
|
|
27
27
|
));
|
|
28
28
|
}
|
|
29
29
|
export {
|
|
30
|
-
|
|
30
|
+
H as FormatHeading
|
|
31
31
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as i, jsxs as s } from "react/jsx-runtime";
|
|
3
|
-
import { INSERT_ORDERED_LIST_COMMAND as n } from "../../../../../node_modules/@lexical/list/LexicalList.prod.js";
|
|
4
|
-
import { $setBlocksType as c } from "../../../../../node_modules/@lexical/selection/LexicalSelection.prod.js";
|
|
5
|
-
import { $getSelection as l, $isRangeSelection as p, $createParagraphNode as f } from "../../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { INSERT_ORDERED_LIST_COMMAND as n } from "../../../../../node_modules/@lexical/list/dist/LexicalList.prod.js";
|
|
4
|
+
import { $setBlocksType as c } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
5
|
+
import { $getSelection as l, $isRangeSelection as p, $createParagraphNode as f } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
6
|
import { useToolbarContext as d } from "../../../context/toolbar-context.js";
|
|
7
7
|
import { blockTypeToBlockName as r } from "./block-format-data.js";
|
|
8
8
|
import { SelectItem as u } from "../../../../ui/select.js";
|
|
9
9
|
const e = "number";
|
|
10
|
-
function
|
|
10
|
+
function R() {
|
|
11
11
|
const { activeEditor: o, blockType: m } = d(), a = () => {
|
|
12
12
|
o.update(() => {
|
|
13
13
|
const t = l();
|
|
@@ -22,5 +22,5 @@ function E() {
|
|
|
22
22
|
] }) });
|
|
23
23
|
}
|
|
24
24
|
export {
|
|
25
|
-
|
|
25
|
+
R as FormatNumberedList
|
|
26
26
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { $setBlocksType as
|
|
4
|
-
import { $getSelection as
|
|
2
|
+
import { jsx as a, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import { $setBlocksType as c } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
4
|
+
import { $getSelection as i, $isRangeSelection as s, $createParagraphNode as m } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
5
5
|
import { useToolbarContext as l } from "../../../context/toolbar-context.js";
|
|
6
6
|
import { blockTypeToBlockName as e } from "./block-format-data.js";
|
|
7
7
|
import { SelectItem as p } from "../../../../ui/select.js";
|
|
8
8
|
const o = "paragraph";
|
|
9
9
|
function T() {
|
|
10
|
-
const { activeEditor:
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
|
|
13
|
-
const r =
|
|
14
|
-
|
|
10
|
+
const { activeEditor: t } = l();
|
|
11
|
+
return /* @__PURE__ */ a(p, { value: o, onPointerDown: () => {
|
|
12
|
+
t.update(() => {
|
|
13
|
+
const r = i();
|
|
14
|
+
s(r) && c(r, () => m());
|
|
15
15
|
});
|
|
16
|
-
}, children: /* @__PURE__ */
|
|
16
|
+
}, children: /* @__PURE__ */ n("div", { className: "flex items-center gap-1 font-normal", children: [
|
|
17
17
|
e[o].icon,
|
|
18
18
|
e[o].label
|
|
19
19
|
] }) });
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as c, jsxs as i } from "react/jsx-runtime";
|
|
3
|
-
import { $createQuoteNode as n } from "../../../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js";
|
|
4
|
-
import { $setBlocksType as s } from "../../../../../node_modules/@lexical/selection/LexicalSelection.prod.js";
|
|
5
|
-
import { $getSelection as a } from "../../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { $createQuoteNode as n } from "../../../../../node_modules/@lexical/rich-text/dist/LexicalRichText.prod.js";
|
|
4
|
+
import { $setBlocksType as s } from "../../../../../node_modules/@lexical/selection/dist/LexicalSelection.prod.js";
|
|
5
|
+
import { $getSelection as a } from "../../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
6
6
|
import { useToolbarContext as l } from "../../../context/toolbar-context.js";
|
|
7
7
|
import { blockTypeToBlockName as o } from "./block-format-data.js";
|
|
8
8
|
import { SelectItem as f } from "../../../../ui/select.js";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as c, jsx as a } from "react/jsx-runtime";
|
|
3
|
-
import { $isListNode as d, ListNode as T } from "../../../../node_modules/@lexical/list/LexicalList.prod.js";
|
|
4
|
-
import { $isHeadingNode as u } from "../../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js";
|
|
5
|
-
import { $
|
|
6
|
-
import { $isRangeSelection as N, $isRootOrShadowRoot as $ } from "../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { $isListNode as d, ListNode as T } from "../../../../node_modules/@lexical/list/dist/LexicalList.prod.js";
|
|
4
|
+
import { $isHeadingNode as u } from "../../../../node_modules/@lexical/rich-text/dist/LexicalRichText.prod.js";
|
|
5
|
+
import { $getNearestNodeOfType as y } from "../../../../node_modules/@lexical/utils/dist/LexicalUtils.prod.js";
|
|
6
|
+
import { $isRangeSelection as h, $findMatchingParent as N, $isRootOrShadowRoot as $ } from "../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
7
7
|
import { useToolbarContext as b } from "../../context/toolbar-context.js";
|
|
8
|
-
import { useUpdateToolbarHandler as
|
|
8
|
+
import { useUpdateToolbarHandler as K } from "../../editor-hooks/use-update-toolbar.js";
|
|
9
9
|
import { blockTypeToBlockName as s } from "./block-format/block-format-data.js";
|
|
10
|
-
import { Select as
|
|
10
|
+
import { Select as L, SelectTrigger as S, SelectContent as k, SelectGroup as O } from "../../../ui/select.js";
|
|
11
11
|
function H({
|
|
12
12
|
children: m
|
|
13
13
|
}) {
|
|
14
14
|
const { activeEditor: p, blockType: i, setBlockType: l } = b();
|
|
15
15
|
function g(n) {
|
|
16
|
-
if (
|
|
16
|
+
if (h(n)) {
|
|
17
17
|
const o = n.anchor.getNode();
|
|
18
|
-
let e = o.getKey() === "root" ? o :
|
|
18
|
+
let e = o.getKey() === "root" ? o : N(o, (t) => {
|
|
19
19
|
const r = t.getParent();
|
|
20
20
|
return r !== null && $(r);
|
|
21
21
|
});
|
|
@@ -23,7 +23,7 @@ function H({
|
|
|
23
23
|
const f = e.getKey();
|
|
24
24
|
if (p.getElementByKey(f) !== null)
|
|
25
25
|
if (d(e)) {
|
|
26
|
-
const t =
|
|
26
|
+
const t = y(
|
|
27
27
|
o,
|
|
28
28
|
T
|
|
29
29
|
), r = t ? t.getListType() : e.getListType();
|
|
@@ -34,19 +34,19 @@ function H({
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
return
|
|
38
|
-
|
|
37
|
+
return K(g), /* @__PURE__ */ c(
|
|
38
|
+
L,
|
|
39
39
|
{
|
|
40
40
|
value: i,
|
|
41
41
|
onValueChange: (n) => {
|
|
42
42
|
l(n);
|
|
43
43
|
},
|
|
44
44
|
children: [
|
|
45
|
-
/* @__PURE__ */ c(
|
|
45
|
+
/* @__PURE__ */ c(S, { className: "!h-8 w-min gap-1", children: [
|
|
46
46
|
s[i].icon,
|
|
47
47
|
/* @__PURE__ */ a("span", { children: s[i].label })
|
|
48
48
|
] }),
|
|
49
|
-
/* @__PURE__ */ a(
|
|
49
|
+
/* @__PURE__ */ a(k, { children: /* @__PURE__ */ a(O, { children: m }) })
|
|
50
50
|
]
|
|
51
51
|
}
|
|
52
52
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
-
import { $isTableSelection as m } from "../../../../node_modules/@lexical/table/LexicalTable.prod.js";
|
|
4
|
-
import { FORMAT_TEXT_COMMAND as l, $isRangeSelection as n } from "../../../../node_modules/lexical/Lexical.prod.js";
|
|
3
|
+
import { $isTableSelection as m } from "../../../../node_modules/@lexical/table/dist/LexicalTable.prod.js";
|
|
4
|
+
import { FORMAT_TEXT_COMMAND as l, $isRangeSelection as n } from "../../../../node_modules/lexical/dist/Lexical.prod.js";
|
|
5
5
|
import { useState as d } from "react";
|
|
6
6
|
import { useToolbarContext as c } from "../../context/toolbar-context.js";
|
|
7
7
|
import { useUpdateToolbarHandler as p } from "../../editor-hooks/use-update-toolbar.js";
|