@yoopta/ui 6.0.0-beta.4 → 6.0.0-beta.6
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/action-menu-list/utils.d.ts +1 -1
- package/dist/action-menu-list/utils.d.ts.map +1 -1
- package/dist/action-menu-list.js +1 -0
- package/dist/block-options/block-options.d.ts +68 -8
- package/dist/block-options/block-options.d.ts.map +1 -1
- package/dist/block-options/context.d.ts +11 -0
- package/dist/block-options/context.d.ts.map +1 -0
- package/dist/block-options/hooks.d.ts +14 -894
- package/dist/block-options/hooks.d.ts.map +1 -1
- package/dist/block-options/index.d.ts +2 -3
- package/dist/block-options/index.d.ts.map +1 -1
- package/dist/block-options.js +1 -0
- package/dist/chunks/_tslib-5e145dfd.js +1 -0
- package/dist/chunks/floating-ui.react-33212df0.js +5 -0
- package/dist/chunks/highlight-color-picker-534fa3e2.js +1 -0
- package/dist/chunks/hooks-814f49b9.js +1 -0
- package/dist/chunks/hooks-879d4b4f.js +1 -0
- package/dist/chunks/index-06d5c4e7.js +10 -0
- package/dist/chunks/style-inject.es-e87a8d02.js +1 -0
- package/dist/chunks/throttle-dea4a39e.js +1 -0
- package/dist/floating-block-actions.js +1 -1
- package/dist/highlight-color-picker.js +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/overlay.js +1 -0
- package/dist/portal.js +1 -0
- package/dist/slash-command-menu/index.d.ts +0 -1
- package/dist/slash-command-menu/index.d.ts.map +1 -1
- package/dist/slash-command-menu.js +1 -0
- package/dist/theme.js +1 -0
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/toolbar.js +1 -0
- package/package.json +73 -7
- package/dist/block-options/store.d.ts +0 -15
- package/dist/block-options/store.d.ts.map +0 -1
- package/dist/block-options/store.test.d.ts +0 -2
- package/dist/block-options/store.test.d.ts.map +0 -1
- package/dist/index-16ebe43d.js +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { YooEditor } from '@yoopta/editor';
|
|
2
2
|
import type { ActionMenuItem } from './types';
|
|
3
3
|
export declare const filterActionMenuItems: (blockPlugin: Plugin<Record<string, SlateElement>, unknown>, searchText: string) => boolean;
|
|
4
4
|
export declare function mapActionMenuItems(editor: YooEditor): ActionMenuItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/action-menu-list/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/action-menu-list/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,SAAS,EAAgC,MAAM,gBAAgB,CAAC;AAEpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAsB9C,eAAO,MAAM,qBAAqB,2EAEpB,MAAM,KACjB,OAuBF,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,EAAE,CAkCtE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAOlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAS5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{A as ActionMenuList,u as useActionMenuList,a as useActionMenuListActions,b as useActionMenuListStore}from"./chunks/hooks-814f49b9.js";import{s as o}from"./chunks/style-inject.es-e87a8d02.js";import"./chunks/_tslib-5e145dfd.js";import"react/jsx-runtime";import"react";import"./chunks/floating-ui.react-33212df0.js";import"react-dom";import"@yoopta/editor";import"./chunks/index-06d5c4e7.js";o(".yoopta-ui-action-menu-list{bottom:auto;left:0;margin:0;position:absolute;right:auto;top:0;z-index:var(--yoopta-ui-action-menu-z-index,9999)}.yoopta-ui-action-menu-list-content{background:hsl(var(--yoopta-ui-background));border:1px solid hsl(var(--yoopta-ui-border));border-radius:var(--yoopta-ui-action-menu-radius,.5rem);box-shadow:var(\n --yoopta-ui-action-menu-shadow,0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)\n );max-height:var(--yoopta-ui-action-menu-max-height,330px);overflow-x:hidden;overflow-y:auto;padding:var(--yoopta-ui-action-menu-padding,.5rem);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yoopta-ui-action-menu-list-group{color:hsl(var(--yoopta-ui-foreground));overflow:hidden;padding:0}.yoopta-ui-action-menu-list-item{align-items:center;background:transparent;border:none;border-radius:var(--yoopta-ui-action-menu-item-radius,.375rem);color:hsl(var(--yoopta-ui-foreground));cursor:pointer;display:flex;font-size:var(--yoopta-ui-action-menu-item-font-size,.875rem);gap:var(--yoopta-ui-action-menu-item-gap,.5rem);margin-bottom:.125rem;outline:none;padding:var(--yoopta-ui-action-menu-item-padding,.5rem);text-align:left;transition:background-color .15s ease-out;width:100%}.yoopta-ui-action-menu-list-item:last-child{margin-bottom:0}.yoopta-ui-action-menu-list-item:hover,.yoopta-ui-action-menu-list-item[aria-selected=true]{background:hsl(var(--yoopta-ui-accent))}.yoopta-ui-action-menu-list-item:focus-visible{outline:2px solid hsl(var(--yoopta-ui-ring));outline-offset:2px}.yoopta-ui-action-menu-list-item-icon{align-items:center;background:hsl(var(--yoopta-ui-background));border:1px solid hsl(var(--yoopta-ui-border));border-radius:var(--yoopta-ui-action-menu-icon-radius,.375rem);display:flex;flex-shrink:0;justify-content:center}.yoopta-ui-action-menu-list-item-icon img,.yoopta-ui-action-menu-list-item-icon svg{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.yoopta-ui-action-menu-list-item-content{flex:1;min-width:0}.yoopta-ui-action-menu-list-item-title{font-weight:500;line-height:1.25}.yoopta-ui-action-menu-list-item-description{color:hsl(var(--yoopta-ui-muted-foreground));font-size:var(--yoopta-ui-action-menu-item-description-font-size,.75rem);line-height:1.25;margin-top:.125rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoopta-ui-action-menu-list-empty{color:hsl(var(--yoopta-ui-muted-foreground));font-size:var(--yoopta-ui-action-menu-empty-font-size,.75rem);padding:var(--yoopta-ui-action-menu-empty-padding,.5rem);text-align:left}.yoopta-ui-action-menu-list-content::-webkit-scrollbar{width:8px}.yoopta-ui-action-menu-list-content::-webkit-scrollbar-track{background:transparent}.yoopta-ui-action-menu-list-content::-webkit-scrollbar-thumb{background:hsl(var(--yoopta-ui-border));border-radius:4px}.yoopta-ui-action-menu-list-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--yoopta-ui-muted-foreground))}");
|
|
@@ -1,30 +1,90 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import './block-options.css';
|
|
3
|
+
type Placement = 'top' | 'right' | 'bottom' | 'left';
|
|
4
|
+
type Align = 'start' | 'center' | 'end';
|
|
3
5
|
type BlockOptionsRootProps = {
|
|
4
6
|
children: ReactNode;
|
|
5
|
-
|
|
7
|
+
/** Controlled open state */
|
|
8
|
+
open?: boolean;
|
|
9
|
+
/** Callback when open state changes */
|
|
10
|
+
onOpenChange?: (open: boolean) => void;
|
|
11
|
+
/** Default open state for uncontrolled usage */
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
/** External anchor element for positioning (use when no Trigger is present) */
|
|
14
|
+
anchor?: HTMLElement | null;
|
|
15
|
+
};
|
|
16
|
+
type BlockOptionsTriggerProps = {
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
/** Merge props onto child element instead of wrapping */
|
|
19
|
+
asChild?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
};
|
|
22
|
+
type BlockOptionsPortalProps = {
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
};
|
|
25
|
+
type BlockOptionsContentProps = {
|
|
26
|
+
children: ReactNode;
|
|
6
27
|
className?: string;
|
|
7
|
-
|
|
28
|
+
style?: CSSProperties;
|
|
29
|
+
/** Placement relative to trigger */
|
|
30
|
+
side?: Placement;
|
|
31
|
+
/** Alignment relative to trigger */
|
|
32
|
+
align?: Align;
|
|
33
|
+
/** Offset from trigger in pixels */
|
|
34
|
+
sideOffset?: number;
|
|
8
35
|
};
|
|
9
36
|
type BlockOptionsGroupProps = {
|
|
10
37
|
children: ReactNode;
|
|
11
38
|
className?: string;
|
|
12
39
|
};
|
|
40
|
+
type BlockOptionsItemProps = {
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
/** Called when item is selected */
|
|
43
|
+
onSelect?: (event: React.MouseEvent) => void;
|
|
44
|
+
className?: string;
|
|
45
|
+
disabled?: boolean;
|
|
46
|
+
icon?: ReactNode;
|
|
47
|
+
/** Visual variant */
|
|
48
|
+
variant?: 'default' | 'destructive';
|
|
49
|
+
/** Keep menu open after selection */
|
|
50
|
+
keepOpen?: boolean;
|
|
51
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'>;
|
|
13
52
|
type BlockOptionsSeparatorProps = {
|
|
14
53
|
className?: string;
|
|
15
54
|
};
|
|
16
|
-
|
|
17
|
-
|
|
55
|
+
type BlockOptionsLabelProps = {
|
|
56
|
+
children: ReactNode;
|
|
57
|
+
className?: string;
|
|
58
|
+
};
|
|
59
|
+
export declare const BlockOptions: {
|
|
60
|
+
({ children, open: controlledOpen, onOpenChange: controlledOnOpenChange, defaultOpen, anchor, }: BlockOptionsRootProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
displayName: string;
|
|
62
|
+
} & {
|
|
63
|
+
Root: {
|
|
64
|
+
({ children, open: controlledOpen, onOpenChange: controlledOnOpenChange, defaultOpen, anchor, }: BlockOptionsRootProps): import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
displayName: string;
|
|
66
|
+
};
|
|
67
|
+
Trigger: import("react").ForwardRefExoticComponent<BlockOptionsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
68
|
+
Portal: {
|
|
69
|
+
({ children }: BlockOptionsPortalProps): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
};
|
|
72
|
+
Content: import("react").ForwardRefExoticComponent<BlockOptionsContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
18
73
|
Group: import("react").ForwardRefExoticComponent<BlockOptionsGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
19
|
-
|
|
74
|
+
Item: import("react").ForwardRefExoticComponent<{
|
|
20
75
|
children: ReactNode;
|
|
21
|
-
|
|
76
|
+
/** Called when item is selected */
|
|
77
|
+
onSelect?: ((event: React.MouseEvent) => void) | undefined;
|
|
22
78
|
className?: string | undefined;
|
|
23
79
|
disabled?: boolean | undefined;
|
|
24
80
|
icon?: ReactNode;
|
|
81
|
+
/** Visual variant */
|
|
25
82
|
variant?: "default" | "destructive" | undefined;
|
|
26
|
-
|
|
83
|
+
/** Keep menu open after selection */
|
|
84
|
+
keepOpen?: boolean | undefined;
|
|
85
|
+
} & Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "onSelect"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
27
86
|
Separator: import("react").ForwardRefExoticComponent<BlockOptionsSeparatorProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
87
|
+
Label: import("react").ForwardRefExoticComponent<BlockOptionsLabelProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
28
88
|
};
|
|
29
|
-
export {};
|
|
89
|
+
export type { BlockOptionsRootProps, BlockOptionsTriggerProps, BlockOptionsContentProps, BlockOptionsGroupProps, BlockOptionsItemProps, BlockOptionsSeparatorProps, BlockOptionsLabelProps, };
|
|
30
90
|
//# sourceMappingURL=block-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-options.d.ts","sourceRoot":"","sources":["../../src/block-options/block-options.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"block-options.d.ts","sourceRoot":"","sources":["../../src/block-options/block-options.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBpE,OAAO,qBAAqB,CAAC;AAM7B,KAAK,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AACrD,KAAK,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExC,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B,CAAC;AAiDF,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA0CF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAYF,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oCAAoC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAuEF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgBF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC;AA8CpE,KAAK,0BAA0B,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAcF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgBF,eAAO,MAAM,YAAY;qGAtStB,qBAAqB;;;;yGAArB,qBAAqB;;;;;uBA4FkB,uBAAuB;;;;;;kBA+GrD,SAAS;QACnB,mCAAmC;4BAChB,gBAAgB,KAAK,IAAI;;;eAGrC,SAAS;QAChB,qBAAqB;;QAErB,qCAAqC;;;;;CA4FrC,CAAC;AAEH,YAAY,EACV,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type BlockOptionsContextValue = {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onOpenChange: (open: boolean) => void;
|
|
5
|
+
triggerRef: HTMLElement | null;
|
|
6
|
+
setTriggerRef: (ref: HTMLElement | null) => void;
|
|
7
|
+
contentId: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const BlockOptionsContext: import("react").Context<BlockOptionsContextValue | null>;
|
|
10
|
+
export declare const useBlockOptionsContext: () => BlockOptionsContextValue;
|
|
11
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/block-options/context.tsx"],"names":[],"mappings":";AAEA,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,0DAAuD,CAAC;AAExF,eAAO,MAAM,sBAAsB,gCAMlC,CAAC"}
|