@yoopta/accordion 4.9.9 → 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/{AccordionCommands.d.ts → accordion-commands.d.ts} +3 -3
- package/dist/commands/accordion-commands.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/{AccordionPlugin.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/AccordionCommands.d.ts.map +0 -1
- package/dist/extensions/withAccordion.d.ts +0 -3
- package/dist/extensions/withAccordion.d.ts.map +0 -1
- package/dist/extensions/withAccordionListItemNormalize.d.ts +0 -3
- package/dist/extensions/withAccordionListItemNormalize.d.ts.map +0 -1
- package/dist/extensions/withAccordionListItemNormalize.test.d.ts +0 -2
- package/dist/extensions/withAccordionListItemNormalize.test.d.ts.map +0 -1
- package/dist/extensions/withAccordionListNormalize.d.ts +0 -3
- package/dist/extensions/withAccordionListNormalize.d.ts.map +0 -1
- package/dist/extensions/withAccordionListNormalize.test.d.ts +0 -2
- package/dist/extensions/withAccordionListNormalize.test.d.ts.map +0 -1
- package/dist/plugin/AccordionPlugin.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"}
|
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/AccordionCommands';
|
|
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 m={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 g=f((({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:o="",children:i,iconNode:a,...s},c)=>u("svg",{ref:c,...m,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]]))),v=(e,t)=>{const r=f((({className:r,...n},o)=>{return u(g,{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=v("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),w=v("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"}]]),_=v("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),O=v("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 A(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var S=Object.getPrototypeOf;function N(e){return!!e&&!!e[j]}function C(e){return!!e&&(T(e)||Array.isArray(e)||!!e[k]||!!e.constructor?.[k]||q(e)||I(e))}var z=Object.prototype.constructor.toString();function T(e){if(!e||"object"!=typeof e)return!1;const t=S(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===L(e)?Reflect.ownKeys(e).forEach((r=>{t(r,e[r],e)})):e.forEach(((r,n)=>t(n,r,e)))}function L(e){const t=e[j];return t?t.type_:Array.isArray(e)?1:q(e)?2:I(e)?3:0}function R(e,t){return 2===L(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function B(e,t,r){const n=L(e);2===n?e.set(t,r):3===n?e.add(r):e[t]=r}function q(e){return e instanceof Map}function I(e){return e instanceof Set}function F(e){return e.copy_||e.base_}function M(e,t){if(q(e))return new Map(e);if(I(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&T(e)){if(!S(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(S(e),r)}function W(e,t=!1){return $(e)||N(e)||!C(e)||(L(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(){A(2)}function $(e){return Object.isFrozen(e)}var H,K={};function J(e){const t=K[e];return t||A(0),t}function Z(){return H}function U(e,t){t&&(J("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function X(e){Y(e),e.drafts_.forEach(Q),e.drafts_=null}function Y(e){e===H&&(H=e.parent_)}function G(e){return H={drafts_:[],parent_:H,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_&&(X(t),A(4)),C(e)&&(e=te(t,e),t.parent_||ne(t,e)),t.patches_&&J("Patches").generateReplacementPatches_(r[j].base_,e,t.patches_,t.inversePatches_)):e=te(t,r,[]),X(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_&&J("Patches").generatePatches_(n,r,e.patches_,e.inversePatches_)}return n.copy_}function re(e,t,r,n,o,i,a){if(N(o)){const a=te(e,o,i&&t&&3!==t.type_&&!R(t.assigned_,n)?i.concat(n):void 0);if(B(r,n,a),!N(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=F(e);if(!R(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 F(e),ownKeys:e=>Reflect.ownKeys(F(e)),set(e,t,r){const n=se(F(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const n=ae(F(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||R(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=F(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:n.enumerable,value:r[t]}:n},defineProperty(){A(11)},getPrototypeOf:e=>S(e.base_),setPrototypeOf(){A(12)}},ie={};function ae(e,t){const r=e[j];return(r?F(r):e)[t]}function se(e,t){if(!(t in e))return;let r=S(e);for(;r;){const e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=S(r)}}function ce(e){e.modified_||(e.modified_=!0,e.parent_&&ce(e.parent_))}function le(e){e.copy_||(e.copy_=M(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=q(e)?J("MapSet").proxyMap_(e,t):I(e)?J("MapSet").proxySet_(e,t):function(e,t){const r=Array.isArray(e),n={type_:r?1:0,scope_:t?t.scope_:Z(),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_:Z()).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=M(e,t.scope_.immer_.useStrictShallowCopy_)}else r=M(e,!0);return D(r,((e,t)=>{B(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&&A(6),void 0!==r&&"function"!=typeof r&&A(7),C(e)){const o=G(this),i=de(e,void 0);let a=!0;try{n=t(i),a=!1}finally{a?X(o):Y(o)}return U(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=[];J("Patches").generateReplacementPatches_(e,n,t,o),r(t,o)}return n}A(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)||A(8),N(e)&&(e=function(e){N(e)||A(10);return pe(e)}(e));const t=G(this),r=de(e,void 0);return r[j].isManual_=!0,Y(t),r}finishDraft(e,t){const r=e&&e[j];r&&r.isManual_||A(9);const{scope_:n}=r;return U(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=J("Patches").applyPatches_;return N(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),me={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=me.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 me.equals(n,o)&&i>a},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return me.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 me.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===me.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===me.compare(e,t),isBefore:(e,t)=>-1===me.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===me.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===me.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===me.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===me.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]&&me.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(!me.isAncestor(t,e)&&!me.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;(me.equals(i,n)||me.endsBefore(i,n)||me.isAncestor(i,n))&&(n[i.length-1]+=1);break;case"remove_node":var{path:a}=t;if(me.equals(a,n)||me.isAncestor(a,n))return null;me.endsBefore(a,n)&&(n[a.length-1]-=1);break;case"merge_node":var{path:s,position:c}=t;me.equals(s,n)||me.endsBefore(s,n)?n[s.length-1]-=1:me.isAncestor(s,n)&&(n[s.length-1]-=1,n[s.length]+=c);break;case"split_node":var{path:l,position:d}=t;if(me.equals(l,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else me.endsBefore(l,n)?n[l.length-1]+=1:me.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(me.equals(p,f))return n;if(me.isAncestor(p,n)||me.equals(p,n)){var u=f.slice();return me.endsBefore(p,f)&&p.length<f.length&&(u[p.length-1]-=1),u.concat(n.slice(p.length))}me.isSibling(p,f)&&(me.isAncestor(f,n)||me.equals(f,n))?me.endsBefore(p,n)?n[p.length-1]-=1:n[p.length-1]+=1:me.endsBefore(f,n)||me.equals(f,n)||me.isAncestor(f,n)?(me.endsBefore(p,n)&&(n[p.length-1]-=1),n[f.length-1]+=1):me.endsBefore(p,n)&&(me.equals(f,n)&&(n[f.length-1]+=1),n[p.length-1]-=1)}return n}};function ge(e){return ge="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},ge(e)}function ve(e){var t=function(e,t){if("object"!==ge(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ge(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ge(t)?t:String(t)}function be(e,t,r){return(t=ve(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=Le.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 Se.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=Le.leaf(e,l),u=f.text.slice(0,d),h=f.text.slice(d);if(f.text=u+p+h,t)for(var[y,m]of Se.points(t))t[m]=Ve.transform(y,r);break;case"merge_node":var{path:g}=r,v=Le.get(e,g),b=me.previous(g),w=Le.get(e,b),_=Le.parent(e,g),O=g[g.length-1];if(Ye.isText(v)&&Ye.isText(w))w.text+=v.text;else{if(Ye.isText(v)||Ye.isText(w))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(g,"] to nodes of different interfaces: ").concat(He.stringify(v)," ").concat(He.stringify(w)));w.children.push(...v.children)}if(_.children.splice(O,1),t)for(var[x,P]of Se.points(t))t[P]=Ve.transform(x,r);break;case"move_node":var{path:E,newPath:k}=r;if(me.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=Le.get(e,E),A=Le.parent(e,E),S=E[E.length-1];A.children.splice(S,1);var N=me.transform(E,r),C=Le.get(e,me.parent(N)),z=N[N.length-1];if(C.children.splice(z,0,j),t)for(var[T,D]of Se.points(t))t[D]=Ve.transform(T,r);break;case"remove_node":var{path:L}=r,R=L[L.length-1];if(Le.parent(e,L).children.splice(R,1),t)for(var[B,q]of Se.points(t)){var I=Ve.transform(B,r);if(null!=t&&null!=I)t[q]=I;else{var F=void 0,M=void 0;for(var[W,V]of Le.texts(e)){if(-1!==me.compare(V,L)){M=[W,V];break}F=[W,V]}var $=!1;F&&M&&($=me.equals(M[1],L)?!me.hasPrevious(M[1]):me.common(F[1],L).length<me.common(M[1],L).length),F&&!$?(B.path=F[1],B.offset=F[0].text.length):M?(B.path=M[1],B.offset=0):t=null}}break;case"remove_text":var{path:H,offset:K,text:J}=r;if(0===J.length)break;var Z=Le.leaf(e,H),U=Z.text.slice(0,K),X=Z.text.slice(K+J.length);if(Z.text=U+X,t)for(var[Y,G]of Se.points(t))t[G]=Ve.transform(Y,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=Le.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(!Se.isRange(ae))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(He.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=Le.get(e,le),he=Le.parent(e,le),ye=le[le.length-1];if(Ye.isText(ue)){var ge=ue.text.slice(0,de),ve=ue.text.slice(de);ue.text=ge,fe=_e(_e({},pe),{},{text:ve})}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 Se.points(t))t[xe]=Ve.transform(Oe,r)}return t})(e,r,t)}finally{e.children=ye(e.children),e.selection=r?N(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 Ae(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 Se={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return Se.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=Se.edges(e);return t},equals:(e,t)=>Ve.equals(e.anchor,t.anchor)&&Ve.equals(e.focus,t.focus),includes(e,t){if(Se.isRange(t)){if(Se.includes(e,t.anchor)||Se.includes(e,t.focus))return!0;var[r,n]=Se.edges(e),[o,i]=Se.edges(t);return Ve.isBefore(r,o)&&Ve.isAfter(n,i)}var[a,s]=Se.edges(e),c=!1,l=!1;return Ve.isPoint(t)?(c=Ve.compare(t,a)>=0,l=Ve.compare(t,s)<=0):(c=me.compare(t,a.path)>=0,l=me.compare(t,s.path)<=0),c&&l},intersection(e,t){var r=ke(e,je),[n,o]=Se.edges(e),[i,a]=Se.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?Ae(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ae(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=>!Se.isCollapsed(e),isForward:e=>!Se.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]=Se.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=Se.isCollapsed(e);Se.isForward(e)?(n="forward",o=a?n:"backward"):(n="backward",o=a?n:"forward")}else"outward"===i?Se.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}))}},Ne=e=>P(e)&&Le.isNodeList(e.children)&&!Fe.isEditor(e),Ce={isAncestor:e=>P(e)&&Le.isNodeList(e.children),isElement:Ne,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 Ne(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,Le={ancestor(e,t){var r=Le.get(e,t);if(Ye.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(He.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of me.ancestors(t,r)){var o=[Le.ancestor(e,n),n];yield o}}()},child(e,t){if(Ye.isText(e))throw new Error("Cannot get the child of a text node: ".concat(He.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(He.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=Le.ancestor(e,t),{children:i}=o,a=n?i.length-1:0;n?a>=0:a<i.length;){var s=Le.child(o,a),c=t.concat(a);yield[s,c],a=n?a-1:a+1}}()},common(e,t,r){var n=me.common(t,r);return[Le.get(e,n),n]},descendant(e,t){var r=Le.get(e,t);if(Fe.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(He.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of Le.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 Le.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=Le.get(e,r);n&&!Ye.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,t){if(Ye.isText(e))throw new Error("Cannot get a fragment starting from a root text node: ".concat(He.stringify(e)));return ue({children:e.children},(e=>{var[r,n]=Se.edges(t),o=Le.nodes(e,{reverse:!0,pass:e=>{var[,r]=e;return!Se.includes(t,r)}});for(var[,i]of o){if(!Se.includes(t,i)){var a=Le.parent(e,i),s=i[i.length-1];a.children.splice(s,1)}if(me.equals(i,n.path)){var c=Le.leaf(e,i);c.text=c.text.slice(0,n.offset)}if(me.equals(i,r.path)){var l=Le.leaf(e,i);l.text=l.text.slice(r.offset)}}Fe.isEditor(e)&&(e.selection=null)})).children},get(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(Ye.isText(r)||!r.children[o])throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(He.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(Ye.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode:e=>Ye.isText(e)||Ce.isElement(e)||Fe.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=>Le.isNode(e)));return De.set(e,r),r},last(e,t){for(var r=t.slice(),n=Le.get(e,r);n&&!Ye.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=Le.get(e,t);if(!Ye.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(He.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of me.levels(t,r)){var o=Le.get(e,n);yield[o,n]}}()},matches:(e,t)=>Ce.isElement(e)&&Ce.isElementProps(t)&&Ce.matches(e,t)||Ye.isText(e)&&Ye.isTextProps(t)&&Ye.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?me.isBefore(s,i):me.isAfter(s,i));)if(a.has(c)||(yield[c,s]),a.has(c)||Ye.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var l=me.next(s);if(Le.has(e,l)){s=l,c=Le.get(e,s);continue}}if(n&&0!==s[s.length-1])s=me.previous(s),c=Le.get(e,s);else s=me.parent(s),c=Le.get(e,s),a.add(c)}else{a.add(c);var d=n?c.children.length-1:0;me.isAncestor(s,o)&&(d=o[s.length]),s=s.concat(d),c=Le.get(e,s)}}()},parent(e,t){var r=me.parent(t),n=Le.get(e,r);if(Ye.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=>Ye.isText(e)?e.text:e.children.map(Le.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of Le.nodes(e,t))Ye.isText(r)&&(yield[r,n])}()}};function Re(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 Be(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Re(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var qe={isNodeOperation:e=>qe.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!P(e))return!1;switch(e.type){case"insert_node":case"remove_node":return me.isPath(e.path)&&Le.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&me.isPath(e.path);case"merge_node":return"number"==typeof e.position&&me.isPath(e.path)&&P(e.properties);case"move_node":return me.isPath(e.path)&&me.isPath(e.newPath);case"set_node":return me.isPath(e.path)&&P(e.properties)&&P(e.newProperties);case"set_selection":return null===e.properties&&Se.isRange(e.newProperties)||null===e.newProperties&&Se.isRange(e.properties)||P(e.properties)&&P(e.newProperties);case"split_node":return me.isPath(e.path)&&"number"==typeof e.position&&P(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every((e=>qe.isOperation(e))),isSelectionOperation:e=>qe.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>qe.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return Be(Be({},e),{},{type:"remove_node"});case"insert_text":return Be(Be({},e),{},{type:"remove_text"});case"merge_node":return Be(Be({},e),{},{type:"split_node",path:me.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(me.equals(t,r))return e;if(me.isSibling(r,t))return Be(Be({},e),{},{path:t,newPath:r});var n=me.transform(r,e),o=me.transform(me.next(r),e);return Be(Be({},e),{},{path:n,newPath:o});case"remove_node":return Be(Be({},e),{},{type:"insert_node"});case"remove_text":return Be(Be({},e),{},{type:"insert_text"});case"set_node":var{properties:i,newProperties:a}=e;return Be(Be({},e),{},{properties:a,newProperties:i});case"set_selection":var{properties:s,newProperties:c}=e;return Be(Be({},e),{},null==s?{properties:c,newProperties:null}:null==c?{properties:null,newProperties:s}:{properties:c,newProperties:s});case"split_node":return Be(Be({},e),{},{type:"merge_node",path:me.next(e.path)})}}},Ie=new WeakMap,Fe={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=Ie.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||Se.isRange(e.selection))&&Le.isNodeList(e.children)&&qe.isOperationList(e.operations);return Ie.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 Me(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?Me(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Me(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Ve={compare(e,t){var r=me.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&&me.equals(e.path,t.path),isPoint:e=>P(e)&&"number"==typeof e.offset&&me.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=me.transform(o,t,r);break;case"insert_text":me.equals(t.path,o)&&(t.offset<i||t.offset===i&&"forward"===n)&&(e.offset+=t.text.length);break;case"merge_node":me.equals(t.path,o)&&(e.offset+=t.position),e.path=me.transform(o,t,r);break;case"remove_text":me.equals(t.path,o)&&t.offset<=i&&(e.offset-=Math.min(i-t.offset,t.text.length));break;case"remove_node":if(me.equals(t.path,o)||me.isAncestor(t.path,o))return null;e.path=me.transform(o,t,r);break;case"split_node":if(me.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=me.transform(o,t,We(We({},r),{},{affinity:"forward"})))}else e.path=me.transform(o,t,r)}}))}},$e=void 0,He={setScrubber(e){$e=e},stringify:e=>JSON.stringify(e,$e)},Ke=["text"],Je=["anchor","focus"];function Ze(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 Ue(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ze(Object(r),!0).forEach((function(t){be(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Xe,Ye={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return ke(e,Ke)}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=>Ye.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=[Ue({},e)];for(var n of t){var o=ke(n,Je),[i,a]=Se.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,m=void 0;if(d<c){var g=d-u;m=Ue(Ue({},h),{},{text:h.text.slice(g)}),h=Ue(Ue({},h),{},{text:h.text.slice(0,g)})}if(l>u){var v=l-u;y=Ue(Ue({},h),{},{text:h.text.slice(0,v)}),h=Ue(Ue({},h),{},{text:h.text.slice(v)})}Object.assign(h,o),y&&s.push(y),s.push(h),m&&s.push(m)}}r=s}return r}},Ge=e=>e.selection?e.selection:e.children.length>0?Fe.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"}(Xe||(Xe={})),Xe.L,Xe.L,Xe.V,Xe.LV,Xe.LVT,Xe.LV,Xe.V,Xe.V,Xe.T,Xe.LVT,Xe.T,Xe.T,Xe.Any,Xe.Extend,Xe.ZWJ,Xe.Any,Xe.SpacingMark,Xe.Prepend,Xe.Any,Xe.ZWJ,Xe.ExtPict,Xe.RI,Xe.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]:{};Fe.withoutNormalizing(e,(()=>{var{voids:n=!1}=r,{at:o=Ge(e)}=r;if(me.isPath(o)&&(o=Fe.range(e,o)),Se.isRange(o))if(Se.isCollapsed(o))o=o.anchor;else{var i=Se.end(o);if(!n&&Fe.void(e,{at:i}))return;var a=Se.start(o),s=Fe.pointRef(e,a),c=Fe.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&&Fe.void(e,{at:o})||Fe.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={AccordionList:"accordion-list",AccordionListItem:"accordion-list-item",AccordionListItemHeading:"accordion-list-item-heading",AccordionListItemContent:"accordion-list-item-content"};const it=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,m=n(),g=o(),v=e=>{var t;e.stopPropagation();const r=i.getParentElementPath(m,u,y),n=i.getElement(m,u,{path:r,type:"accordion-list-item"});n&&i.updateElement(m,u,{type:"accordion-list-item",props:{isExpanded:!(null===(t=n.props)||void 0===t?void 0:t.isExpanded)}},{path:r})},w=i.getParentElementPath(m,u,y),x=i.getElement(m,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:g?v: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:[!g&&t(r,{children:[e("button",Object.assign({type:"button",contentEditable:!1,onClick:e=>{e.preventDefault(),e.stopPropagation();const t=i.getParentElementPath(m,u,y),r=i.getElementChildren(m,u,{path:t,type:"accordion-list"});1!==(null==r?void 0:r.length)?t&&i.deleteElement(m,u,{type:"accordion-list-item",path:t}):a.deleteBlock(m,{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(m,u,y),r=me.next(t);i.createElement(m,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:v,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)===ot.AccordionListItemContent)return void o.preventDefault();if(d&&(null==l?void 0:l.type)===ot.AccordionListItemHeading){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)===ot.AccordionListItemHeading&&r){const[t,o]=r;return void i.updateElement(e,n.id,{type:ot.AccordionListItem,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})}}},extensions:function(e,t){return e=function(e,t){const{normalizeNode:r}=e;return e.normalizeNode=([t,n])=>{if(!Ce.isElement(t))return r([t,n]);if(t.type!==ot.AccordionListItem)return r([t,n]);const o=Fe.parent(e,n);if(o){const[t]=o;if(Ce.isElement(t)&&t.type!==ot.AccordionList)return void rt.unwrapNodes(e,{at:n})}const i=Fe.nodes(e,{at:n,match:e=>Ce.isElement(e),mode:"lowest"}),a=Array.from(i);if(a.length>0&&Ce.isElement(a[0][0])&&a[0][0].type!==ot.AccordionListItemHeading)rt.setNodes(e,{id:s(),type:ot.AccordionListItemHeading,props:{}},{at:a[0][1]});else if(a.length>1&&Ce.isElement(a[1][0])&&a[1][0].type!==ot.AccordionListItemContent)rt.setNodes(e,{id:s(),type:ot.AccordionListItemContent,props:{}},{at:a[1][1]});else{if(!(a.length>2))return r([t,n]);for(let t=2;t<a.length;t+=2){const[r,n]=a[t];let[o,i]=a[t+1]||[null,null];o||(o={id:s(),type:ot.AccordionListItemContent,children:[{text:""}]}),Ce.isElement(r)&&Ce.isElement(o)&&(n&&Fe.hasPath(e,n)&&rt.removeNodes(e,{at:n}),i&&Fe.hasPath(e,i)&&rt.removeNodes(e,{at:i}))}}},e}(e=function(e,t){const{normalizeNode:r}=e;return e.normalizeNode=([t,n])=>{if(!Ce.isElement(t))return r([t,n]);if(t.type!==ot.AccordionList)return r([t,n]);const o=Fe.parent(e,n);if(o){const[t]=o;if(Ce.isElement(t))return void rt.unwrapNodes(e,{at:n})}return r([t,n])},e}(e))},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",{[ot.AccordionListItemHeading]:(null==r?void 0:r.textContent)||"",[ot.AccordionListItemContent]:(null==n?void 0:n.textContent)||""})}}},serialize:(e,t,r)=>{const{align:n="left",depth:o=0}=r||{};return`<div>${e.children.filter(Ce.isElement).map((e=>`<details data-meta-align="${n}" data-meta-depth="${o}">${e.children.filter(Ce.isElement).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.filter(Ce.isElement).map((e=>e.children.filter(Ce.isElement).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,it 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":"AccordionCommands.d.ts","sourceRoot":"","sources":["../../src/commands/AccordionCommands.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":"withAccordion.d.ts","sourceRoot":"","sources":["../../src/extensions/withAccordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIxD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,qCAKlE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withAccordionListItemNormalize.d.ts","sourceRoot":"","sources":["../../src/extensions/withAccordionListItemNormalize.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGpE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,qCAqFnF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withAccordionListItemNormalize.test.d.ts","sourceRoot":"","sources":["../../src/extensions/withAccordionListItemNormalize.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withAccordionListNormalize.d.ts","sourceRoot":"","sources":["../../src/extensions/withAccordionListNormalize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGxD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,qCA0B/E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withAccordionListNormalize.test.d.ts","sourceRoot":"","sources":["../../src/extensions/withAccordionListNormalize.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/AccordionPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAmD,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAW/C,QAAA,MAAM,SAAS,4DAmNb,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"}
|