@yoopta/accordion 4.9.8 → 6.0.0-beta.1
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 +252 -5
- package/dist/commands/{index.d.ts → accordion-commands.d.ts} +3 -3
- package/dist/commands/accordion-commands.d.ts.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/index.d.ts +3 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -26
- package/dist/plugin/{index.d.ts → accordion-plugin.d.ts} +2 -2
- package/dist/plugin/accordion-plugin.d.ts.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -9
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/plugin/index.d.ts.map +0 -1
- package/dist/renders/AccordionItemContent.d.ts +0 -4
- package/dist/renders/AccordionItemContent.d.ts.map +0 -1
- package/dist/renders/AccordionItemHeading.d.ts +0 -4
- package/dist/renders/AccordionItemHeading.d.ts.map +0 -1
- package/dist/renders/AccordionList.d.ts +0 -4
- package/dist/renders/AccordionList.d.ts.map +0 -1
- package/dist/renders/AccordionListItem.d.ts +0 -4
- package/dist/renders/AccordionListItem.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,11 +1,258 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @yoopta/accordion
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Accordion plugin for Yoopta Editor with **fully headless architecture** and multiple UI themes.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
6
|
|
|
7
|
+
```bash
|
|
8
|
+
npm install @yoopta/accordion
|
|
9
|
+
# or
|
|
10
|
+
yarn add @yoopta/accordion
|
|
7
11
|
```
|
|
8
|
-
const accordion = require('yoopta-accordion');
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import Accordion from '@yoopta/accordion';
|
|
17
|
+
import AccordionElements from '@yoopta/accordion/ui/base';
|
|
18
|
+
|
|
19
|
+
const plugins = [
|
|
20
|
+
Accordion.extend({
|
|
21
|
+
elements: AccordionElements,
|
|
22
|
+
}),
|
|
23
|
+
];
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Headless Architecture
|
|
27
|
+
|
|
28
|
+
The Accordion plugin follows a **headless architecture**, separating logic from UI rendering:
|
|
29
|
+
|
|
30
|
+
- **Headless Core** (`@yoopta/accordion`) - Logic, commands, events (NO UI)
|
|
31
|
+
- **UI Themes** (`@yoopta/accordion/ui/*`) - Pre-built UI components
|
|
32
|
+
|
|
33
|
+
### Why Headless?
|
|
34
|
+
|
|
35
|
+
- ✅ **Flexibility** - Use any UI library or CSS framework
|
|
36
|
+
- ✅ **Customization** - Full control over styling and behavior
|
|
37
|
+
- ✅ **Tree-shaking** - Import only what you need
|
|
38
|
+
- ✅ **No conflicts** - No CSS prefix pollution
|
|
39
|
+
|
|
40
|
+
## Available UI Themes
|
|
41
|
+
|
|
42
|
+
### 1. Base (Vanilla CSS) ⭐ Recommended
|
|
43
|
+
|
|
44
|
+
Minimal styled components with vanilla CSS. No dependencies, no Tailwind.
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import Accordion from '@yoopta/accordion';
|
|
48
|
+
import AccordionElements from '@yoopta/accordion/ui/base';
|
|
49
|
+
|
|
50
|
+
Accordion.extend({
|
|
51
|
+
elements: AccordionElements,
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Size:** ~5KB | **Dependencies:** None
|
|
56
|
+
|
|
57
|
+
[Read more →](./src/ui/base/README.md)
|
|
58
|
+
|
|
59
|
+
### 2. Base Tailwind (Coming soon)
|
|
60
|
+
|
|
61
|
+
Tailwind CSS version without prefixes.
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import Accordion from '@yoopta/accordion';
|
|
65
|
+
import AccordionElements from '@yoopta/accordion/ui/base-tw';
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 3. Shadcn ⭐ Premium
|
|
69
|
+
|
|
70
|
+
Beautiful, modern design with Shadcn UI components and glassmorphic effects.
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
import Accordion from '@yoopta/accordion';
|
|
74
|
+
import AccordionElements from '@yoopta/accordion/ui/shadcn';
|
|
75
|
+
|
|
76
|
+
Accordion.extend({
|
|
77
|
+
elements: AccordionElements,
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Size:** ~8KB | **Dependencies:** `lucide-react`, `tailwindcss`
|
|
82
|
+
|
|
83
|
+
**Features:**
|
|
84
|
+
|
|
85
|
+
- ✨ Glassmorphic design
|
|
86
|
+
- 🎭 Smooth animations
|
|
87
|
+
- 🎯 Hover micro-interactions
|
|
88
|
+
- 🌗 Dark mode support
|
|
89
|
+
|
|
90
|
+
[Read more →](./src/ui/shadcn/README.md)
|
|
91
|
+
|
|
92
|
+
### 4. Material UI (Coming soon)
|
|
93
|
+
|
|
94
|
+
Material Design styled components.
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import Accordion from '@yoopta/accordion';
|
|
98
|
+
import AccordionElements from '@yoopta/accordion/ui/material';
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Custom UI
|
|
102
|
+
|
|
103
|
+
Create your own UI components:
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
import Accordion from '@yoopta/accordion';
|
|
107
|
+
import type { PluginElementRenderProps } from '@yoopta/editor';
|
|
108
|
+
|
|
109
|
+
const CustomAccordionList = (props: PluginElementRenderProps) => {
|
|
110
|
+
return (
|
|
111
|
+
<div {...props.attributes} className="my-custom-accordion">
|
|
112
|
+
{props.children}
|
|
113
|
+
</div>
|
|
114
|
+
);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const CustomAccordionItem = (props: PluginElementRenderProps) => {
|
|
118
|
+
return (
|
|
119
|
+
<details {...props.attributes} className="my-custom-item">
|
|
120
|
+
{props.children}
|
|
121
|
+
</details>
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const plugins = [
|
|
126
|
+
Accordion.extend({
|
|
127
|
+
elements: {
|
|
128
|
+
'accordion-list': { render: CustomAccordionList },
|
|
129
|
+
'accordion-list-item': { render: CustomAccordionItem },
|
|
130
|
+
'accordion-list-item-heading': { render: CustomAccordionHeading },
|
|
131
|
+
'accordion-list-item-content': { render: CustomAccordionContent },
|
|
132
|
+
},
|
|
133
|
+
}),
|
|
134
|
+
];
|
|
11
135
|
```
|
|
136
|
+
|
|
137
|
+
## API
|
|
138
|
+
|
|
139
|
+
### Plugin Type
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
type AccordionElementMap = {
|
|
143
|
+
'accordion-list': AccordionListElement;
|
|
144
|
+
'accordion-list-item': AccordionItemElement;
|
|
145
|
+
'accordion-list-item-heading': AccordionListItemHeadingElement;
|
|
146
|
+
'accordion-list-item-content': AccordionListItemContentElement;
|
|
147
|
+
};
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Commands
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { AccordionCommands } from '@yoopta/accordion';
|
|
154
|
+
|
|
155
|
+
// Expand accordion item
|
|
156
|
+
editor.commands.accordion.expand(blockId);
|
|
157
|
+
|
|
158
|
+
// Collapse accordion item
|
|
159
|
+
editor.commands.accordion.collapse(blockId);
|
|
160
|
+
|
|
161
|
+
// Toggle accordion item
|
|
162
|
+
editor.commands.accordion.toggle(blockId);
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Extend Options
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
Accordion.extend({
|
|
169
|
+
// Apply UI theme
|
|
170
|
+
elements: AccordionElements,
|
|
171
|
+
|
|
172
|
+
// Allow nested plugins (in heading and content)
|
|
173
|
+
injectElementsFromPlugins: [Paragraph, Headings, Lists, Image],
|
|
174
|
+
|
|
175
|
+
// Custom options
|
|
176
|
+
options: {
|
|
177
|
+
display: {
|
|
178
|
+
title: 'Custom Accordion',
|
|
179
|
+
description: 'My custom accordion',
|
|
180
|
+
},
|
|
181
|
+
shortcuts: ['accordion', 'collapse'],
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
// Custom events
|
|
185
|
+
events: {
|
|
186
|
+
onKeyDown(editor, slate, { hotkeys, currentBlock }) {
|
|
187
|
+
return (event) => {
|
|
188
|
+
// Custom keyboard handling
|
|
189
|
+
};
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Styling
|
|
196
|
+
|
|
197
|
+
### With UI/Base
|
|
198
|
+
|
|
199
|
+
Override default styles:
|
|
200
|
+
|
|
201
|
+
```css
|
|
202
|
+
.yoopta-accordion-list {
|
|
203
|
+
margin: 2rem 0;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.yoopta-accordion-list-item {
|
|
207
|
+
background: #1a1a1a;
|
|
208
|
+
border-radius: 0.5rem;
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### With Custom CSS
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
const plugins = [
|
|
216
|
+
Accordion.extend({
|
|
217
|
+
options: {
|
|
218
|
+
HTMLAttributes: {
|
|
219
|
+
className: 'my-accordion',
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
}),
|
|
223
|
+
];
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Architecture
|
|
227
|
+
|
|
228
|
+
See [UI-ARCHITECTURE.md](./UI-ARCHITECTURE.md) for detailed information about:
|
|
229
|
+
|
|
230
|
+
- Headless plugin structure
|
|
231
|
+
- Creating new UI themes
|
|
232
|
+
- Best practices
|
|
233
|
+
- Styling strategies
|
|
234
|
+
|
|
235
|
+
## Examples
|
|
236
|
+
|
|
237
|
+
Check out examples in the [development workspace](../../development).
|
|
238
|
+
|
|
239
|
+
## TypeScript
|
|
240
|
+
|
|
241
|
+
Full TypeScript support with type-safe element configurations.
|
|
242
|
+
|
|
243
|
+
```typescript
|
|
244
|
+
import type { AccordionElementMap } from '@yoopta/accordion';
|
|
245
|
+
import type { YooptaPlugin } from '@yoopta/editor';
|
|
246
|
+
|
|
247
|
+
const accordionPlugin: YooptaPlugin<AccordionElementMap> = Accordion.extend({
|
|
248
|
+
// Type-safe configuration
|
|
249
|
+
});
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## License
|
|
253
|
+
|
|
254
|
+
MIT
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
Made with ❤️ for [Yoopta Editor](https://github.com/Darginec05/Yoopta-Editor)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { YooEditor, YooptaPathIndex } from '@yoopta/editor';
|
|
2
|
-
import { AccordionListElement, AccordionListItemProps } from '../types';
|
|
1
|
+
import type { YooEditor, YooptaPathIndex } from '@yoopta/editor';
|
|
2
|
+
import type { AccordionListElement, AccordionListItemProps } from '../types';
|
|
3
3
|
type AccordionElementOptions = {
|
|
4
4
|
items?: number;
|
|
5
5
|
props: AccordionListItemProps;
|
|
@@ -15,4 +15,4 @@ export type AccordionCommands = {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const AccordionCommands: AccordionCommands;
|
|
17
17
|
export {};
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=accordion-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-commands.d.ts","sourceRoot":"","sources":["../../src/commands/accordion-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAE7E,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,KAAK,sBAAsB,GAAG,uBAAuB,GAAG;IACtD,EAAE,CAAC,EAAE,eAAe,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sBAAsB,EAAE,CACtB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,KACvC,oBAAoB,CAAC;IAC1B,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IACxF,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBA8B/B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const ACCORDION_ELEMENTS: {
|
|
2
|
+
readonly AccordionList: "accordion-list";
|
|
3
|
+
readonly AccordionListItem: "accordion-list-item";
|
|
4
|
+
readonly AccordionListItemHeading: "accordion-list-item-heading";
|
|
5
|
+
readonly AccordionListItemContent: "accordion-list-item-content";
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import { Accordion } from './plugin';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declare module 'slate' {
|
|
5
|
-
interface CustomTypes {
|
|
6
|
-
Element: AccordionListElement | AccordionItemElement | AccordionListItemHeadingElement | AccordionListItemContentElement;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { AccordionCommands } from './commands';
|
|
1
|
+
import { Accordion } from './plugin/accordion-plugin';
|
|
2
|
+
export { AccordionListElement, AccordionListItemContentElement, AccordionListItemHeadingElement, AccordionItemElement, AccordionListItemProps, } from './types';
|
|
3
|
+
export { AccordionCommands } from './commands/accordion-commands';
|
|
10
4
|
export default Accordion;
|
|
11
|
-
export { AccordionItemElement, AccordionListItemProps };
|
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,eAAe,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useYooptaEditor as n,useYooptaReadOnly as o,Elements as i,Blocks as a,generateId as s,buildBlockData as c,YooptaPlugin as l,buildBlockElementsStructure as d,serializeTextNodes as p}from"@yoopta/editor";import{forwardRef as f,createElement as u}from"react";function h(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}"function"==typeof SuppressedError&&SuppressedError;const y=(...e)=>e.filter(((e,t,r)=>Boolean(e)&&r.indexOf(e)===t)).join(" ")
|
|
2
|
-
/**
|
|
3
|
-
* @license lucide-react v0.453.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/;var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
|
|
8
|
-
/**
|
|
9
|
-
* @license lucide-react v0.453.0 - ISC
|
|
10
|
-
*
|
|
11
|
-
* This source code is licensed under the ISC license.
|
|
12
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
13
|
-
*/const v=f((({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:o="",children:i,iconNode:a,...s},c)=>u("svg",{ref:c,...g,width:t,height:t,stroke:e,strokeWidth:n?24*Number(r)/Number(t):r,className:y("lucide",o),...s},[...a.map((([e,t])=>u(e,t))),...Array.isArray(i)?i:[i]]))),m=(e,t)=>{const r=f((({className:r,...n},o)=>{return u(v,{ref:o,iconNode:t,className:y(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,r),...n});var i}));return r.displayName=`${e}`,r},b=m("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),w=m("ListCollapse",[["path",{d:"m3 10 2.5-2.5L3 5",key:"i6eama"}],["path",{d:"m3 19 2.5-2.5L3 14",key:"w2gmor"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}]]),_=m("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),O=m("Trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]]);
|
|
14
|
-
/**
|
|
15
|
-
* @license lucide-react v0.453.0 - ISC
|
|
16
|
-
*
|
|
17
|
-
* This source code is licensed under the ISC license.
|
|
18
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
19
|
-
*/
|
|
20
|
-
/*!
|
|
21
|
-
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
22
|
-
*
|
|
23
|
-
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
24
|
-
* Released under the MIT License.
|
|
25
|
-
*/
|
|
26
|
-
function x(e){return"[object Object]"===Object.prototype.toString.call(e)}function P(e){var t,r;return!1!==x(e)&&(void 0===(t=e.constructor)||!1!==x(r=t.prototype)&&!1!==r.hasOwnProperty("isPrototypeOf"))}var E=Symbol.for("immer-nothing"),k=Symbol.for("immer-draftable"),j=Symbol.for("immer-state");function S(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var N=Object.getPrototypeOf;function A(e){return!!e&&!!e[j]}function C(e){return!!e&&(T(e)||Array.isArray(e)||!!e[k]||!!e.constructor?.[k]||F(e)||L(e))}var z=Object.prototype.constructor.toString();function T(e){if(!e||"object"!=typeof e)return!1;const t=N(e);if(null===t)return!0;const r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object||"function"==typeof r&&Function.toString.call(r)===z}function D(e,t){0===R(e)?Reflect.ownKeys(e).forEach((r=>{t(r,e[r],e)})):e.forEach(((r,n)=>t(n,r,e)))}function R(e){const t=e[j];return t?t.type_:Array.isArray(e)?1:F(e)?2:L(e)?3:0}function B(e,t){return 2===R(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function q(e,t,r){const n=R(e);2===n?e.set(t,r):3===n?e.add(r):e[t]=r}function F(e){return e instanceof Map}function L(e){return e instanceof Set}function M(e){return e.copy_||e.base_}function I(e,t){if(F(e))return new Map(e);if(L(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&T(e)){if(!N(e)){const t=Object.create(null);return Object.assign(t,e)}return{...e}}const r=Object.getOwnPropertyDescriptors(e);delete r[j];let n=Reflect.ownKeys(r);for(let t=0;t<n.length;t++){const o=n[t],i=r[o];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(r[o]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[o]})}return Object.create(N(e),r)}function W(e,t=!1){return $(e)||A(e)||!C(e)||(R(e)>1&&(e.set=e.add=e.clear=e.delete=V),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>W(t,!0)))),e}function V(){S(2)}function $(e){return Object.isFrozen(e)}var K,J={};function Z(e){const t=J[e];return t||S(0),t}function U(){return K}function X(e,t){t&&(Z("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Y(e){H(e),e.drafts_.forEach(Q),e.drafts_=null}function H(e){e===K&&(K=e.parent_)}function G(e){return K={drafts_:[],parent_:K,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Q(e){const t=e[j];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function ee(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];return void 0!==e&&e!==r?(r[j].modified_&&(Y(t),S(4)),C(e)&&(e=te(t,e),t.parent_||ne(t,e)),t.patches_&&Z("Patches").generateReplacementPatches_(r[j].base_,e,t.patches_,t.inversePatches_)):e=te(t,r,[]),Y(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==E?e:void 0}function te(e,t,r){if($(t))return t;const n=t[j];if(!n)return D(t,((o,i)=>re(e,n,t,o,i,r))),t;if(n.scope_!==e)return t;if(!n.modified_)return ne(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const t=n.copy_;let o=t,i=!1;3===n.type_&&(o=new Set(t),t.clear(),i=!0),D(o,((o,a)=>re(e,n,t,o,a,r,i))),ne(e,t,!1),r&&e.patches_&&Z("Patches").generatePatches_(n,r,e.patches_,e.inversePatches_)}return n.copy_}function re(e,t,r,n,o,i,a){if(A(o)){const a=te(e,o,i&&t&&3!==t.type_&&!B(t.assigned_,n)?i.concat(n):void 0);if(q(r,n,a),!A(a))return;e.canAutoFreeze_=!1}else a&&r.add(o);if(C(o)&&!$(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;te(e,o),t&&t.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(r,n)||ne(e,o)}}function ne(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&W(t,r)}var oe={get(e,t){if(t===j)return e;const r=M(e);if(!B(r,t))return function(e,t,r){const n=se(t,r);return n?"value"in n?n.value:n.get?.call(e.draft_):void 0}(e,r,t);const n=r[t];return e.finalized_||!C(n)?n:n===ae(e.base_,t)?(le(e),e.copy_[t]=de(n,e)):n},has:(e,t)=>t in M(e),ownKeys:e=>Reflect.ownKeys(M(e)),set(e,t,r){const n=se(M(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const n=ae(M(e),t),a=n?.[j];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_[t]=!1,!0;if(((o=r)===(i=n)?0!==o||1/o==1/i:o!=o&&i!=i)&&(void 0!==r||B(e.base_,t)))return!0;le(e),ce(e)}var o,i;return e.copy_[t]===r&&(void 0!==r||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==ae(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,le(e),ce(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const r=M(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:r[t]}:n},defineProperty(){S(11)},getPrototypeOf:e=>N(e.base_),setPrototypeOf(){S(12)}},ie={};function ae(e,t){const r=e[j];return(r?M(r):e)[t]}function se(e,t){if(!(t in e))return;let r=N(e);for(;r;){const e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=N(r)}}function ce(e){e.modified_||(e.modified_=!0,e.parent_&&ce(e.parent_))}function le(e){e.copy_||(e.copy_=I(e.base_,e.scope_.immer_.useStrictShallowCopy_))}D(oe,((e,t)=>{ie[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),ie.deleteProperty=function(e,t){return ie.set.call(this,e,t,void 0)},ie.set=function(e,t,r){return oe.set.call(this,e[0],t,r,e[0])};function de(e,t){const r=F(e)?Z("MapSet").proxyMap_(e,t):L(e)?Z("MapSet").proxySet_(e,t):function(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:U(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=n,i=oe;r&&(o=[n],i=ie);const{revoke:a,proxy:s}=Proxy.revocable(o,i);return n.draft_=s,n.revoke_=a,s}(e,t);return(t?t.scope_:U()).drafts_.push(r),r}function pe(e){if(!C(e)||$(e))return e;const t=e[j];let r;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=I(e,t.scope_.immer_.useStrictShallowCopy_)}else r=I(e,!0);return D(r,((e,t)=>{q(r,e,pe(t))})),t&&(t.finalized_=!1),r}var fe=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,t,r)=>{if("function"==typeof e&&"function"!=typeof t){const r=t;t=e;const n=this;return function(e=r,...o){return n.produce(e,(e=>t.call(this,e,...o)))}}let n;if("function"!=typeof t&&S(6),void 0!==r&&"function"!=typeof r&&S(7),C(e)){const o=G(this),i=de(e,void 0);let a=!0;try{n=t(i),a=!1}finally{a?Y(o):H(o)}return X(o,r),ee(n,o)}if(!e||"object"!=typeof e){if(n=t(e),void 0===n&&(n=e),n===E&&(n=void 0),this.autoFreeze_&&W(n,!0),r){const t=[],o=[];Z("Patches").generateReplacementPatches_(e,n,t,o),r(t,o)}return n}S(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...r)=>this.produceWithPatches(t,(t=>e(t,...r)));let r,n;return[this.produce(e,t,((e,t)=>{r=e,n=t})),r,n]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){C(e)||S(8),A(e)&&(e=function(e){A(e)||S(10);return pe(e)}(e));const t=G(this),r=de(e,void 0);return r[j].isManual_=!0,H(t),r}finishDraft(e,t){const r=e&&e[j];r&&r.isManual_||S(9);const{scope_:n}=r;return X(n,t),ee(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));const n=Z("Patches").applyPatches_;return A(e)?n(e,t):this.produce(e,(e=>n(e,t)))}},ue=fe.produce;fe.produceWithPatches.bind(fe),fe.setAutoFreeze.bind(fe),fe.setUseStrictShallowCopy.bind(fe),fe.applyPatches.bind(fe);var he=fe.createDraft.bind(fe),ye=fe.finishDraft.bind(fe),ge={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=ge.levels(e,t);return n=r?n.slice(1):n.slice(0,-1)},common(e,t){for(var r=[],n=0;n<e.length&&n<t.length;n++){var o=e[n];if(o!==t[n])break;r.push(o)}return r},compare(e,t){for(var r=Math.min(e.length,t.length),n=0;n<r;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0},endsAfter(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),i=e[r],a=t[r];return ge.equals(n,o)&&i>a},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return ge.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),i=e[r],a=t[r];return ge.equals(n,o)&&i<a},equals:(e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===ge.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===ge.compare(e,t),isBefore:(e,t)=>-1===ge.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===ge.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===ge.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===ge.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===ge.compare(e,t),isPath:e=>Array.isArray(e)&&(0===e.length||"number"==typeof e[0]),isSibling(e,t){if(e.length!==t.length)return!1;var r=e.slice(0,-1),n=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&ge.equals(r,n)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=[],o=0;o<=e.length;o++)n.push(e.slice(0,o));return r&&n.reverse(),n},next(e){if(0===e.length)throw new Error("Cannot get the next path of a root path [".concat(e,"], because it has no next index."));var t=e[e.length-1];return e.slice(0,-1).concat(t+1)},operationCanTransformPath(e){switch(e.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(e){if(0===e.length)throw new Error("Cannot get the parent path of the root path [".concat(e,"]."));return e.slice(0,-1)},previous(e){if(0===e.length)throw new Error("Cannot get the previous path of a root path [".concat(e,"], because it has no previous index."));var t=e[e.length-1];if(t<=0)throw new Error("Cannot get the previous path of a first child path [".concat(e,"] because it would result in a negative index."));return e.slice(0,-1).concat(t-1)},relative(e,t){if(!ge.isAncestor(t,e)&&!ge.equals(e,t))throw new Error("Cannot get the relative path of [".concat(e,"] inside ancestor [").concat(t,"], because it is not above or equal to the path."));return e.slice(t.length)},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var n=[...e],{affinity:o="forward"}=r;if(0===e.length)return n;switch(t.type){case"insert_node":var{path:i}=t;(ge.equals(i,n)||ge.endsBefore(i,n)||ge.isAncestor(i,n))&&(n[i.length-1]+=1);break;case"remove_node":var{path:a}=t;if(ge.equals(a,n)||ge.isAncestor(a,n))return null;ge.endsBefore(a,n)&&(n[a.length-1]-=1);break;case"merge_node":var{path:s,position:c}=t;ge.equals(s,n)||ge.endsBefore(s,n)?n[s.length-1]-=1:ge.isAncestor(s,n)&&(n[s.length-1]-=1,n[s.length]+=c);break;case"split_node":var{path:l,position:d}=t;if(ge.equals(l,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else ge.endsBefore(l,n)?n[l.length-1]+=1:ge.isAncestor(l,n)&&e[l.length]>=d&&(n[l.length-1]+=1,n[l.length]-=d);break;case"move_node":var{path:p,newPath:f}=t;if(ge.equals(p,f))return n;if(ge.isAncestor(p,n)||ge.equals(p,n)){var u=f.slice();return ge.endsBefore(p,f)&&p.length<f.length&&(u[p.length-1]-=1),u.concat(n.slice(p.length))}ge.isSibling(p,f)&&(ge.isAncestor(f,n)||ge.equals(f,n))?ge.endsBefore(p,n)?n[p.length-1]-=1:n[p.length-1]+=1:ge.endsBefore(f,n)||ge.equals(f,n)||ge.isAncestor(f,n)?(ge.endsBefore(p,n)&&(n[p.length-1]-=1),n[f.length-1]+=1):ge.endsBefore(p,n)&&(ge.equals(f,n)&&(n[f.length-1]+=1),n[p.length-1]-=1)}return n}};function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function me(e){var t=function(e,t){if("object"!==ve(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ve(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ve(t)?t:String(t)}function be(e,t,r){return(t=me(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function we(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _e(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?we(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):we(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Oe={transform(e,t){e.children=he(e.children);var r=e.selection&&he(e.selection);try{r=((e,t,r)=>{switch(r.type){case"insert_node":var{path:n,node:o}=r,i=Re.parent(e,n),a=n[n.length-1];if(a>i.children.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(n,"] because the destination is past the end of the node."));if(i.children.splice(a,0,o),t)for(var[s,c]of Ne.points(t))t[c]=Ve.transform(s,r);break;case"insert_text":var{path:l,offset:d,text:p}=r;if(0===p.length)break;var f=Re.leaf(e,l),u=f.text.slice(0,d),h=f.text.slice(d);if(f.text=u+p+h,t)for(var[y,g]of Ne.points(t))t[g]=Ve.transform(y,r);break;case"merge_node":var{path:v}=r,m=Re.get(e,v),b=ge.previous(v),w=Re.get(e,b),_=Re.parent(e,v),O=v[v.length-1];if(He.isText(m)&&He.isText(w))w.text+=m.text;else{if(He.isText(m)||He.isText(w))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(v,"] to nodes of different interfaces: ").concat(Ke.stringify(m)," ").concat(Ke.stringify(w)));w.children.push(...m.children)}if(_.children.splice(O,1),t)for(var[x,P]of Ne.points(t))t[P]=Ve.transform(x,r);break;case"move_node":var{path:E,newPath:k}=r;if(ge.isAncestor(E,k))throw new Error("Cannot move a path [".concat(E,"] to new path [").concat(k,"] because the destination is inside itself."));var j=Re.get(e,E),S=Re.parent(e,E),N=E[E.length-1];S.children.splice(N,1);var A=ge.transform(E,r),C=Re.get(e,ge.parent(A)),z=A[A.length-1];if(C.children.splice(z,0,j),t)for(var[T,D]of Ne.points(t))t[D]=Ve.transform(T,r);break;case"remove_node":var{path:R}=r,B=R[R.length-1];if(Re.parent(e,R).children.splice(B,1),t)for(var[q,F]of Ne.points(t)){var L=Ve.transform(q,r);if(null!=t&&null!=L)t[F]=L;else{var M=void 0,I=void 0;for(var[W,V]of Re.texts(e)){if(-1!==ge.compare(V,R)){I=[W,V];break}M=[W,V]}var $=!1;M&&I&&($=ge.equals(I[1],R)?!ge.hasPrevious(I[1]):ge.common(M[1],R).length<ge.common(I[1],R).length),M&&!$?(q.path=M[1],q.offset=M[0].text.length):I?(q.path=I[1],q.offset=0):t=null}}break;case"remove_text":var{path:K,offset:J,text:Z}=r;if(0===Z.length)break;var U=Re.leaf(e,K),X=U.text.slice(0,J),Y=U.text.slice(J+Z.length);if(U.text=X+Y,t)for(var[H,G]of Ne.points(t))t[G]=Ve.transform(H,r);break;case"set_node":var{path:Q,properties:ee,newProperties:te}=r;if(0===Q.length)throw new Error("Cannot set properties on the root node!");var re=Re.get(e,Q);for(var ne in te){if("children"===ne||"text"===ne)throw new Error('Cannot set the "'.concat(ne,'" property of nodes!'));var oe=te[ne];null==oe?delete re[ne]:re[ne]=oe}for(var ie in ee)te.hasOwnProperty(ie)||delete re[ie];break;case"set_selection":var{newProperties:ae}=r;if(null==ae)t=ae;else{if(null==t){if(!Ne.isRange(ae))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(Ke.stringify(ae)," when there is no current selection."));t=_e({},ae)}for(var se in ae){var ce=ae[se];if(null==ce){if("anchor"===se||"focus"===se)throw new Error('Cannot remove the "'.concat(se,'" selection property'));delete t[se]}else t[se]=ce}}break;case"split_node":var{path:le,position:de,properties:pe}=r;if(0===le.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(le,"] because the root node cannot be split."));var fe,ue=Re.get(e,le),he=Re.parent(e,le),ye=le[le.length-1];if(He.isText(ue)){var ve=ue.text.slice(0,de),me=ue.text.slice(de);ue.text=ve,fe=_e(_e({},pe),{},{text:me})}else{var be=ue.children.slice(0,de),we=ue.children.slice(de);ue.children=be,fe=_e(_e({},pe),{},{children:we})}if(he.children.splice(ye+1,0,fe),t)for(var[Oe,xe]of Ne.points(t))t[xe]=Ve.transform(Oe,r)}return t})(e,r,t)}finally{e.children=ye(e.children),e.selection=r?A(r)?ye(r):r:null}}},xe={insertNodes(e,t,r){e.insertNodes(t,r)},liftNodes(e,t){e.liftNodes(t)},mergeNodes(e,t){e.mergeNodes(t)},moveNodes(e,t){e.moveNodes(t)},removeNodes(e,t){e.removeNodes(t)},setNodes(e,t,r){e.setNodes(t,r)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,r){e.unsetNodes(t,r)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,r){e.wrapNodes(t,r)}},Pe={collapse(e,t){e.collapse(t)},deselect(e){e.deselect()},move(e,t){e.move(t)},select(e,t){e.select(t)},setPoint(e,t,r){e.setPoint(t,r)},setSelection(e,t){e.setSelection(t)}},Ee=(e,t)=>{for(var r in e){var n=e[r],o=t[r];if(P(n)&&P(o)){if(!Ee(n,o))return!1}else if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(var i=0;i<n.length;i++)if(n[i]!==o[i])return!1}else if(n!==o)return!1}for(var a in t)if(void 0===e[a]&&void 0!==t[a])return!1;return!0};function ke(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var je=["anchor","focus"];function Se(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var Ne={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return Ne.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=Ne.edges(e);return t},equals:(e,t)=>Ve.equals(e.anchor,t.anchor)&&Ve.equals(e.focus,t.focus),includes(e,t){if(Ne.isRange(t)){if(Ne.includes(e,t.anchor)||Ne.includes(e,t.focus))return!0;var[r,n]=Ne.edges(e),[o,i]=Ne.edges(t);return Ve.isBefore(r,o)&&Ve.isAfter(n,i)}var[a,s]=Ne.edges(e),c=!1,l=!1;return Ve.isPoint(t)?(c=Ve.compare(t,a)>=0,l=Ve.compare(t,s)<=0):(c=ge.compare(t,a.path)>=0,l=ge.compare(t,s.path)<=0),c&&l},intersection(e,t){var r=ke(e,je),[n,o]=Ne.edges(e),[i,a]=Ne.edges(t),s=Ve.isBefore(n,i)?i:n,c=Ve.isBefore(o,a)?o:a;return Ve.isBefore(c,s)?null:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Se(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Se(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({anchor:s,focus:c},r)},isBackward(e){var{anchor:t,focus:r}=e;return Ve.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return Ve.equals(t,r)},isExpanded:e=>!Ne.isCollapsed(e),isForward:e=>!Ne.isBackward(e),isRange:e=>P(e)&&Ve.isPoint(e.anchor)&&Ve.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=Ne.edges(e);return t},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ue(e,(e=>{if(null===e)return null;var n,o,{affinity:i="inward"}=r;if("inward"===i){var a=Ne.isCollapsed(e);Ne.isForward(e)?(n="forward",o=a?n:"backward"):(n="backward",o=a?n:"forward")}else"outward"===i?Ne.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=i,o=i);var s=Ve.transform(e.anchor,t,{affinity:n}),c=Ve.transform(e.focus,t,{affinity:o});if(!s||!c)return null;e.anchor=s,e.focus=c}))}},Ae=e=>P(e)&&Re.isNodeList(e.children)&&!Me.isEditor(e),Ce={isAncestor:e=>P(e)&&Re.isNodeList(e.children),isElement:Ae,isElementList:e=>Array.isArray(e)&&e.every((e=>Ce.isElement(e))),isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return Ae(e)&&e[r]===t},matches(e,t){for(var r in t)if("children"!==r&&e[r]!==t[r])return!1;return!0}},ze=["children"],Te=["text"],De=new WeakMap,Re={ancestor(e,t){var r=Re.get(e,t);if(He.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(Ke.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of ge.ancestors(t,r)){var o=[Re.ancestor(e,n),n];yield o}}()},child(e,t){if(He.isText(e))throw new Error("Cannot get the child of a text node: ".concat(Ke.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(Ke.stringify(e)));return r},children(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:n=!1}=r,o=Re.ancestor(e,t),{children:i}=o,a=n?i.length-1:0;n?a>=0:a<i.length;){var s=Re.child(o,a),c=t.concat(a);yield[s,c],a=n?a-1:a+1}}()},common(e,t,r){var n=ge.common(t,r);return[Re.get(e,n),n]},descendant(e,t){var r=Re.get(e,t);if(Me.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(Ke.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of Re.nodes(e,t))0!==n.length&&(yield[r,n])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of Re.nodes(e,t))Ce.isElement(r)&&(yield[r,n])}()},extractProps:e=>Ce.isAncestor(e)?ke(e,ze):ke(e,Te),first(e,t){for(var r=t.slice(),n=Re.get(e,r);n&&!He.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,t){if(He.isText(e))throw new Error("Cannot get a fragment starting from a root text node: ".concat(Ke.stringify(e)));return ue({children:e.children},(e=>{var[r,n]=Ne.edges(t),o=Re.nodes(e,{reverse:!0,pass:e=>{var[,r]=e;return!Ne.includes(t,r)}});for(var[,i]of o){if(!Ne.includes(t,i)){var a=Re.parent(e,i),s=i[i.length-1];a.children.splice(s,1)}if(ge.equals(i,n.path)){var c=Re.leaf(e,i);c.text=c.text.slice(0,n.offset)}if(ge.equals(i,r.path)){var l=Re.leaf(e,i);l.text=l.text.slice(r.offset)}}Me.isEditor(e)&&(e.selection=null)})).children},get(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(He.isText(r)||!r.children[o])throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(Ke.stringify(e)));r=r.children[o]}return r},has(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(He.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode:e=>He.isText(e)||Ce.isElement(e)||Me.isEditor(e),isNodeList(e){if(!Array.isArray(e))return!1;var t=De.get(e);if(void 0!==t)return t;var r=e.every((e=>Re.isNode(e)));return De.set(e,r),r},last(e,t){for(var r=t.slice(),n=Re.get(e,r);n&&!He.isText(n)&&0!==n.children.length;){var o=n.children.length-1;n=n.children[o],r.push(o)}return[n,r]},leaf(e,t){var r=Re.get(e,t);if(!He.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(Ke.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of ge.levels(t,r)){var o=Re.get(e,n);yield[o,n]}}()},matches:(e,t)=>Ce.isElement(e)&&Ce.isElementProps(t)&&Ce.matches(e,t)||He.isText(e)&&He.isTextProps(t)&&He.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:r,reverse:n=!1}=t,{from:o=[],to:i}=t,a=new Set,s=[],c=e;!i||!(n?ge.isBefore(s,i):ge.isAfter(s,i));)if(a.has(c)||(yield[c,s]),a.has(c)||He.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var l=ge.next(s);if(Re.has(e,l)){s=l,c=Re.get(e,s);continue}}if(n&&0!==s[s.length-1])s=ge.previous(s),c=Re.get(e,s);else s=ge.parent(s),c=Re.get(e,s),a.add(c)}else{a.add(c);var d=n?c.children.length-1:0;ge.isAncestor(s,o)&&(d=o[s.length]),s=s.concat(d),c=Re.get(e,s)}}()},parent(e,t){var r=ge.parent(t),n=Re.get(e,r);if(He.isText(n))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return n},string:e=>He.isText(e)?e.text:e.children.map(Re.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of Re.nodes(e,t))He.isText(r)&&(yield[r,n])}()}};function Be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Be(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Fe={isNodeOperation:e=>Fe.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!P(e))return!1;switch(e.type){case"insert_node":case"remove_node":return ge.isPath(e.path)&&Re.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&ge.isPath(e.path);case"merge_node":return"number"==typeof e.position&&ge.isPath(e.path)&&P(e.properties);case"move_node":return ge.isPath(e.path)&&ge.isPath(e.newPath);case"set_node":return ge.isPath(e.path)&&P(e.properties)&&P(e.newProperties);case"set_selection":return null===e.properties&&Ne.isRange(e.newProperties)||null===e.newProperties&&Ne.isRange(e.properties)||P(e.properties)&&P(e.newProperties);case"split_node":return ge.isPath(e.path)&&"number"==typeof e.position&&P(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every((e=>Fe.isOperation(e))),isSelectionOperation:e=>Fe.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>Fe.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return qe(qe({},e),{},{type:"remove_node"});case"insert_text":return qe(qe({},e),{},{type:"remove_text"});case"merge_node":return qe(qe({},e),{},{type:"split_node",path:ge.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(ge.equals(t,r))return e;if(ge.isSibling(r,t))return qe(qe({},e),{},{path:t,newPath:r});var n=ge.transform(r,e),o=ge.transform(ge.next(r),e);return qe(qe({},e),{},{path:n,newPath:o});case"remove_node":return qe(qe({},e),{},{type:"insert_node"});case"remove_text":return qe(qe({},e),{},{type:"insert_text"});case"set_node":var{properties:i,newProperties:a}=e;return qe(qe({},e),{},{properties:a,newProperties:i});case"set_selection":var{properties:s,newProperties:c}=e;return qe(qe({},e),{},null==s?{properties:c,newProperties:null}:null==c?{properties:null,newProperties:s}:{properties:c,newProperties:s});case"split_node":return qe(qe({},e),{},{type:"merge_node",path:ge.next(e.path)})}}},Le=new WeakMap,Me={above:(e,t)=>e.above(t),addMark(e,t,r){e.addMark(t,r)},after:(e,t,r)=>e.after(t,r),before:(e,t,r)=>e.before(t,r),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteBackward(r)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteForward(r)},deleteFragment(e,t){e.deleteFragment(t)},edges:(e,t)=>e.edges(t),elementReadOnly(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.elementReadOnly(t)},end:(e,t)=>e.end(t),first:(e,t)=>e.first(t),fragment:(e,t)=>e.fragment(t),hasBlocks:(e,t)=>e.hasBlocks(t),hasInlines:(e,t)=>e.hasInlines(t),hasPath:(e,t)=>e.hasPath(t),hasTexts:(e,t)=>e.hasTexts(t),insertBreak(e){e.insertBreak()},insertFragment(e,t,r){e.insertFragment(t,r)},insertNode(e,t){e.insertNode(t)},insertSoftBreak(e){e.insertSoftBreak()},insertText(e,t){e.insertText(t)},isBlock:(e,t)=>e.isBlock(t),isEdge:(e,t,r)=>e.isEdge(t,r),isEditor:e=>(e=>{var t=Le.get(e);if(void 0!==t)return t;if(!P(e))return!1;var r="function"==typeof e.addMark&&"function"==typeof e.apply&&"function"==typeof e.deleteFragment&&"function"==typeof e.insertBreak&&"function"==typeof e.insertSoftBreak&&"function"==typeof e.insertFragment&&"function"==typeof e.insertNode&&"function"==typeof e.insertText&&"function"==typeof e.isElementReadOnly&&"function"==typeof e.isInline&&"function"==typeof e.isSelectable&&"function"==typeof e.isVoid&&"function"==typeof e.normalizeNode&&"function"==typeof e.onChange&&"function"==typeof e.removeMark&&"function"==typeof e.getDirtyPaths&&(null===e.marks||P(e.marks))&&(null===e.selection||Ne.isRange(e.selection))&&Re.isNodeList(e.children)&&Fe.isOperationList(e.operations);return Le.set(e,r),r})(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,r)=>e.isEnd(t,r),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,r)=>e.isStart(t,r),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,r)=>e.leaf(t,r),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,r)=>e.node(t,r),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,r)=>e.parent(t,r),path:(e,t,r)=>e.path(t,r),pathRef:(e,t,r)=>e.pathRef(t,r),pathRefs:e=>e.pathRefs(),point:(e,t,r)=>e.point(t,r),pointRef:(e,t,r)=>e.pointRef(t,r),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,r)=>e.range(t,r),rangeRef:(e,t,r)=>e.rangeRef(t,r),rangeRefs:e=>e.rangeRefs(),removeMark(e,t){e.removeMark(t)},setNormalizing(e,t){e.setNormalizing(t)},start:(e,t)=>e.start(t),string:(e,t,r)=>e.string(t,r),unhangRange:(e,t,r)=>e.unhangRange(t,r),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)}};function Ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ie(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ve={compare(e,t){var r=ge.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===Ve.compare(e,t),isBefore:(e,t)=>-1===Ve.compare(e,t),equals:(e,t)=>e.offset===t.offset&&ge.equals(e.path,t.path),isPoint:e=>P(e)&&"number"==typeof e.offset&&ge.isPath(e.path),transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ue(e,(e=>{if(null===e)return null;var{affinity:n="forward"}=r,{path:o,offset:i}=e;switch(t.type){case"insert_node":case"move_node":e.path=ge.transform(o,t,r);break;case"insert_text":ge.equals(t.path,o)&&(t.offset<i||t.offset===i&&"forward"===n)&&(e.offset+=t.text.length);break;case"merge_node":ge.equals(t.path,o)&&(e.offset+=t.position),e.path=ge.transform(o,t,r);break;case"remove_text":ge.equals(t.path,o)&&t.offset<=i&&(e.offset-=Math.min(i-t.offset,t.text.length));break;case"remove_node":if(ge.equals(t.path,o)||ge.isAncestor(t.path,o))return null;e.path=ge.transform(o,t,r);break;case"split_node":if(ge.equals(t.path,o)){if(t.position===i&&null==n)return null;(t.position<i||t.position===i&&"forward"===n)&&(e.offset-=t.position,e.path=ge.transform(o,t,We(We({},r),{},{affinity:"forward"})))}else e.path=ge.transform(o,t,r)}}))}},$e=void 0,Ke={setScrubber(e){$e=e},stringify:e=>JSON.stringify(e,$e)},Je=["text"],Ze=["anchor","focus"];function Ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Xe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ue(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ye,He={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return ke(e,Je)}return Ee(n?o(e):e,n?o(t):t)},isText:e=>P(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every((e=>He.isText(e))),isTextProps:e=>void 0!==e.text,matches(e,t){for(var r in t)if("text"!==r&&(!e.hasOwnProperty(r)||e[r]!==t[r]))return!1;return!0},decorations(e,t){var r=[Xe({},e)];for(var n of t){var o=ke(n,Ze),[i,a]=Ne.edges(n),s=[],c=0,l=i.offset,d=a.offset;for(var p of r){var{length:f}=p.text,u=c;if(c+=f,l<=u&&c<=d)Object.assign(p,o),s.push(p);else if(l!==d&&(l===c||d===u)||l>c||d<u||d===u&&0!==u)s.push(p);else{var h=p,y=void 0,g=void 0;if(d<c){var v=d-u;g=Xe(Xe({},h),{},{text:h.text.slice(v)}),h=Xe(Xe({},h),{},{text:h.text.slice(0,v)})}if(l>u){var m=l-u;y=Xe(Xe({},h),{},{text:h.text.slice(0,m)}),h=Xe(Xe({},h),{},{text:h.text.slice(m)})}Object.assign(h,o),y&&s.push(y),s.push(h),g&&s.push(g)}}r=s}return r}},Ge=e=>e.selection?e.selection:e.children.length>0?Me.end(e,[]):[0];!function(e){e[e.None=0]="None",e[e.Extend=1]="Extend",e[e.ZWJ=2]="ZWJ",e[e.RI=4]="RI",e[e.Prepend=8]="Prepend",e[e.SpacingMark=16]="SpacingMark",e[e.L=32]="L",e[e.V=64]="V",e[e.T=128]="T",e[e.LV=256]="LV",e[e.LVT=512]="LVT",e[e.ExtPict=1024]="ExtPict",e[e.Any=2048]="Any"}(Ye||(Ye={})),Ye.L,Ye.L,Ye.V,Ye.LV,Ye.LVT,Ye.LV,Ye.V,Ye.V,Ye.T,Ye.LVT,Ye.T,Ye.T,Ye.Any,Ye.Extend,Ye.ZWJ,Ye.Any,Ye.SpacingMark,Ye.Prepend,Ye.Any,Ye.ZWJ,Ye.ExtPict,Ye.RI,Ye.RI;var Qe={delete(e,t){e.delete(t)},insertFragment(e,t,r){e.insertFragment(t,r)},insertText(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Me.withoutNormalizing(e,(()=>{var{voids:n=!1}=r,{at:o=Ge(e)}=r;if(ge.isPath(o)&&(o=Me.range(e,o)),Ne.isRange(o))if(Ne.isCollapsed(o))o=o.anchor;else{var i=Ne.end(o);if(!n&&Me.void(e,{at:i}))return;var a=Ne.start(o),s=Me.pointRef(e,a),c=Me.pointRef(e,i);rt.delete(e,{at:o,voids:n});var l=s.unref(),d=c.unref();o=l||d,rt.setSelection(e,{anchor:o,focus:o})}if(!(!n&&Me.void(e,{at:o})||Me.elementReadOnly(e,{at:o}))){var{path:p,offset:f}=o;t.length>0&&e.apply({type:"insert_text",path:p,offset:f,text:t})}}))}};function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var rt=tt(tt(tt(tt({},Oe),xe),Pe),Qe);const nt={buildAccordionElements:(e,t={})=>{const{props:r={isExpanded:!1},items:n=1}=t,o={id:s(),type:"accordion-list",children:[]};for(let e=0;e<n;e++){const e={id:s(),type:"accordion-list-item-heading",children:[{text:""}]},t={id:s(),type:"accordion-list-item-content",children:[{text:""}]},n={id:s(),type:"accordion-list-item",children:[e,t],props:r};o.children.push(n)}return o},insertAccordion:(e,t={})=>{const{at:r,focus:n,props:o,items:i}=t,s=nt.buildAccordionElements(e,{props:o,items:i}),l=c({value:[s],type:"Accordion"});a.insertBlock(e,l.type,{focus:n,at:r,blockData:l})},deleteAccordion:(e,t)=>{a.deleteBlock(e,{blockId:t})}},ot="accordion-list-item",it="accordion-list-item-heading",at="accordion-list-item-content",st=new l({type:"Accordion",elements:{"accordion-list":{asRoot:!0,render:t=>{var{extendRender:r}=t,n=h(t,["extendRender"]);const{attributes:o,children:i}=n;return r?r(n):e("div",Object.assign({},o,{children:i}))},children:["accordion-list-item"]},"accordion-list-item":{render:t=>{var{extendRender:r}=t,n=h(t,["extendRender"]);const{attributes:o,children:i}=n;return r?r(n):e("div",Object.assign({},o,{className:"yoo-accordion-border-b"},{children:i}))},children:["accordion-list-item-heading","accordion-list-item-content"],props:{isExpanded:!0}},"accordion-list-item-heading":{render:s=>{var c,{extendRender:l}=s,d=h(s,["extendRender"]);const{attributes:p,children:f,blockId:u,element:y}=d,g=n(),v=o(),m=e=>{var t;e.stopPropagation();const r=i.getParentElementPath(g,u,y),n=i.getElement(g,u,{path:r,type:"accordion-list-item"});n&&i.updateElement(g,u,{type:"accordion-list-item",props:{isExpanded:!(null===(t=n.props)||void 0===t?void 0:t.isExpanded)}},{path:r})},w=i.getParentElementPath(g,u,y),x=i.getElement(g,u,{path:w,type:"accordion-list-item"}),P=null===(c=null==x?void 0:x.props)||void 0===c?void 0:c.isExpanded;return l?l(d):t("div",Object.assign({},p,{onClick:v?m:void 0,className:"yoopta-accordion-list-item-heading yoo-accordion-group"},{children:[e("span",Object.assign({className:"yoo-accordion-break-words hover:yoo-accordion-underline"},{children:f})),t("div",Object.assign({className:"yoo-accordion-absolute yoo-accordion-right-[14px] yoo-accordion-z-10 yoo-accordion-top-1/2 -yoo-accordion-translate-y-1/2 yoo-accordion-flex yoo-accordion-gap-1 yoo-accordion-select-none"},{children:[!v&&t(r,{children:[e("button",Object.assign({type:"button",contentEditable:!1,onClick:e=>{e.preventDefault(),e.stopPropagation();const t=i.getParentElementPath(g,u,y),r=i.getElementChildren(g,u,{path:t,type:"accordion-list"});1!==(null==r?void 0:r.length)?t&&i.deleteElement(g,u,{type:"accordion-list-item",path:t}):a.deleteBlock(g,{blockId:u})},className:"yoopta-button yoo-accordion-opacity-0 group-hover:yoo-accordion-opacity-100 yoo-accordion-transition-opacity"},{children:e(O,{strokeWidth:1,size:16,color:"#000"})})),e("button",Object.assign({type:"button",contentEditable:!1,onClick:e=>{e.preventDefault(),e.stopPropagation();const t=i.getParentElementPath(g,u,y),r=ge.next(t);i.createElement(g,u,{type:"accordion-list-item",props:{isExpanded:!0}},{path:r,focus:!0})},className:"yoopta-button yoo-accordion-mr-2 yoo-accordion-opacity-0 group-hover:yoo-accordion-opacity-100 yoo-accordion-transition-opacity"},{children:e(_,{strokeWidth:1,size:20,color:"#000"})}))]}),e("button",Object.assign({type:"button",contentEditable:!1,onClick:m,className:"yoopta-button"},{children:e(b,{strokeWidth:1,size:20,color:"#000",style:{transform:P?"rotate(180deg)":"rotate(0deg)"},className:"yoo-accordion-transition-transform yoo-accordion-duration-200"})}))]}))]}))}},"accordion-list-item-content":{render:t=>{var r,{extendRender:o}=t,a=h(t,["extendRender"]);const{attributes:s,children:c,blockId:l,element:d}=a,p=n(),f=i.getParentElementPath(p,l,d),u=i.getElement(p,l,{path:f,type:"accordion-list-item"}),y=null===(r=null==u?void 0:u.props)||void 0===r?void 0:r.isExpanded;return o?o(a):e("div",Object.assign({"data-state":y?"open":"closed",className:"yoopta-accordion-list-item-content data-[state=closed]:yoo-accordion-hidden data-[state=closed]:yoo-accordion-animate-accordion-up data-[state=open]:yoo-accordion-animate-accordion-down"},s,{children:e("div",Object.assign({className:"yoo-accordion-pb-4 yoo-accordion-pt-0"},{children:c}))}))}}},commands:nt,events:{onKeyDown:(e,t,{hotkeys:r,currentBlock:n})=>o=>{var s;if(r.isBackspace(o)){if(!t.selection)return;const r=i.getElementChildren(e,n.id,{type:"accordion-list"}),s=i.getElementEntry(e,n.id,{path:t.selection,type:"accordion-list-item"}),c=(null==s?void 0:s[1])||t.selection.anchor.path,l=i.getElement(e,n.id),d=i.isElementEmpty(e,n.id,{type:"accordion-list-item-heading",path:c});if(i.isElementEmpty(e,n.id,{type:"accordion-list-item-content",path:c})&&(null==l?void 0:l.type)===at)return void o.preventDefault();if(d&&(null==l?void 0:l.type)===it){if(o.preventDefault(),1===(null==r?void 0:r.length))return void a.deleteBlock(e,{blockId:n.id});if(s){const[,t]=s;i.deleteElement(e,n.id,{type:"accordion-list-item",path:t})}}}if(r.isSelect(o))return o.preventDefault(),void(t.selection&&rt.select(t,t.selection.anchor.path.slice(0,-1)));if(r.isEnter(o)){o.preventDefault();const t=i.getElement(e,n.id),r=i.getElementEntry(e,n.id,{type:"accordion-list-item"});if((null==t?void 0:t.type)===it&&r){const[t,o]=r;return void i.updateElement(e,n.id,{type:ot,props:{isExpanded:!(null===(s=null==t?void 0:t.props)||void 0===s?void 0:s.isExpanded)}},{path:o})}i.createElement(e,n.id,{type:"accordion-list-item",props:{isExpanded:!0}},{path:"next",focus:!0,split:!1})}}},options:{display:{title:"Accordion",description:"Create collapses",icon:e(w,{size:24})},shortcuts:["accordion"]},parsers:{html:{deserialize:{nodeNames:["DETAILS"],parse:(e,t)=>{if("DETAILS"===e.nodeName){const r=e.querySelector("summary"),n=e.querySelector("p");return d(t,"Accordion",{[it]:(null==r?void 0:r.textContent)||"",[at]:(null==n?void 0:n.textContent)||""})}}},serialize:(e,t,r)=>{const{align:n="left",depth:o=0}=r||{};return`<div>${e.children.map((e=>`<details data-meta-align="${n}" data-meta-depth="${o}">${e.children.map((e=>"accordion-list-item-heading"===e.type?`<summary>${p(e.children)}</summary>`:`<p>${p(e.children)}</p>`)).join("")}</details>`)).join("")}</div>`}},email:{serialize:(e,t,r)=>{const{align:n="left",depth:o=0}=r||{};return`\n <table data-meta-align="${n}" data-meta-depth="${o}" style="width: 100%; border-collapse: collapse; margin-left: ${o}px;">\n <tbody>\n ${e.children.map((e=>e.children.map((e=>"accordion-list-item-heading"===e.type?`\n <tr>\n <td style="\n border-radius: 0;\n border-width: 0;\n cursor: pointer;\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.5rem;\n margin-bottom: 0;\n padding-bottom: 1rem;\n padding-right: 2rem;\n padding-top: 1rem;\n position: relative;\n width: 100%;\n ">\n ${p(e.children)}\n <span style="position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);">\n <svg viewbox="0 0 30 30" style="width: 12px; height: 100%;"><polygon points="15,17.4 4.8,7 2,9.8 15,23 28,9.8 25.2,7"></polygon></svg>\n </span>\n </td>\n </tr>`:`\n <tr>\n <td style="padding-bottom: 1rem; border-bottom: 1px solid #EFEFEE; font-size: .875rem; line-height: 1.25rem; overflow: hidden;">\n ${p(e.children)}\n </td>\n </tr>`)).join(""))).join("")}\n </tbody>\n </table>`}}}});!function(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".yoo-accordion-absolute{position:absolute}.yoo-accordion-right-\\[14px\\]{right:14px}.yoo-accordion-top-1\\/2{top:50%}.yoo-accordion-z-10{z-index:10}.yoo-accordion-mr-2{margin-right:.5rem}.yoo-accordion-flex{display:flex}.-yoo-accordion-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yoo-accordion-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.yoo-accordion-gap-1{gap:.25rem}.yoo-accordion-break-words{overflow-wrap:break-word}.yoo-accordion-border-b{border-bottom-width:1px}.yoo-accordion-pb-4{padding-bottom:1rem}.yoo-accordion-pt-0{padding-top:0}.yoo-accordion-opacity-0{opacity:0}.yoo-accordion-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yoo-accordion-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yoo-accordion-duration-200{transition-duration:.2s}.yoopta-accordion-list{margin:.5rem 0;padding:0}.yoopta-accordion-list-item{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(48 48 48/var(--tw-bg-opacity));border-color:rgb(82 82 82/var(--tw-border-opacity));border-radius:0;border-width:1px;position:relative;width:100%}.yoopta-accordion-list-item-heading{align-items:center;border-radius:0;border-width:0;cursor:pointer;font-size:1rem;font-weight:500;line-height:1.5rem;margin-bottom:0;padding-bottom:1rem;padding-right:2rem;padding-top:1rem;position:relative;width:100%}.yoopta-accordion-list-item-content{font-size:.875rem;line-height:1.25rem;overflow:hidden}.hover\\:yoo-accordion-underline:hover{text-decoration-line:underline}.yoo-accordion-group:hover .group-hover\\:yoo-accordion-opacity-100{opacity:1}.data-\\[state\\=closed\\]\\:yoo-accordion-hidden[data-state=closed]{display:none}");export{nt as AccordionCommands,st as default};
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{buildBlockData as r,Blocks as n,YooptaPlugin as o,Elements as i,buildBlockElementsStructure as a,serializeTextNodes as s}from"@yoopta/editor";var l={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=l.levels(e,t);return n=r?n.slice(1):n.slice(0,-1)},common(e,t){for(var r=[],n=0;n<e.length&&n<t.length;n++){var o=e[n];if(o!==t[n])break;r.push(o)}return r},compare(e,t){for(var r=Math.min(e.length,t.length),n=0;n<r;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0},endsAfter(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),i=e[r],a=t[r];return l.equals(n,o)&&i>a},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return l.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),i=e[r],a=t[r];return l.equals(n,o)&&i<a},equals:(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===l.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===l.compare(e,t),isBefore:(e,t)=>-1===l.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===l.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===l.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===l.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===l.compare(e,t),isPath:e=>Array.isArray(e)&&(0===e.length||"number"==typeof e[0]),isSibling(e,t){if(e.length!==t.length)return!1;var r=e.slice(0,-1),n=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&l.equals(r,n)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=[],o=0;o<=e.length;o++)n.push(e.slice(0,o));return r&&n.reverse(),n},next(e){if(0===e.length)throw new Error("Cannot get the next path of a root path [".concat(e,"], because it has no next index."));var t=e[e.length-1];return e.slice(0,-1).concat(t+1)},operationCanTransformPath(e){switch(e.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(e){if(0===e.length)throw new Error("Cannot get the parent path of the root path [".concat(e,"]."));return e.slice(0,-1)},previous(e){if(0===e.length)throw new Error("Cannot get the previous path of a root path [".concat(e,"], because it has no previous index."));var t=e[e.length-1];if(t<=0)throw new Error("Cannot get the previous path of a first child path [".concat(e,"] because it would result in a negative index."));return e.slice(0,-1).concat(t-1)},relative(e,t){if(!l.isAncestor(t,e)&&!l.equals(e,t))throw new Error("Cannot get the relative path of [".concat(e,"] inside ancestor [").concat(t,"], because it is not above or equal to the path."));return e.slice(t.length)},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var n=[...e],{affinity:o="forward"}=r;if(0===e.length)return n;switch(t.type){case"insert_node":var{path:i}=t;(l.equals(i,n)||l.endsBefore(i,n)||l.isAncestor(i,n))&&(n[i.length-1]+=1);break;case"remove_node":var{path:a}=t;if(l.equals(a,n)||l.isAncestor(a,n))return null;l.endsBefore(a,n)&&(n[a.length-1]-=1);break;case"merge_node":var{path:s,position:c}=t;l.equals(s,n)||l.endsBefore(s,n)?n[s.length-1]-=1:l.isAncestor(s,n)&&(n[s.length-1]-=1,n[s.length]+=c);break;case"split_node":var{path:f,position:p}=t;if(l.equals(f,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else l.endsBefore(f,n)?n[f.length-1]+=1:l.isAncestor(f,n)&&e[f.length]>=p&&(n[f.length-1]+=1,n[f.length]-=p);break;case"move_node":var{path:d,newPath:u}=t;if(l.equals(d,u))return n;if(l.isAncestor(d,n)||l.equals(d,n)){var h=u.slice();return l.endsBefore(d,u)&&d.length<u.length&&(h[d.length-1]-=1),h.concat(n.slice(d.length))}l.isSibling(d,u)&&(l.isAncestor(u,n)||l.equals(u,n))?l.endsBefore(d,n)?n[d.length-1]-=1:n[d.length-1]+=1:l.endsBefore(u,n)||l.equals(u,n)||l.isAncestor(u,n)?(l.endsBefore(d,n)&&(n[d.length-1]-=1),n[u.length-1]+=1):l.endsBefore(d,n)&&(l.equals(u,n)&&(n[u.length-1]+=1),n[d.length-1]-=1)}return n}};function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function f(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function p(e,t,r){return(t=f(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=["anchor","focus"];function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var g={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return g.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=g.edges(e);return t},equals:(e,t)=>q.equals(e.anchor,t.anchor)&&q.equals(e.focus,t.focus),surrounds(e,t){var r=g.intersection(e,t);return!!r&&g.equals(r,t)},includes(e,t){if(g.isRange(t)){if(g.includes(e,t.anchor)||g.includes(e,t.focus))return!0;var[r,n]=g.edges(e),[o,i]=g.edges(t);return q.isBefore(r,o)&&q.isAfter(n,i)}var[a,s]=g.edges(e),c=!1,f=!1;return q.isPoint(t)?(c=q.compare(t,a)>=0,f=q.compare(t,s)<=0):(c=l.compare(t,a.path)>=0,f=l.compare(t,s.path)<=0),c&&f},intersection(e,t){var r=d(e,u),[n,o]=g.edges(e),[i,a]=g.edges(t),s=q.isBefore(n,i)?i:n,l=q.isBefore(o,a)?o:a;return q.isBefore(l,s)?null:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({anchor:s,focus:l},r)},isBackward(e){var{anchor:t,focus:r}=e;return q.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return q.equals(t,r)},isExpanded:e=>!g.isCollapsed(e),isForward:e=>!g.isBackward(e),isRange:e=>_(e)&&q.isPoint(e.anchor)&&q.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=g.edges(e);return t},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var n,o,{affinity:i="inward"}=r;if("inward"===i){var a=g.isCollapsed(e);g.isForward(e)?(n="forward",o=a?n:"backward"):(n="backward",o=a?n:"forward")}else"outward"===i?g.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=i,o=i);var s=q.transform(e.anchor,t,{affinity:n}),l=q.transform(e.focus,t,{affinity:o});return s&&l?{anchor:s,focus:l}:null}},v=function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!!_(e)&&("function"!=typeof e.apply&&(t?x.isNodeList(e.children):Array.isArray(e.children)))},y={isAncestor(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _(e)&&x.isNodeList(e.children,{deep:t})},isElement:v,isElementList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>y.isElement(e,{deep:t}))},isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return v(e)&&e[r]===t},matches(e,t){for(var r in t)if("children"!==r&&e[r]!==t[r])return!1;return!0}},m=["children"],b=["text"];function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var x={ancestor(e,t){var r=x.get(e,t);if(V.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(C.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.ancestors(t,r)){var o=[x.ancestor(e,n),n];yield o}}()},child(e,t){if(V.isText(e))throw new Error("Cannot get the child of a text node: ".concat(C.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(C.stringify(e)));return r},children(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:n=!1}=r,o=x.ancestor(e,t),{children:i}=o,a=n?i.length-1:0;n?a>=0:a<i.length;){var s=x.child(o,a),l=t.concat(a);yield[s,l],a=n?a-1:a+1}}()},common(e,t,r){var n=l.common(t,r);return[x.get(e,n),n]},descendant(e,t){var r=x.get(e,t);if(N.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(C.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))0!==n.length&&(yield[r,n])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))y.isElement(r)&&(yield[r,n])}()},extractProps:e=>y.isAncestor(e)?d(e,m):d(e,b),first(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!V.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,t){var r={children:e.children},[n,o]=g.edges(t),i=x.nodes(r,{reverse:!0,pass:e=>{var[,r]=e;return!g.includes(t,r)}}),a=function(){if(!g.includes(t,s)){var e=s[s.length-1];K(r,l.parent(s),t=>J(t,e,1))}l.equals(s,o.path)&&Y(r,s,e=>{var t=e.text.slice(0,o.offset);return O(O({},e),{},{text:t})}),l.equals(s,n.path)&&Y(r,s,e=>{var t=e.text.slice(n.offset);return O(O({},e),{},{text:t})})};for(var[,s]of i)a();return r.children},get(e,t){var r=x.getIf(e,t);if(void 0===r)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(C.stringify(e)));return r},getIf(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(V.isText(r)||!r.children[o])return;r=r.children[o]}return r},has(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(V.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return V.isText(e)||y.isElement(e,{deep:t})||N.isEditor(e,{deep:t})},isNodeList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>x.isNode(e,{deep:t}))},last(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!V.isText(n)&&0!==n.children.length;){var o=n.children.length-1;n=n.children[o],r.push(o)}return[n,r]},leaf(e,t){var r=x.get(e,t);if(!V.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(C.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.levels(t,r)){var o=x.get(e,n);yield[o,n]}}()},matches:(e,t)=>y.isElement(e)&&y.isElementProps(t)&&y.matches(e,t)||V.isText(e)&&V.isTextProps(t)&&V.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:r,reverse:n=!1}=t,{from:o=[],to:i}=t,a=new Set,s=[],c=e;!i||!(n?l.isBefore(s,i):l.isAfter(s,i));)if(a.has(c)||(yield[c,s]),a.has(c)||V.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var f=l.next(s);if(x.has(e,f)){s=f,c=x.get(e,s);continue}}if(n&&0!==s[s.length-1])s=l.previous(s),c=x.get(e,s);else s=l.parent(s),c=x.get(e,s),a.add(c)}else{a.add(c);var p=n?c.children.length-1:0;l.isAncestor(s,o)&&(p=o[s.length]),s=s.concat(p),c=x.get(e,s)}}()},parent(e,t){var r=l.parent(t),n=x.get(e,r);if(V.isText(n))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return n},string:e=>V.isText(e)?e.text:e.children.map(x.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))V.isText(r)&&(yield[r,n])}()}};function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E,k={isNodeOperation:e=>k.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!_(e))return!1;switch(e.type){case"insert_node":case"remove_node":return l.isPath(e.path)&&x.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&l.isPath(e.path);case"merge_node":return"number"==typeof e.position&&l.isPath(e.path)&&_(e.properties);case"move_node":return l.isPath(e.path)&&l.isPath(e.newPath);case"set_node":return l.isPath(e.path)&&_(e.properties)&&_(e.newProperties);case"set_selection":return null===e.properties&&g.isRange(e.newProperties)||null===e.newProperties&&g.isRange(e.properties)||_(e.properties)&&_(e.newProperties);case"split_node":return l.isPath(e.path)&&"number"==typeof e.position&&_(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>k.isOperation(e)),isSelectionOperation:e=>k.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>k.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return j(j({},e),{},{type:"remove_node"});case"insert_text":return j(j({},e),{},{type:"remove_text"});case"merge_node":return j(j({},e),{},{type:"split_node",path:l.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(l.equals(t,r))return e;if(l.isSibling(r,t))return j(j({},e),{},{path:t,newPath:r});var n=l.transform(r,e),o=l.transform(l.next(r),e);return j(j({},e),{},{path:n,newPath:o});case"remove_node":return j(j({},e),{},{type:"insert_node"});case"remove_text":return j(j({},e),{},{type:"insert_text"});case"set_node":var{properties:i,newProperties:a}=e;return j(j({},e),{},{properties:a,newProperties:i});case"set_selection":var{properties:s,newProperties:c}=e;return j(j({},e),{},null==s?{properties:c,newProperties:null}:null==c?{properties:null,newProperties:s}:{properties:c,newProperties:s});case"split_node":return j(j({},e),{},{type:"merge_node",path:l.next(e.path)})}}},_=e=>"object"==typeof e&&null!==e,A=(e,t)=>{for(var r in e){var n=e[r],o=t[r];if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(var i=0;i<n.length;i++)if(n[i]!==o[i])return!1}else if(_(n)&&_(o)){if(!A(n,o))return!1}else if(n!==o)return!1}for(var a in t)if(void 0===e[a]&&void 0!==t[a])return!1;return!0},S=e=>e.selection?e.selection:e.children.length>0?N.end(e,[]):[0];!function(e){e[e.None=0]="None",e[e.Extend=1]="Extend",e[e.ZWJ=2]="ZWJ",e[e.RI=4]="RI",e[e.Prepend=8]="Prepend",e[e.SpacingMark=16]="SpacingMark",e[e.L=32]="L",e[e.V=64]="V",e[e.T=128]="T",e[e.LV=256]="LV",e[e.LVT=512]="LVT",e[e.ExtPict=1024]="ExtPict",e[e.Any=2048]="Any"}(E||(E={})),E.L,E.L,E.V,E.LV,E.LVT,E.LV,E.V,E.V,E.T,E.LVT,E.T,E.T,E.Any,E.Extend,E.ZWJ,E.Any,E.SpacingMark,E.Prepend,E.Any,E.ZWJ,E.ExtPict,E.RI,E.RI;var N={above:(e,t)=>e.above(t),addMark(e,t,r){e.addMark(t,r)},after:(e,t,r)=>e.after(t,r),before:(e,t,r)=>e.before(t,r),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteBackward(r)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteForward(r)},deleteFragment(e,t){e.deleteFragment(t)},edges:(e,t)=>e.edges(t),elementReadOnly(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.elementReadOnly(t)},end:(e,t)=>e.end(t),first:(e,t)=>e.first(t),fragment:(e,t)=>e.fragment(t),hasBlocks:(e,t)=>e.hasBlocks(t),hasInlines:(e,t)=>e.hasInlines(t),hasPath:(e,t)=>e.hasPath(t),hasTexts:(e,t)=>e.hasTexts(t),insertBreak(e){e.insertBreak()},insertFragment(e,t,r){e.insertFragment(t,r)},insertNode(e,t){e.insertNode(t)},insertSoftBreak(e){e.insertSoftBreak()},insertText(e,t){e.insertText(t)},isBlock:(e,t)=>e.isBlock(t),isEdge:(e,t,r)=>e.isEdge(t,r),isEditor:e=>function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!_(e))return!1;var r="function"==typeof e.addMark&&"function"==typeof e.apply&&"function"==typeof e.deleteFragment&&"function"==typeof e.insertBreak&&"function"==typeof e.insertSoftBreak&&"function"==typeof e.insertFragment&&"function"==typeof e.insertNode&&"function"==typeof e.insertText&&"function"==typeof e.isElementReadOnly&&"function"==typeof e.isInline&&"function"==typeof e.isSelectable&&"function"==typeof e.isVoid&&"function"==typeof e.normalizeNode&&"function"==typeof e.onChange&&"function"==typeof e.removeMark&&"function"==typeof e.getDirtyPaths&&(null===e.marks||_(e.marks))&&(null===e.selection||g.isRange(e.selection))&&(!t||x.isNodeList(e.children))&&k.isOperationList(e.operations);return r}(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,r)=>e.isEnd(t,r),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,r)=>e.isStart(t,r),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,r)=>e.leaf(t,r),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,r)=>e.node(t,r),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,r)=>e.parent(t,r),path:(e,t,r)=>e.path(t,r),pathRef:(e,t,r)=>e.pathRef(t,r),pathRefs:e=>e.pathRefs(),point:(e,t,r)=>e.point(t,r),pointRef:(e,t,r)=>e.pointRef(t,r),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,r)=>e.range(t,r),rangeRef:(e,t,r)=>e.rangeRef(t,r),rangeRefs:e=>e.rangeRefs(),removeMark(e,t){e.removeMark(t)},setNormalizing(e,t){e.setNormalizing(t)},start:(e,t)=>e.start(t),string:(e,t,r)=>e.string(t,r),unhangRange:(e,t,r)=>e.unhangRange(t,r),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)},shouldMergeNodesRemovePrevNode:(e,t,r)=>e.shouldMergeNodesRemovePrevNode(t,r)};function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var q={compare(e,t){var r=l.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===q.compare(e,t),isBefore:(e,t)=>-1===q.compare(e,t),equals:(e,t)=>e.offset===t.offset&&l.equals(e.path,t.path),isPoint:e=>_(e)&&"number"==typeof e.offset&&l.isPath(e.path),transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var{affinity:n="forward"}=r,{path:o,offset:i}=e;switch(t.type){case"insert_node":case"move_node":o=l.transform(o,t,r);break;case"insert_text":l.equals(t.path,o)&&(t.offset<i||t.offset===i&&"forward"===n)&&(i+=t.text.length);break;case"merge_node":l.equals(t.path,o)&&(i+=t.position),o=l.transform(o,t,r);break;case"remove_text":l.equals(t.path,o)&&t.offset<=i&&(i-=Math.min(i-t.offset,t.text.length));break;case"remove_node":if(l.equals(t.path,o)||l.isAncestor(t.path,o))return null;o=l.transform(o,t,r);break;case"split_node":if(l.equals(t.path,o)){if(t.position===i&&null==n)return null;(t.position<i||t.position===i&&"forward"===n)&&(i-=t.position,o=l.transform(o,t,D(D({},r),{},{affinity:"forward"})))}else o=l.transform(o,t,r);break;default:return e}return{path:o,offset:i}}},B=void 0,C={setScrubber(e){B=e},stringify:e=>JSON.stringify(e,B)},R=["text"],I=["anchor","focus","merge"];function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var V={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return d(e,R)}return A(n?o(e):e,n?o(t):t)},isText:e=>_(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>V.isText(e)),isTextProps:e=>void 0!==e.text,matches(e,t){for(var r in t)if("text"!==r&&(!e.hasOwnProperty(r)||e[r]!==t[r]))return!1;return!0},decorations(e,t){var r=[{leaf:F({},e)}];for(var n of t){var{anchor:o,focus:i,merge:a}=n,s=d(n,I),[l,c]=g.edges(n),f=[],p=0,u=l.offset,h=c.offset,v=null!=a?a:Object.assign;for(var{leaf:y}of r){var{length:m}=y.text,b=p;if(p+=m,u<=b&&p<=h)v(y,s),f.push({leaf:y});else if(u!==h&&(u===p||h===b)||u>p||h<b||h===b&&0!==b)f.push({leaf:y});else{var w=y,O=void 0,x=void 0;if(h<p){var P=h-b;x={leaf:F(F({},w),{},{text:w.text.slice(P)})},w=F(F({},w),{},{text:w.text.slice(0,P)})}if(u>b){var j=u-b;O={leaf:F(F({},w),{},{text:w.text.slice(0,j)})},w=F(F({},w),{},{text:w.text.slice(j)})}v(w,s),O&&f.push(O),f.push({leaf:w}),x&&f.push(x)}}r=f}if(r.length>1){var E=0;for(var[k,_]of r.entries()){var A=E,S=A+_.leaf.text.length,N={start:A,end:S};0===k&&(N.isFirst=!0),k===r.length-1&&(N.isLast=!0),_.position=N,E=S}}return r}};function z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?z(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var $=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return[...e.slice(0,t),...n,...e.slice(t)]},W=function(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),i=3;i<n;i++)o[i-3]=arguments[i];return[...e.slice(0,t),...o,...e.slice(t+r)]},J=W,Z=(e,t,r)=>{if(0===t.length)throw new Error("Cannot modify the editor");for(var n=x.get(e,t),o=t.slice(),i=r(n);o.length>1;){var a=o.pop(),s=x.get(e,o);i=M(M({},s),{},{children:W(s.children,a,1,i)})}var l=o.pop();e.children=W(e.children,l,1,i)},K=(e,t,r)=>{0===t.length?e.children=r(e.children):Z(e,t,e=>{if(V.isText(e))throw new Error("Cannot get the element at path [".concat(t,"] because it refers to a leaf node: ").concat(C.stringify(e)));return M(M({},e),{},{children:r(e.children)})})},Y=(e,t,r)=>Z(e,t,e=>{if(!V.isText(e))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(C.stringify(e)));return r(e)});function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function H(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Q={transform(e,t){var r=!1;switch(t.type){case"insert_node":var{path:n,node:o}=t;K(e,l.parent(n),e=>{var t=n[n.length-1];if(t>e.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(n,"] because the destination is past the end of the node."));return $(e,t,o)}),r=!0;break;case"insert_text":var{path:i,offset:a,text:s}=t;if(0===s.length)break;Y(e,i,e=>{var t=e.text.slice(0,a),r=e.text.slice(a);return H(H({},e),{},{text:t+s+r})}),r=!0;break;case"merge_node":var{path:c}=t,f=c[c.length-1],p=l.previous(c),d=p[p.length-1];K(e,l.parent(c),e=>{var t,r=e[f],n=e[d];if(V.isText(r)&&V.isText(n))t=H(H({},n),{},{text:n.text+r.text});else{if(V.isText(r)||V.isText(n))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(c,"] to nodes of different interfaces: ").concat(C.stringify(r)," ").concat(C.stringify(n)));t=H(H({},n),{},{children:n.children.concat(r.children)})}return W(e,d,2,t)}),r=!0;break;case"move_node":var{path:u,newPath:h}=t,v=u[u.length-1];if(l.isAncestor(u,h))throw new Error("Cannot move a path [".concat(u,"] to new path [").concat(h,"] because the destination is inside itself."));var y=x.get(e,u);K(e,l.parent(u),e=>J(e,v,1));var m=l.transform(u,t),b=m[m.length-1];K(e,l.parent(m),e=>$(e,b,y)),r=!0;break;case"remove_node":var{path:w}=t,O=w[w.length-1];if(K(e,l.parent(w),e=>J(e,O,1)),e.selection){var P=H({},e.selection);for(var[j,E]of g.points(P)){var k=q.transform(j,t);if(null!=P&&null!=k)P[E]=k;else{var _=void 0,A=void 0;for(var[S,N]of x.texts(e)){if(-1!==l.compare(N,w)){A=[S,N];break}_=[S,N]}var T=!1;_&&A&&(T=!l.isSibling(_[1],w)&&(!!l.equals(A[1],w)||l.common(_[1],w).length<l.common(A[1],w).length)),_&&!T?P[E]={path:_[1],offset:_[0].text.length}:A?P[E]={path:A[1],offset:0}:P=null}}P&&g.equals(P,e.selection)||(e.selection=P)}break;case"remove_text":var{path:D,offset:B,text:R}=t;if(0===R.length)break;Y(e,D,e=>{var t=e.text.slice(0,B),r=e.text.slice(B+R.length);return H(H({},e),{},{text:t+r})}),r=!0;break;case"set_node":var{path:I,properties:L,newProperties:F}=t;if(0===I.length)throw new Error("Cannot set properties on the root node!");Z(e,I,e=>{var t=H({},e);for(var r in F){if("children"===r||"text"===r)throw new Error('Cannot set the "'.concat(r,'" property of nodes!'));var n=F[r];null==n?delete t[r]:t[r]=n}for(var o in L)F.hasOwnProperty(o)||delete t[o];return t});break;case"set_selection":var{newProperties:z}=t;if(null==z){e.selection=null;break}if(null==e.selection){if(!g.isRange(z))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(C.stringify(z)," when there is no current selection."));e.selection=H({},z);break}var M=H({},e.selection);for(var G in z){var Q=z[G];if(null==Q){if("anchor"===G||"focus"===G)throw new Error('Cannot remove the "'.concat(G,'" selection property'));delete M[G]}else M[G]=Q}e.selection=M;break;case"split_node":var{path:U,position:X,properties:ee}=t,te=U[U.length-1];if(0===U.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(U,"] because the root node cannot be split."));K(e,l.parent(U),e=>{var t,r,n=e[te];if(V.isText(n)){var o=n.text.slice(0,X),i=n.text.slice(X);t=H(H({},n),{},{text:o}),r=H(H({},ee),{},{text:i})}else{var a=n.children.slice(0,X),s=n.children.slice(X);t=H(H({},n),{},{children:a}),r=H(H({},ee),{},{children:s})}return W(e,te,1,t,r)}),r=!0}if(r&&e.selection){var re=H({},e.selection);for(var[ne,oe]of g.points(re))re[oe]=q.transform(ne,t);g.equals(re,e.selection)||(e.selection=re)}}},U={insertNodes(e,t,r){e.insertNodes(t,r)},liftNodes(e,t){e.liftNodes(t)},mergeNodes(e,t){e.mergeNodes(t)},moveNodes(e,t){e.moveNodes(t)},removeNodes(e,t){e.removeNodes(t)},setNodes(e,t,r){e.setNodes(t,r)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,r){e.unsetNodes(t,r)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,r){e.wrapNodes(t,r)}},X={collapse(e,t){e.collapse(t)},deselect(e){e.deselect()},move(e,t){e.move(t)},select(e,t){e.select(t)},setPoint(e,t,r){e.setPoint(t,r)},setSelection(e,t){e.setSelection(t)}},ee={delete(e,t){e.delete(t)},insertFragment(e,t,r){e.insertFragment(t,r)},insertText(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};N.withoutNormalizing(e,()=>{var{voids:n=!1}=r,{at:o=S(e)}=r;if(l.isPath(o)&&(o=N.range(e,o)),g.isRange(o))if(g.isCollapsed(o))o=o.anchor;else{var i=g.end(o);if(!n&&N.void(e,{at:i}))return;var a=g.start(o),s=N.pointRef(e,a),c=N.pointRef(e,i);ne.delete(e,{at:o,voids:n});var f=s.unref(),p=c.unref();o=f||p,ne.setSelection(e,{anchor:o,focus:o})}if(!(!n&&N.void(e,{at:o})||N.elementReadOnly(e,{at:o}))){var{path:d,offset:u}=o;t.length>0&&e.apply({type:"insert_text",path:d,offset:u,text:t})}})}};function te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?te(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):te(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ne=re(re(re(re({},Q),U),X),ee);const oe={buildAccordionElements:(e,t={})=>{const r=e.y("accordion-list"),{items:n=1,props:{isExpanded:o=!1}={}}=t;for(let t=0;t<n;t+=1){const t=e.y("accordion-list-item",{props:{isExpanded:o},children:[e.y("accordion-list-item-heading"),e.y("accordion-list-item-content")]});r.children||(r.children=[]),r.children.push(t)}return r},insertAccordion:(e,t={})=>{const{at:o,focus:i,props:a,items:s}=t,l=oe.buildAccordionElements(e,{props:a,items:s}),c=r({value:[l],type:"Accordion"});n.insertBlock(e,c.type,{focus:i,at:o,blockData:c})},deleteAccordion:(e,t)=>{n.deleteBlock(e,{blockId:t})}},ie="accordion-list-item",ae="accordion-list-item-heading",se="accordion-list-item-content",le=new o({type:"Accordion",elements:e("accordion-list",Object.assign({render:t=>e("div",Object.assign({},t.attributes,{children:t.children}))},{children:t("accordion-list-item",Object.assign({props:{isExpanded:!0},render:t=>e("details",Object.assign({},t.attributes,{children:t.children}))},{children:[e("accordion-list-item-heading",{render:t=>e("summary",Object.assign({},t.attributes,{children:t.children}))}),e("accordion-list-item-content",{render:t=>e("p",Object.assign({},t.attributes,{children:t.children}))})]}))})),commands:oe,events:{onKeyDown:(e,t,{hotkeys:r,currentBlock:o})=>a=>{var s,l;if(r.isBackspace(a)){if(a.isDefaultPrevented())return;if(!t.selection)return;const r=i.getElementChildren(e,{blockId:o.id,type:"accordion-list"}),l=i.getElementEntry(e,{blockId:o.id,path:t.selection.anchor.path,type:"accordion-list-item"}),c=null!==(s=null==l?void 0:l[1])&&void 0!==s?s:t.selection.anchor.path,f=i.getElement(e,{blockId:o.id}),p=i.isElementEmpty(e,{blockId:o.id,type:"accordion-list-item-heading",path:c});if(i.isElementEmpty(e,{blockId:o.id,type:"accordion-list-item-content",path:c})&&(null==f?void 0:f.type)===se)return void a.preventDefault();if(p&&(null==f?void 0:f.type)===ae){if(a.preventDefault(),1===(null==r?void 0:r.length))return void n.deleteBlock(e,{blockId:o.id});if(l){const[,t]=l;i.deleteElement(e,{blockId:o.id,type:"accordion-list-item",path:t})}}}if(r.isEnter(a)){if(a.isDefaultPrevented())return;a.preventDefault();const t=i.getElement(e,{blockId:o.id}),r=i.getElementEntry(e,{blockId:o.id,type:"accordion-list-item"});if((null==t?void 0:t.type)===ae&&r){const[t,n]=r;return void i.updateElement(e,{blockId:o.id,type:ie,props:{isExpanded:!(null===(l=null==t?void 0:t.props)||void 0===l?void 0:l.isExpanded)},path:n})}i.insertElement(e,{blockId:o.id,type:"accordion-list-item",props:{isExpanded:!0},at:"next",focus:!0})}}},options:{display:{title:"Accordion",description:"Create collapses"},shortcuts:["accordion"]},parsers:{html:{deserialize:{nodeNames:["DETAILS"],parse:(e,t)=>{var r,n;if("DETAILS"===e.nodeName){const o=e.querySelector("summary"),i=e.querySelector("p");return a(t,"Accordion",{[ae]:null!==(r=null==o?void 0:o.textContent)&&void 0!==r?r:"",[se]:null!==(n=null==i?void 0:i.textContent)&&void 0!==n?n:""})}}},serialize:(e,t,r)=>{const{align:n="left",depth:o=0}=null!=r?r:{};return`<div>${e.children.filter(e=>y.isElement(e)).map(e=>`<details data-meta-align="${n}" data-meta-depth="${o}">${e.children.filter(e=>y.isElement(e)).map(e=>{const t=e;return t.type===ae?`<summary>${s(t.children)}</summary>`:`<p>${s(t.children)}</p>`}).join("")}</details>`).join("")}</div>`}},email:{serialize:(e,t,r)=>{const{align:n="left",depth:o=0}=null!=r?r:{};return`\n <table data-meta-align="${n}" data-meta-depth="${o}" style="width: 100%; border-collapse: collapse; margin-left: ${o}px;">\n <tbody>\n ${e.children.filter(e=>y.isElement(e)).map(e=>e.children.filter(e=>y.isElement(e)).map(e=>{const t=e;return t.type===ae?`\n <tr>\n <td style="\n border-radius: 0;\n border-width: 0;\n cursor: pointer;\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.5rem;\n margin-bottom: 0;\n padding-bottom: 1rem;\n padding-right: 2rem;\n padding-top: 1rem;\n position: relative;\n width: 100%;\n ">\n ${s(t.children)}\n <span style="position: absolute; right: 1rem; top: 50%; transform: translateY(-50%);">\n <svg viewbox="0 0 30 30" style="width: 12px; height: 100%;"><polygon points="15,17.4 4.8,7 2,9.8 15,23 28,9.8 25.2,7"></polygon></svg>\n </span>\n </td>\n </tr>`:`\n <tr>\n <td style="padding-bottom: 1rem; border-bottom: 1px solid #EFEFEE; font-size: .875rem; line-height: 1.25rem; overflow: hidden;">\n ${s(t.children)}\n </td>\n </tr>`}).join("")).join("")}\n </tbody>\n </table>`}}}});export{oe as AccordionCommands,le as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { YooptaPlugin } from '@yoopta/editor';
|
|
2
|
-
import { AccordionElementMap } from '../types';
|
|
2
|
+
import type { AccordionElementMap } from '../types';
|
|
3
3
|
declare const Accordion: YooptaPlugin<AccordionElementMap, Record<string, unknown>>;
|
|
4
4
|
export { Accordion };
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=accordion-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/accordion-plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAA0B,MAAM,UAAU,CAAC;AAM5E,QAAA,MAAM,SAAS,4DAmOb,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SlateElement } from '@yoopta/editor';
|
|
1
|
+
import type { SlateElement } from '@yoopta/editor';
|
|
2
2
|
export type AccordionElementKeys = 'accordion-list' | 'accordion-list-item' | 'accordion-list-item-heading' | 'accordion-list-item-content';
|
|
3
3
|
export type AccordionListItemProps = {
|
|
4
4
|
isExpanded: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,qBAAqB,GACrB,6BAA6B,GAC7B,6BAA6B,CAAC;AAElC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;AAC/F,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAClE,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAC1F,MAAM,MAAM,+BAA+B,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE1F,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,6BAA6B,EAAE,+BAA+B,CAAC;IAC/D,6BAA6B,EAAE,+BAA+B,CAAC;CAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yoopta/accordion",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-beta.1",
|
|
4
4
|
"description": "Accordion plugin for Yoopta Editor",
|
|
5
5
|
"author": "Darginec05 <devopsbanda@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/Darginec05/Yoopta-Editor#readme",
|
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
"dist/"
|
|
15
15
|
],
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@yoopta/editor": ">=4.
|
|
18
|
-
"react": ">=
|
|
19
|
-
"react-dom": ">=
|
|
20
|
-
},
|
|
21
|
-
"dependencies": {
|
|
22
|
-
"lucide-react": "^0.378.0"
|
|
17
|
+
"@yoopta/editor": ">=4.9.9",
|
|
18
|
+
"react": ">=18.2.0",
|
|
19
|
+
"react-dom": ">=18.2.0"
|
|
23
20
|
},
|
|
24
21
|
"publishConfig": {
|
|
25
|
-
"registry": "https://registry.npmjs.org"
|
|
22
|
+
"registry": "https://registry.npmjs.org",
|
|
23
|
+
"access": "public"
|
|
26
24
|
},
|
|
27
25
|
"repository": {
|
|
28
26
|
"type": "git",
|
|
@@ -37,5 +35,5 @@
|
|
|
37
35
|
"bugs": {
|
|
38
36
|
"url": "https://github.com/Darginec05/Yoopta-Editor/issues"
|
|
39
37
|
},
|
|
40
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "ff6a5ae2937a56e0d1820df29fdfd6356171786c"
|
|
41
39
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EAGvB,MAAM,UAAU,CAAC;AAElB,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,KAAK,sBAAsB,GAAG,uBAAuB,GAAG;IACtD,EAAE,CAAC,EAAE,eAAe,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sBAAsB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,oBAAoB,CAAC;IAChH,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IACxF,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBA0C/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAmD,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAgB/C,QAAA,MAAM,SAAS,4DA8Mb,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItemContent.d.ts","sourceRoot":"","sources":["../../src/renders/AccordionItemContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAY,wBAAwB,EAAmB,MAAM,gBAAgB,CAAC;AAErF,eAAO,MAAM,oBAAoB,+BAAgC,wBAAwB,gBAuBxF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItemHeading.d.ts","sourceRoot":"","sources":["../../src/renders/AccordionItemHeading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAwD,MAAM,gBAAgB,CAAC;AAKhH,eAAO,MAAM,oBAAoB,+BAAgC,wBAAwB,gBA2GxF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionList.d.ts","sourceRoot":"","sources":["../../src/renders/AccordionList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,aAAa,+BAAgC,wBAAwB,gBAMjF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionListItem.d.ts","sourceRoot":"","sources":["../../src/renders/AccordionListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,+BAAgC,wBAAwB,gBAUrF,CAAC"}
|