@kopexa/popover 0.0.0-canary-20250718183330
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 +24 -0
- package/dist/chunk-EN5K2552.mjs +81 -0
- package/dist/chunk-YHIC45AQ.mjs +21 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +119 -0
- package/dist/index.mjs +17 -0
- package/dist/namespace.d.mts +10 -0
- package/dist/namespace.d.ts +10 -0
- package/dist/namespace.js +108 -0
- package/dist/namespace.mjs +14 -0
- package/dist/popover.d.mts +17 -0
- package/dist/popover.d.ts +17 -0
- package/dist/popover.js +106 -0
- package/dist/popover.mjs +13 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# @kopexa/popover
|
|
2
|
+
|
|
3
|
+
A Quick description of the component
|
|
4
|
+
|
|
5
|
+
> This is an internal utility, not intended for public usage.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
yarn add @kopexa/popover
|
|
11
|
+
# or
|
|
12
|
+
npm i @kopexa/popover
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Contribution
|
|
16
|
+
|
|
17
|
+
Yes please! See the
|
|
18
|
+
[contributing guidelines](https://github.com/kopexa-grc/sight/blob/master/CONTRIBUTING.md)
|
|
19
|
+
for details.
|
|
20
|
+
|
|
21
|
+
## License
|
|
22
|
+
|
|
23
|
+
This project is licensed under the terms of the
|
|
24
|
+
[MIT license](https://github.com/kopexa-grc/sight/blob/master/LICENSE).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
// src/popover.tsx
|
|
9
|
+
import { TRANSITION_VARIANTS } from "@kopexa/motion-utils";
|
|
10
|
+
import { createContext } from "@kopexa/react-utils";
|
|
11
|
+
import { popover } from "@kopexa/theme";
|
|
12
|
+
import { useControllableState } from "@kopexa/use-controllable-state";
|
|
13
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
14
|
+
import {
|
|
15
|
+
AnimatePresence,
|
|
16
|
+
domAnimation,
|
|
17
|
+
LazyMotion,
|
|
18
|
+
motion
|
|
19
|
+
} from "motion/react";
|
|
20
|
+
import { jsx } from "react/jsx-runtime";
|
|
21
|
+
var [PopoverProvider, usePopoverContext] = createContext();
|
|
22
|
+
var PopoverRoot = (props) => {
|
|
23
|
+
const { open: openProp, onOpenChange, ...restProps } = props;
|
|
24
|
+
const [open, setOpen] = useControllableState({
|
|
25
|
+
value: openProp,
|
|
26
|
+
onChange: onOpenChange,
|
|
27
|
+
defaultValue: false
|
|
28
|
+
});
|
|
29
|
+
const styles = popover();
|
|
30
|
+
return /* @__PURE__ */ jsx(PopoverProvider, { value: { styles, open }, children: /* @__PURE__ */ jsx(
|
|
31
|
+
PopoverPrimitive.Root,
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "popover",
|
|
34
|
+
open,
|
|
35
|
+
onOpenChange: setOpen,
|
|
36
|
+
...restProps
|
|
37
|
+
}
|
|
38
|
+
) });
|
|
39
|
+
};
|
|
40
|
+
function PopoverTrigger({ ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
42
|
+
}
|
|
43
|
+
function PopoverContent({
|
|
44
|
+
className,
|
|
45
|
+
align = "center",
|
|
46
|
+
sideOffset = 4,
|
|
47
|
+
...props
|
|
48
|
+
}) {
|
|
49
|
+
const { open, styles } = usePopoverContext();
|
|
50
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { forceMount: true, children: /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx(
|
|
51
|
+
PopoverPrimitive.Content,
|
|
52
|
+
{
|
|
53
|
+
"data-slot": "popover-content",
|
|
54
|
+
align,
|
|
55
|
+
sideOffset,
|
|
56
|
+
className: styles.content({ className }),
|
|
57
|
+
...props,
|
|
58
|
+
asChild: true,
|
|
59
|
+
children: /* @__PURE__ */ jsx(
|
|
60
|
+
motion.div,
|
|
61
|
+
{
|
|
62
|
+
animate: "enter",
|
|
63
|
+
exit: "exit",
|
|
64
|
+
initial: "initial",
|
|
65
|
+
variants: TRANSITION_VARIANTS.scaleSpringOpacity
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
) }) }) : null });
|
|
70
|
+
}
|
|
71
|
+
function PopoverAnchor({ ...props }) {
|
|
72
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
__export,
|
|
77
|
+
PopoverRoot,
|
|
78
|
+
PopoverTrigger,
|
|
79
|
+
PopoverContent,
|
|
80
|
+
PopoverAnchor
|
|
81
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
PopoverAnchor,
|
|
4
|
+
PopoverContent,
|
|
5
|
+
PopoverRoot,
|
|
6
|
+
PopoverTrigger,
|
|
7
|
+
__export
|
|
8
|
+
} from "./chunk-EN5K2552.mjs";
|
|
9
|
+
|
|
10
|
+
// src/namespace.ts
|
|
11
|
+
var namespace_exports = {};
|
|
12
|
+
__export(namespace_exports, {
|
|
13
|
+
Anchor: () => PopoverAnchor,
|
|
14
|
+
Content: () => PopoverContent,
|
|
15
|
+
Root: () => PopoverRoot,
|
|
16
|
+
Trigger: () => PopoverTrigger
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
namespace_exports
|
|
21
|
+
};
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { n as Popover } from './namespace.mjs';
|
|
2
|
+
export { PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverRoot, PopoverRootProps, PopoverTrigger, PopoverTriggerProps } from './popover.mjs';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import '@radix-ui/react-popover';
|
|
5
|
+
import 'react';
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { n as Popover } from './namespace.js';
|
|
2
|
+
export { PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverRoot, PopoverRootProps, PopoverTrigger, PopoverTriggerProps } from './popover.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import '@radix-ui/react-popover';
|
|
5
|
+
import 'react';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/index.ts
|
|
32
|
+
var index_exports = {};
|
|
33
|
+
__export(index_exports, {
|
|
34
|
+
Popover: () => namespace_exports,
|
|
35
|
+
PopoverAnchor: () => PopoverAnchor,
|
|
36
|
+
PopoverContent: () => PopoverContent,
|
|
37
|
+
PopoverRoot: () => PopoverRoot,
|
|
38
|
+
PopoverTrigger: () => PopoverTrigger
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(index_exports);
|
|
41
|
+
|
|
42
|
+
// src/namespace.ts
|
|
43
|
+
var namespace_exports = {};
|
|
44
|
+
__export(namespace_exports, {
|
|
45
|
+
Anchor: () => PopoverAnchor,
|
|
46
|
+
Content: () => PopoverContent,
|
|
47
|
+
Root: () => PopoverRoot,
|
|
48
|
+
Trigger: () => PopoverTrigger
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// src/popover.tsx
|
|
52
|
+
var import_motion_utils = require("@kopexa/motion-utils");
|
|
53
|
+
var import_react_utils = require("@kopexa/react-utils");
|
|
54
|
+
var import_theme = require("@kopexa/theme");
|
|
55
|
+
var import_use_controllable_state = require("@kopexa/use-controllable-state");
|
|
56
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
57
|
+
var import_react = require("motion/react");
|
|
58
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
59
|
+
var [PopoverProvider, usePopoverContext] = (0, import_react_utils.createContext)();
|
|
60
|
+
var PopoverRoot = (props) => {
|
|
61
|
+
const { open: openProp, onOpenChange, ...restProps } = props;
|
|
62
|
+
const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
63
|
+
value: openProp,
|
|
64
|
+
onChange: onOpenChange,
|
|
65
|
+
defaultValue: false
|
|
66
|
+
});
|
|
67
|
+
const styles = (0, import_theme.popover)();
|
|
68
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverProvider, { value: { styles, open }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
69
|
+
PopoverPrimitive.Root,
|
|
70
|
+
{
|
|
71
|
+
"data-slot": "popover",
|
|
72
|
+
open,
|
|
73
|
+
onOpenChange: setOpen,
|
|
74
|
+
...restProps
|
|
75
|
+
}
|
|
76
|
+
) });
|
|
77
|
+
};
|
|
78
|
+
function PopoverTrigger({ ...props }) {
|
|
79
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
80
|
+
}
|
|
81
|
+
function PopoverContent({
|
|
82
|
+
className,
|
|
83
|
+
align = "center",
|
|
84
|
+
sideOffset = 4,
|
|
85
|
+
...props
|
|
86
|
+
}) {
|
|
87
|
+
const { open, styles } = usePopoverContext();
|
|
88
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.AnimatePresence, { children: open ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Portal, { forceMount: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.LazyMotion, { features: import_react.domAnimation, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
89
|
+
PopoverPrimitive.Content,
|
|
90
|
+
{
|
|
91
|
+
"data-slot": "popover-content",
|
|
92
|
+
align,
|
|
93
|
+
sideOffset,
|
|
94
|
+
className: styles.content({ className }),
|
|
95
|
+
...props,
|
|
96
|
+
asChild: true,
|
|
97
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
98
|
+
import_react.motion.div,
|
|
99
|
+
{
|
|
100
|
+
animate: "enter",
|
|
101
|
+
exit: "exit",
|
|
102
|
+
initial: "initial",
|
|
103
|
+
variants: import_motion_utils.TRANSITION_VARIANTS.scaleSpringOpacity
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
) }) }) : null });
|
|
108
|
+
}
|
|
109
|
+
function PopoverAnchor({ ...props }) {
|
|
110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
111
|
+
}
|
|
112
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
+
0 && (module.exports = {
|
|
114
|
+
Popover,
|
|
115
|
+
PopoverAnchor,
|
|
116
|
+
PopoverContent,
|
|
117
|
+
PopoverRoot,
|
|
118
|
+
PopoverTrigger
|
|
119
|
+
});
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
namespace_exports
|
|
4
|
+
} from "./chunk-YHIC45AQ.mjs";
|
|
5
|
+
import {
|
|
6
|
+
PopoverAnchor,
|
|
7
|
+
PopoverContent,
|
|
8
|
+
PopoverRoot,
|
|
9
|
+
PopoverTrigger
|
|
10
|
+
} from "./chunk-EN5K2552.mjs";
|
|
11
|
+
export {
|
|
12
|
+
namespace_exports as Popover,
|
|
13
|
+
PopoverAnchor,
|
|
14
|
+
PopoverContent,
|
|
15
|
+
PopoverRoot,
|
|
16
|
+
PopoverTrigger
|
|
17
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverRoot, PopoverRootProps, PopoverTrigger, PopoverTriggerProps } from './popover.mjs';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import '@radix-ui/react-popover';
|
|
4
|
+
import 'react';
|
|
5
|
+
|
|
6
|
+
declare namespace namespace {
|
|
7
|
+
export { PopoverAnchor as Anchor, PopoverAnchorProps as AnchorProps, PopoverContent as Content, PopoverContentProps as ContentProps, PopoverRoot as Root, PopoverRootProps as RootProps, PopoverTrigger as Trigger, PopoverTriggerProps as TriggerProps };
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { PopoverAnchor as Anchor, PopoverAnchorProps as AnchorProps, PopoverContent as Content, PopoverContentProps as ContentProps, PopoverRoot as Root, PopoverRootProps as RootProps, PopoverTrigger as Trigger, PopoverTriggerProps as TriggerProps, namespace as n };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverRoot, PopoverRootProps, PopoverTrigger, PopoverTriggerProps } from './popover.js';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import '@radix-ui/react-popover';
|
|
4
|
+
import 'react';
|
|
5
|
+
|
|
6
|
+
declare namespace namespace {
|
|
7
|
+
export { PopoverAnchor as Anchor, PopoverAnchorProps as AnchorProps, PopoverContent as Content, PopoverContentProps as ContentProps, PopoverRoot as Root, PopoverRootProps as RootProps, PopoverTrigger as Trigger, PopoverTriggerProps as TriggerProps };
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { PopoverAnchor as Anchor, PopoverAnchorProps as AnchorProps, PopoverContent as Content, PopoverContentProps as ContentProps, PopoverRoot as Root, PopoverRootProps as RootProps, PopoverTrigger as Trigger, PopoverTriggerProps as TriggerProps, namespace as n };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/namespace.ts
|
|
32
|
+
var namespace_exports = {};
|
|
33
|
+
__export(namespace_exports, {
|
|
34
|
+
Anchor: () => PopoverAnchor,
|
|
35
|
+
Content: () => PopoverContent,
|
|
36
|
+
Root: () => PopoverRoot,
|
|
37
|
+
Trigger: () => PopoverTrigger
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(namespace_exports);
|
|
40
|
+
|
|
41
|
+
// src/popover.tsx
|
|
42
|
+
var import_motion_utils = require("@kopexa/motion-utils");
|
|
43
|
+
var import_react_utils = require("@kopexa/react-utils");
|
|
44
|
+
var import_theme = require("@kopexa/theme");
|
|
45
|
+
var import_use_controllable_state = require("@kopexa/use-controllable-state");
|
|
46
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
47
|
+
var import_react = require("motion/react");
|
|
48
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
49
|
+
var [PopoverProvider, usePopoverContext] = (0, import_react_utils.createContext)();
|
|
50
|
+
var PopoverRoot = (props) => {
|
|
51
|
+
const { open: openProp, onOpenChange, ...restProps } = props;
|
|
52
|
+
const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
53
|
+
value: openProp,
|
|
54
|
+
onChange: onOpenChange,
|
|
55
|
+
defaultValue: false
|
|
56
|
+
});
|
|
57
|
+
const styles = (0, import_theme.popover)();
|
|
58
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverProvider, { value: { styles, open }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
59
|
+
PopoverPrimitive.Root,
|
|
60
|
+
{
|
|
61
|
+
"data-slot": "popover",
|
|
62
|
+
open,
|
|
63
|
+
onOpenChange: setOpen,
|
|
64
|
+
...restProps
|
|
65
|
+
}
|
|
66
|
+
) });
|
|
67
|
+
};
|
|
68
|
+
function PopoverTrigger({ ...props }) {
|
|
69
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
70
|
+
}
|
|
71
|
+
function PopoverContent({
|
|
72
|
+
className,
|
|
73
|
+
align = "center",
|
|
74
|
+
sideOffset = 4,
|
|
75
|
+
...props
|
|
76
|
+
}) {
|
|
77
|
+
const { open, styles } = usePopoverContext();
|
|
78
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.AnimatePresence, { children: open ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Portal, { forceMount: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.LazyMotion, { features: import_react.domAnimation, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
79
|
+
PopoverPrimitive.Content,
|
|
80
|
+
{
|
|
81
|
+
"data-slot": "popover-content",
|
|
82
|
+
align,
|
|
83
|
+
sideOffset,
|
|
84
|
+
className: styles.content({ className }),
|
|
85
|
+
...props,
|
|
86
|
+
asChild: true,
|
|
87
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
88
|
+
import_react.motion.div,
|
|
89
|
+
{
|
|
90
|
+
animate: "enter",
|
|
91
|
+
exit: "exit",
|
|
92
|
+
initial: "initial",
|
|
93
|
+
variants: import_motion_utils.TRANSITION_VARIANTS.scaleSpringOpacity
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
) }) }) : null });
|
|
98
|
+
}
|
|
99
|
+
function PopoverAnchor({ ...props }) {
|
|
100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
101
|
+
}
|
|
102
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
103
|
+
0 && (module.exports = {
|
|
104
|
+
Anchor,
|
|
105
|
+
Content,
|
|
106
|
+
Root,
|
|
107
|
+
Trigger
|
|
108
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "./chunk-YHIC45AQ.mjs";
|
|
3
|
+
import {
|
|
4
|
+
PopoverAnchor,
|
|
5
|
+
PopoverContent,
|
|
6
|
+
PopoverRoot,
|
|
7
|
+
PopoverTrigger
|
|
8
|
+
} from "./chunk-EN5K2552.mjs";
|
|
9
|
+
export {
|
|
10
|
+
PopoverAnchor as Anchor,
|
|
11
|
+
PopoverContent as Content,
|
|
12
|
+
PopoverRoot as Root,
|
|
13
|
+
PopoverTrigger as Trigger
|
|
14
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
3
|
+
import { ComponentProps } from 'react';
|
|
4
|
+
|
|
5
|
+
type PopoverRootProps = ComponentProps<typeof PopoverPrimitive.Root>;
|
|
6
|
+
declare const PopoverRoot: (props: PopoverRootProps) => react_jsx_runtime.JSX.Element;
|
|
7
|
+
type PopoverTriggerProps = ComponentProps<typeof PopoverPrimitive.Trigger>;
|
|
8
|
+
declare function PopoverTrigger({ ...props }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
type PopoverContentProps = ComponentProps<typeof PopoverPrimitive.Content> & {
|
|
10
|
+
align?: "start" | "center" | "end";
|
|
11
|
+
sideOffset?: number;
|
|
12
|
+
};
|
|
13
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: PopoverContentProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
type PopoverAnchorProps = ComponentProps<typeof PopoverPrimitive.Anchor>;
|
|
15
|
+
declare function PopoverAnchor({ ...props }: PopoverAnchorProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, PopoverRoot, type PopoverRootProps, PopoverTrigger, type PopoverTriggerProps };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
3
|
+
import { ComponentProps } from 'react';
|
|
4
|
+
|
|
5
|
+
type PopoverRootProps = ComponentProps<typeof PopoverPrimitive.Root>;
|
|
6
|
+
declare const PopoverRoot: (props: PopoverRootProps) => react_jsx_runtime.JSX.Element;
|
|
7
|
+
type PopoverTriggerProps = ComponentProps<typeof PopoverPrimitive.Trigger>;
|
|
8
|
+
declare function PopoverTrigger({ ...props }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
type PopoverContentProps = ComponentProps<typeof PopoverPrimitive.Content> & {
|
|
10
|
+
align?: "start" | "center" | "end";
|
|
11
|
+
sideOffset?: number;
|
|
12
|
+
};
|
|
13
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: PopoverContentProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
type PopoverAnchorProps = ComponentProps<typeof PopoverPrimitive.Anchor>;
|
|
15
|
+
declare function PopoverAnchor({ ...props }: PopoverAnchorProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
export { PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, PopoverRoot, type PopoverRootProps, PopoverTrigger, type PopoverTriggerProps };
|
package/dist/popover.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/popover.tsx
|
|
32
|
+
var popover_exports = {};
|
|
33
|
+
__export(popover_exports, {
|
|
34
|
+
PopoverAnchor: () => PopoverAnchor,
|
|
35
|
+
PopoverContent: () => PopoverContent,
|
|
36
|
+
PopoverRoot: () => PopoverRoot,
|
|
37
|
+
PopoverTrigger: () => PopoverTrigger
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(popover_exports);
|
|
40
|
+
var import_motion_utils = require("@kopexa/motion-utils");
|
|
41
|
+
var import_react_utils = require("@kopexa/react-utils");
|
|
42
|
+
var import_theme = require("@kopexa/theme");
|
|
43
|
+
var import_use_controllable_state = require("@kopexa/use-controllable-state");
|
|
44
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
45
|
+
var import_react = require("motion/react");
|
|
46
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
47
|
+
var [PopoverProvider, usePopoverContext] = (0, import_react_utils.createContext)();
|
|
48
|
+
var PopoverRoot = (props) => {
|
|
49
|
+
const { open: openProp, onOpenChange, ...restProps } = props;
|
|
50
|
+
const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
51
|
+
value: openProp,
|
|
52
|
+
onChange: onOpenChange,
|
|
53
|
+
defaultValue: false
|
|
54
|
+
});
|
|
55
|
+
const styles = (0, import_theme.popover)();
|
|
56
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverProvider, { value: { styles, open }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
57
|
+
PopoverPrimitive.Root,
|
|
58
|
+
{
|
|
59
|
+
"data-slot": "popover",
|
|
60
|
+
open,
|
|
61
|
+
onOpenChange: setOpen,
|
|
62
|
+
...restProps
|
|
63
|
+
}
|
|
64
|
+
) });
|
|
65
|
+
};
|
|
66
|
+
function PopoverTrigger({ ...props }) {
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
68
|
+
}
|
|
69
|
+
function PopoverContent({
|
|
70
|
+
className,
|
|
71
|
+
align = "center",
|
|
72
|
+
sideOffset = 4,
|
|
73
|
+
...props
|
|
74
|
+
}) {
|
|
75
|
+
const { open, styles } = usePopoverContext();
|
|
76
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.AnimatePresence, { children: open ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Portal, { forceMount: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.LazyMotion, { features: import_react.domAnimation, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
|
+
PopoverPrimitive.Content,
|
|
78
|
+
{
|
|
79
|
+
"data-slot": "popover-content",
|
|
80
|
+
align,
|
|
81
|
+
sideOffset,
|
|
82
|
+
className: styles.content({ className }),
|
|
83
|
+
...props,
|
|
84
|
+
asChild: true,
|
|
85
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
86
|
+
import_react.motion.div,
|
|
87
|
+
{
|
|
88
|
+
animate: "enter",
|
|
89
|
+
exit: "exit",
|
|
90
|
+
initial: "initial",
|
|
91
|
+
variants: import_motion_utils.TRANSITION_VARIANTS.scaleSpringOpacity
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
) }) }) : null });
|
|
96
|
+
}
|
|
97
|
+
function PopoverAnchor({ ...props }) {
|
|
98
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
99
|
+
}
|
|
100
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
101
|
+
0 && (module.exports = {
|
|
102
|
+
PopoverAnchor,
|
|
103
|
+
PopoverContent,
|
|
104
|
+
PopoverRoot,
|
|
105
|
+
PopoverTrigger
|
|
106
|
+
});
|
package/dist/popover.mjs
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kopexa/popover",
|
|
3
|
+
"version": "0.0.0-canary-20250718183330",
|
|
4
|
+
"description": "Displays rich content in a portal, triggered by a button.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"popover"
|
|
7
|
+
],
|
|
8
|
+
"author": "Kopexa <hello@kopexa.com>",
|
|
9
|
+
"homepage": "https://kopexa.com",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"main": "dist/index.js",
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/kopexa-grc/sight.git",
|
|
22
|
+
"directory": "packages/components/popover"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/kopexa-grc/sight/issues"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"motion": ">=12.23.6",
|
|
29
|
+
"react": ">=19.0.0-rc.0",
|
|
30
|
+
"react-dom": ">=19.0.0-rc.0",
|
|
31
|
+
"@kopexa/theme": "0.0.0-canary-20250718183330"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@radix-ui/react-popover": "^1.1.14",
|
|
35
|
+
"@kopexa/use-controllable-state": "0.0.0-canary-20250718183330",
|
|
36
|
+
"@kopexa/react-utils": "0.0.0-canary-20250718183330",
|
|
37
|
+
"@kopexa/shared-utils": "0.0.0-canary-20250718183330",
|
|
38
|
+
"@kopexa/motion-utils": "0.0.0-canary-20250718183330"
|
|
39
|
+
},
|
|
40
|
+
"clean-package": "../../../clean-package.config.json",
|
|
41
|
+
"module": "dist/index.mjs",
|
|
42
|
+
"types": "dist/index.d.ts",
|
|
43
|
+
"exports": {
|
|
44
|
+
".": {
|
|
45
|
+
"types": "./dist/index.d.ts",
|
|
46
|
+
"import": "./dist/index.mjs",
|
|
47
|
+
"require": "./dist/index.js"
|
|
48
|
+
},
|
|
49
|
+
"./package.json": "./package.json"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsup src --dts",
|
|
53
|
+
"build:fast": "tsup src",
|
|
54
|
+
"dev": "pnpm build:fast --watch",
|
|
55
|
+
"clean": "rimraf dist .turbo",
|
|
56
|
+
"typecheck": "tsc --noEmit"
|
|
57
|
+
}
|
|
58
|
+
}
|