@arolariu/components 0.0.35 → 0.0.37
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/changelog.md +13 -0
- package/dist/cjs/components/ui/accordion.cjs +1 -1
- package/dist/cjs/components/ui/accordion.cjs.map +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/alert.cjs +1 -1
- package/dist/cjs/components/ui/alert.cjs.map +1 -1
- package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
- package/dist/cjs/components/ui/avatar.cjs.map +1 -1
- package/dist/cjs/components/ui/background-beams.cjs +210 -0
- package/dist/cjs/components/ui/background-beams.cjs.map +1 -0
- package/dist/cjs/components/ui/badge.cjs +1 -1
- package/dist/cjs/components/ui/badge.cjs.map +1 -1
- package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/ui/bubble-background.cjs +214 -0
- package/dist/cjs/components/ui/bubble-background.cjs.map +1 -0
- package/dist/cjs/components/ui/button.cjs +6 -6
- package/dist/cjs/components/ui/button.cjs.map +1 -1
- package/dist/cjs/components/ui/card.cjs +13 -3
- package/dist/cjs/components/ui/card.cjs.map +1 -1
- package/dist/cjs/components/ui/carousel.cjs.map +1 -1
- package/dist/cjs/components/ui/chart.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox.cjs +1 -1
- package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
- package/dist/cjs/components/ui/collapsible.cjs +1 -1
- package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
- package/dist/cjs/components/ui/command.cjs +2 -2
- package/dist/cjs/components/ui/command.cjs.map +1 -1
- package/dist/cjs/components/ui/context-menu.cjs +7 -7
- package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/counting-number.cjs +95 -0
- package/dist/cjs/components/ui/counting-number.cjs.map +1 -0
- package/dist/cjs/components/ui/dialog.cjs +1 -1
- package/dist/cjs/components/ui/dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/dot-background.cjs +131 -0
- package/dist/cjs/components/ui/dot-background.cjs.map +1 -0
- package/dist/cjs/components/ui/drawer.cjs +3 -3
- package/dist/cjs/components/ui/drawer.cjs.map +1 -1
- package/dist/cjs/components/ui/dropdown-menu.cjs +7 -7
- package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/fireworks-background.cjs +259 -0
- package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -0
- package/dist/cjs/components/ui/flip-button.cjs +100 -0
- package/dist/cjs/components/ui/flip-button.cjs.map +1 -0
- package/dist/cjs/components/ui/form.cjs +2 -2
- package/dist/cjs/components/ui/form.cjs.map +1 -1
- package/dist/cjs/components/ui/gradient-background.cjs +60 -0
- package/dist/cjs/components/ui/gradient-background.cjs.map +1 -0
- package/dist/cjs/components/ui/gradient-text.cjs +83 -0
- package/dist/cjs/components/ui/gradient-text.cjs.map +1 -0
- package/dist/cjs/components/ui/highlight-text.cjs +74 -0
- package/dist/cjs/components/ui/highlight-text.cjs.map +1 -0
- package/dist/cjs/components/ui/hole-background.cjs +361 -0
- package/dist/cjs/components/ui/hole-background.cjs.map +1 -0
- package/dist/cjs/components/ui/hover-card.cjs +9 -6
- package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
- package/dist/cjs/components/ui/input-otp.cjs +2 -3
- package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
- package/dist/cjs/components/ui/input.cjs +1 -1
- package/dist/cjs/components/ui/input.cjs.map +1 -1
- package/dist/cjs/components/ui/label.cjs.map +1 -1
- package/dist/cjs/components/ui/menubar.cjs +9 -9
- package/dist/cjs/components/ui/menubar.cjs.map +1 -1
- package/dist/cjs/components/ui/navigation-menu.cjs +5 -5
- package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/pagination.cjs.map +1 -1
- package/dist/cjs/components/ui/popover.cjs +1 -1
- package/dist/cjs/components/ui/popover.cjs.map +1 -1
- package/dist/cjs/components/ui/progress.cjs.map +1 -1
- package/dist/cjs/components/ui/radio-group.cjs +1 -1
- package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
- package/dist/cjs/components/ui/resizable.cjs.map +1 -1
- package/dist/cjs/components/ui/ripple-button.cjs +108 -0
- package/dist/cjs/components/ui/ripple-button.cjs.map +1 -0
- package/dist/cjs/components/ui/scratcher.cjs +179 -0
- package/dist/cjs/components/ui/scratcher.cjs.map +1 -0
- package/dist/cjs/components/ui/scroll-area.cjs +1 -1
- package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
- package/dist/cjs/components/ui/select.cjs +6 -5
- package/dist/cjs/components/ui/select.cjs.map +1 -1
- package/dist/cjs/components/ui/separator.cjs.map +1 -1
- package/dist/cjs/components/ui/sheet.cjs +1 -1
- package/dist/cjs/components/ui/sheet.cjs.map +1 -1
- package/dist/cjs/components/ui/sidebar.cjs +14 -11
- package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
- package/dist/cjs/components/ui/skeleton.cjs +2 -1
- package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
- package/dist/cjs/components/ui/slider.cjs +2 -2
- package/dist/cjs/components/ui/slider.cjs.map +1 -1
- package/dist/cjs/components/ui/sonner.cjs +5 -7
- package/dist/cjs/components/ui/sonner.cjs.map +1 -1
- package/dist/cjs/components/ui/switch.cjs +2 -2
- package/dist/cjs/components/ui/switch.cjs.map +1 -1
- package/dist/cjs/components/ui/table.cjs +2 -2
- package/dist/cjs/components/ui/table.cjs.map +1 -1
- package/dist/cjs/components/ui/tabs.cjs +3 -3
- package/dist/cjs/components/ui/tabs.cjs.map +1 -1
- package/dist/cjs/components/ui/textarea.cjs +1 -1
- package/dist/cjs/components/ui/textarea.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle-group.cjs +2 -2
- package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle.cjs +2 -2
- package/dist/cjs/components/ui/toggle.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip.cjs +1 -1
- package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
- package/dist/cjs/index.cjs +55 -4
- package/dist/cjs/index.css +1013 -258
- package/dist/esm/components/ui/accordion.js +1 -1
- package/dist/esm/components/ui/accordion.js.map +1 -1
- package/dist/esm/components/ui/alert-dialog.js +1 -1
- package/dist/esm/components/ui/alert-dialog.js.map +1 -1
- package/dist/esm/components/ui/alert.js +1 -1
- package/dist/esm/components/ui/alert.js.map +1 -1
- package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/background-beams.js +166 -0
- package/dist/esm/components/ui/background-beams.js.map +1 -0
- package/dist/esm/components/ui/badge.js +1 -1
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/breadcrumb.js.map +1 -1
- package/dist/esm/components/ui/bubble-background.js +180 -0
- package/dist/esm/components/ui/bubble-background.js.map +1 -0
- package/dist/esm/components/ui/button.js +6 -6
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/card.js +11 -4
- package/dist/esm/components/ui/card.js.map +1 -1
- package/dist/esm/components/ui/carousel.js.map +1 -1
- package/dist/esm/components/ui/chart.js.map +1 -1
- package/dist/esm/components/ui/checkbox.js +1 -1
- package/dist/esm/components/ui/checkbox.js.map +1 -1
- package/dist/esm/components/ui/collapsible.js +1 -1
- package/dist/esm/components/ui/collapsible.js.map +1 -1
- package/dist/esm/components/ui/command.js +2 -2
- package/dist/esm/components/ui/command.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +7 -7
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/components/ui/counting-number.js +61 -0
- package/dist/esm/components/ui/counting-number.js.map +1 -0
- package/dist/esm/components/ui/dialog.js +1 -1
- package/dist/esm/components/ui/dialog.js.map +1 -1
- package/dist/esm/components/ui/dot-background.js +97 -0
- package/dist/esm/components/ui/dot-background.js.map +1 -0
- package/dist/esm/components/ui/drawer.js +3 -3
- package/dist/esm/components/ui/drawer.js.map +1 -1
- package/dist/esm/components/ui/dropdown-menu.js +7 -7
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
- package/dist/esm/components/ui/fireworks-background.js +225 -0
- package/dist/esm/components/ui/fireworks-background.js.map +1 -0
- package/dist/esm/components/ui/flip-button.js +66 -0
- package/dist/esm/components/ui/flip-button.js.map +1 -0
- package/dist/esm/components/ui/form.js +2 -2
- package/dist/esm/components/ui/form.js.map +1 -1
- package/dist/esm/components/ui/gradient-background.js +26 -0
- package/dist/esm/components/ui/gradient-background.js.map +1 -0
- package/dist/esm/components/ui/gradient-text.js +49 -0
- package/dist/esm/components/ui/gradient-text.js.map +1 -0
- package/dist/esm/components/ui/highlight-text.js +40 -0
- package/dist/esm/components/ui/highlight-text.js.map +1 -0
- package/dist/esm/components/ui/hole-background.js +327 -0
- package/dist/esm/components/ui/hole-background.js.map +1 -0
- package/dist/esm/components/ui/hover-card.js +9 -6
- package/dist/esm/components/ui/hover-card.js.map +1 -1
- package/dist/esm/components/ui/input-otp.js +2 -3
- package/dist/esm/components/ui/input-otp.js.map +1 -1
- package/dist/esm/components/ui/input.js +1 -1
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/label.js.map +1 -1
- package/dist/esm/components/ui/menubar.js +9 -9
- package/dist/esm/components/ui/menubar.js.map +1 -1
- package/dist/esm/components/ui/navigation-menu.js +5 -5
- package/dist/esm/components/ui/navigation-menu.js.map +1 -1
- package/dist/esm/components/ui/pagination.js.map +1 -1
- package/dist/esm/components/ui/popover.js +1 -1
- package/dist/esm/components/ui/popover.js.map +1 -1
- package/dist/esm/components/ui/progress.js.map +1 -1
- package/dist/esm/components/ui/radio-group.js +1 -1
- package/dist/esm/components/ui/radio-group.js.map +1 -1
- package/dist/esm/components/ui/resizable.js.map +1 -1
- package/dist/esm/components/ui/ripple-button.js +74 -0
- package/dist/esm/components/ui/ripple-button.js.map +1 -0
- package/dist/esm/components/ui/scratcher.js +145 -0
- package/dist/esm/components/ui/scratcher.js.map +1 -0
- package/dist/esm/components/ui/scroll-area.js +1 -1
- package/dist/esm/components/ui/scroll-area.js.map +1 -1
- package/dist/esm/components/ui/select.js +6 -5
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/separator.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +1 -1
- package/dist/esm/components/ui/sheet.js.map +1 -1
- package/dist/esm/components/ui/sidebar.js +14 -11
- package/dist/esm/components/ui/sidebar.js.map +1 -1
- package/dist/esm/components/ui/skeleton.js +2 -1
- package/dist/esm/components/ui/skeleton.js.map +1 -1
- package/dist/esm/components/ui/slider.js +2 -2
- package/dist/esm/components/ui/slider.js.map +1 -1
- package/dist/esm/components/ui/sonner.js +5 -7
- package/dist/esm/components/ui/sonner.js.map +1 -1
- package/dist/esm/components/ui/switch.js +2 -2
- package/dist/esm/components/ui/switch.js.map +1 -1
- package/dist/esm/components/ui/table.js +2 -2
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/components/ui/tabs.js +3 -3
- package/dist/esm/components/ui/tabs.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +1 -1
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/components/ui/toggle-group.js +2 -2
- package/dist/esm/components/ui/toggle-group.js.map +1 -1
- package/dist/esm/components/ui/toggle.js +2 -2
- package/dist/esm/components/ui/toggle.js.map +1 -1
- package/dist/esm/components/ui/tooltip.js +1 -1
- package/dist/esm/components/ui/tooltip.js.map +1 -1
- package/dist/esm/index.css +1013 -258
- package/dist/esm/index.js +26 -1
- package/dist/index.css +1013 -258
- package/dist/index.js +26 -1
- package/dist/types/components/ui/background-beams.d.ts +4 -0
- package/dist/types/components/ui/bubble-background.d.ts +16 -0
- package/dist/types/components/ui/card.d.ts +2 -1
- package/dist/types/components/ui/counting-number.d.ts +15 -0
- package/dist/types/components/ui/dot-background.d.ts +57 -0
- package/dist/types/components/ui/fireworks-background.d.ts +24 -0
- package/dist/types/components/ui/flip-button.d.ts +13 -0
- package/dist/types/components/ui/form.d.ts +1 -1
- package/dist/types/components/ui/gradient-background.d.ts +7 -0
- package/dist/types/components/ui/gradient-text.d.ts +10 -0
- package/dist/types/components/ui/highlight-text.d.ts +11 -0
- package/dist/types/components/ui/hole-background.d.ts +9 -0
- package/dist/types/components/ui/ripple-button.d.ts +10 -0
- package/dist/types/components/ui/scratcher.d.ts +12 -0
- package/dist/types/components/ui/select.d.ts +3 -1
- package/dist/types/components/ui/sidebar.d.ts +5 -6
- package/dist/types/index.d.ts +13 -1
- package/package.json +536 -461
- package/readme.md +10 -6
- package/src/components/ui/accordion.tsx +3 -2
- package/src/components/ui/alert-dialog.tsx +160 -160
- package/src/components/ui/alert.tsx +3 -2
- package/src/components/ui/aspect-ratio.tsx +12 -12
- package/src/components/ui/avatar.tsx +53 -52
- package/src/components/ui/background-beams.tsx +142 -0
- package/src/components/ui/badge.tsx +48 -47
- package/src/components/ui/breadcrumb.tsx +117 -116
- package/src/components/ui/bubble-background.tsx +187 -0
- package/src/components/ui/button.tsx +61 -60
- package/src/components/ui/card.tsx +97 -79
- package/src/components/ui/carousel.tsx +241 -240
- package/src/components/ui/chart.tsx +353 -352
- package/src/components/ui/checkbox.tsx +32 -31
- package/src/components/ui/collapsible.tsx +34 -34
- package/src/components/ui/command.tsx +177 -176
- package/src/components/ui/context-menu.tsx +255 -254
- package/src/components/ui/counting-number.tsx +108 -0
- package/src/components/ui/dialog.tsx +3 -2
- package/src/components/ui/dot-background.tsx +158 -0
- package/src/components/ui/drawer.tsx +138 -137
- package/src/components/ui/dropdown-menu.tsx +260 -259
- package/src/components/ui/fireworks-background.tsx +378 -0
- package/src/components/ui/flip-button.tsx +110 -0
- package/src/components/ui/form.tsx +174 -173
- package/src/components/ui/gradient-background.tsx +43 -0
- package/src/components/ui/gradient-text.tsx +65 -0
- package/src/components/ui/highlight-text.tsx +71 -0
- package/src/components/ui/hole-background.tsx +361 -0
- package/src/components/ui/hover-card.tsx +44 -41
- package/src/components/ui/input-otp.tsx +77 -77
- package/src/components/ui/input.tsx +23 -22
- package/src/components/ui/label.tsx +24 -23
- package/src/components/ui/menubar.tsx +279 -278
- package/src/components/ui/navigation-menu.tsx +171 -170
- package/src/components/ui/pagination.tsx +129 -128
- package/src/components/ui/popover.tsx +48 -47
- package/src/components/ui/progress.tsx +31 -30
- package/src/components/ui/radio-group.tsx +45 -44
- package/src/components/ui/resizable.tsx +56 -55
- package/src/components/ui/ripple-button.tsx +111 -0
- package/src/components/ui/scratcher.tsx +171 -0
- package/src/components/ui/scroll-area.tsx +58 -57
- package/src/components/ui/select.tsx +191 -183
- package/src/components/ui/separator.tsx +28 -27
- package/src/components/ui/sheet.tsx +145 -144
- package/src/components/ui/sidebar.tsx +729 -725
- package/src/components/ui/skeleton.tsx +19 -17
- package/src/components/ui/slider.tsx +63 -62
- package/src/components/ui/sonner.tsx +8 -12
- package/src/components/ui/switch.tsx +31 -30
- package/src/components/ui/table.tsx +119 -118
- package/src/components/ui/tabs.tsx +66 -65
- package/src/components/ui/textarea.tsx +20 -19
- package/src/components/ui/toggle-group.tsx +73 -72
- package/src/components/ui/toggle.tsx +47 -46
- package/src/components/ui/tooltip.tsx +61 -60
- package/src/index.css +75 -42
- package/src/index.ts +385 -330
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
BubbleBackground: ()=>BubbleBackground
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const react_namespaceObject = require("motion/react");
|
|
33
|
+
const utils_cjs_namespaceObject = require("../../lib/utils.cjs");
|
|
34
|
+
const BubbleBackground = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, children, interactive = false, transition = {
|
|
35
|
+
stiffness: 100,
|
|
36
|
+
damping: 20
|
|
37
|
+
}, colors = {
|
|
38
|
+
first: "18,113,255",
|
|
39
|
+
second: "221,74,255",
|
|
40
|
+
third: "0,220,255",
|
|
41
|
+
fourth: "200,50,50",
|
|
42
|
+
fifth: "180,180,50",
|
|
43
|
+
sixth: "140,100,255"
|
|
44
|
+
}, ...props }, ref)=>{
|
|
45
|
+
const containerRef = external_react_namespaceObject.useRef(null);
|
|
46
|
+
external_react_namespaceObject.useImperativeHandle(ref, ()=>containerRef.current);
|
|
47
|
+
const mouseX = (0, react_namespaceObject.useMotionValue)(0);
|
|
48
|
+
const mouseY = (0, react_namespaceObject.useMotionValue)(0);
|
|
49
|
+
const springX = (0, react_namespaceObject.useSpring)(mouseX, transition);
|
|
50
|
+
const springY = (0, react_namespaceObject.useSpring)(mouseY, transition);
|
|
51
|
+
external_react_namespaceObject.useEffect(()=>{
|
|
52
|
+
if (!interactive) return;
|
|
53
|
+
const currentContainer = containerRef.current;
|
|
54
|
+
if (!currentContainer) return;
|
|
55
|
+
const handleMouseMove = (e)=>{
|
|
56
|
+
const rect = currentContainer.getBoundingClientRect();
|
|
57
|
+
const centerX = rect.left + rect.width / 2;
|
|
58
|
+
const centerY = rect.top + rect.height / 2;
|
|
59
|
+
mouseX.set(e.clientX - centerX);
|
|
60
|
+
mouseY.set(e.clientY - centerY);
|
|
61
|
+
};
|
|
62
|
+
currentContainer?.addEventListener("mousemove", handleMouseMove);
|
|
63
|
+
return ()=>currentContainer?.removeEventListener("mousemove", handleMouseMove);
|
|
64
|
+
}, [
|
|
65
|
+
interactive,
|
|
66
|
+
mouseX,
|
|
67
|
+
mouseY
|
|
68
|
+
]);
|
|
69
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
70
|
+
ref: containerRef,
|
|
71
|
+
className: (0, utils_cjs_namespaceObject.cn)("relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900", className),
|
|
72
|
+
...props,
|
|
73
|
+
children: [
|
|
74
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("style", {
|
|
75
|
+
children: `
|
|
76
|
+
:root {
|
|
77
|
+
--first-color: ${colors.first};
|
|
78
|
+
--second-color: ${colors.second};
|
|
79
|
+
--third-color: ${colors.third};
|
|
80
|
+
--fourth-color: ${colors.fourth};
|
|
81
|
+
--fifth-color: ${colors.fifth};
|
|
82
|
+
--sixth-color: ${colors.sixth};
|
|
83
|
+
}
|
|
84
|
+
`
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg", {
|
|
87
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
88
|
+
className: "absolute top-0 left-0 w-0 h-0",
|
|
89
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("defs", {
|
|
90
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("filter", {
|
|
91
|
+
id: "goo",
|
|
92
|
+
children: [
|
|
93
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("feGaussianBlur", {
|
|
94
|
+
in: "SourceGraphic",
|
|
95
|
+
stdDeviation: "10",
|
|
96
|
+
result: "blur"
|
|
97
|
+
}),
|
|
98
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("feColorMatrix", {
|
|
99
|
+
in: "blur",
|
|
100
|
+
mode: "matrix",
|
|
101
|
+
values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8",
|
|
102
|
+
result: "goo"
|
|
103
|
+
}),
|
|
104
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("feBlend", {
|
|
105
|
+
in: "SourceGraphic",
|
|
106
|
+
in2: "goo"
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
}),
|
|
112
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
113
|
+
className: "absolute inset-0",
|
|
114
|
+
style: {
|
|
115
|
+
filter: "url(#goo) blur(40px)"
|
|
116
|
+
},
|
|
117
|
+
children: [
|
|
118
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
119
|
+
className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]",
|
|
120
|
+
animate: {
|
|
121
|
+
y: [
|
|
122
|
+
-50,
|
|
123
|
+
50,
|
|
124
|
+
-50
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
transition: {
|
|
128
|
+
duration: 30,
|
|
129
|
+
ease: "easeInOut",
|
|
130
|
+
repeat: 1 / 0
|
|
131
|
+
}
|
|
132
|
+
}),
|
|
133
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
134
|
+
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]",
|
|
135
|
+
animate: {
|
|
136
|
+
rotate: 360
|
|
137
|
+
},
|
|
138
|
+
transition: {
|
|
139
|
+
duration: 20,
|
|
140
|
+
ease: "linear",
|
|
141
|
+
repeat: 1 / 0,
|
|
142
|
+
repeatType: "loop",
|
|
143
|
+
reverse: true
|
|
144
|
+
},
|
|
145
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
146
|
+
className: "rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]"
|
|
147
|
+
})
|
|
148
|
+
}),
|
|
149
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
150
|
+
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]",
|
|
151
|
+
animate: {
|
|
152
|
+
rotate: 360
|
|
153
|
+
},
|
|
154
|
+
transition: {
|
|
155
|
+
duration: 40,
|
|
156
|
+
ease: "linear",
|
|
157
|
+
repeat: 1 / 0
|
|
158
|
+
},
|
|
159
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
160
|
+
className: "absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]"
|
|
161
|
+
})
|
|
162
|
+
}),
|
|
163
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
164
|
+
className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70",
|
|
165
|
+
animate: {
|
|
166
|
+
x: [
|
|
167
|
+
-50,
|
|
168
|
+
50,
|
|
169
|
+
-50
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
transition: {
|
|
173
|
+
duration: 40,
|
|
174
|
+
ease: "easeInOut",
|
|
175
|
+
repeat: 1 / 0
|
|
176
|
+
}
|
|
177
|
+
}),
|
|
178
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
179
|
+
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]",
|
|
180
|
+
animate: {
|
|
181
|
+
rotate: 360
|
|
182
|
+
},
|
|
183
|
+
transition: {
|
|
184
|
+
duration: 20,
|
|
185
|
+
ease: "linear",
|
|
186
|
+
repeat: 1 / 0
|
|
187
|
+
},
|
|
188
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
189
|
+
className: "absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]"
|
|
190
|
+
})
|
|
191
|
+
}),
|
|
192
|
+
interactive && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
|
|
193
|
+
className: "absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70",
|
|
194
|
+
style: {
|
|
195
|
+
x: springX,
|
|
196
|
+
y: springY
|
|
197
|
+
}
|
|
198
|
+
})
|
|
199
|
+
]
|
|
200
|
+
}),
|
|
201
|
+
children
|
|
202
|
+
]
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
BubbleBackground.displayName = "BubbleBackground";
|
|
206
|
+
exports.BubbleBackground = __webpack_exports__.BubbleBackground;
|
|
207
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
208
|
+
"BubbleBackground"
|
|
209
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
210
|
+
Object.defineProperty(exports, '__esModule', {
|
|
211
|
+
value: true
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
//# sourceMappingURL=bubble-background.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\ui\\bubble-background.cjs","sources":["webpack://@arolariu/components/./src/components/ui/bubble-background.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n motion,\n type SpringOptions,\n useMotionValue,\n useSpring,\n} from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n transition?: SpringOptions;\n colors?: {\n first: string;\n second: string;\n third: string;\n fourth: string;\n fifth: string;\n sixth: string;\n };\n}\n\nconst BubbleBackground = React.forwardRef<\n HTMLDivElement,\n BubbleBackgroundProps\n>(\n (\n {\n className,\n children,\n interactive = false,\n transition = { stiffness: 100, damping: 20 },\n colors = {\n first: \"18,113,255\",\n second: \"221,74,255\",\n third: \"0,220,255\",\n fourth: \"200,50,50\",\n fifth: \"180,180,50\",\n sixth: \"140,100,255\",\n },\n ...props\n },\n ref\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(\n ref,\n () => containerRef.current as HTMLDivElement\n );\n\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const springX = useSpring(mouseX, transition);\n const springY = useSpring(mouseY, transition);\n\n React.useEffect(() => {\n if (!interactive) return;\n\n const currentContainer = containerRef.current;\n if (!currentContainer) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = currentContainer.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n mouseX.set(e.clientX - centerX);\n mouseY.set(e.clientY - centerY);\n };\n\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\n return () =>\n currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\n }, [interactive, mouseX, mouseY]);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\",\n className\n )}\n {...props}\n >\n <style>\n {`\n :root {\n --first-color: ${colors.first};\n --second-color: ${colors.second};\n --third-color: ${colors.third};\n --fourth-color: ${colors.fourth};\n --fifth-color: ${colors.fifth};\n --sixth-color: ${colors.sixth};\n }\n `}\n </style>\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute top-0 left-0 w-0 h-0\"\n >\n <defs>\n <filter id=\"goo\">\n <feGaussianBlur\n in=\"SourceGraphic\"\n stdDeviation=\"10\"\n result=\"blur\"\n />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8\"\n result=\"goo\"\n />\n <feBlend in=\"SourceGraphic\" in2=\"goo\" />\n </filter>\n </defs>\n </svg>\n\n <div\n className=\"absolute inset-0\"\n style={{ filter: \"url(#goo) blur(40px)\" }}\n >\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]\"\n animate={{ y: [-50, 50, -50] }}\n transition={{ duration: 30, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]\"\n animate={{ rotate: 360 }}\n transition={{\n duration: 20,\n ease: \"linear\",\n repeat: Infinity,\n repeatType: \"loop\",\n reverse: true,\n }}\n >\n <div className=\"rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 40, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]\" />\n </motion.div>\n\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70\"\n animate={{ x: [-50, 50, -50] }}\n transition={{ duration: 40, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]\"\n animate={{ rotate: 360 }}\n transition={{ duration: 20, ease: \"linear\", repeat: Infinity }}\n >\n <div className=\"absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]\" />\n </motion.div>\n\n {interactive && (\n <motion.div\n className=\"absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70\"\n style={{\n x: springX,\n y: springY,\n }}\n />\n )}\n </div>\n\n {children}\n </div>\n );\n }\n);\n\nBubbleBackground.displayName = \"BubbleBackground\";\n\nexport { BubbleBackground, type BubbleBackgroundProps };\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","e","rect","centerX","centerY","cn","motion","Infinity"],"mappings":"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"}
|
|
@@ -33,14 +33,14 @@ require("react");
|
|
|
33
33
|
const react_slot_namespaceObject = require("@radix-ui/react-slot");
|
|
34
34
|
const external_class_variance_authority_namespaceObject = require("class-variance-authority");
|
|
35
35
|
const utils_cjs_namespaceObject = require("../../lib/utils.cjs");
|
|
36
|
-
const buttonVariants = (0, external_class_variance_authority_namespaceObject.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-
|
|
36
|
+
const buttonVariants = (0, external_class_variance_authority_namespaceObject.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900", {
|
|
37
37
|
variants: {
|
|
38
38
|
variant: {
|
|
39
|
-
default: "bg-neutral-900 text-neutral-50 shadow-
|
|
40
|
-
destructive: "bg-red-500 text-white shadow-
|
|
41
|
-
outline: "border
|
|
42
|
-
secondary: "bg-neutral-100 text-neutral-900 shadow-
|
|
43
|
-
ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
|
|
39
|
+
default: "bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
|
|
40
|
+
destructive: "bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60",
|
|
41
|
+
outline: "border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50",
|
|
42
|
+
secondary: "bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80",
|
|
43
|
+
ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50",
|
|
44
44
|
link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
|
|
45
45
|
},
|
|
46
46
|
size: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\button.cjs","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\button.cjs","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60\",\n outline:\n \"border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost:\n \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAMA,iBAAiBC,IAAAA,kDAAAA,GAAAA,EACrB,wnBACA;IACE,UAAU;QACR,SAAS;YACP,SACE;YACF,aACE;YACF,SACE;YACF,WACE;YACF,OACE;YACF,MAAM;QACR;QACA,MAAM;YACJ,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,MAAM;QACR;IACF;IACA,iBAAiB;QACf,SAAS;QACT,MAAM;IACR;AACF;AAGF,SAASC,OAAO,EACdC,SAAS,EACTC,OAAO,EACPC,IAAI,EACJC,UAAU,KAAK,EACf,GAAGC,OAIF;IACD,MAAMC,OAAOF,UAAUG,2BAAAA,IAAIA,GAAG;IAE9B,OACE,WADF,GACE,qCAACD,MAAAA;QACC,aAAU;QACV,WAAWE,IAAAA,0BAAAA,EAAAA,EAAGV,eAAe;YAAEI;YAASC;YAAMF;QAAU;QACvD,GAAGI,KAAK;;AAGf"}
|
|
@@ -28,6 +28,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
28
28
|
CardDescription: ()=>CardDescription,
|
|
29
29
|
CardContent: ()=>CardContent,
|
|
30
30
|
CardHeader: ()=>CardHeader,
|
|
31
|
+
CardAction: ()=>CardAction,
|
|
31
32
|
Card: ()=>Card,
|
|
32
33
|
CardTitle: ()=>CardTitle,
|
|
33
34
|
CardFooter: ()=>CardFooter
|
|
@@ -38,14 +39,14 @@ const utils_cjs_namespaceObject = require("../../lib/utils.cjs");
|
|
|
38
39
|
function Card({ className, ...props }) {
|
|
39
40
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
40
41
|
"data-slot": "card",
|
|
41
|
-
className: (0, utils_cjs_namespaceObject.cn)("bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-
|
|
42
|
+
className: (0, utils_cjs_namespaceObject.cn)("bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-sm dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
42
43
|
...props
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
function CardHeader({ className, ...props }) {
|
|
46
47
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
47
48
|
"data-slot": "card-header",
|
|
48
|
-
className: (0, utils_cjs_namespaceObject.cn)("
|
|
49
|
+
className: (0, utils_cjs_namespaceObject.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
|
|
49
50
|
...props
|
|
50
51
|
});
|
|
51
52
|
}
|
|
@@ -63,6 +64,13 @@ function CardDescription({ className, ...props }) {
|
|
|
63
64
|
...props
|
|
64
65
|
});
|
|
65
66
|
}
|
|
67
|
+
function CardAction({ className, ...props }) {
|
|
68
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
69
|
+
"data-slot": "card-action",
|
|
70
|
+
className: (0, utils_cjs_namespaceObject.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
|
|
71
|
+
...props
|
|
72
|
+
});
|
|
73
|
+
}
|
|
66
74
|
function CardContent({ className, ...props }) {
|
|
67
75
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
68
76
|
"data-slot": "card-content",
|
|
@@ -73,11 +81,12 @@ function CardContent({ className, ...props }) {
|
|
|
73
81
|
function CardFooter({ className, ...props }) {
|
|
74
82
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
75
83
|
"data-slot": "card-footer",
|
|
76
|
-
className: (0, utils_cjs_namespaceObject.cn)("flex items-center px-6", className),
|
|
84
|
+
className: (0, utils_cjs_namespaceObject.cn)("flex items-center px-6 [.border-t]:pt-6", className),
|
|
77
85
|
...props
|
|
78
86
|
});
|
|
79
87
|
}
|
|
80
88
|
exports.Card = __webpack_exports__.Card;
|
|
89
|
+
exports.CardAction = __webpack_exports__.CardAction;
|
|
81
90
|
exports.CardContent = __webpack_exports__.CardContent;
|
|
82
91
|
exports.CardDescription = __webpack_exports__.CardDescription;
|
|
83
92
|
exports.CardFooter = __webpack_exports__.CardFooter;
|
|
@@ -85,6 +94,7 @@ exports.CardHeader = __webpack_exports__.CardHeader;
|
|
|
85
94
|
exports.CardTitle = __webpack_exports__.CardTitle;
|
|
86
95
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
87
96
|
"Card",
|
|
97
|
+
"CardAction",
|
|
88
98
|
"CardContent",
|
|
89
99
|
"CardDescription",
|
|
90
100
|
"CardFooter",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\card.cjs","sources":["webpack://@arolariu/components/./src/components/ui/card.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\card.cjs","sources":["webpack://@arolariu/components/./src/components/ui/card.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"bg-white text-neutral-950 flex flex-col gap-6 rounded-xl border border-neutral-200 py-6 shadow-sm dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\n \"text-neutral-500 text-sm dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["Card","className","props","cn","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAASA,KAAK,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IAChE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,sKACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASE,WAAW,EAAEH,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,8JACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,UAAU,EAAEJ,SAAS,EAAE,GAAGC,OAAoC;IACrE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EAAG,8BAA8BF;QAC3C,GAAGC,KAAK;;AAGf;AAEA,SAASI,gBAAgB,EAAEL,SAAS,EAAE,GAAGC,OAAoC;IAC3E,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,kDACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASK,WAAW,EAAEN,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,kEACAF;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASM,YAAY,EAAEP,SAAS,EAAE,GAAGC,OAAoC;IACvE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EAAG,QAAQF;QACrB,GAAGC,KAAK;;AAGf;AAEA,SAASO,WAAW,EAAER,SAAS,EAAE,GAAGC,OAAoC;IACtE,OACE,WADF,GACE,qCAAC;QACC,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EAAG,2CAA2CF;QACxD,GAAGC,KAAK;;AAGf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\carousel.cjs","sources":["webpack://@arolariu/components/./src/components/ui/carousel.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\carousel.cjs","sources":["webpack://@arolariu/components/./src/components/ui/carousel.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n};\n"],"names":["CarouselContext","React","useCarousel","context","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\chart.cjs","sources":["webpack://@arolariu/components/./src/components/ui/chart.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport * as RechartsPrimitive from \"recharts\";\r\nimport { cn } from \"./../../lib/utils\";\r\n\r\n// Format: { THEME_NAME: CSS_SELECTOR }\r\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\r\n\r\nexport type ChartConfig = {\r\n [k in string]: {\r\n label?: React.ReactNode;\r\n icon?: React.ComponentType;\r\n } & (\r\n | { color?: string; theme?: never }\r\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\r\n );\r\n};\r\n\r\ntype ChartContextProps = {\r\n config: ChartConfig;\r\n};\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\r\n\r\nfunction useChart() {\r\n const context = React.useContext(ChartContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nfunction ChartContainer({\r\n id,\r\n className,\r\n children,\r\n config,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n config: ChartConfig;\r\n children: React.ComponentProps<\r\n typeof RechartsPrimitive.ResponsiveContainer\r\n >[\"children\"];\r\n}) {\r\n const uniqueId = React.useId();\r\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\r\n\r\n return (\r\n <ChartContext.Provider value={{ config }}>\r\n <div\r\n data-slot=\"chart\"\r\n data-chart={chartId}\r\n className={cn(\r\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChartStyle id={chartId} config={config} />\r\n <RechartsPrimitive.ResponsiveContainer>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n );\r\n}\r\n\r\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\r\n const colorConfig = Object.entries(config).filter(\r\n ([, config]) => config.theme || config.color\r\n );\r\n\r\n if (!colorConfig.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color =\r\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\r\n itemConfig.color;\r\n return color ? ` --color-${key}: ${color};` : null;\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst ChartTooltip = RechartsPrimitive.Tooltip;\r\n\r\nfunction ChartTooltipContent({\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\r\n React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean;\r\n hideIndicator?: boolean;\r\n indicator?: \"line\" | \"dot\" | \"dashed\";\r\n nameKey?: string;\r\n labelKey?: string;\r\n }) {\r\n const { config } = useChart();\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const [item] = payload;\r\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const value =\r\n !labelKey && typeof label === \"string\"\r\n ? config[label as keyof typeof config]?.label || label\r\n : itemConfig?.label;\r\n\r\n if (labelFormatter) {\r\n return (\r\n <div className={cn(\"font-medium\", labelClassName)}>\r\n {labelFormatter(value, payload)}\r\n </div>\r\n );\r\n }\r\n\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\r\n }, [\r\n label,\r\n labelFormatter,\r\n payload,\r\n hideLabel,\r\n labelClassName,\r\n config,\r\n labelKey,\r\n ]);\r\n\r\n if (!active || !payload?.length) {\r\n return null;\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"border-neutral-200/50 bg-white grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-neutral-200 px-2.5 py-1.5 text-xs shadow-xl dark:border-neutral-800/50 dark:bg-neutral-950 dark:border-neutral-800\",\r\n className\r\n )}\r\n >\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className=\"grid gap-1.5\">\r\n {payload.map((item, index) => {\r\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n const indicatorColor = color || item.payload.fill || item.color;\r\n\r\n return (\r\n <div\r\n key={item.dataKey}\r\n className={cn(\r\n \"[&>svg]:text-neutral-500 flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 dark:[&>svg]:text-neutral-400\",\r\n indicator === \"dot\" && \"items-center\"\r\n )}\r\n >\r\n {formatter && item?.value !== undefined && item.name ? (\r\n formatter(item.value, item.name, item, index, item.payload)\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\r\n {\r\n \"h-2.5 w-2.5\": indicator === \"dot\",\r\n \"w-1\": indicator === \"line\",\r\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\r\n indicator === \"dashed\",\r\n \"my-0.5\": nestLabel && indicator === \"dashed\",\r\n }\r\n )}\r\n style={\r\n {\r\n \"--color-bg\": indicatorColor,\r\n \"--color-border\": indicatorColor,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )\r\n )}\r\n <div\r\n className={cn(\r\n \"flex flex-1 justify-between leading-none\",\r\n nestLabel ? \"items-end\" : \"items-center\"\r\n )}\r\n >\r\n <div className=\"grid gap-1.5\">\r\n {nestLabel ? tooltipLabel : null}\r\n <span className=\"text-neutral-500 dark:text-neutral-400\">\r\n {itemConfig?.label || item.name}\r\n </span>\r\n </div>\r\n {item.value && (\r\n <span className=\"text-neutral-950 font-mono font-medium tabular-nums dark:text-neutral-50\">\r\n {item.value.toLocaleString()}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst ChartLegend = RechartsPrimitive.Legend;\r\n\r\nfunction ChartLegendContent({\r\n className,\r\n hideIcon = false,\r\n payload,\r\n verticalAlign = \"bottom\",\r\n nameKey,\r\n}: React.ComponentProps<\"div\"> &\r\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\r\n hideIcon?: boolean;\r\n nameKey?: string;\r\n }) {\r\n const { config } = useChart();\r\n\r\n if (!payload?.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"flex items-center justify-center gap-4\",\r\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\r\n className\r\n )}\r\n >\r\n {payload.map((item) => {\r\n const key = `${nameKey || item.dataKey || \"value\"}`;\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\r\n\r\n return (\r\n <div\r\n key={item.value}\r\n className={cn(\r\n \"[&>svg]:text-neutral-500 flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 dark:[&>svg]:text-neutral-400\"\r\n )}\r\n >\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\r\n style={{\r\n backgroundColor: item.color,\r\n }}\r\n />\r\n )}\r\n {itemConfig?.label}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\n// Helper to extract item config from a payload.\r\nfunction getPayloadConfigFromPayload(\r\n config: ChartConfig,\r\n payload: unknown,\r\n key: string\r\n) {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined;\r\n }\r\n\r\n const payloadPayload =\r\n \"payload\" in payload &&\r\n typeof payload.payload === \"object\" &&\r\n payload.payload !== null\r\n ? payload.payload\r\n : undefined;\r\n\r\n let configLabelKey: string = key;\r\n\r\n if (\r\n key in payload &&\r\n typeof payload[key as keyof typeof payload] === \"string\"\r\n ) {\r\n configLabelKey = payload[key as keyof typeof payload] as string;\r\n } else if (\r\n payloadPayload &&\r\n key in payloadPayload &&\r\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\r\n ) {\r\n configLabelKey = payloadPayload[\r\n key as keyof typeof payloadPayload\r\n ] as string;\r\n }\r\n\r\n return configLabelKey in config\r\n ? config[configLabelKey]\r\n : config[key as keyof typeof config];\r\n}\r\n\r\nexport {\r\n ChartContainer,\r\n ChartTooltip,\r\n ChartTooltipContent,\r\n ChartLegend,\r\n ChartLegendContent,\r\n ChartStyle,\r\n};\r\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","className","children","config","props","uniqueId","chartId","cn","ChartStyle","RechartsPrimitive","colorConfig","Object","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","undefined","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\ui\\chart.cjs","sources":["webpack://@arolariu/components/./src/components/ui/chart.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"@/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n\n return context;\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n}: React.ComponentProps<\"div\"> & {\n config: ChartConfig;\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"];\n}) {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n );\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: \"line\" | \"dot\" | \"dashed\";\n nameKey?: string;\n labelKey?: string;\n }) {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n return (\n <div\n className={cn(\n \"border-neutral-200/50 bg-white grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-neutral-200 px-2.5 py-1.5 text-xs shadow-xl dark:border-neutral-800/50 dark:bg-neutral-950 dark:border-neutral-800\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload.fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"[&>svg]:text-neutral-500 flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 dark:[&>svg]:text-neutral-400\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-neutral-500 dark:text-neutral-400\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-neutral-950 font-mono font-medium tabular-nums dark:text-neutral-50\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean;\n nameKey?: string;\n }) {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-neutral-500 flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 dark:[&>svg]:text-neutral-400\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string;\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"],"names":["THEMES","ChartContext","React","useChart","context","Error","ChartContainer","id","className","children","config","props","uniqueId","chartId","cn","ChartStyle","RechartsPrimitive","colorConfig","Object","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","undefined","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ const utils_cjs_namespaceObject = require("../../lib/utils.cjs");
|
|
|
35
35
|
function Checkbox({ className, ...props }) {
|
|
36
36
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_checkbox_namespaceObject.Root, {
|
|
37
37
|
"data-slot": "checkbox",
|
|
38
|
-
className: (0, utils_cjs_namespaceObject.cn)("peer border-neutral-200 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-
|
|
38
|
+
className: (0, utils_cjs_namespaceObject.cn)("peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900", className),
|
|
39
39
|
...props,
|
|
40
40
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_checkbox_namespaceObject.Indicator, {
|
|
41
41
|
"data-slot": "checkbox-indicator",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\checkbox.cjs","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\checkbox.cjs","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["Checkbox","className","props","CheckboxPrimitive","cn","CheckIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAASA,SAAS,EAChBC,SAAS,EACT,GAAGC,OACiD;IACpD,OACE,WADF,GACE,qCAACC,+BAAAA,IAAsB;QACrB,aAAU;QACV,WAAWC,IAAAA,0BAAAA,EAAAA,EACT,w5BACAH;QAED,GAAGC,KAAK;kBAET,mDAACC,+BAAAA,SAA2B;YAC1B,aAAU;YACV,WAAU;sBAEV,mDAACE,sCAAAA,SAASA,EAAAA;gBAAC,WAAU;;;;AAI7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\collapsible.cjs","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"components\\ui\\collapsible.cjs","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"names":["Collapsible","props","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAASA,YAAY,EACnB,GAAGC,OACoD;IACvD,OAAO,WAAP,GAAO,qCAACC,kCAAAA,IAAyB;QAAC,aAAU;QAAe,GAAGD,KAAK;;AACrE;AAEA,SAASE,mBAAmB,EAC1B,GAAGF,OACkE;IACrE,OACE,WADF,GACE,qCAACC,kCAAAA,kBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASG,mBAAmB,EAC1B,GAAGH,OACkE;IACrE,OACE,WADF,GACE,qCAACC,kCAAAA,kBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf"}
|
|
@@ -66,7 +66,7 @@ function CommandDialog({ title = "Command Palette", description = "Search for a
|
|
|
66
66
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_dialog_cjs_namespaceObject.DialogContent, {
|
|
67
67
|
className: "overflow-hidden p-0",
|
|
68
68
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Command, {
|
|
69
|
-
className: "[&_[cmdk-group-heading]]:text-neutral-500 data-[slot=command-input-wrapper]
|
|
69
|
+
className: "[&_[cmdk-group-heading]]:text-neutral-500 **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 dark:[&_[cmdk-group-heading]]:text-neutral-400",
|
|
70
70
|
children: children
|
|
71
71
|
})
|
|
72
72
|
})
|
|
@@ -120,7 +120,7 @@ function CommandSeparator({ className, ...props }) {
|
|
|
120
120
|
function CommandItem({ className, ...props }) {
|
|
121
121
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_cmdk_namespaceObject.Command.Item, {
|
|
122
122
|
"data-slot": "command-item",
|
|
123
|
-
className: (0, utils_cjs_namespaceObject.cn)("data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-
|
|
123
|
+
className: (0, utils_cjs_namespaceObject.cn)("data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
|
|
124
124
|
...props
|
|
125
125
|
});
|
|
126
126
|
}
|