@nqlib/nqui 0.4.3 → 0.4.4
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/INSTALLATION.md +215 -0
- package/README.md +104 -151
- package/dist/button-CJHdCq9I.js +155 -0
- package/dist/button-R304rhsj.cjs +1 -0
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/carousel-D1FMVglR.cjs +1 -0
- package/dist/carousel-U7RZhYZj.js +179 -0
- package/dist/carousel.cjs.js +1 -1
- package/dist/carousel.es.js +1 -1
- package/dist/command-palette-DCtLpM3Q.js +694 -0
- package/dist/command-palette-MHc03bBf.cjs +5 -0
- package/dist/command.cjs.js +1 -1
- package/dist/command.es.js +1 -1
- package/dist/components/custom/color-picker.d.ts +1 -1
- package/dist/components/custom/color-picker.d.ts.map +1 -1
- package/dist/components/custom/color-slider.d.ts +4 -10
- package/dist/components/custom/color-slider.d.ts.map +1 -1
- package/dist/components/custom/enhanced-radio-group.d.ts +13 -4
- package/dist/components/custom/enhanced-radio-group.d.ts.map +1 -1
- package/dist/components/custom/enhanced-tabs.d.ts.map +1 -1
- package/dist/components/debug/debug-features.d.ts +29 -0
- package/dist/components/debug/debug-features.d.ts.map +1 -0
- package/dist/components/debug/debug-panel.d.ts.map +1 -1
- package/dist/components/error-boundary.d.ts +20 -0
- package/dist/components/error-boundary.d.ts.map +1 -0
- package/dist/components/index.d.ts +103 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +16 -5
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +38 -4
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/checkbox.d.ts +16 -2
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/combobox.d.ts +2 -1
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/input-group.d.ts +1 -1
- package/dist/components/ui/input-group.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts +3 -2
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/radio-group.d.ts +3 -1
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts +6 -1
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/slider.d.ts +10 -2
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +18 -2
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/spinner.d.ts +2 -1
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts +15 -2
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/toggle.d.ts +1 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/debug-panel-CG-vAN0L.js +9016 -0
- package/dist/debug-panel-DHBfAc1V.cjs +75 -0
- package/dist/debug.cjs.js +1 -0
- package/dist/debug.es.js +7 -0
- package/dist/{drawer-CU4lkcz7.js → drawer-DO26uhym.js} +31 -31
- package/dist/drawer-DVarEy65.cjs +1 -0
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/{enhanced-calendar-BENbxw7_.js → enhanced-calendar-BGlsSYJd.js} +1 -1
- package/dist/{enhanced-calendar-5PA8CeF7.cjs → enhanced-calendar-C7EQIr6i.cjs} +1 -1
- package/dist/entries/debug.d.ts +14 -0
- package/dist/entries/debug.d.ts.map +1 -0
- package/dist/entries/sonner.d.ts +1 -2
- package/dist/entries/sonner.d.ts.map +1 -1
- package/dist/hooks/use-mobile.d.ts.map +1 -1
- package/dist/hooks/use-scroll-spy.d.ts.map +1 -1
- package/dist/index-CI756mSv.cjs +41 -0
- package/dist/index-CgfzsUO6.js +1069 -0
- package/dist/index.d.ts +2 -98
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/wrap-inline-label-text.d.ts +7 -0
- package/dist/lib/wrap-inline-label-text.d.ts.map +1 -0
- package/dist/nqui.cjs.js +49 -245
- package/dist/nqui.es.js +7399 -16735
- package/dist/sonner-CpmECDBk.js +179 -0
- package/dist/sonner-nE9hIalJ.cjs +48 -0
- package/dist/sonner.cjs.js +1 -1
- package/dist/sonner.es.js +3 -2
- package/dist/styles.css +186 -1
- package/docs/components/README.md +107 -8
- package/docs/components/nqui-badge.md +1 -0
- package/docs/components/nqui-button.md +3 -1
- package/docs/components/nqui-card.md +8 -0
- package/docs/components/nqui-carousel.md +6 -0
- package/docs/components/nqui-checkbox.md +38 -1
- package/docs/components/nqui-color-slider.md +5 -3
- package/docs/components/nqui-combobox.md +58 -37
- package/docs/components/nqui-drawer.md +1 -1
- package/docs/components/nqui-radio-group.md +45 -2
- package/docs/components/nqui-scroll-area.md +1 -1
- package/docs/components/nqui-select.md +2 -2
- package/docs/components/nqui-sheet.md +1 -1
- package/docs/components/nqui-slider.md +13 -0
- package/docs/components/nqui-spinner.md +6 -1
- package/docs/components/nqui-switch.md +23 -1
- package/docs/components/nqui-tabs.md +11 -1
- package/docs/components/nqui-toaster.md +5 -1
- package/docs/internal-notes/PUBLISHING.md +46 -4
- package/docs/nqui-skills/SKILL.md +102 -0
- package/docs/nqui-skills/design-system.md +143 -0
- package/docs/nqui-skills/rules/composition.md +183 -0
- package/docs/nqui-skills/rules/forms.md +190 -0
- package/docs/nqui-skills/rules/icons.md +158 -0
- package/docs/nqui-skills/rules/styling.md +192 -0
- package/package.json +23 -12
- package/scripts/build-styles.js +16 -0
- package/scripts/cli.js +1 -0
- package/scripts/download-skills.js +91 -0
- package/scripts/examples/nextjs-layout-sidebar.tsx +100 -0
- package/scripts/examples/nextjs-page-sidebar.tsx +81 -0
- package/scripts/examples/vite-app.tsx +135 -0
- package/scripts/examples/vite-main.tsx +17 -0
- package/scripts/examples.js +92 -6
- package/scripts/generate-docs.js +169 -0
- package/scripts/init-css.js +34 -14
- package/scripts/init-cursor.js +8 -0
- package/scripts/init-debug-css.js +4 -2
- package/scripts/post-install.js +41 -9
- package/scripts/publish-npmjs.js +17 -3
- package/scripts/resolve-target-dir.js +20 -1
- package/scripts/verify-build.js +1 -1
- package/scripts/wizard.js +12 -7
- package/dist/button-CYFTFDKe.cjs +0 -1
- package/dist/button-nJvDl3w8.js +0 -44
- package/dist/carousel-DEyyJi49.js +0 -179
- package/dist/carousel-Dhhz8m5V.cjs +0 -1
- package/dist/command-palette-UHk8zZOg.cjs +0 -45
- package/dist/command-palette-d-TrdBsM.js +0 -1778
- package/dist/components/custom/enhanced-badge.d.ts +0 -33
- package/dist/components/custom/enhanced-badge.d.ts.map +0 -1
- package/dist/components/custom/enhanced-button.d.ts +0 -34
- package/dist/components/custom/enhanced-button.d.ts.map +0 -1
- package/dist/components/custom/enhanced-checkbox.d.ts +0 -28
- package/dist/components/custom/enhanced-checkbox.d.ts.map +0 -1
- package/dist/components/custom/enhanced-combobox.d.ts +0 -35
- package/dist/components/custom/enhanced-combobox.d.ts.map +0 -1
- package/dist/components/custom/enhanced-select.d.ts +0 -30
- package/dist/components/custom/enhanced-select.d.ts.map +0 -1
- package/dist/components/custom/enhanced-sonner.d.ts +0 -16
- package/dist/components/custom/enhanced-sonner.d.ts.map +0 -1
- package/dist/drawer-BcIxWRN8.cjs +0 -1
- package/dist/sonner-Co6YpYVs.js +0 -546
- package/dist/sonner-DbQhVp8m.cjs +0 -330
package/scripts/publish-npmjs.js
CHANGED
|
@@ -19,8 +19,19 @@ const npmrcPath = join(rootDir, '.npmrc');
|
|
|
19
19
|
// Read package.json
|
|
20
20
|
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
21
21
|
|
|
22
|
-
// Save
|
|
22
|
+
// Save originals for restore
|
|
23
23
|
const originalPublishConfig = packageJson.publishConfig;
|
|
24
|
+
const originalDependencies = { ...packageJson.dependencies };
|
|
25
|
+
|
|
26
|
+
// Remove workspace:* deps (npm doesn't support workspace: protocol).
|
|
27
|
+
// nqcode/nqappbuilder are dev/showcase-only and not bundled in the library.
|
|
28
|
+
const workspaceDeps = ['@nqlib/nqcode', '@nqlib/nqappbuilder'];
|
|
29
|
+
for (const name of workspaceDeps) {
|
|
30
|
+
if (packageJson.dependencies?.[name] === 'workspace:*') {
|
|
31
|
+
delete packageJson.dependencies[name];
|
|
32
|
+
console.log(` Removed ${name} (workspace dep)`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
24
35
|
|
|
25
36
|
// Override publishConfig for npmjs.com
|
|
26
37
|
packageJson.publishConfig = {
|
|
@@ -99,14 +110,17 @@ try {
|
|
|
99
110
|
}
|
|
100
111
|
throw error;
|
|
101
112
|
} finally {
|
|
102
|
-
// Restore original publishConfig
|
|
113
|
+
// Restore original publishConfig and dependencies
|
|
103
114
|
if (originalPublishConfig) {
|
|
104
115
|
packageJson.publishConfig = originalPublishConfig;
|
|
105
116
|
} else {
|
|
106
117
|
delete packageJson.publishConfig;
|
|
107
118
|
}
|
|
119
|
+
if (originalDependencies) {
|
|
120
|
+
packageJson.dependencies = originalDependencies;
|
|
121
|
+
}
|
|
108
122
|
writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
109
|
-
console.log('🔄 Restored
|
|
123
|
+
console.log('🔄 Restored package.json');
|
|
110
124
|
|
|
111
125
|
// Restore .npmrc if it existed
|
|
112
126
|
if (npmrcExists && originalNpmrc !== null) {
|
|
@@ -59,11 +59,24 @@ function getWorkspacePackageDirs(workspaceRoot) {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
function isNquiSourceDir(dir) {
|
|
62
|
+
// Must NOT be inside node_modules (that means we're installed as a dep, not dev source)
|
|
63
|
+
if (resolve(dir).includes('node_modules')) return false;
|
|
62
64
|
return existsSync(resolve(dir, 'docs/components/README.md')) &&
|
|
63
65
|
existsSync(resolve(dir, 'package.json')) &&
|
|
64
66
|
readFileSync(resolve(dir, 'package.json'), 'utf8').includes('"name": "@nqlib/nqui"');
|
|
65
67
|
}
|
|
66
68
|
|
|
69
|
+
function findProjectRootFromNodeModules(startDir) {
|
|
70
|
+
let dir = resolve(startDir);
|
|
71
|
+
for (let i = 0; i < 20; i++) {
|
|
72
|
+
if (existsSync(resolve(dir, 'node_modules/@nqlib/nqui'))) return dir;
|
|
73
|
+
const parent = dirname(dir);
|
|
74
|
+
if (parent === dir) break;
|
|
75
|
+
dir = parent;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
|
|
67
80
|
/**
|
|
68
81
|
* Returns the directory where .cursor/ should be written.
|
|
69
82
|
* Prefers a dir with node_modules/@nqlib/nqui so docs path resolves.
|
|
@@ -72,7 +85,13 @@ function isNquiSourceDir(dir) {
|
|
|
72
85
|
* @returns {string} Absolute path to target directory
|
|
73
86
|
*/
|
|
74
87
|
export function resolveTargetDir(startDir) {
|
|
75
|
-
|
|
88
|
+
let cwd = resolve(startDir);
|
|
89
|
+
|
|
90
|
+
// 0. Running from node_modules (postinstall as dep) -> use host project root
|
|
91
|
+
if (cwd.includes('node_modules')) {
|
|
92
|
+
const projectRoot = findProjectRootFromNodeModules(cwd);
|
|
93
|
+
if (projectRoot) return projectRoot;
|
|
94
|
+
}
|
|
76
95
|
|
|
77
96
|
// 1. Current dir has nqui in node_modules -> use it
|
|
78
97
|
if (hasNquiInNodeModules(cwd)) return cwd;
|
package/scripts/verify-build.js
CHANGED
|
@@ -284,7 +284,7 @@ function main() {
|
|
|
284
284
|
{ name: '@source inline() directives', pattern: /@source\s+inline\(/g },
|
|
285
285
|
{ name: ':root block', pattern: /:root\s*\{/ },
|
|
286
286
|
{ name: '.dark block', pattern: /\.dark\s*\{/ },
|
|
287
|
-
|
|
287
|
+
// Viewport lock (html, body, #root) was intentionally removed from base styles (see CHANGELOG 0.3.3); use AppLayout for opt-in lock.
|
|
288
288
|
];
|
|
289
289
|
|
|
290
290
|
criticalPatterns.forEach(({ name, pattern }) => {
|
package/scripts/wizard.js
CHANGED
|
@@ -35,23 +35,28 @@ export async function wizard() {
|
|
|
35
35
|
|
|
36
36
|
const framework = detectFramework();
|
|
37
37
|
let copyExamples = false;
|
|
38
|
+
let sidebarLayout = false;
|
|
38
39
|
|
|
39
|
-
if (framework === 'nextjs') {
|
|
40
|
-
copyExamples = (await ask(
|
|
40
|
+
if (framework === 'nextjs' || framework === 'vite') {
|
|
41
|
+
copyExamples = (await ask(`\nCopy ${framework} example files? (y/n): `)) === 'y';
|
|
42
|
+
if (copyExamples) {
|
|
43
|
+
sidebarLayout = (await ask('\nUse sidebar layout (recommended for apps)? (y/n): ')) === 'y';
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
46
|
|
|
43
|
-
return { tokensOnly, js, copyExamples };
|
|
47
|
+
return { tokensOnly, js, copyExamples, sidebarLayout };
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
/**
|
|
47
|
-
* Ask about copying examples (used in default mode
|
|
51
|
+
* Ask about copying examples (used in default mode)
|
|
48
52
|
*/
|
|
49
|
-
export async function askAboutExamples(framework) {
|
|
50
|
-
if (framework !== 'nextjs') {
|
|
53
|
+
export async function askAboutExamples(framework, useSidebar = false) {
|
|
54
|
+
if (framework !== 'nextjs' && framework !== 'vite') {
|
|
51
55
|
return false;
|
|
52
56
|
}
|
|
53
57
|
|
|
54
|
-
const
|
|
58
|
+
const layoutType = useSidebar ? 'sidebar' : 'basic';
|
|
59
|
+
const answer = await askQuestion(`\n📦 Copy ${framework} example files (${layoutType} layout)? (y/n): `);
|
|
55
60
|
return answer === 'y' || answer === 'yes';
|
|
56
61
|
}
|
|
57
62
|
|
package/dist/button-CYFTFDKe.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const u=require("react/jsx-runtime"),d=require("react"),l=require("@radix-ui/react-slot"),f=require("class-variance-authority"),g=require("./utils-IjLH3w2e.cjs");function b(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const v=b(d),o=f.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-7 min-w-7 px-3",sm:"h-6 min-w-6 rounded-[min(var(--radius-md),8px)] px-2 text-xs",lg:"h-8 min-w-8 px-4",icon:"h-7 w-7 p-0"}},defaultVariants:{variant:"default",size:"default"}}),i=v.forwardRef(({className:e,variant:r,size:t,asChild:n=!1,...s},a)=>{const c=n?l.Slot:"button";return u.jsx(c,{className:g.cn(o({variant:r,size:t,className:e})),ref:a,...s})});i.displayName="Button";exports.Button=i;exports.buttonVariants=o;
|
package/dist/button-nJvDl3w8.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import * as a from "react";
|
|
3
|
-
import { Slot as d } from "@radix-ui/react-slot";
|
|
4
|
-
import { cva as c } from "class-variance-authority";
|
|
5
|
-
import { c as u } from "./utils-B6yFEsav.js";
|
|
6
|
-
const f = c(
|
|
7
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
8
|
-
{
|
|
9
|
-
variants: {
|
|
10
|
-
variant: {
|
|
11
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
12
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
13
|
-
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
14
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
15
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
16
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
17
|
-
},
|
|
18
|
-
size: {
|
|
19
|
-
default: "h-7 min-w-7 px-3",
|
|
20
|
-
sm: "h-6 min-w-6 rounded-[min(var(--radius-md),8px)] px-2 text-xs",
|
|
21
|
-
lg: "h-8 min-w-8 px-4",
|
|
22
|
-
icon: "h-7 w-7 p-0"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
defaultVariants: {
|
|
26
|
-
variant: "default",
|
|
27
|
-
size: "default"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
), m = a.forwardRef(
|
|
31
|
-
({ className: e, variant: r, size: t, asChild: o = !1, ...n }, i) => /* @__PURE__ */ s(
|
|
32
|
-
o ? d : "button",
|
|
33
|
-
{
|
|
34
|
-
className: u(f({ variant: r, size: t, className: e })),
|
|
35
|
-
ref: i,
|
|
36
|
-
...n
|
|
37
|
-
}
|
|
38
|
-
)
|
|
39
|
-
);
|
|
40
|
-
m.displayName = "Button";
|
|
41
|
-
export {
|
|
42
|
-
m as B,
|
|
43
|
-
f as b
|
|
44
|
-
};
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { jsx as a, jsxs as p } from "react/jsx-runtime";
|
|
2
|
-
import * as l from "react";
|
|
3
|
-
import z from "embla-carousel-react";
|
|
4
|
-
import { K as C } from "./keyboard-pkY42Y3a.js";
|
|
5
|
-
import { c as d } from "./utils-B6yFEsav.js";
|
|
6
|
-
import { B as v } from "./button-nJvDl3w8.js";
|
|
7
|
-
import { HugeiconsIcon as N } from "@hugeicons/react";
|
|
8
|
-
import { ArrowLeft01Icon as I, ArrowRight01Icon as R } from "@hugeicons/core-free-icons";
|
|
9
|
-
const b = l.createContext(null);
|
|
10
|
-
function m() {
|
|
11
|
-
const e = l.useContext(b);
|
|
12
|
-
if (!e)
|
|
13
|
-
throw new Error("useCarousel must be used within a <Carousel />");
|
|
14
|
-
return e;
|
|
15
|
-
}
|
|
16
|
-
function W({
|
|
17
|
-
orientation: e = "horizontal",
|
|
18
|
-
opts: t,
|
|
19
|
-
setApi: r,
|
|
20
|
-
plugins: s,
|
|
21
|
-
className: c,
|
|
22
|
-
children: i,
|
|
23
|
-
...u
|
|
24
|
-
}) {
|
|
25
|
-
const [w, o] = z(
|
|
26
|
-
{
|
|
27
|
-
...t,
|
|
28
|
-
axis: e === "horizontal" ? "x" : "y"
|
|
29
|
-
},
|
|
30
|
-
s
|
|
31
|
-
), [k, y] = l.useState(!1), [S, P] = l.useState(!1), f = l.useCallback((n) => {
|
|
32
|
-
n && (y(n.canScrollPrev()), P(n.canScrollNext()));
|
|
33
|
-
}, []), h = l.useCallback(() => {
|
|
34
|
-
o?.scrollPrev();
|
|
35
|
-
}, [o]), x = l.useCallback(() => {
|
|
36
|
-
o?.scrollNext();
|
|
37
|
-
}, [o]), g = l.useCallback(
|
|
38
|
-
(n) => {
|
|
39
|
-
n.key === C.ArrowLeft ? (n.preventDefault(), h()) : n.key === C.ArrowRight && (n.preventDefault(), x());
|
|
40
|
-
},
|
|
41
|
-
[h, x]
|
|
42
|
-
);
|
|
43
|
-
return l.useEffect(() => {
|
|
44
|
-
!o || !r || r(o);
|
|
45
|
-
}, [o, r]), l.useEffect(() => {
|
|
46
|
-
if (o)
|
|
47
|
-
return f(o), o.on("reInit", f), o.on("select", f), () => {
|
|
48
|
-
o?.off("select", f);
|
|
49
|
-
};
|
|
50
|
-
}, [o, f]), /* @__PURE__ */ a(
|
|
51
|
-
b.Provider,
|
|
52
|
-
{
|
|
53
|
-
value: {
|
|
54
|
-
carouselRef: w,
|
|
55
|
-
api: o,
|
|
56
|
-
opts: t,
|
|
57
|
-
orientation: e || (t?.axis === "y" ? "vertical" : "horizontal"),
|
|
58
|
-
scrollPrev: h,
|
|
59
|
-
scrollNext: x,
|
|
60
|
-
canScrollPrev: k,
|
|
61
|
-
canScrollNext: S
|
|
62
|
-
},
|
|
63
|
-
children: /* @__PURE__ */ a(
|
|
64
|
-
"div",
|
|
65
|
-
{
|
|
66
|
-
onKeyDownCapture: g,
|
|
67
|
-
className: d("relative", c),
|
|
68
|
-
role: "region",
|
|
69
|
-
"aria-roledescription": "carousel",
|
|
70
|
-
"data-slot": "carousel",
|
|
71
|
-
...u,
|
|
72
|
-
children: i
|
|
73
|
-
}
|
|
74
|
-
)
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
function H({ className: e, ...t }) {
|
|
79
|
-
const { carouselRef: r, orientation: s } = m();
|
|
80
|
-
return /* @__PURE__ */ a(
|
|
81
|
-
"div",
|
|
82
|
-
{
|
|
83
|
-
ref: r,
|
|
84
|
-
className: "overflow-hidden",
|
|
85
|
-
"data-slot": "carousel-content",
|
|
86
|
-
children: /* @__PURE__ */ a(
|
|
87
|
-
"div",
|
|
88
|
-
{
|
|
89
|
-
className: d(
|
|
90
|
-
"flex",
|
|
91
|
-
s === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
|
|
92
|
-
e
|
|
93
|
-
),
|
|
94
|
-
...t
|
|
95
|
-
}
|
|
96
|
-
)
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
function q({ className: e, ...t }) {
|
|
101
|
-
const { orientation: r } = m();
|
|
102
|
-
return /* @__PURE__ */ a(
|
|
103
|
-
"div",
|
|
104
|
-
{
|
|
105
|
-
role: "group",
|
|
106
|
-
"aria-roledescription": "slide",
|
|
107
|
-
"data-slot": "carousel-item",
|
|
108
|
-
className: d(
|
|
109
|
-
"min-w-0 shrink-0 grow-0 basis-full",
|
|
110
|
-
r === "horizontal" ? "pl-4" : "pt-4",
|
|
111
|
-
e
|
|
112
|
-
),
|
|
113
|
-
...t
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
function F({
|
|
118
|
-
className: e,
|
|
119
|
-
variant: t = "outline",
|
|
120
|
-
size: r = "icon",
|
|
121
|
-
...s
|
|
122
|
-
}) {
|
|
123
|
-
const { orientation: c, scrollPrev: i, canScrollPrev: u } = m();
|
|
124
|
-
return /* @__PURE__ */ p(
|
|
125
|
-
v,
|
|
126
|
-
{
|
|
127
|
-
"data-slot": "carousel-previous",
|
|
128
|
-
variant: t,
|
|
129
|
-
size: r,
|
|
130
|
-
className: d(
|
|
131
|
-
"rounded-full absolute touch-manipulation",
|
|
132
|
-
c === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
133
|
-
e
|
|
134
|
-
),
|
|
135
|
-
disabled: !u,
|
|
136
|
-
onClick: i,
|
|
137
|
-
...s,
|
|
138
|
-
children: [
|
|
139
|
-
/* @__PURE__ */ a(N, { icon: I, strokeWidth: 2 }),
|
|
140
|
-
/* @__PURE__ */ a("span", { className: "sr-only", children: "Previous slide" })
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
function G({
|
|
146
|
-
className: e,
|
|
147
|
-
variant: t = "outline",
|
|
148
|
-
size: r = "icon",
|
|
149
|
-
...s
|
|
150
|
-
}) {
|
|
151
|
-
const { orientation: c, scrollNext: i, canScrollNext: u } = m();
|
|
152
|
-
return /* @__PURE__ */ p(
|
|
153
|
-
v,
|
|
154
|
-
{
|
|
155
|
-
"data-slot": "carousel-next",
|
|
156
|
-
variant: t,
|
|
157
|
-
size: r,
|
|
158
|
-
className: d(
|
|
159
|
-
"rounded-full absolute touch-manipulation",
|
|
160
|
-
c === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
161
|
-
e
|
|
162
|
-
),
|
|
163
|
-
disabled: !u,
|
|
164
|
-
onClick: i,
|
|
165
|
-
...s,
|
|
166
|
-
children: [
|
|
167
|
-
/* @__PURE__ */ a(N, { icon: R, strokeWidth: 2 }),
|
|
168
|
-
/* @__PURE__ */ a("span", { className: "sr-only", children: "Next slide" })
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
export {
|
|
174
|
-
W as C,
|
|
175
|
-
H as a,
|
|
176
|
-
q as b,
|
|
177
|
-
F as c,
|
|
178
|
-
G as d
|
|
179
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),S=require("react"),q=require("embla-carousel-react"),m=require("./keyboard-BapbM2wb.cjs"),d=require("./utils-IjLH3w2e.cjs"),b=require("./button-CYFTFDKe.cjs"),v=require("@hugeicons/react"),N=require("@hugeicons/core-free-icons");function z(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,l.get?l:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=z(S),p=s.createContext(null);function x(){const e=s.useContext(p);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}function I({orientation:e="horizontal",opts:o,setApi:t,plugins:l,className:c,children:u,...i}){const[j,r]=q({...o,axis:e==="horizontal"?"x":"y"},l),[y,g]=s.useState(!1),[k,w]=s.useState(!1),f=s.useCallback(a=>{a&&(g(a.canScrollPrev()),w(a.canScrollNext()))},[]),C=s.useCallback(()=>{r?.scrollPrev()},[r]),h=s.useCallback(()=>{r?.scrollNext()},[r]),P=s.useCallback(a=>{a.key===m.Keys.ArrowLeft?(a.preventDefault(),C()):a.key===m.Keys.ArrowRight&&(a.preventDefault(),h())},[C,h]);return s.useEffect(()=>{!r||!t||t(r)},[r,t]),s.useEffect(()=>{if(r)return f(r),r.on("reInit",f),r.on("select",f),()=>{r?.off("select",f)}},[r,f]),n.jsx(p.Provider,{value:{carouselRef:j,api:r,opts:o,orientation:e||(o?.axis==="y"?"vertical":"horizontal"),scrollPrev:C,scrollNext:h,canScrollPrev:y,canScrollNext:k},children:n.jsx("div",{onKeyDownCapture:P,className:d.cn("relative",c),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...i,children:u})})}function R({className:e,...o}){const{carouselRef:t,orientation:l}=x();return n.jsx("div",{ref:t,className:"overflow-hidden","data-slot":"carousel-content",children:n.jsx("div",{className:d.cn("flex",l==="horizontal"?"-ml-4":"-mt-4 flex-col",e),...o})})}function D({className:e,...o}){const{orientation:t}=x();return n.jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:d.cn("min-w-0 shrink-0 grow-0 basis-full",t==="horizontal"?"pl-4":"pt-4",e),...o})}function O({className:e,variant:o="outline",size:t="icon",...l}){const{orientation:c,scrollPrev:u,canScrollPrev:i}=x();return n.jsxs(b.Button,{"data-slot":"carousel-previous",variant:o,size:t,className:d.cn("rounded-full absolute touch-manipulation",c==="horizontal"?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!i,onClick:u,...l,children:[n.jsx(v.HugeiconsIcon,{icon:N.ArrowLeft01Icon,strokeWidth:2}),n.jsx("span",{className:"sr-only",children:"Previous slide"})]})}function E({className:e,variant:o="outline",size:t="icon",...l}){const{orientation:c,scrollNext:u,canScrollNext:i}=x();return n.jsxs(b.Button,{"data-slot":"carousel-next",variant:o,size:t,className:d.cn("rounded-full absolute touch-manipulation",c==="horizontal"?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!i,onClick:u,...l,children:[n.jsx(v.HugeiconsIcon,{icon:N.ArrowRight01Icon,strokeWidth:2}),n.jsx("span",{className:"sr-only",children:"Next slide"})]})}exports.Carousel=I;exports.CarouselContent=R;exports.CarouselItem=D;exports.CarouselNext=E;exports.CarouselPrevious=O;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";const u=require("react/jsx-runtime"),We=require("react"),M=require("cmdk"),S=require("./utils-IjLH3w2e.cjs"),ve=require("./button-CYFTFDKe.cjs"),pe=require("@hugeicons/react"),ge=require("@hugeicons/core-free-icons"),Be=require("react-dom"),Ue=require("@radix-ui/react-slot"),ze=require("class-variance-authority"),oe=require("./keyboard-BapbM2wb.cjs");function $e(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const i=$e(We),$t=$e(Be);var Gt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],O=Gt.reduce((e,t)=>{const n=Ue.createSlot(`Primitive.${t}`),r=i.forwardRef((o,a)=>{const{asChild:c,...s}=o,v=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(v,{...s,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Ge(e,t){e&&$t.flushSync(()=>e.dispatchEvent(t))}function Ht(e,t){const n=i.createContext(t),r=a=>{const{children:c,...s}=a,v=i.useMemo(()=>s,Object.values(s));return u.jsx(n.Provider,{value:v,children:c})};r.displayName=e+"Provider";function o(a){const c=i.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[r,o]}function He(e,t=[]){let n=[];function r(a,c){const s=i.createContext(c),v=n.length;n=[...n,c];const d=m=>{const{scope:p,children:g,...y}=m,l=p?.[e]?.[v]||s,h=i.useMemo(()=>y,Object.values(y));return u.jsx(l.Provider,{value:h,children:g})};d.displayName=a+"Provider";function f(m,p){const g=p?.[e]?.[v]||s,y=i.useContext(g);if(y)return y;if(c!==void 0)return c;throw new Error(`\`${m}\` must be used within \`${a}\``)}return[d,f]}const o=()=>{const a=n.map(c=>i.createContext(c));return function(s){const v=s?.[e]||a;return i.useMemo(()=>({[`__scope${e}`]:{...s,[e]:v}}),[s,v])}};return o.scopeName=e,[r,Kt(o,...t)]}function Kt(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const c=r.reduce((s,{useScope:v,scopeName:d})=>{const m=v(a)[`__scope${d}`];return{...s,...m}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}function Ne(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ke(...e){return t=>{let n=!1;const r=e.map(o=>{const a=Ne(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){const a=r[o];typeof a=="function"?a():Ne(e[o],null)}}}}function k(...e){return i.useCallback(Ke(...e),e)}function I(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var U=globalThis?.document?i.useLayoutEffect:()=>{},Vt=i[" useInsertionEffect ".trim().toString()]||U;function Ve({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,a,c]=qt({defaultProp:t,onChange:n}),s=e!==void 0,v=s?e:o;{const f=i.useRef(e!==void 0);i.useEffect(()=>{const m=f.current;m!==s&&console.warn(`${r} is changing from ${m?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=s},[s,r])}const d=i.useCallback(f=>{if(s){const m=Yt(f)?f(e):f;m!==e&&c.current?.(m)}else a(f)},[s,e,a,c]);return[v,d]}function qt({defaultProp:e,onChange:t}){const[n,r]=i.useState(e),o=i.useRef(n),a=i.useRef(t);return Vt(()=>{a.current=t},[t]),i.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function Yt(e){return typeof e=="function"}function Xt(e,t){return i.useReducer((n,r)=>t[n][r]??n,e)}var G=e=>{const{present:t,children:n}=e,r=Zt(t),o=typeof n=="function"?n({present:r.isPresent}):i.Children.only(n),a=k(r.ref,Qt(o));return typeof n=="function"||r.isPresent?i.cloneElement(o,{ref:a}):null};G.displayName="Presence";function Zt(e){const[t,n]=i.useState(),r=i.useRef(null),o=i.useRef(e),a=i.useRef("none"),c=e?"mounted":"unmounted",[s,v]=Xt(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const d=K(r.current);a.current=s==="mounted"?d:"none"},[s]),U(()=>{const d=r.current,f=o.current;if(f!==e){const p=a.current,g=K(d);e?v("MOUNT"):g==="none"||d?.display==="none"?v("UNMOUNT"):v(f&&p!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,v]),U(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,m=g=>{const l=K(r.current).includes(CSS.escape(g.animationName));if(g.target===t&&l&&(v("ANIMATION_END"),!o.current)){const h=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=h)})}},p=g=>{g.target===t&&(a.current=K(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else v("ANIMATION_END")},[t,v]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:i.useCallback(d=>{r.current=d?getComputedStyle(d):null,n(d)},[])}}function K(e){return e?.animationName||"none"}function Qt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Jt=i[" useId ".trim().toString()]||(()=>{}),en=0;function Z(e){const[t,n]=i.useState(Jt());return U(()=>{n(r=>r??String(en++))},[e]),e||(t?`radix-${t}`:"")}function z(e){const t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...n)=>t.current?.(...n),[])}function tn(e,t=globalThis?.document){const n=z(e);i.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var nn="DismissableLayer",fe="dismissableLayer.update",rn="dismissableLayer.pointerDownOutside",on="dismissableLayer.focusOutside",Re,qe=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),he=i.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:c,onDismiss:s,...v}=e,d=i.useContext(qe),[f,m]=i.useState(null),p=f?.ownerDocument??globalThis?.document,[,g]=i.useState({}),y=k(t,x=>m(x)),l=Array.from(d.layers),[h]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=l.indexOf(h),E=f?l.indexOf(f):-1,C=d.layersWithOutsidePointerEventsDisabled.size>0,w=E>=b,D=cn(x=>{const A=x.target,_=[...d.branches].some($=>$.contains(A));!w||_||(o?.(x),c?.(x),x.defaultPrevented||s?.())},p),N=un(x=>{const A=x.target;[...d.branches].some($=>$.contains(A))||(a?.(x),c?.(x),x.defaultPrevented||s?.())},p);return tn(x=>{E===d.layers.size-1&&(r?.(x),!x.defaultPrevented&&s&&(x.preventDefault(),s()))},p),i.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Re=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),Pe(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=Re)}},[f,p,n,d]),i.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),Pe())},[f,d]),i.useEffect(()=>{const x=()=>g({});return document.addEventListener(fe,x),()=>document.removeEventListener(fe,x)},[]),u.jsx(O.div,{...v,ref:y,style:{pointerEvents:C?w?"auto":"none":void 0,...e.style},onFocusCapture:I(e.onFocusCapture,N.onFocusCapture),onBlurCapture:I(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:I(e.onPointerDownCapture,D.onPointerDownCapture)})});he.displayName=nn;var an="DismissableLayerBranch",sn=i.forwardRef((e,t)=>{const n=i.useContext(qe),r=i.useRef(null),o=k(t,r);return i.useEffect(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),u.jsx(O.div,{...e,ref:o})});sn.displayName=an;function cn(e,t=globalThis?.document){const n=z(e),r=i.useRef(!1),o=i.useRef(()=>{});return i.useEffect(()=>{const a=s=>{if(s.target&&!r.current){let v=function(){Ye(rn,n,d,{discrete:!0})};const d={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=v,t.addEventListener("click",o.current,{once:!0})):v()}else t.removeEventListener("click",o.current);r.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function un(e,t=globalThis?.document){const n=z(e),r=i.useRef(!1);return i.useEffect(()=>{const o=a=>{a.target&&!r.current&&Ye(on,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Pe(){const e=new CustomEvent(fe);document.dispatchEvent(e)}function Ye(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Ge(o,a):o.dispatchEvent(a)}var ae="focusScope.autoFocusOnMount",ie="focusScope.autoFocusOnUnmount",Oe={bubbles:!1,cancelable:!0},ln="FocusScope",be=i.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...c}=e,[s,v]=i.useState(null),d=z(o),f=z(a),m=i.useRef(null),p=k(t,l=>v(l)),g=i.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;i.useEffect(()=>{if(r){let l=function(C){if(g.paused||!s)return;const w=C.target;s.contains(w)?m.current=w:T(m.current,{select:!0})},h=function(C){if(g.paused||!s)return;const w=C.relatedTarget;w!==null&&(s.contains(w)||T(m.current,{select:!0}))},b=function(C){if(document.activeElement===document.body)for(const D of C)D.removedNodes.length>0&&T(s)};document.addEventListener("focusin",l),document.addEventListener("focusout",h);const E=new MutationObserver(b);return s&&E.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",l),document.removeEventListener("focusout",h),E.disconnect()}}},[r,s,g.paused]),i.useEffect(()=>{if(s){Te.add(g);const l=document.activeElement;if(!s.contains(l)){const b=new CustomEvent(ae,Oe);s.addEventListener(ae,d),s.dispatchEvent(b),b.defaultPrevented||(dn(gn(Xe(s)),{select:!0}),document.activeElement===l&&T(s))}return()=>{s.removeEventListener(ae,d),setTimeout(()=>{const b=new CustomEvent(ie,Oe);s.addEventListener(ie,f),s.dispatchEvent(b),b.defaultPrevented||T(l??document.body,{select:!0}),s.removeEventListener(ie,f),Te.remove(g)},0)}}},[s,d,f,g]);const y=i.useCallback(l=>{if(!n&&!r||g.paused)return;const h=l.key==="Tab"&&!l.altKey&&!l.ctrlKey&&!l.metaKey,b=document.activeElement;if(h&&b){const E=l.currentTarget,[C,w]=fn(E);C&&w?!l.shiftKey&&b===w?(l.preventDefault(),n&&T(C,{select:!0})):l.shiftKey&&b===C&&(l.preventDefault(),n&&T(w,{select:!0})):b===E&&l.preventDefault()}},[n,r,g.paused]);return u.jsx(O.div,{tabIndex:-1,...c,ref:p,onKeyDown:y})});be.displayName=ln;function dn(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(T(r,{select:t}),document.activeElement!==n)return}function fn(e){const t=Xe(e),n=Ie(t,e),r=Ie(t.reverse(),e);return[n,r]}function Xe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ie(e,t){for(const n of e)if(!mn(n,{upTo:t}))return n}function mn(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function vn(e){return e instanceof HTMLInputElement&&"select"in e}function T(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&vn(e)&&t&&e.select()}}var Te=pn();function pn(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=ke(e,t),e.unshift(t)},remove(t){e=ke(e,t),e[0]?.resume()}}}function ke(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function gn(e){return e.filter(t=>t.tagName!=="A")}var hn="Portal",ye=i.forwardRef((e,t)=>{const{container:n,...r}=e,[o,a]=i.useState(!1);U(()=>a(!0),[]);const c=n||o&&globalThis?.document?.body;return c?Be.createPortal(u.jsx(O.div,{...r,ref:t}),c):null});ye.displayName=hn;var se=0;function Ze(){i.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ae()),document.body.insertAdjacentElement("beforeend",e[1]??Ae()),se++,()=>{se===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),se--}},[])}function Ae(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var P=function(){return P=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},P.apply(this,arguments)};function Qe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function bn(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Q="right-scroll-bar-position",J="width-before-scroll-bar",yn="with-scroll-bars-hidden",xn="--removed-body-scroll-bar-size";function ce(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function En(e,t){var n=We.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Cn=typeof window<"u"?i.useLayoutEffect:i.useEffect,je=new WeakMap;function wn(e,t){var n=En(null,function(r){return e.forEach(function(o){return ce(o,r)})});return Cn(function(){var r=je.get(n);if(r){var o=new Set(r),a=new Set(e),c=n.current;o.forEach(function(s){a.has(s)||ce(s,null)}),a.forEach(function(s){o.has(s)||ce(s,c)})}je.set(n,e)},[e]),n}function Sn(e){return e}function Dn(e,t){t===void 0&&(t=Sn);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var c=t(a,r);return n.push(c),function(){n=n.filter(function(s){return s!==c})}},assignSyncMedium:function(a){for(r=!0;n.length;){var c=n;n=[],c.forEach(a)}n={push:function(s){return a(s)},filter:function(){return n}}},assignMedium:function(a){r=!0;var c=[];if(n.length){var s=n;n=[],s.forEach(a),c=n}var v=function(){var f=c;c=[],f.forEach(a)},d=function(){return Promise.resolve().then(v)};d(),n={push:function(f){c.push(f),d()},filter:function(f){return c=c.filter(f),n}}}};return o}function Nn(e){e===void 0&&(e={});var t=Dn(null);return t.options=P({async:!0,ssr:!1},e),t}var Je=function(e){var t=e.sideCar,n=Qe(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return i.createElement(r,P({},n))};Je.isSideCarExport=!0;function Rn(e,t){return e.useMedium(t),Je}var et=Nn(),ue=function(){},te=i.forwardRef(function(e,t){var n=i.useRef(null),r=i.useState({onScrollCapture:ue,onWheelCapture:ue,onTouchMoveCapture:ue}),o=r[0],a=r[1],c=e.forwardProps,s=e.children,v=e.className,d=e.removeScrollBar,f=e.enabled,m=e.shards,p=e.sideCar,g=e.noRelative,y=e.noIsolation,l=e.inert,h=e.allowPinchZoom,b=e.as,E=b===void 0?"div":b,C=e.gapMode,w=Qe(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),D=p,N=wn([n,t]),x=P(P({},w),o);return i.createElement(i.Fragment,null,f&&i.createElement(D,{sideCar:et,removeScrollBar:d,shards:m,noRelative:g,noIsolation:y,inert:l,setCallbacks:a,allowPinchZoom:!!h,lockRef:n,gapMode:C}),c?i.cloneElement(i.Children.only(s),P(P({},x),{ref:N})):i.createElement(E,P({},x,{className:v,ref:N}),s))});te.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};te.classNames={fullWidth:J,zeroRight:Q};var Pn=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function On(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Pn();return t&&e.setAttribute("nonce",t),e}function In(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Tn(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var kn=function(){var e=0,t=null;return{add:function(n){e==0&&(t=On())&&(In(t,n),Tn(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},An=function(){var e=kn();return function(t,n){i.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},tt=function(){var e=An(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},jn={left:0,top:0,right:0,gap:0},le=function(e){return parseInt(e||"",10)||0},Mn=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[le(n),le(r),le(o)]},_n=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return jn;var t=Mn(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ln=tt(),B="data-scroll-locked",Fn=function(e,t,n,r){var o=e.left,a=e.top,c=e.right,s=e.gap;return n===void 0&&(n="margin"),`
|
|
2
|
-
.`.concat(yn,` {
|
|
3
|
-
overflow: hidden `).concat(r,`;
|
|
4
|
-
padding-right: `).concat(s,"px ").concat(r,`;
|
|
5
|
-
}
|
|
6
|
-
body[`).concat(B,`] {
|
|
7
|
-
overflow: hidden `).concat(r,`;
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
`).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
|
|
10
|
-
padding-left: `.concat(o,`px;
|
|
11
|
-
padding-top: `).concat(a,`px;
|
|
12
|
-
padding-right: `).concat(c,`px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: `).concat(s,"px ").concat(r,`;
|
|
16
|
-
`),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),`
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.`).concat(Q,` {
|
|
20
|
-
right: `).concat(s,"px ").concat(r,`;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.`).concat(J,` {
|
|
24
|
-
margin-right: `).concat(s,"px ").concat(r,`;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.`).concat(Q," .").concat(Q,` {
|
|
28
|
-
right: 0 `).concat(r,`;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.`).concat(J," .").concat(J,` {
|
|
32
|
-
margin-right: 0 `).concat(r,`;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[`).concat(B,`] {
|
|
36
|
-
`).concat(xn,": ").concat(s,`px;
|
|
37
|
-
}
|
|
38
|
-
`)},Me=function(){var e=parseInt(document.body.getAttribute(B)||"0",10);return isFinite(e)?e:0},Wn=function(){i.useEffect(function(){return document.body.setAttribute(B,(Me()+1).toString()),function(){var e=Me()-1;e<=0?document.body.removeAttribute(B):document.body.setAttribute(B,e.toString())}},[])},Bn=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Wn();var a=i.useMemo(function(){return _n(o)},[o]);return i.createElement(Ln,{styles:Fn(a,!t,o,n?"":"!important")})},me=!1;if(typeof window<"u")try{var V=Object.defineProperty({},"passive",{get:function(){return me=!0,!0}});window.addEventListener("test",V,V),window.removeEventListener("test",V,V)}catch{me=!1}var L=me?{passive:!1}:!1,Un=function(e){return e.tagName==="TEXTAREA"},nt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Un(e)&&n[t]==="visible")},zn=function(e){return nt(e,"overflowY")},$n=function(e){return nt(e,"overflowX")},_e=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=rt(e,r);if(o){var a=ot(e,r),c=a[1],s=a[2];if(c>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Gn=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Hn=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},rt=function(e,t){return e==="v"?zn(t):$n(t)},ot=function(e,t){return e==="v"?Gn(t):Hn(t)},Kn=function(e,t){return e==="h"&&t==="rtl"?-1:1},Vn=function(e,t,n,r,o){var a=Kn(e,window.getComputedStyle(t).direction),c=a*r,s=n.target,v=t.contains(s),d=!1,f=c>0,m=0,p=0;do{if(!s)break;var g=ot(e,s),y=g[0],l=g[1],h=g[2],b=l-h-a*y;(y||b)&&rt(e,s)&&(m+=b,p+=y);var E=s.parentNode;s=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!v&&s!==document.body||v&&(t.contains(s)||t===s));return(f&&Math.abs(m)<1||!f&&Math.abs(p)<1)&&(d=!0),d},q=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Le=function(e){return[e.deltaX,e.deltaY]},Fe=function(e){return e&&"current"in e?e.current:e},qn=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Yn=function(e){return`
|
|
39
|
-
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
41
|
-
`)},Xn=0,F=[];function Zn(e){var t=i.useRef([]),n=i.useRef([0,0]),r=i.useRef(),o=i.useState(Xn++)[0],a=i.useState(tt)[0],c=i.useRef(e);i.useEffect(function(){c.current=e},[e]),i.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var l=bn([e.lockRef.current],(e.shards||[]).map(Fe),!0).filter(Boolean);return l.forEach(function(h){return h.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),l.forEach(function(h){return h.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var s=i.useCallback(function(l,h){if("touches"in l&&l.touches.length===2||l.type==="wheel"&&l.ctrlKey)return!c.current.allowPinchZoom;var b=q(l),E=n.current,C="deltaX"in l?l.deltaX:E[0]-b[0],w="deltaY"in l?l.deltaY:E[1]-b[1],D,N=l.target,x=Math.abs(C)>Math.abs(w)?"h":"v";if("touches"in l&&x==="h"&&N.type==="range")return!1;var A=window.getSelection(),_=A&&A.anchorNode,$=_?_===N||_.contains(N):!1;if($)return!1;var H=_e(x,N);if(!H)return!0;if(H?D=x:(D=x==="v"?"h":"v",H=_e(x,N)),!H)return!1;if(!r.current&&"changedTouches"in l&&(C||w)&&(r.current=D),!D)return!0;var De=r.current||D;return Vn(De,h,l,De==="h"?C:w)},[]),v=i.useCallback(function(l){var h=l;if(!(!F.length||F[F.length-1]!==a)){var b="deltaY"in h?Le(h):q(h),E=t.current.filter(function(D){return D.name===h.type&&(D.target===h.target||h.target===D.shadowParent)&&qn(D.delta,b)})[0];if(E&&E.should){h.cancelable&&h.preventDefault();return}if(!E){var C=(c.current.shards||[]).map(Fe).filter(Boolean).filter(function(D){return D.contains(h.target)}),w=C.length>0?s(h,C[0]):!c.current.noIsolation;w&&h.cancelable&&h.preventDefault()}}},[]),d=i.useCallback(function(l,h,b,E){var C={name:l,delta:h,target:b,should:E,shadowParent:Qn(b)};t.current.push(C),setTimeout(function(){t.current=t.current.filter(function(w){return w!==C})},1)},[]),f=i.useCallback(function(l){n.current=q(l),r.current=void 0},[]),m=i.useCallback(function(l){d(l.type,Le(l),l.target,s(l,e.lockRef.current))},[]),p=i.useCallback(function(l){d(l.type,q(l),l.target,s(l,e.lockRef.current))},[]);i.useEffect(function(){return F.push(a),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:p}),document.addEventListener("wheel",v,L),document.addEventListener("touchmove",v,L),document.addEventListener("touchstart",f,L),function(){F=F.filter(function(l){return l!==a}),document.removeEventListener("wheel",v,L),document.removeEventListener("touchmove",v,L),document.removeEventListener("touchstart",f,L)}},[]);var g=e.removeScrollBar,y=e.inert;return i.createElement(i.Fragment,null,y?i.createElement(a,{styles:Yn(o)}):null,g?i.createElement(Bn,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Qn(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Jn=Rn(et,Zn);var xe=i.forwardRef(function(e,t){return i.createElement(te,P({},e,{ref:t,sideCar:Jn}))});xe.classNames=te.classNames;var er=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},W=new WeakMap,Y=new WeakMap,X={},de=0,at=function(e){return e&&(e.host||at(e.parentNode))},tr=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=at(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},nr=function(e,t,n,r){var o=tr(t,Array.isArray(e)?e:[e]);X[n]||(X[n]=new WeakMap);var a=X[n],c=[],s=new Set,v=new Set(o),d=function(m){!m||s.has(m)||(s.add(m),d(m.parentNode))};o.forEach(d);var f=function(m){!m||v.has(m)||Array.prototype.forEach.call(m.children,function(p){if(s.has(p))f(p);else try{var g=p.getAttribute(r),y=g!==null&&g!=="false",l=(W.get(p)||0)+1,h=(a.get(p)||0)+1;W.set(p,l),a.set(p,h),c.push(p),l===1&&y&&Y.set(p,!0),h===1&&p.setAttribute(n,"true"),y||p.setAttribute(r,"true")}catch(b){console.error("aria-hidden: cannot operate on ",p,b)}})};return f(t),s.clear(),de++,function(){c.forEach(function(m){var p=W.get(m)-1,g=a.get(m)-1;W.set(m,p),a.set(m,g),p||(Y.has(m)||m.removeAttribute(r),Y.delete(m)),g||m.removeAttribute(n)}),de--,de||(W=new WeakMap,W=new WeakMap,Y=new WeakMap,X={})}},it=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=er(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),nr(r,o,n,"aria-hidden")):function(){return null}},ne="Dialog",[st,rr]=He(ne),[or,R]=st(ne),ct=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:c=!0}=e,s=i.useRef(null),v=i.useRef(null),[d,f]=Ve({prop:r,defaultProp:o??!1,onChange:a,caller:ne});return u.jsx(or,{scope:t,triggerRef:s,contentRef:v,contentId:Z(),titleId:Z(),descriptionId:Z(),open:d,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(m=>!m),[f]),modal:c,children:n})};ct.displayName=ne;var ut="DialogTrigger",lt=i.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=R(ut,n),a=k(t,o.triggerRef);return u.jsx(O.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":we(o.open),...r,ref:a,onClick:I(e.onClick,o.onOpenToggle)})});lt.displayName=ut;var Ee="DialogPortal",[ar,dt]=st(Ee,{forceMount:void 0}),ft=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,a=R(Ee,t);return u.jsx(ar,{scope:t,forceMount:n,children:i.Children.map(r,c=>u.jsx(G,{present:n||a.open,children:u.jsx(ye,{asChild:!0,container:o,children:c})}))})};ft.displayName=Ee;var ee="DialogOverlay",mt=i.forwardRef((e,t)=>{const n=dt(ee,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(ee,e.__scopeDialog);return a.modal?u.jsx(G,{present:r||a.open,children:u.jsx(sr,{...o,ref:t})}):null});mt.displayName=ee;var ir=Ue.createSlot("DialogOverlay.RemoveScroll"),sr=i.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=R(ee,n);return u.jsx(xe,{as:ir,allowPinchZoom:!0,shards:[o.contentRef],children:u.jsx(O.div,{"data-state":we(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),j="DialogContent",vt=i.forwardRef((e,t)=>{const n=dt(j,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(j,e.__scopeDialog);return u.jsx(G,{present:r||a.open,children:a.modal?u.jsx(cr,{...o,ref:t}):u.jsx(ur,{...o,ref:t})})});vt.displayName=j;var cr=i.forwardRef((e,t)=>{const n=R(j,e.__scopeDialog),r=i.useRef(null),o=k(t,n.contentRef,r);return i.useEffect(()=>{const a=r.current;if(a)return it(a)},[]),u.jsx(pt,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:I(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:I(e.onPointerDownOutside,a=>{const c=a.detail.originalEvent,s=c.button===0&&c.ctrlKey===!0;(c.button===2||s)&&a.preventDefault()}),onFocusOutside:I(e.onFocusOutside,a=>a.preventDefault())})}),ur=i.forwardRef((e,t)=>{const n=R(j,e.__scopeDialog),r=i.useRef(!1),o=i.useRef(!1);return u.jsx(pt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(r.current||n.triggerRef.current?.focus(),a.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=a.target;n.triggerRef.current?.contains(c)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),pt=i.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,...c}=e,s=R(j,n),v=i.useRef(null),d=k(t,v);return Ze(),u.jsxs(u.Fragment,{children:[u.jsx(be,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:u.jsx(he,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":we(s.open),...c,ref:d,onDismiss:()=>s.onOpenChange(!1)})}),u.jsxs(u.Fragment,{children:[u.jsx(dr,{titleId:s.titleId}),u.jsx(mr,{contentRef:v,descriptionId:s.descriptionId})]})]})}),Ce="DialogTitle",gt=i.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=R(Ce,n);return u.jsx(O.h2,{id:o.titleId,...r,ref:t})});gt.displayName=Ce;var ht="DialogDescription",bt=i.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=R(ht,n);return u.jsx(O.p,{id:o.descriptionId,...r,ref:t})});bt.displayName=ht;var yt="DialogClose",xt=i.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=R(yt,n);return u.jsx(O.button,{type:"button",...r,ref:t,onClick:I(e.onClick,()=>o.onOpenChange(!1))})});xt.displayName=yt;function we(e){return e?"open":"closed"}var Et="DialogTitleWarning",[lr,Ct]=Ht(Et,{contentName:j,titleName:Ce,docsSlug:"dialog"}),dr=({titleId:e})=>{const t=Ct(Et),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
42
|
-
|
|
43
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
|
-
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return i.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},fr="DialogDescriptionWarning",mr=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Ct(fr).contentName}}.`;return i.useEffect(()=>{const o=e.current?.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},wt=ct,St=lt,Dt=ft,Nt=mt,Rt=vt,Pt=gt,Ot=bt,re=xt;function It({...e}){return u.jsx(wt,{"data-slot":"dialog",...e})}function vr({...e}){return u.jsx(St,{"data-slot":"dialog-trigger",...e})}function Tt({...e}){return u.jsx(Dt,{"data-slot":"dialog-portal",...e})}function pr({...e}){return u.jsx(re,{"data-slot":"dialog-close",...e})}function kt({className:e,...t}){return u.jsx(Nt,{"data-slot":"dialog-overlay",className:S.cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-[var(--z-modal-backdrop)]",e),...t})}function At({className:e,children:t,showCloseButton:n=!0,...r}){return u.jsxs(Tt,{children:[u.jsx(kt,{}),u.jsxs(Rt,{"data-slot":"dialog-content",className:S.cn("bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-100 sm:max-w-sm fixed top-1/2 left-1/2 z-[var(--z-modal)] w-full -translate-x-1/2 -translate-y-1/2",e),...r,children:[t,n&&u.jsx(re,{"data-slot":"dialog-close",asChild:!0,children:u.jsxs(ve.Button,{variant:"ghost",className:"absolute top-2 right-2",size:"icon",children:[u.jsx(pe.HugeiconsIcon,{icon:ge.Cancel01Icon,strokeWidth:2}),u.jsx("span",{className:"sr-only",children:"Close"})]})})]})]})}function jt({className:e,...t}){return u.jsx("div",{"data-slot":"dialog-header",className:S.cn("gap-1 flex flex-col",e),...t})}function gr({className:e,showCloseButton:t=!1,children:n,...r}){return u.jsxs("div",{"data-slot":"dialog-footer",className:S.cn("gap-2 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r,children:[n,t&&u.jsx(re,{asChild:!0,children:u.jsx(ve.Button,{variant:"outline",children:"Close"})})]})}function Mt({className:e,...t}){return u.jsx(Pt,{"data-slot":"dialog-title",className:S.cn("text-sm font-medium",e),...t})}function _t({className:e,...t}){return u.jsx(Ot,{"data-slot":"dialog-description",className:S.cn("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3",e),...t})}const Se=i.forwardRef(({className:e,type:t,...n},r)=>u.jsx("input",{type:t,className:S.cn("flex h-7 w-full rounded-md border border-input bg-background px-3 py-1.5 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:r,...n}));Se.displayName="Input";function Lt({className:e,...t}){return u.jsx("textarea",{"data-slot":"textarea",className:S.cn("border-input bg-input/20 dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 resize-none rounded-md border px-2 py-2 text-sm transition-colors focus-visible:ring-[2px] aria-invalid:ring-[2px] md:text-xs/relaxed placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})}function Ft({className:e,...t}){return u.jsx("div",{"data-slot":"input-group",role:"group",className:S.cn("border-input bg-input/20 dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-7 rounded-md border transition-colors has-data-[align=block-end]:rounded-md has-data-[align=block-start]:rounded-md has-[[data-slot][aria-invalid=true]]:ring-[2px] has-[textarea]:rounded-md has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-3 has-[>[data-align=inline-start]]:[&>input]:pl-3 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",e),...t})}const hr=ze.cva("text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-1 py-1.5 text-xs/relaxed font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-[calc(var(--radius-sm)-2px)] **:data-[slot=kbd]:px-1 **:data-[slot=kbd]:text-[0.625rem] [&>svg:not([class*='size-'])]:size-3.5 flex cursor-text items-center justify-center select-none shrink-0",{variants:{align:{"inline-start":"px-3 has-[>button]:ml-[-0.275rem] has-[>kbd]:ml-[-0.275rem] order-first","inline-end":"px-3 has-[>button]:mr-[-0.275rem] has-[>kbd]:mr-[-0.275rem] order-last","block-start":"px-3 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start","block-end":"px-3 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"}},defaultVariants:{align:"inline-start"}});function Wt({className:e,align:t="inline-start",...n}){return u.jsx("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:S.cn(hr({align:t}),e),onClick:r=>{r.target.closest("button")||r.currentTarget.parentElement?.querySelector("input")?.focus()},...n})}const br=ze.cva("gap-2 rounded-md text-xs/relaxed shadow-none flex items-center",{variants:{size:{xs:"h-5 gap-1 rounded-[calc(var(--radius-sm)-2px)] px-1 [&>svg:not([class*='size-'])]:size-3",sm:"","icon-xs":"size-6 p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function yr({className:e,type:t="button",variant:n="ghost",size:r="xs",...o}){return u.jsx(ve.Button,{type:t,"data-size":r,variant:n,className:S.cn(br({size:r}),e),...o})}function xr({className:e,...t}){return u.jsx("span",{className:S.cn("text-muted-foreground gap-2 text-xs/relaxed [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none",e),...t})}const Bt=i.forwardRef(({className:e,...t},n)=>u.jsx(Se,{ref:n,"data-slot":"input-group-control",className:S.cn("rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 focus-visible:ring-offset-0 aria-invalid:ring-0 dark:bg-transparent flex-1",e),...t}));Bt.displayName="InputGroupInput";function Er({className:e,...t}){return u.jsx(Lt,{"data-slot":"input-group-control",className:S.cn("rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none",e),...t})}function Ut({className:e,...t}){return u.jsx(M.Command,{"data-slot":"command",className:S.cn("bg-popover text-popover-foreground rounded-xl p-1 flex size-full flex-col overflow-hidden",e),...t})}function zt({title:e="Command Palette",description:t="Search for a command to run...",children:n,className:r,showCloseButton:o=!1,...a}){return u.jsxs(It,{...a,children:[u.jsxs(jt,{className:"sr-only",children:[u.jsx(Mt,{children:e}),u.jsx(_t,{children:t})]}),u.jsx(At,{className:S.cn("rounded-xl! p-0 overflow-hidden p-0",r),showCloseButton:o,children:n})]})}function Cr({className:e,...t}){return u.jsx("div",{"data-slot":"command-input-wrapper",className:"p-1 pb-0",children:u.jsxs(Ft,{className:"bg-input/20 dark:bg-input/30",children:[u.jsx(M.Command.Input,{"data-slot":"command-input",className:S.cn("w-full text-xs/relaxed outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...t}),u.jsx(Wt,{children:u.jsx(pe.HugeiconsIcon,{icon:ge.SearchIcon,strokeWidth:2,className:"size-3.5 shrink-0 opacity-50"})})]})})}function wr({className:e,...t}){return u.jsx(M.Command.List,{"data-slot":"command-list",className:S.cn("no-scrollbar max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto",e),...t})}function Sr({className:e,...t}){return u.jsx(M.Command.Empty,{"data-slot":"command-empty",className:S.cn("py-6 text-center text-xs/relaxed",e),...t})}function Dr({className:e,...t}){return u.jsx(M.Command.Group,{"data-slot":"command-group",className:S.cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}function Nr({className:e,...t}){return u.jsx(M.Command.Separator,{"data-slot":"command-separator",className:S.cn("bg-border/50 -mx-1 my-1 h-px",e),...t})}function Rr({className:e,children:t,...n}){return u.jsxs(M.Command.Item,{"data-slot":"command-item",className:S.cn("data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground relative flex min-h-7 cursor-default items-center gap-2 rounded-md px-2.5 py-1.5 text-xs/relaxed outline-hidden select-none [&_svg:not([class*='size-'])]:size-3.5 [[data-slot=dialog-content]_&]:rounded-md group/command-item data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...n,children:[t,u.jsx(pe.HugeiconsIcon,{icon:ge.Tick02Icon,strokeWidth:2,className:"ml-auto opacity-0 group-has-[[data-slot=command-shortcut]]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}function Pr({className:e,...t}){return u.jsx("span",{"data-slot":"command-shortcut",className:S.cn("text-muted-foreground group-data-selected/command-item:text-foreground ml-auto text-[0.625rem] tracking-widest",e),...t})}function Or({title:e="Command Palette",description:t="Search for a command to run...",shortcutEnabled:n=!0,open:r,onOpenChange:o,children:a,...c}){const[s,v]=i.useState(!1),d=r!==void 0,f=d?r:s,m=d?o:v,p=i.useRef(f);return i.useEffect(()=>{p.current=f},[f]),i.useEffect(()=>{if(!n)return;const g=y=>{oe.shouldIgnoreKeyboardShortcut(y.target)||y.key===oe.SHORTCUT_KEYS.commandPalette&&oe.isMod(y)&&(y.preventDefault(),m?.(!p.current))};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[n,m]),u.jsx(zt,{...c,title:e,description:t,open:f,onOpenChange:m,children:u.jsx(Ut,{children:a})})}exports.Close=re;exports.Command=Ut;exports.CommandDialog=zt;exports.CommandEmpty=Sr;exports.CommandGroup=Dr;exports.CommandInput=Cr;exports.CommandItem=Rr;exports.CommandList=wr;exports.CommandPalette=Or;exports.CommandSeparator=Nr;exports.CommandShortcut=Pr;exports.Content=Rt;exports.Description=Ot;exports.Dialog=It;exports.DialogClose=pr;exports.DialogContent=At;exports.DialogDescription=_t;exports.DialogFooter=gr;exports.DialogHeader=jt;exports.DialogOverlay=kt;exports.DialogPortal=Tt;exports.DialogTitle=Mt;exports.DialogTrigger=vr;exports.DismissableLayer=he;exports.FocusScope=be;exports.Input=Se;exports.InputGroup=Ft;exports.InputGroupAddon=Wt;exports.InputGroupButton=yr;exports.InputGroupInput=Bt;exports.InputGroupText=xr;exports.InputGroupTextarea=Er;exports.Overlay=Nt;exports.Portal=Dt;exports.Portal$1=ye;exports.Presence=G;exports.Primitive=O;exports.ReactRemoveScroll=xe;exports.Root=wt;exports.Textarea=Lt;exports.Title=Pt;exports.Trigger=St;exports.WarningProvider=lr;exports.composeEventHandlers=I;exports.composeRefs=Ke;exports.createContextScope=He;exports.createDialogScope=rr;exports.dispatchDiscreteCustomEvent=Ge;exports.hideOthers=it;exports.useCallbackRef=z;exports.useComposedRefs=k;exports.useControllableState=Ve;exports.useFocusGuards=Ze;exports.useId=Z;exports.useLayoutEffect2=U;
|