@voxel51/voodo 0.0.29 → 0.0.30

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.
@@ -0,0 +1,69 @@
1
+ import { FC, HTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Anchor placements used when the cursor is far from any viewport edge
4
+ * vs. flipped placements when the menu would overflow.
5
+ */
6
+ type MenuAnchor = "bottom start" | "bottom end" | "top start" | "top end";
7
+ /**
8
+ * Pick the menu anchor based on whether the menu would overflow the
9
+ * viewport when opened in the default `bottom start` direction.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare const pickAnchor: (cursor: {
14
+ x: number;
15
+ y: number;
16
+ }, viewport: {
17
+ width: number;
18
+ height: number;
19
+ }, menu?: {
20
+ width: number;
21
+ height: number;
22
+ }) => MenuAnchor;
23
+ /**
24
+ * Props for {@link ContextMenu}.
25
+ */
26
+ export interface ContextMenuProps extends HTMLAttributes<HTMLDivElement> {
27
+ /** The right-clickable area. Right-click anywhere inside opens the menu. */
28
+ children: ReactNode;
29
+ /** Menu content. Use the Menu* primitive components. */
30
+ menu: ReactNode;
31
+ /** If `true`, right-click is ignored and the menu does not open. */
32
+ disabled?: boolean;
33
+ }
34
+ /**
35
+ * A right-click triggered menu. Opens at the cursor position, dismisses on
36
+ * click outside, item selection, or Escape.
37
+ *
38
+ * Composes with the Menu primitives ({@link MenuTextItem},
39
+ * {@link MenuIconTextItem}, {@link MenuCheckItem}, {@link MenuSectionTitle},
40
+ * {@link MenuSeparator}). Built on HeadlessUI's `Menu`, so keyboard
41
+ * navigation and ARIA `role="menu"` semantics work out of the box.
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <ContextMenu
46
+ * menu={
47
+ * <>
48
+ * <MenuTextItem onClick={handleEdit}>Edit</MenuTextItem>
49
+ * <MenuTextItem onClick={handleDuplicate}>Duplicate</MenuTextItem>
50
+ * <MenuSeparator />
51
+ * <MenuTextItem destructive onClick={handleDelete}>
52
+ * Delete
53
+ * </MenuTextItem>
54
+ * </>
55
+ * }
56
+ * >
57
+ * <div className="size-full">Right-click me</div>
58
+ * </ContextMenu>
59
+ * ```
60
+ *
61
+ * @param children The right-clickable area.
62
+ * @param menu Menu content — use the Menu* primitive components.
63
+ * @param disabled If `true`, right-click is ignored.
64
+ * @param className `class` overrides for the wrapper element.
65
+ * @param props Additional HTML properties for the wrapper element.
66
+ */
67
+ export declare const ContextMenu: FC<ContextMenuProps>;
68
+ export {};
69
+ //# sourceMappingURL=ContextMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EAAE,EACP,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf;;;GAGG;AACH,KAAK,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAU1E;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,UAAU;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3C,OAAM;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAwB,KAC5D,UAIF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACtE,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,CAAC;IACpB,wDAAwD;IACxD,IAAI,EAAE,SAAS,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAsE5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ContextMenu';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -4,6 +4,7 @@ export * from './Card';
4
4
  export * from './Checkbox';
5
5
  export * from './Clickable';
6
6
  export * from './Collapsible';
7
+ export * from './ContextMenu';
7
8
  export * from './Datepicker';
8
9
  export * from './Divider';
9
10
  export * from './Drawer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}