@prosekit/solid 0.7.0-beta.1 → 0.7.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prosekit-solid-autocomplete.d.ts +225 -19
- package/dist/prosekit-solid-autocomplete.d.ts.map +1 -1
- package/dist/prosekit-solid-autocomplete.js +204 -9
- package/dist/prosekit-solid-autocomplete.js.map +1 -1
- package/dist/prosekit-solid-block-handle.d.ts +209 -15
- package/dist/prosekit-solid-block-handle.d.ts.map +1 -1
- package/dist/prosekit-solid-block-handle.js +160 -7
- package/dist/prosekit-solid-block-handle.js.map +1 -1
- package/dist/prosekit-solid-drop-indicator.d.ts +26 -7
- package/dist/prosekit-solid-drop-indicator.d.ts.map +1 -1
- package/dist/prosekit-solid-drop-indicator.js +29 -3
- package/dist/prosekit-solid-drop-indicator.js.map +1 -1
- package/dist/prosekit-solid-inline-popover.d.ts +203 -9
- package/dist/prosekit-solid-inline-popover.d.ts.map +1 -1
- package/dist/prosekit-solid-inline-popover.js +128 -5
- package/dist/prosekit-solid-inline-popover.js.map +1 -1
- package/dist/prosekit-solid-menu.d.ts +287 -0
- package/dist/prosekit-solid-menu.d.ts.map +1 -0
- package/dist/prosekit-solid-menu.js +241 -0
- package/dist/prosekit-solid-menu.js.map +1 -0
- package/dist/prosekit-solid-popover.d.ts +226 -15
- package/dist/prosekit-solid-popover.d.ts.map +1 -1
- package/dist/prosekit-solid-popover.js +165 -7
- package/dist/prosekit-solid-popover.js.map +1 -1
- package/dist/prosekit-solid-resizable.d.ts +55 -13
- package/dist/prosekit-solid-resizable.d.ts.map +1 -1
- package/dist/prosekit-solid-resizable.js +69 -7
- package/dist/prosekit-solid-resizable.js.map +1 -1
- package/dist/prosekit-solid-table-handle.d.ts +446 -39
- package/dist/prosekit-solid-table-handle.d.ts.map +1 -1
- package/dist/prosekit-solid-table-handle.js +334 -19
- package/dist/prosekit-solid-table-handle.js.map +1 -1
- package/dist/prosekit-solid-tooltip.d.ts +210 -15
- package/dist/prosekit-solid-tooltip.d.ts.map +1 -1
- package/dist/prosekit-solid-tooltip.js +149 -7
- package/dist/prosekit-solid-tooltip.js.map +1 -1
- package/dist/prosekit-solid.d.ts +23 -2
- package/dist/prosekit-solid.d.ts.map +1 -1
- package/package.json +26 -18
- package/src/components/autocomplete/autocomplete-empty.gen.ts +22 -24
- package/src/components/autocomplete/autocomplete-item.gen.ts +82 -26
- package/src/components/autocomplete/autocomplete-popup.gen.ts +78 -0
- package/src/components/autocomplete/autocomplete-positioner.gen.ts +167 -0
- package/src/components/autocomplete/autocomplete-root.gen.ts +110 -0
- package/src/components/autocomplete/index.gen.ts +12 -4
- package/src/components/autocomplete/index.ts +27 -0
- package/src/components/block-handle/block-handle-add.gen.ts +54 -26
- package/src/components/block-handle/block-handle-draggable.gen.ts +54 -26
- package/src/components/block-handle/block-handle-popup.gen.ts +27 -0
- package/src/components/block-handle/block-handle-positioner.gen.ts +185 -0
- package/src/components/block-handle/block-handle-root.gen.ts +82 -0
- package/src/components/block-handle/index.gen.ts +13 -3
- package/src/components/block-handle/index.ts +27 -0
- package/src/components/drop-indicator/drop-indicator.gen.ts +60 -26
- package/src/components/drop-indicator/index.gen.ts +5 -1
- package/src/components/drop-indicator/index.ts +14 -0
- package/src/components/inline-popover/index.gen.ts +11 -1
- package/src/components/inline-popover/index.ts +22 -0
- package/src/components/inline-popover/inline-popover-popup.gen.ts +27 -0
- package/src/components/inline-popover/inline-popover-positioner.gen.ts +191 -0
- package/src/components/inline-popover/inline-popover-root.gen.ts +106 -0
- package/src/components/menu/index.gen.ts +19 -0
- package/src/components/menu/index.ts +37 -0
- package/src/components/menu/menu-item.gen.ts +89 -0
- package/src/components/menu/menu-popup.gen.ts +53 -0
- package/src/components/menu/menu-positioner.gen.ts +192 -0
- package/src/components/menu/menu-root.gen.ts +86 -0
- package/src/components/menu/menu-submenu-root.gen.ts +27 -0
- package/src/components/menu/menu-submenu-trigger.gen.ts +27 -0
- package/src/components/menu/menu-trigger.gen.ts +77 -0
- package/src/components/popover/index.gen.ts +11 -3
- package/src/components/popover/index.ts +24 -0
- package/src/components/popover/popover-popup.gen.ts +27 -0
- package/src/components/popover/popover-positioner.gen.ts +192 -0
- package/src/components/popover/popover-root.gen.ts +90 -26
- package/src/components/popover/popover-trigger.gen.ts +90 -26
- package/src/components/resizable/index.gen.ts +8 -2
- package/src/components/resizable/index.ts +20 -0
- package/src/components/resizable/resizable-handle.gen.ts +49 -26
- package/src/components/resizable/resizable-root.gen.ts +89 -26
- package/src/components/table-handle/index.gen.ts +17 -9
- package/src/components/table-handle/index.ts +58 -0
- package/src/components/table-handle/table-handle-column-menu-root.gen.ts +61 -0
- package/src/components/table-handle/table-handle-column-menu-trigger.gen.ts +55 -0
- package/src/components/table-handle/table-handle-column-popup.gen.ts +27 -0
- package/src/components/table-handle/table-handle-column-positioner.gen.ts +196 -0
- package/src/components/table-handle/table-handle-drag-preview.gen.ts +52 -26
- package/src/components/table-handle/table-handle-drop-indicator.gen.ts +52 -26
- package/src/components/table-handle/table-handle-root.gen.ts +54 -26
- package/src/components/table-handle/table-handle-row-menu-root.gen.ts +61 -0
- package/src/components/table-handle/table-handle-row-menu-trigger.gen.ts +55 -0
- package/src/components/table-handle/table-handle-row-popup.gen.ts +27 -0
- package/src/components/table-handle/table-handle-row-positioner.gen.ts +196 -0
- package/src/components/tooltip/index.gen.ts +11 -3
- package/src/components/tooltip/index.ts +24 -0
- package/src/components/tooltip/tooltip-popup.gen.ts +27 -0
- package/src/components/tooltip/tooltip-positioner.gen.ts +192 -0
- package/src/components/tooltip/tooltip-root.gen.ts +83 -26
- package/src/components/tooltip/tooltip-trigger.gen.ts +58 -26
- package/dist/create-component.js +0 -41
- package/dist/create-component.js.map +0 -1
- package/dist/create-props.d.ts +0 -6
- package/dist/create-props.d.ts.map +0 -1
- package/dist/types.d.ts +0 -26
- package/dist/types.d.ts.map +0 -1
- package/src/components/autocomplete/autocomplete-list.gen.ts +0 -29
- package/src/components/autocomplete/autocomplete-popover.gen.ts +0 -29
- package/src/components/block-handle/block-handle-popover.gen.ts +0 -29
- package/src/components/create-component.ts +0 -60
- package/src/components/create-props.ts +0 -13
- package/src/components/inline-popover/inline-popover.gen.ts +0 -29
- package/src/components/popover/popover-content.gen.ts +0 -29
- package/src/components/table-handle/table-handle-column-root.gen.ts +0 -29
- package/src/components/table-handle/table-handle-column-trigger.gen.ts +0 -29
- package/src/components/table-handle/table-handle-popover-content.gen.ts +0 -29
- package/src/components/table-handle/table-handle-popover-item.gen.ts +0 -29
- package/src/components/table-handle/table-handle-row-root.gen.ts +0 -29
- package/src/components/table-handle/table-handle-row-trigger.gen.ts +0 -29
- package/src/components/tooltip/tooltip-content.gen.ts +0 -29
|
@@ -1,14 +1,172 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { createEffect, createSignal, mergeProps, splitProps } from "solid-js";
|
|
2
|
+
import h from "solid-js/h";
|
|
3
|
+
import { OpenChangeEvent, registerPopoverPopupElement, registerPopoverPositionerElement, registerPopoverRootElement, registerPopoverTriggerElement } from "@prosekit/web/popover";
|
|
4
|
+
//#region src/components/popover/popover-popup.gen.ts
|
|
5
|
+
/**
|
|
6
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A Solid component that renders an `prosekit-popover-popup` custom element.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
const PopoverPopup = (props) => {
|
|
14
|
+
registerPopoverPopupElement();
|
|
15
|
+
const restProps = props;
|
|
16
|
+
return () => h("prosekit-popover-popup", restProps);
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/popover/popover-positioner.gen.ts
|
|
20
|
+
/**
|
|
21
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* A Solid component that renders an `prosekit-popover-positioner` custom element.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
const PopoverPositioner = (props) => {
|
|
29
|
+
registerPopoverPositionerElement();
|
|
30
|
+
const [getElement, setElement] = createSignal(null);
|
|
31
|
+
const [elementProps, restProps] = splitProps(props, [
|
|
32
|
+
"altBoundary",
|
|
33
|
+
"autoUpdate",
|
|
34
|
+
"boundary",
|
|
35
|
+
"elementContext",
|
|
36
|
+
"fitViewport",
|
|
37
|
+
"flip",
|
|
38
|
+
"hide",
|
|
39
|
+
"hoist",
|
|
40
|
+
"inline",
|
|
41
|
+
"offset",
|
|
42
|
+
"overflowPadding",
|
|
43
|
+
"overlap",
|
|
44
|
+
"placement",
|
|
45
|
+
"rootBoundary",
|
|
46
|
+
"sameHeight",
|
|
47
|
+
"sameWidth",
|
|
48
|
+
"shift",
|
|
49
|
+
"strategy"
|
|
50
|
+
]);
|
|
51
|
+
createEffect(() => {
|
|
52
|
+
const element = getElement();
|
|
53
|
+
if (!element) return;
|
|
54
|
+
Object.assign(element, {
|
|
55
|
+
altBoundary: elementProps.altBoundary,
|
|
56
|
+
autoUpdate: elementProps.autoUpdate,
|
|
57
|
+
boundary: elementProps.boundary,
|
|
58
|
+
elementContext: elementProps.elementContext,
|
|
59
|
+
fitViewport: elementProps.fitViewport,
|
|
60
|
+
flip: elementProps.flip,
|
|
61
|
+
hide: elementProps.hide,
|
|
62
|
+
hoist: elementProps.hoist,
|
|
63
|
+
inline: elementProps.inline,
|
|
64
|
+
offset: elementProps.offset,
|
|
65
|
+
overflowPadding: elementProps.overflowPadding,
|
|
66
|
+
overlap: elementProps.overlap,
|
|
67
|
+
placement: elementProps.placement,
|
|
68
|
+
rootBoundary: elementProps.rootBoundary,
|
|
69
|
+
sameHeight: elementProps.sameHeight,
|
|
70
|
+
sameWidth: elementProps.sameWidth,
|
|
71
|
+
shift: elementProps.shift,
|
|
72
|
+
strategy: elementProps.strategy
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
return () => h("prosekit-popover-positioner", mergeProps(restProps, { ref: (el) => {
|
|
76
|
+
setElement(el);
|
|
77
|
+
} }));
|
|
78
|
+
};
|
|
5
79
|
//#endregion
|
|
6
80
|
//#region src/components/popover/popover-root.gen.ts
|
|
7
|
-
|
|
81
|
+
/**
|
|
82
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* A Solid component that renders an `prosekit-popover-root` custom element.
|
|
86
|
+
*
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
const PopoverRoot = (props) => {
|
|
90
|
+
registerPopoverRootElement();
|
|
91
|
+
const [getElement, setElement] = createSignal(null);
|
|
92
|
+
const handlers = [];
|
|
93
|
+
const [elementProps, eventHandlers, restProps] = splitProps(props, [
|
|
94
|
+
"defaultOpen",
|
|
95
|
+
"disabled",
|
|
96
|
+
"modal",
|
|
97
|
+
"open"
|
|
98
|
+
], ["onOpenChange"]);
|
|
99
|
+
createEffect(() => {
|
|
100
|
+
const element = getElement();
|
|
101
|
+
if (!element) return;
|
|
102
|
+
Object.assign(element, {
|
|
103
|
+
defaultOpen: elementProps.defaultOpen,
|
|
104
|
+
disabled: elementProps.disabled,
|
|
105
|
+
modal: elementProps.modal,
|
|
106
|
+
open: elementProps.open
|
|
107
|
+
});
|
|
108
|
+
handlers.length = 0;
|
|
109
|
+
handlers.push(eventHandlers.onOpenChange);
|
|
110
|
+
});
|
|
111
|
+
createEffect(() => {
|
|
112
|
+
const element = getElement();
|
|
113
|
+
if (!element) return;
|
|
114
|
+
const ac = new AbortController();
|
|
115
|
+
for (const [index, eventName] of ["openChange"].entries()) element.addEventListener(eventName, (event) => {
|
|
116
|
+
handlers[index]?.(event);
|
|
117
|
+
}, { signal: ac.signal });
|
|
118
|
+
return () => ac.abort();
|
|
119
|
+
});
|
|
120
|
+
return () => h("prosekit-popover-root", mergeProps(restProps, { ref: (el) => {
|
|
121
|
+
setElement(el);
|
|
122
|
+
} }));
|
|
123
|
+
};
|
|
8
124
|
//#endregion
|
|
9
125
|
//#region src/components/popover/popover-trigger.gen.ts
|
|
10
|
-
|
|
126
|
+
/**
|
|
127
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
128
|
+
*/
|
|
129
|
+
/**
|
|
130
|
+
* A Solid component that renders an `prosekit-popover-trigger` custom element.
|
|
131
|
+
*
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
134
|
+
const PopoverTrigger = (props) => {
|
|
135
|
+
registerPopoverTriggerElement();
|
|
136
|
+
const [getElement, setElement] = createSignal(null);
|
|
137
|
+
const handlers = [];
|
|
138
|
+
const [elementProps, eventHandlers, restProps] = splitProps(props, [
|
|
139
|
+
"closeDelay",
|
|
140
|
+
"delay",
|
|
141
|
+
"disabled",
|
|
142
|
+
"openOnHover"
|
|
143
|
+
], ["onOpenChange"]);
|
|
144
|
+
createEffect(() => {
|
|
145
|
+
const element = getElement();
|
|
146
|
+
if (!element) return;
|
|
147
|
+
Object.assign(element, {
|
|
148
|
+
closeDelay: elementProps.closeDelay,
|
|
149
|
+
delay: elementProps.delay,
|
|
150
|
+
disabled: elementProps.disabled,
|
|
151
|
+
openOnHover: elementProps.openOnHover
|
|
152
|
+
});
|
|
153
|
+
handlers.length = 0;
|
|
154
|
+
handlers.push(eventHandlers.onOpenChange);
|
|
155
|
+
});
|
|
156
|
+
createEffect(() => {
|
|
157
|
+
const element = getElement();
|
|
158
|
+
if (!element) return;
|
|
159
|
+
const ac = new AbortController();
|
|
160
|
+
for (const [index, eventName] of ["openChange"].entries()) element.addEventListener(eventName, (event) => {
|
|
161
|
+
handlers[index]?.(event);
|
|
162
|
+
}, { signal: ac.signal });
|
|
163
|
+
return () => ac.abort();
|
|
164
|
+
});
|
|
165
|
+
return () => h("prosekit-popover-trigger", mergeProps(restProps, { ref: (el) => {
|
|
166
|
+
setElement(el);
|
|
167
|
+
} }));
|
|
168
|
+
};
|
|
11
169
|
//#endregion
|
|
12
|
-
export {
|
|
170
|
+
export { OpenChangeEvent, PopoverPopup, PopoverPositioner, PopoverRoot, PopoverTrigger };
|
|
13
171
|
|
|
14
172
|
//# sourceMappingURL=prosekit-solid-popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prosekit-solid-popover.js","names":[],"sources":["../src/components/popover/popover-content.gen.ts","../src/components/popover/popover-root.gen.ts","../src/components/popover/popover-trigger.gen.ts"],"sourcesContent":["import { \n type PopoverContentElement,\n type PopoverContentProps as Props,\n type PopoverContentEvents as Events,\n popoverContentProps,\n popoverContentEvents,\n} from '@prosekit/web/popover'\nimport type { Component } from 'solid-js'\n\nimport type { PropsWithElement } from '../../types.ts'\nimport { createComponent } from '../create-component.ts'\nimport type { CreateProps } from '../create-props.ts'\n\n/**\n * Props for the {@link PopoverContent} component.\n */\nexport interface PopoverContentProps extends Partial<CreateProps<Props, Events>> {}\n\nexport const PopoverContent: Component<PropsWithElement<\n PopoverContentProps,\n PopoverContentElement\n>> = createComponent<\n PopoverContentProps,\n PopoverContentElement\n>(\n 'prosekit-popover-content', \n Object.keys(popoverContentProps),\n Object.keys(popoverContentEvents),\n)\n","import { \n type PopoverRootElement,\n type PopoverRootProps as Props,\n type PopoverRootEvents as Events,\n popoverRootProps,\n popoverRootEvents,\n} from '@prosekit/web/popover'\nimport type { Component } from 'solid-js'\n\nimport type { PropsWithElement } from '../../types.ts'\nimport { createComponent } from '../create-component.ts'\nimport type { CreateProps } from '../create-props.ts'\n\n/**\n * Props for the {@link PopoverRoot} component.\n */\nexport interface PopoverRootProps extends Partial<CreateProps<Props, Events>> {}\n\nexport const PopoverRoot: Component<PropsWithElement<\n PopoverRootProps,\n PopoverRootElement\n>> = createComponent<\n PopoverRootProps,\n PopoverRootElement\n>(\n 'prosekit-popover-root', \n Object.keys(popoverRootProps),\n Object.keys(popoverRootEvents),\n)\n","import { \n type PopoverTriggerElement,\n type PopoverTriggerProps as Props,\n type PopoverTriggerEvents as Events,\n popoverTriggerProps,\n popoverTriggerEvents,\n} from '@prosekit/web/popover'\nimport type { Component } from 'solid-js'\n\nimport type { PropsWithElement } from '../../types.ts'\nimport { createComponent } from '../create-component.ts'\nimport type { CreateProps } from '../create-props.ts'\n\n/**\n * Props for the {@link PopoverTrigger} component.\n */\nexport interface PopoverTriggerProps extends Partial<CreateProps<Props, Events>> {}\n\nexport const PopoverTrigger: Component<PropsWithElement<\n PopoverTriggerProps,\n PopoverTriggerElement\n>> = createComponent<\n PopoverTriggerProps,\n PopoverTriggerElement\n>(\n 'prosekit-popover-trigger', \n Object.keys(popoverTriggerProps),\n Object.keys(popoverTriggerEvents),\n)\n"],"mappings":";;;AAkBA,MAAa,iBAGR,gBAIH,4BACA,OAAO,KAAK,oBAAoB,EAChC,OAAO,KAAK,qBAAqB,CAClC;;;ACVD,MAAa,cAGR,gBAIH,yBACA,OAAO,KAAK,iBAAiB,EAC7B,OAAO,KAAK,kBAAkB,CAC/B;;;ACVD,MAAa,iBAGR,gBAIH,4BACA,OAAO,KAAK,oBAAoB,EAChC,OAAO,KAAK,qBAAqB,CAClC"}
|
|
1
|
+
{"version":3,"file":"prosekit-solid-popover.js","names":[],"sources":["../src/components/popover/popover-popup.gen.ts","../src/components/popover/popover-positioner.gen.ts","../src/components/popover/popover-root.gen.ts","../src/components/popover/popover-trigger.gen.ts"],"sourcesContent":["/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerPopoverPopupElement, type PopoverPopupElement } from '@prosekit/web/popover';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link PopoverPopup} Solid component.\n *\n * @public\n */\nexport interface PopoverPopupProps extends JSX.HTMLAttributes<PopoverPopupElement> {}\n\n/**\n * A Solid component that renders an `prosekit-popover-popup` custom element.\n *\n * @public\n */\nexport const PopoverPopup: Component<PopoverPopupProps> = (props): any => {\n registerPopoverPopupElement();\n\n const restProps = props;\n\n return () => h('prosekit-popover-popup', restProps);\n};\n","/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerPopoverPositionerElement, type PopoverPositionerElement, type PopoverPositionerProps as PopoverPositionerElementProps } from '@prosekit/web/popover';\nimport { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link PopoverPositioner} Solid component.\n *\n * @public\n */\nexport interface PopoverPositionerProps extends JSX.HTMLAttributes<PopoverPositionerElement> {\n /**\n * The strategy to use for positioning\n *\n * @default \"absolute\"\n */\n strategy?: PopoverPositionerElementProps['strategy'];\n /**\n * The initial placement of the floating element\n *\n * @default \"top\"\n */\n placement?: PopoverPositionerElementProps['placement'];\n /**\n * Options to activate auto-update listeners\n *\n * @see https://floating-ui.com/docs/autoUpdate\n *\n * @default true\n */\n autoUpdate?: PopoverPositionerElementProps['autoUpdate'];\n /**\n * Whether to use the browser Popover API to place the floating element on\n * top of other page content.\n *\n * @default true\n */\n hoist?: PopoverPositionerElementProps['hoist'];\n /**\n * The distance between the reference and floating element.\n *\n * @default 6\n */\n offset?: PopoverPositionerElementProps['offset'];\n /**\n * Whether to flip the `placement` in order to keep it in view when the\n * preferred placement(s) will overflow the clipping boundary. You can also\n * provide an array of placements to try sequentially if the preferred\n * `placement` does not fit.\n *\n * @default true\n */\n flip?: PopoverPositionerElementProps['flip'];\n /**\n * Whether the floating element should shift to keep it in view.\n *\n * @default true\n */\n shift?: PopoverPositionerElementProps['shift'];\n /**\n * Whether the floating element can overlap the reference element to keep it\n * in view.\n *\n * @default false\n */\n overlap?: PopoverPositionerElementProps['overlap'];\n /**\n * Whether to constrain the floating element's width and height to not exceed\n * the viewport.\n *\n * @default false\n */\n fitViewport?: PopoverPositionerElementProps['fitViewport'];\n /**\n * Whether to constrain the floating element's width so that it matches the\n * reference element.\n *\n * @default false\n */\n sameWidth?: PopoverPositionerElementProps['sameWidth'];\n /**\n * Whether to constrain the floating element's height so that it matches the\n * reference element.\n *\n * @default false\n */\n sameHeight?: PopoverPositionerElementProps['sameHeight'];\n /**\n * Whether to improve positioning for inline reference elements that span over\n * multiple lines.\n *\n * @default false\n */\n inline?: PopoverPositionerElementProps['inline'];\n /**\n * Whether to hide the floating element when the reference element or the\n * floating element is fully clipped.\n *\n * @default false\n */\n hide?: PopoverPositionerElementProps['hide'];\n /**\n * Describes the clipping element(s) or area that overflow will be checked relative to.\n * Please see https://floating-ui.com/docs/detectoverflow#boundary for more information.\n *\n * @default 'clippingAncestors'\n */\n boundary?: PopoverPositionerElementProps['boundary'];\n /**\n * Describes the root boundary that the element will be checked for overflow relative to.\n * Please see https://floating-ui.com/docs/detectoverflow#rootboundary for more information.\n *\n * @default 'viewport'\n */\n rootBoundary?: PopoverPositionerElementProps['rootBoundary'];\n /**\n * Describes the virtual padding around the boundary to check for overflow.\n * Please see https://floating-ui.com/docs/detectoverflow#padding for more information.\n *\n * @default 4\n */\n overflowPadding?: PopoverPositionerElementProps['overflowPadding'];\n /**\n * The element that will be used to check for overflow. Please see\n * https://floating-ui.com/docs/detectoverflow#elementcontext for more\n * information.\n *\n * @default 'floating'\n */\n elementContext?: PopoverPositionerElementProps['elementContext'];\n /**\n * Whether to check the alternate elementContext's boundary. Please see\n * https://floating-ui.com/docs/detectoverflow#altboundary for more\n * information.\n *\n * @default false\n */\n altBoundary?: PopoverPositionerElementProps['altBoundary'];\n}\n\n/**\n * A Solid component that renders an `prosekit-popover-positioner` custom element.\n *\n * @public\n */\nexport const PopoverPositioner: Component<PopoverPositionerProps> = (props): any => {\n registerPopoverPositionerElement();\n\n const [getElement, setElement] = createSignal<PopoverPositionerElement | null>(null);\n\n const [elementProps, restProps] = splitProps(props, ['altBoundary', 'autoUpdate', 'boundary', 'elementContext', 'fitViewport', 'flip', 'hide', 'hoist', 'inline', 'offset', 'overflowPadding', 'overlap', 'placement', 'rootBoundary', 'sameHeight', 'sameWidth', 'shift', 'strategy']);\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n Object.assign(element, {\n altBoundary: elementProps.altBoundary,\n autoUpdate: elementProps.autoUpdate,\n boundary: elementProps.boundary,\n elementContext: elementProps.elementContext,\n fitViewport: elementProps.fitViewport,\n flip: elementProps.flip,\n hide: elementProps.hide,\n hoist: elementProps.hoist,\n inline: elementProps.inline,\n offset: elementProps.offset,\n overflowPadding: elementProps.overflowPadding,\n overlap: elementProps.overlap,\n placement: elementProps.placement,\n rootBoundary: elementProps.rootBoundary,\n sameHeight: elementProps.sameHeight,\n sameWidth: elementProps.sameWidth,\n shift: elementProps.shift,\n strategy: elementProps.strategy,\n });\n });\n\n return () =>\n h(\n 'prosekit-popover-positioner',\n mergeProps(restProps, {\n ref: (el: PopoverPositionerElement | null) => {\n setElement(el);\n },\n }),\n );\n};\n","/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerPopoverRootElement, type PopoverRootElement, type PopoverRootEvents, type PopoverRootProps as PopoverRootElementProps } from '@prosekit/web/popover';\nimport { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link PopoverRoot} Solid component.\n *\n * @public\n */\nexport interface PopoverRootProps extends JSX.HTMLAttributes<PopoverRootElement> {\n /**\n * Whether the popover should be modal.\n * When true, the popover will trap focus and prevent interaction with the rest of the page.\n *\n * @default false\n */\n modal?: PopoverRootElementProps['modal'];\n /**\n * Whether the overlay is initially open.\n * @default false\n */\n defaultOpen?: PopoverRootElementProps['defaultOpen'];\n /**\n * Whether the overlay is currently open.\n * @default null\n */\n open?: PopoverRootElementProps['open'];\n /**\n * Whether the component should ignore user interaction.\n * @default false\n */\n disabled?: PopoverRootElementProps['disabled'];\n /** Emitted when the popover is opened or closed. */\n onOpenChange?: (event: PopoverRootEvents['openChange']) => void;\n}\n\n/**\n * A Solid component that renders an `prosekit-popover-root` custom element.\n *\n * @public\n */\nexport const PopoverRoot: Component<PopoverRootProps> = (props): any => {\n registerPopoverRootElement();\n\n const [getElement, setElement] = createSignal<PopoverRootElement | null>(null);\n const handlers: Array<((event: any) => void) | undefined> = [];\n\n const [elementProps, eventHandlers, restProps] = splitProps(props, ['defaultOpen', 'disabled', 'modal', 'open'], ['onOpenChange']);\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n Object.assign(element, { defaultOpen: elementProps.defaultOpen, disabled: elementProps.disabled, modal: elementProps.modal, open: elementProps.open });\n\n handlers.length = 0;\n handlers.push(eventHandlers.onOpenChange);\n });\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n const ac = new AbortController();\n for (const [index, eventName] of ['openChange'].entries()) {\n element.addEventListener(\n eventName,\n (event) => {\n handlers[index]?.(event);\n },\n { signal: ac.signal },\n );\n }\n return () => ac.abort();\n });\n\n return () =>\n h(\n 'prosekit-popover-root',\n mergeProps(restProps, {\n ref: (el: PopoverRootElement | null) => {\n setElement(el);\n },\n }),\n );\n};\n\nexport type { PopoverRootEvents };\n","/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerPopoverTriggerElement, type PopoverTriggerElement, type PopoverTriggerEvents, type PopoverTriggerProps as PopoverTriggerElementProps } from '@prosekit/web/popover';\nimport { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link PopoverTrigger} Solid component.\n *\n * @public\n */\nexport interface PopoverTriggerProps extends JSX.HTMLAttributes<PopoverTriggerElement> {\n /**\n * Whether the component should ignore user interaction.\n * @default false\n */\n disabled?: PopoverTriggerElementProps['disabled'];\n /**\n * Whether the popover should also open when the trigger is hovered.\n * @default false\n */\n openOnHover?: PopoverTriggerElementProps['openOnHover'];\n /**\n * The delay in milliseconds before opening the popover when hovering.\n * Only applies when `openOnHover` is true.\n * @default 300\n */\n delay?: PopoverTriggerElementProps['delay'];\n /**\n * The delay in milliseconds before closing the popover when hover ends.\n * Only applies when `openOnHover` is true.\n * @default 0\n */\n closeDelay?: PopoverTriggerElementProps['closeDelay'];\n /** Emitted when the popover is opened or closed. */\n onOpenChange?: (event: PopoverTriggerEvents['openChange']) => void;\n}\n\n/**\n * A Solid component that renders an `prosekit-popover-trigger` custom element.\n *\n * @public\n */\nexport const PopoverTrigger: Component<PopoverTriggerProps> = (props): any => {\n registerPopoverTriggerElement();\n\n const [getElement, setElement] = createSignal<PopoverTriggerElement | null>(null);\n const handlers: Array<((event: any) => void) | undefined> = [];\n\n const [elementProps, eventHandlers, restProps] = splitProps(props, ['closeDelay', 'delay', 'disabled', 'openOnHover'], ['onOpenChange']);\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n Object.assign(element, { closeDelay: elementProps.closeDelay, delay: elementProps.delay, disabled: elementProps.disabled, openOnHover: elementProps.openOnHover });\n\n handlers.length = 0;\n handlers.push(eventHandlers.onOpenChange);\n });\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n const ac = new AbortController();\n for (const [index, eventName] of ['openChange'].entries()) {\n element.addEventListener(\n eventName,\n (event) => {\n handlers[index]?.(event);\n },\n { signal: ac.signal },\n );\n }\n return () => ac.abort();\n });\n\n return () =>\n h(\n 'prosekit-popover-trigger',\n mergeProps(restProps, {\n ref: (el: PopoverTriggerElement | null) => {\n setElement(el);\n },\n }),\n );\n};\n\nexport type { PopoverTriggerEvents };\n"],"mappings":"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"}
|
|
@@ -1,21 +1,63 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Component } from "solid-js";
|
|
4
|
-
import { ResizableHandleElement, ResizableHandleEvents, ResizableHandleProps as ResizableHandleProps$1, ResizableRootElement, ResizableRootEvents, ResizableRootProps as ResizableRootProps$1 } from "@prosekit/web/resizable";
|
|
1
|
+
import { Component, JSX } from "solid-js";
|
|
2
|
+
import { ResizableHandleElement, ResizableHandleProps as ResizableHandleProps$1, ResizableRootElement, ResizableRootEvents, ResizableRootProps as ResizableRootProps$1, ResizeEndEvent, ResizeStartEvent } from "@prosekit/web/resizable";
|
|
5
3
|
|
|
6
|
-
//#region src/components/resizable/resizable-
|
|
4
|
+
//#region src/components/resizable/resizable-root.gen.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Props for the {@link ResizableRoot} Solid component.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
interface ResizableRootProps extends JSX.HTMLAttributes<ResizableRootElement> {
|
|
11
|
+
/**
|
|
12
|
+
* The width of the resizable element.
|
|
13
|
+
*
|
|
14
|
+
* @default null
|
|
15
|
+
*/
|
|
16
|
+
width?: ResizableRootProps$1['width'];
|
|
17
|
+
/**
|
|
18
|
+
* The height of the resizable element.
|
|
19
|
+
*
|
|
20
|
+
* @default null
|
|
21
|
+
*/
|
|
22
|
+
height?: ResizableRootProps$1['height'];
|
|
23
|
+
/**
|
|
24
|
+
* The aspect ratio of the resizable element.
|
|
25
|
+
*
|
|
26
|
+
* @default null
|
|
27
|
+
*/
|
|
28
|
+
aspectRatio?: ResizableRootProps$1['aspectRatio'];
|
|
29
|
+
/** Emitted when a resize operation starts. */
|
|
30
|
+
onResizeStart?: (event: ResizableRootEvents['resizeStart']) => void;
|
|
31
|
+
/** Emitted when a resize operation ends. */
|
|
32
|
+
onResizeEnd?: (event: ResizableRootEvents['resizeEnd']) => void;
|
|
33
|
+
}
|
|
7
34
|
/**
|
|
8
|
-
*
|
|
35
|
+
* A Solid component that renders an `prosekit-resizable-root` custom element.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
9
38
|
*/
|
|
10
|
-
|
|
11
|
-
declare const ResizableHandle: Component<PropsWithElement<ResizableHandleProps, ResizableHandleElement>>;
|
|
39
|
+
declare const ResizableRoot: Component<ResizableRootProps>;
|
|
12
40
|
//#endregion
|
|
13
|
-
//#region src/components/resizable/resizable-
|
|
41
|
+
//#region src/components/resizable/resizable-handle.gen.d.ts
|
|
42
|
+
/**
|
|
43
|
+
* Props for the {@link ResizableHandle} Solid component.
|
|
44
|
+
*
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
interface ResizableHandleProps extends JSX.HTMLAttributes<ResizableHandleElement> {
|
|
48
|
+
/**
|
|
49
|
+
* The position of the handle.
|
|
50
|
+
*
|
|
51
|
+
* @default "bottom-right"
|
|
52
|
+
*/
|
|
53
|
+
position?: ResizableHandleProps$1['position'];
|
|
54
|
+
}
|
|
14
55
|
/**
|
|
15
|
-
*
|
|
56
|
+
* A Solid component that renders an `prosekit-resizable-handle` custom element.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
16
59
|
*/
|
|
17
|
-
|
|
18
|
-
declare const ResizableRoot: Component<PropsWithElement<ResizableRootProps, ResizableRootElement>>;
|
|
60
|
+
declare const ResizableHandle: Component<ResizableHandleProps>;
|
|
19
61
|
//#endregion
|
|
20
|
-
export { ResizableHandle, type ResizableHandleProps, ResizableRoot, type ResizableRootProps };
|
|
62
|
+
export { ResizableHandle, type ResizableHandleProps, ResizableRoot, type ResizableRootEvents, type ResizableRootProps, ResizeEndEvent, ResizeStartEvent };
|
|
21
63
|
//# sourceMappingURL=prosekit-solid-resizable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prosekit-solid-resizable.d.ts","names":[],"sources":["../src/components/resizable/resizable-
|
|
1
|
+
{"version":3,"file":"prosekit-solid-resizable.d.ts","names":[],"sources":["../src/components/resizable/resizable-root.gen.ts","../src/components/resizable/resizable-handle.gen.ts"],"mappings":";;;;;;;;;UAciB,kBAAA,SAA2B,GAAA,CAAI,cAAA,CAAe,oBAAA;EAoBrC;;;;;EAdxB,KAAA,GAAQ,oBAAA;EANsC;;;;;EAY9C,MAAA,GAAS,oBAAA;EAMT;;;;;EAAA,WAAA,GAAc,oBAAA;EAIQ;EAFtB,aAAA,IAAiB,KAAA,EAAO,mBAAA;EAE8B;EAAtD,WAAA,IAAe,KAAA,EAAO,mBAAA;AAAA;;;;;;cAQX,aAAA,EAAe,SAAA,CAAU,kBAAA;;;;;;;;UC9BrB,oBAAA,SAA6B,GAAA,CAAI,cAAA,CAAe,sBAAA;EDoBvC;;;;;ECdxB,QAAA,GAAW,sBAAA;AAAA;;;;;;cAQA,eAAA,EAAiB,SAAA,CAAU,oBAAA"}
|
|
@@ -1,11 +1,73 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
const ResizableHandle = createComponent("prosekit-resizable-handle", Object.keys(resizableHandleProps), Object.keys(resizableHandleEvents));
|
|
5
|
-
//#endregion
|
|
1
|
+
import { createEffect, createSignal, mergeProps, splitProps } from "solid-js";
|
|
2
|
+
import h from "solid-js/h";
|
|
3
|
+
import { ResizeEndEvent, ResizeStartEvent, registerResizableHandleElement, registerResizableRootElement } from "@prosekit/web/resizable";
|
|
6
4
|
//#region src/components/resizable/resizable-root.gen.ts
|
|
7
|
-
|
|
5
|
+
/**
|
|
6
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A Solid component that renders an `prosekit-resizable-root` custom element.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
const ResizableRoot = (props) => {
|
|
14
|
+
registerResizableRootElement();
|
|
15
|
+
const [getElement, setElement] = createSignal(null);
|
|
16
|
+
const handlers = [];
|
|
17
|
+
const [elementProps, eventHandlers, restProps] = splitProps(props, [
|
|
18
|
+
"aspectRatio",
|
|
19
|
+
"height",
|
|
20
|
+
"width"
|
|
21
|
+
], ["onResizeEnd", "onResizeStart"]);
|
|
22
|
+
createEffect(() => {
|
|
23
|
+
const element = getElement();
|
|
24
|
+
if (!element) return;
|
|
25
|
+
Object.assign(element, {
|
|
26
|
+
aspectRatio: elementProps.aspectRatio,
|
|
27
|
+
height: elementProps.height,
|
|
28
|
+
width: elementProps.width
|
|
29
|
+
});
|
|
30
|
+
handlers.length = 0;
|
|
31
|
+
handlers.push(eventHandlers.onResizeEnd);
|
|
32
|
+
handlers.push(eventHandlers.onResizeStart);
|
|
33
|
+
});
|
|
34
|
+
createEffect(() => {
|
|
35
|
+
const element = getElement();
|
|
36
|
+
if (!element) return;
|
|
37
|
+
const ac = new AbortController();
|
|
38
|
+
for (const [index, eventName] of ["resizeEnd", "resizeStart"].entries()) element.addEventListener(eventName, (event) => {
|
|
39
|
+
handlers[index]?.(event);
|
|
40
|
+
}, { signal: ac.signal });
|
|
41
|
+
return () => ac.abort();
|
|
42
|
+
});
|
|
43
|
+
return () => h("prosekit-resizable-root", mergeProps(restProps, { ref: (el) => {
|
|
44
|
+
setElement(el);
|
|
45
|
+
} }));
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/components/resizable/resizable-handle.gen.ts
|
|
49
|
+
/**
|
|
50
|
+
* This file is auto-generated by the "@aria-ui/cli" tool. Do not edit this file directly.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* A Solid component that renders an `prosekit-resizable-handle` custom element.
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
const ResizableHandle = (props) => {
|
|
58
|
+
registerResizableHandleElement();
|
|
59
|
+
const [getElement, setElement] = createSignal(null);
|
|
60
|
+
const [elementProps, restProps] = splitProps(props, ["position"]);
|
|
61
|
+
createEffect(() => {
|
|
62
|
+
const element = getElement();
|
|
63
|
+
if (!element) return;
|
|
64
|
+
Object.assign(element, { position: elementProps.position });
|
|
65
|
+
});
|
|
66
|
+
return () => h("prosekit-resizable-handle", mergeProps(restProps, { ref: (el) => {
|
|
67
|
+
setElement(el);
|
|
68
|
+
} }));
|
|
69
|
+
};
|
|
8
70
|
//#endregion
|
|
9
|
-
export { ResizableHandle, ResizableRoot };
|
|
71
|
+
export { ResizableHandle, ResizableRoot, ResizeEndEvent, ResizeStartEvent };
|
|
10
72
|
|
|
11
73
|
//# sourceMappingURL=prosekit-solid-resizable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prosekit-solid-resizable.js","names":[],"sources":["../src/components/resizable/resizable-
|
|
1
|
+
{"version":3,"file":"prosekit-solid-resizable.js","names":[],"sources":["../src/components/resizable/resizable-root.gen.ts","../src/components/resizable/resizable-handle.gen.ts"],"sourcesContent":["/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerResizableRootElement, type ResizableRootElement, type ResizableRootEvents, type ResizableRootProps as ResizableRootElementProps } from '@prosekit/web/resizable';\nimport { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link ResizableRoot} Solid component.\n *\n * @public\n */\nexport interface ResizableRootProps extends JSX.HTMLAttributes<ResizableRootElement> {\n /**\n * The width of the resizable element.\n *\n * @default null\n */\n width?: ResizableRootElementProps['width'];\n /**\n * The height of the resizable element.\n *\n * @default null\n */\n height?: ResizableRootElementProps['height'];\n /**\n * The aspect ratio of the resizable element.\n *\n * @default null\n */\n aspectRatio?: ResizableRootElementProps['aspectRatio'];\n /** Emitted when a resize operation starts. */\n onResizeStart?: (event: ResizableRootEvents['resizeStart']) => void;\n /** Emitted when a resize operation ends. */\n onResizeEnd?: (event: ResizableRootEvents['resizeEnd']) => void;\n}\n\n/**\n * A Solid component that renders an `prosekit-resizable-root` custom element.\n *\n * @public\n */\nexport const ResizableRoot: Component<ResizableRootProps> = (props): any => {\n registerResizableRootElement();\n\n const [getElement, setElement] = createSignal<ResizableRootElement | null>(null);\n const handlers: Array<((event: any) => void) | undefined> = [];\n\n const [elementProps, eventHandlers, restProps] = splitProps(props, ['aspectRatio', 'height', 'width'], ['onResizeEnd', 'onResizeStart']);\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n Object.assign(element, { aspectRatio: elementProps.aspectRatio, height: elementProps.height, width: elementProps.width });\n\n handlers.length = 0;\n handlers.push(eventHandlers.onResizeEnd);\n handlers.push(eventHandlers.onResizeStart);\n });\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n const ac = new AbortController();\n for (const [index, eventName] of ['resizeEnd', 'resizeStart'].entries()) {\n element.addEventListener(\n eventName,\n (event) => {\n handlers[index]?.(event);\n },\n { signal: ac.signal },\n );\n }\n return () => ac.abort();\n });\n\n return () =>\n h(\n 'prosekit-resizable-root',\n mergeProps(restProps, {\n ref: (el: ResizableRootElement | null) => {\n setElement(el);\n },\n }),\n );\n};\n\nexport type { ResizableRootEvents };\n","/**\n * This file is auto-generated by the \"@aria-ui/cli\" tool. Do not edit this file directly.\n */\n\nimport { registerResizableHandleElement, type ResizableHandleElement, type ResizableHandleProps as ResizableHandleElementProps } from '@prosekit/web/resizable';\nimport { createEffect, createSignal, mergeProps, splitProps } from 'solid-js';\nimport type { Component, JSX } from 'solid-js';\nimport h from 'solid-js/h';\n\n/**\n * Props for the {@link ResizableHandle} Solid component.\n *\n * @public\n */\nexport interface ResizableHandleProps extends JSX.HTMLAttributes<ResizableHandleElement> {\n /**\n * The position of the handle.\n *\n * @default \"bottom-right\"\n */\n position?: ResizableHandleElementProps['position'];\n}\n\n/**\n * A Solid component that renders an `prosekit-resizable-handle` custom element.\n *\n * @public\n */\nexport const ResizableHandle: Component<ResizableHandleProps> = (props): any => {\n registerResizableHandleElement();\n\n const [getElement, setElement] = createSignal<ResizableHandleElement | null>(null);\n\n const [elementProps, restProps] = splitProps(props, ['position']);\n\n createEffect(() => {\n const element = getElement();\n if (!element) return;\n\n Object.assign(element, { position: elementProps.position });\n });\n\n return () =>\n h(\n 'prosekit-resizable-handle',\n mergeProps(restProps, {\n ref: (el: ResizableHandleElement | null) => {\n setElement(el);\n },\n }),\n );\n};\n"],"mappings":";;;;;;;;;;;;AA4CA,MAAa,iBAAgD,UAAe;AAC1E,+BAA8B;CAE9B,MAAM,CAAC,YAAY,cAAc,aAA0C,KAAK;CAChF,MAAM,WAAsD,EAAE;CAE9D,MAAM,CAAC,cAAc,eAAe,aAAa,WAAW,OAAO;EAAC;EAAe;EAAU;EAAQ,EAAE,CAAC,eAAe,gBAAgB,CAAC;AAExI,oBAAmB;EACjB,MAAM,UAAU,YAAY;AAC5B,MAAI,CAAC,QAAS;AAEd,SAAO,OAAO,SAAS;GAAE,aAAa,aAAa;GAAa,QAAQ,aAAa;GAAQ,OAAO,aAAa;GAAO,CAAC;AAEzH,WAAS,SAAS;AAClB,WAAS,KAAK,cAAc,YAAY;AACxC,WAAS,KAAK,cAAc,cAAc;GAC1C;AAEF,oBAAmB;EACjB,MAAM,UAAU,YAAY;AAC5B,MAAI,CAAC,QAAS;EAEd,MAAM,KAAK,IAAI,iBAAiB;AAChC,OAAK,MAAM,CAAC,OAAO,cAAc,CAAC,aAAa,cAAc,CAAC,SAAS,CACrE,SAAQ,iBACN,YACC,UAAU;AACT,YAAS,SAAS,MAAM;KAE1B,EAAE,QAAQ,GAAG,QAAQ,CACtB;AAEH,eAAa,GAAG,OAAO;GACvB;AAEF,cACE,EACE,2BACA,WAAW,WAAW,EACpB,MAAM,OAAoC;AACxC,aAAW,GAAG;IAEjB,CAAC,CACH;;;;;;;;;;;;AC5DL,MAAa,mBAAoD,UAAe;AAC9E,iCAAgC;CAEhC,MAAM,CAAC,YAAY,cAAc,aAA4C,KAAK;CAElF,MAAM,CAAC,cAAc,aAAa,WAAW,OAAO,CAAC,WAAW,CAAC;AAEjE,oBAAmB;EACjB,MAAM,UAAU,YAAY;AAC5B,MAAI,CAAC,QAAS;AAEd,SAAO,OAAO,SAAS,EAAE,UAAU,aAAa,UAAU,CAAC;GAC3D;AAEF,cACE,EACE,6BACA,WAAW,WAAW,EACpB,MAAM,OAAsC;AAC1C,aAAW,GAAG;IAEjB,CAAC,CACH"}
|