xertica-ui 2.7.0 → 2.8.0
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 +16 -0
- package/README.md +19 -11
- package/bin/generate-tokens.ts +25 -9
- package/components/assistant/xertica-assistant/xertica-assistant.tsx +1 -1
- package/components/ui/button/button.test.tsx +2 -2
- package/components/ui/button/button.tsx +6 -6
- package/components/ui/card/card.tsx +14 -2
- package/components/ui/input/input.tsx +1 -1
- package/components/ui/input-otp/input-otp.tsx +1 -1
- package/components/ui/search/search.tsx +1 -1
- package/components/ui/select/select.tsx +2 -2
- package/components/ui/switch/switch.tsx +1 -1
- package/components/ui/textarea/textarea.tsx +1 -1
- package/contexts/BrandColorsContext.tsx +50 -2
- package/contexts/theme-data.ts +100 -3
- package/dist/AssistantChart-BFBJXVcm.js +3383 -0
- package/dist/AssistantChart-BTnE94FR.cjs +3551 -0
- package/dist/AssistantChart-BvccsQMx.cjs +3551 -0
- package/dist/AssistantChart-CkskcBVD.js +3383 -0
- package/dist/AssistantChart-CrPkO9ip.js +3383 -0
- package/dist/AssistantChart-DKz2O1R8.cjs +3551 -0
- package/dist/AssistantChart-DYL6UEvo.cjs +3551 -0
- package/dist/AssistantChart-keo-ogKi.js +3383 -0
- package/dist/AudioPlayer-AoU5MTiM.cjs +1282 -0
- package/dist/AudioPlayer-Bx1vrblm.js +1278 -0
- package/dist/AudioPlayer-D0-I6J3J.cjs +1282 -0
- package/dist/AudioPlayer-DIWX_Yg7.cjs +1282 -0
- package/dist/AudioPlayer-DrWJnS7c.js +1278 -0
- package/dist/AudioPlayer-_P-Z7pAK.js +1278 -0
- package/dist/BrandColorsContext-B25Bpr3b.cjs +819 -0
- package/dist/BrandColorsContext-BCieATdW.js +812 -0
- package/dist/BrandColorsContext-DP0DXAXS.js +824 -0
- package/dist/BrandColorsContext-DjpC9wR_.cjs +798 -0
- package/dist/BrandColorsContext-MpXFhte7.cjs +831 -0
- package/dist/BrandColorsContext-V3tOc-Zw.js +791 -0
- package/dist/CodeBlock-CK4rO6lM.js +221 -0
- package/dist/CodeBlock-CKXamfVd.cjs +223 -0
- package/dist/CodeBlock-CVmE7isS.cjs +223 -0
- package/dist/CodeBlock-D7i5-cMv.js +221 -0
- package/dist/CodeBlock-Dg56j2ut.cjs +223 -0
- package/dist/CodeBlock-Dt6nUQoo.js +221 -0
- package/dist/CustomTooltipContent-Bxynuq7T.js +33 -0
- package/dist/CustomTooltipContent-BzjOSA0P.cjs +54 -0
- package/dist/CustomTooltipContent-C-ZeCNsf.js +33 -0
- package/dist/CustomTooltipContent-CON_QrXm.cjs +54 -0
- package/dist/CustomTooltipContent-UR_n2QfW.js +33 -0
- package/dist/CustomTooltipContent-v1SXjoFn.cjs +54 -0
- package/dist/FeatureCard-4n_8a63v.cjs +497 -0
- package/dist/FeatureCard-BLiAWT3w.js +485 -0
- package/dist/FeatureCard-BXRW97Ef.cjs +497 -0
- package/dist/FeatureCard-CDgLlWE2.js +485 -0
- package/dist/FeatureCard-CgQ8lq-I.cjs +497 -0
- package/dist/FeatureCard-Cp8cVC6T.cjs +497 -0
- package/dist/FeatureCard-D0MwrTRP.js +485 -0
- package/dist/FeatureCard-uE5i0in_.js +485 -0
- package/dist/ImageWithFallback-BOh1FM3I.js +98 -0
- package/dist/ImageWithFallback-BQO7952C.js +98 -0
- package/dist/ImageWithFallback-BkMXHCvV.cjs +122 -0
- package/dist/ImageWithFallback-C72nwszA.cjs +122 -0
- package/dist/ImageWithFallback-CCUMDuEC.cjs +122 -0
- package/dist/ImageWithFallback-DQD5TTlY.js +98 -0
- package/dist/LanguageSelector-1XhM7R1i.cjs +48 -0
- package/dist/LanguageSelector-B3ZVNc55.js +46 -0
- package/dist/LanguageSelector-Cj6zl0CM.js +46 -0
- package/dist/LanguageSelector-DK1zD4VH.cjs +48 -0
- package/dist/LanguageSelector-DseCAa0p.cjs +48 -0
- package/dist/LanguageSelector-Du09anfM.js +46 -0
- package/dist/LanguageSelector-PZHlFfEs.cjs +48 -0
- package/dist/LanguageSelector-SB-NJSmx.js +46 -0
- package/dist/PasswordStrengthMeter-B3S6i_k4.cjs +179 -0
- package/dist/PasswordStrengthMeter-B8ky1nJI.js +173 -0
- package/dist/PasswordStrengthMeter-C5VEopH-.cjs +179 -0
- package/dist/PasswordStrengthMeter-CIm7_jNT.js +173 -0
- package/dist/PasswordStrengthMeter-DKSAbQzu.js +173 -0
- package/dist/PasswordStrengthMeter-DxLu54p-.cjs +179 -0
- package/dist/PasswordStrengthMeter-k-e9Pole.cjs +179 -0
- package/dist/PasswordStrengthMeter-pAi2viq5.js +173 -0
- package/dist/ThemeToggle-4pQbVkpK.js +215 -0
- package/dist/ThemeToggle-B6rIVLvC.cjs +219 -0
- package/dist/ThemeToggle-BUOTps5l.cjs +219 -0
- package/dist/ThemeToggle-CO5mPl6e.js +215 -0
- package/dist/ThemeToggle-DbZQ0JSV.cjs +219 -0
- package/dist/ThemeToggle-vLXEq2TS.js +215 -0
- package/dist/VerifyEmailPage-BTjI2c9n.js +2954 -0
- package/dist/VerifyEmailPage-CJGfDSOx.js +2954 -0
- package/dist/VerifyEmailPage-DOlZUNc0.cjs +2963 -0
- package/dist/VerifyEmailPage-DQPRl_RJ.js +2954 -0
- package/dist/VerifyEmailPage-DrdqMbLC.cjs +2963 -0
- package/dist/VerifyEmailPage-hyDfeCRa.cjs +2963 -0
- package/dist/VerifyEmailPage-kKSXl8vu.cjs +2963 -0
- package/dist/VerifyEmailPage-w4N-bDhU.js +2954 -0
- package/dist/XerticaOrbe-B9tegV1n.js +1925 -0
- package/dist/XerticaOrbe-BQ_NjwPS.cjs +1927 -0
- package/dist/XerticaOrbe-BdUX171Q.cjs +1927 -0
- package/dist/XerticaOrbe-BdlKXRHU.cjs +1927 -0
- package/dist/XerticaOrbe-CByPAFE5.js +1925 -0
- package/dist/XerticaOrbe-Ccu9eFMu.js +1925 -0
- package/dist/XerticaProvider-BVid1oqn.cjs +46 -0
- package/dist/XerticaProvider-Bz_YfNY4.js +44 -0
- package/dist/XerticaProvider-CtvYfRbZ.cjs +46 -0
- package/dist/XerticaProvider-DMiyExQS.js +44 -0
- package/dist/XerticaProvider-DP2lzKip.cjs +46 -0
- package/dist/XerticaProvider-De79hhgp.js +44 -0
- package/dist/XerticaProvider-Dkk1Vbsy.js +44 -0
- package/dist/XerticaProvider-EdzH9Nrw.cjs +46 -0
- package/dist/alert-dialog-9XYAn5z5.js +819 -0
- package/dist/alert-dialog-B281hud0.cjs +872 -0
- package/dist/alert-dialog-BVWbrcrw.cjs +872 -0
- package/dist/alert-dialog-B_Ko1xpu.js +819 -0
- package/dist/alert-dialog-CIxE8T-J.cjs +872 -0
- package/dist/alert-dialog-DW-_iPuf.js +819 -0
- package/dist/assistant.cjs.js +2 -2
- package/dist/assistant.es.js +2 -2
- package/dist/avatar-BJwIMbZ_.js +54 -0
- package/dist/avatar-C4Zh5fAJ.cjs +77 -0
- package/dist/avatar-CTEUKZUT.js +54 -0
- package/dist/avatar-D1bZhlhL.cjs +77 -0
- package/dist/avatar-DKIxHeKG.cjs +77 -0
- package/dist/avatar-v16eZC8p.js +54 -0
- package/dist/blocks.cjs.js +2 -2
- package/dist/blocks.es.js +2 -2
- package/dist/brand.cjs.js +4 -4
- package/dist/brand.es.js +4 -4
- package/dist/breadcrumb-B1mUiaWB.cjs +98 -0
- package/dist/breadcrumb-BIRgmem-.js +90 -0
- package/dist/breadcrumb-BSng-oUf.cjs +98 -0
- package/dist/breadcrumb-CES7furU.js +90 -0
- package/dist/breadcrumb-CP275kbF.cjs +98 -0
- package/dist/breadcrumb-D7hr1EvJ.js +90 -0
- package/dist/button-BYtQygX5.cjs +85 -0
- package/dist/button-BnAW-a_w.js +62 -0
- package/dist/button-CUPDQews.js +62 -0
- package/dist/button-DFa-rtPy.js +62 -0
- package/dist/button-DV1G6XrI.cjs +85 -0
- package/dist/button-Kd9Fj53S.cjs +85 -0
- package/dist/cli.js +94 -10
- package/dist/components/ui/card/card.d.ts +11 -1
- package/dist/contexts/theme-data.d.ts +15 -1
- package/dist/dropdown-menu-B9wTZ0uX.cjs +225 -0
- package/dist/dropdown-menu-BeBtZOrs.cjs +225 -0
- package/dist/dropdown-menu-D7mRDGis.js +190 -0
- package/dist/dropdown-menu-D8ZmqHB7.js +190 -0
- package/dist/dropdown-menu-_AWBeOts.cjs +225 -0
- package/dist/dropdown-menu-qGzLO_HO.js +190 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +1 -1
- package/dist/index.cjs.js +24 -24
- package/dist/index.es.js +24 -24
- package/dist/input-B53E6K8G.js +65 -0
- package/dist/input-B7Q7vcoG.cjs +91 -0
- package/dist/input-BysqLMK1.js +65 -0
- package/dist/input-CStdFsaH.cjs +91 -0
- package/dist/input-CXYth6nW.cjs +91 -0
- package/dist/input-CX_fWE2D.cjs +91 -0
- package/dist/input-CitUVnEn.js +65 -0
- package/dist/input-wkBYTp-B.js +65 -0
- package/dist/layout.cjs.js +1 -1
- package/dist/layout.es.js +1 -1
- package/dist/media.cjs.js +1 -1
- package/dist/media.es.js +1 -1
- package/dist/pages.cjs.js +1 -1
- package/dist/pages.es.js +1 -1
- package/dist/rich-text-editor-BHiRUzWZ.js +2894 -0
- package/dist/rich-text-editor-BWMRUMJ2.js +2894 -0
- package/dist/rich-text-editor-BoE6Ks5x.cjs +2968 -0
- package/dist/rich-text-editor-BzuEwR_X.js +2894 -0
- package/dist/rich-text-editor-CcopGbQ-.js +2894 -0
- package/dist/rich-text-editor-CmxSRJIi.cjs +2968 -0
- package/dist/rich-text-editor-DyYAu28v.cjs +2968 -0
- package/dist/rich-text-editor-JS_eMQCC.cjs +2968 -0
- package/dist/select-BNfFJwYp.js +130 -0
- package/dist/select-CN8IDjGB.js +130 -0
- package/dist/select-CwRzQHA7.cjs +161 -0
- package/dist/select-CwgD3nMD.js +130 -0
- package/dist/select-DEHUm_AC.cjs +161 -0
- package/dist/select-DJDgpVm3.cjs +161 -0
- package/dist/select-DSLWQLmo.cjs +161 -0
- package/dist/select-YFx0wCYT.js +130 -0
- package/dist/sidebar-BF7JEL7U.js +1151 -0
- package/dist/sidebar-Bjr2doX5.cjs +1154 -0
- package/dist/sidebar-CMrNCmhb.cjs +1154 -0
- package/dist/sidebar-CO9x8AVn.cjs +1154 -0
- package/dist/sidebar-Cn_KB4c6.js +1151 -0
- package/dist/sidebar-Db_C30ph.cjs +1154 -0
- package/dist/sidebar-miPHsRz4.js +1151 -0
- package/dist/sidebar-pZF8mLLu.js +1151 -0
- package/dist/skeleton-BX2XTjMO.cjs +87 -0
- package/dist/skeleton-BoLK0iV7.js +78 -0
- package/dist/skeleton-Bysq8yeB.js +79 -0
- package/dist/skeleton-C7nspYnC.cjs +87 -0
- package/dist/skeleton-DL4V5Vub.cjs +87 -0
- package/dist/skeleton-DSMhdqp1.js +78 -0
- package/dist/skeleton-DhJswvTW.cjs +88 -0
- package/dist/skeleton-DicUfozA.js +78 -0
- package/dist/slider-77T_Eqw4.js +56 -0
- package/dist/slider-B6puMLXS.cjs +78 -0
- package/dist/slider-B785N7lZ.js +56 -0
- package/dist/slider-C6yssKyZ.cjs +78 -0
- package/dist/slider-CKZO9gVh.cjs +78 -0
- package/dist/slider-Cn-ImSze.js +56 -0
- package/dist/tooltip-BiJVGob3.cjs +72 -0
- package/dist/tooltip-D2OPn-1v.cjs +72 -0
- package/dist/tooltip-DlCHQuh1.js +48 -0
- package/dist/tooltip-fQ2Va0G8.cjs +72 -0
- package/dist/tooltip-oAw00FX2.js +48 -0
- package/dist/tooltip-u147L0wD.js +48 -0
- package/dist/ui.cjs.js +13 -13
- package/dist/ui.es.js +13 -13
- package/dist/xertica-assistant-C2A0R94j.js +2173 -0
- package/dist/xertica-assistant-CSUprvTR.js +2173 -0
- package/dist/xertica-assistant-Caubm0HR.js +2173 -0
- package/dist/xertica-assistant-DEexPM2u.cjs +2180 -0
- package/dist/xertica-assistant-Dh1dmEx3.cjs +2180 -0
- package/dist/xertica-assistant-GGcyHEZG.cjs +2180 -0
- package/dist/xertica-assistant-USefPe2L.js +2173 -0
- package/dist/xertica-assistant-cwSHFwfv.cjs +2180 -0
- package/dist/xertica-ui.css +1 -1
- package/package.json +3 -2
- package/styles/xertica/base.css +38 -0
- package/styles/xertica/tokens.css +9 -0
- package/templates/src/app/App.tsx +5 -1
- package/templates/src/features/home/ui/HomeContent.tsx +12 -13
- package/templates/src/features/template/ui/TemplateContent.tsx +569 -26
- package/templates/src/locales/en/pages/templates.json +112 -4
- package/templates/src/locales/es/pages/templates.json +112 -4
- package/templates/src/locales/pt-BR/pages/templates.json +112 -4
- package/templates/src/styles/xertica/tokens.css +9 -0
- package/templates/vite.config.ts +25 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
4
|
+
import { ChevronDown, ChevronUp, Check } from 'lucide-react';
|
|
5
|
+
import { c as cn } from './button-CUPDQews.js';
|
|
6
|
+
|
|
7
|
+
const Select = SelectPrimitive.Root;
|
|
8
|
+
const SelectGroup = SelectPrimitive.Group;
|
|
9
|
+
const SelectValue = SelectPrimitive.Value;
|
|
10
|
+
const SelectTrigger = React.forwardRef(({ className, children, size = "md", ...props }, ref) => {
|
|
11
|
+
const sizeClasses = {
|
|
12
|
+
sm: "h-8 px-2 py-1 text-sm",
|
|
13
|
+
md: "h-10 px-3 py-2 text-base",
|
|
14
|
+
lg: "h-12 px-4 py-3 text-base"
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
SelectPrimitive.Trigger,
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
"data-slot": "select-trigger",
|
|
21
|
+
"data-size": size,
|
|
22
|
+
className: cn(
|
|
23
|
+
"flex w-full items-center justify-between gap-2 bg-background rounded-[var(--radius)] border border-border transition-colors outline-none whitespace-nowrap text-foreground",
|
|
24
|
+
"data-[placeholder]:text-muted-foreground",
|
|
25
|
+
"focus:ring-2 focus:ring-primary focus:border-transparent",
|
|
26
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
+
sizeClasses[size],
|
|
28
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
29
|
+
"*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
...props,
|
|
33
|
+
children: [
|
|
34
|
+
children,
|
|
35
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 opacity-50" }) })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
41
|
+
const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
42
|
+
SelectPrimitive.ScrollUpButton,
|
|
43
|
+
{
|
|
44
|
+
ref,
|
|
45
|
+
"data-slot": "select-scroll-up-button",
|
|
46
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
47
|
+
...props,
|
|
48
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-4" })
|
|
49
|
+
}
|
|
50
|
+
));
|
|
51
|
+
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
52
|
+
const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
53
|
+
SelectPrimitive.ScrollDownButton,
|
|
54
|
+
{
|
|
55
|
+
ref,
|
|
56
|
+
"data-slot": "select-scroll-down-button",
|
|
57
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
58
|
+
...props,
|
|
59
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
|
|
60
|
+
}
|
|
61
|
+
));
|
|
62
|
+
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
63
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
64
|
+
SelectPrimitive.Content,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "select-content",
|
|
68
|
+
className: cn(
|
|
69
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--radius)] border border-border shadow-md",
|
|
70
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
71
|
+
className
|
|
72
|
+
),
|
|
73
|
+
position,
|
|
74
|
+
...props,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
77
|
+
/* @__PURE__ */ jsx(
|
|
78
|
+
SelectPrimitive.Viewport,
|
|
79
|
+
{
|
|
80
|
+
className: cn(
|
|
81
|
+
"p-1",
|
|
82
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
83
|
+
),
|
|
84
|
+
children
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
) }));
|
|
91
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
92
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
93
|
+
SelectPrimitive.Label,
|
|
94
|
+
{
|
|
95
|
+
ref,
|
|
96
|
+
"data-slot": "select-label",
|
|
97
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
98
|
+
...props
|
|
99
|
+
}
|
|
100
|
+
));
|
|
101
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
102
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
103
|
+
SelectPrimitive.Item,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
"data-slot": "select-item",
|
|
107
|
+
className: cn(
|
|
108
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-4" }) }) }),
|
|
114
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
));
|
|
118
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
119
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
120
|
+
SelectPrimitive.Separator,
|
|
121
|
+
{
|
|
122
|
+
ref,
|
|
123
|
+
"data-slot": "select-separator",
|
|
124
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
125
|
+
...props
|
|
126
|
+
}
|
|
127
|
+
));
|
|
128
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
129
|
+
|
|
130
|
+
export { Select as S, SelectContent as a, SelectGroup as b, SelectItem as c, SelectLabel as d, SelectScrollDownButton as e, SelectScrollUpButton as f, SelectSeparator as g, SelectTrigger as h, SelectValue as i };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
4
|
+
import { ChevronDown, ChevronUp, Check } from 'lucide-react';
|
|
5
|
+
import { c as cn } from './button-DFa-rtPy.js';
|
|
6
|
+
|
|
7
|
+
const Select = SelectPrimitive.Root;
|
|
8
|
+
const SelectGroup = SelectPrimitive.Group;
|
|
9
|
+
const SelectValue = SelectPrimitive.Value;
|
|
10
|
+
const SelectTrigger = React.forwardRef(({ className, children, size = "md", ...props }, ref) => {
|
|
11
|
+
const sizeClasses = {
|
|
12
|
+
sm: "h-8 px-2 py-1 text-sm",
|
|
13
|
+
md: "h-10 px-3 py-2 text-base",
|
|
14
|
+
lg: "h-12 px-4 py-3 text-base"
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
SelectPrimitive.Trigger,
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
"data-slot": "select-trigger",
|
|
21
|
+
"data-size": size,
|
|
22
|
+
className: cn(
|
|
23
|
+
"flex w-full items-center justify-between gap-2 bg-background rounded-[var(--radius)] border border-border transition-colors outline-none whitespace-nowrap text-foreground",
|
|
24
|
+
"data-[placeholder]:text-muted-foreground",
|
|
25
|
+
"focus:ring-2 focus:ring-primary focus:border-transparent",
|
|
26
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
+
sizeClasses[size],
|
|
28
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
29
|
+
"*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
...props,
|
|
33
|
+
children: [
|
|
34
|
+
children,
|
|
35
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 opacity-50" }) })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
41
|
+
const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
42
|
+
SelectPrimitive.ScrollUpButton,
|
|
43
|
+
{
|
|
44
|
+
ref,
|
|
45
|
+
"data-slot": "select-scroll-up-button",
|
|
46
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
47
|
+
...props,
|
|
48
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-4" })
|
|
49
|
+
}
|
|
50
|
+
));
|
|
51
|
+
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
52
|
+
const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
53
|
+
SelectPrimitive.ScrollDownButton,
|
|
54
|
+
{
|
|
55
|
+
ref,
|
|
56
|
+
"data-slot": "select-scroll-down-button",
|
|
57
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
58
|
+
...props,
|
|
59
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
|
|
60
|
+
}
|
|
61
|
+
));
|
|
62
|
+
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
63
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
64
|
+
SelectPrimitive.Content,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "select-content",
|
|
68
|
+
className: cn(
|
|
69
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--radius)] border border-border shadow-md",
|
|
70
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
71
|
+
className
|
|
72
|
+
),
|
|
73
|
+
position,
|
|
74
|
+
...props,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
77
|
+
/* @__PURE__ */ jsx(
|
|
78
|
+
SelectPrimitive.Viewport,
|
|
79
|
+
{
|
|
80
|
+
className: cn(
|
|
81
|
+
"p-1",
|
|
82
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
83
|
+
),
|
|
84
|
+
children
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
) }));
|
|
91
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
92
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
93
|
+
SelectPrimitive.Label,
|
|
94
|
+
{
|
|
95
|
+
ref,
|
|
96
|
+
"data-slot": "select-label",
|
|
97
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
98
|
+
...props
|
|
99
|
+
}
|
|
100
|
+
));
|
|
101
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
102
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
103
|
+
SelectPrimitive.Item,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
"data-slot": "select-item",
|
|
107
|
+
className: cn(
|
|
108
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-4" }) }) }),
|
|
114
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
));
|
|
118
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
119
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
120
|
+
SelectPrimitive.Separator,
|
|
121
|
+
{
|
|
122
|
+
ref,
|
|
123
|
+
"data-slot": "select-separator",
|
|
124
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
125
|
+
...props
|
|
126
|
+
}
|
|
127
|
+
));
|
|
128
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
129
|
+
|
|
130
|
+
export { Select as S, SelectContent as a, SelectGroup as b, SelectItem as c, SelectLabel as d, SelectScrollDownButton as e, SelectScrollUpButton as f, SelectSeparator as g, SelectTrigger as h, SelectValue as i };
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const React = require('react');
|
|
5
|
+
const SelectPrimitive = require('@radix-ui/react-select');
|
|
6
|
+
const lucideReact = require('lucide-react');
|
|
7
|
+
const button = require('./button-Kd9Fj53S.cjs');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
11
|
+
if (e) {
|
|
12
|
+
for (const k in e) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: () => e[k]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
27
|
+
const SelectPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(SelectPrimitive);
|
|
28
|
+
|
|
29
|
+
const Select = SelectPrimitive__namespace.Root;
|
|
30
|
+
const SelectGroup = SelectPrimitive__namespace.Group;
|
|
31
|
+
const SelectValue = SelectPrimitive__namespace.Value;
|
|
32
|
+
const SelectTrigger = React__namespace.forwardRef(({ className, children, size = "md", ...props }, ref) => {
|
|
33
|
+
const sizeClasses = {
|
|
34
|
+
sm: "h-8 px-2 py-1 text-sm",
|
|
35
|
+
md: "h-10 px-3 py-2 text-base",
|
|
36
|
+
lg: "h-12 px-4 py-3 text-base"
|
|
37
|
+
};
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
39
|
+
SelectPrimitive__namespace.Trigger,
|
|
40
|
+
{
|
|
41
|
+
ref,
|
|
42
|
+
"data-slot": "select-trigger",
|
|
43
|
+
"data-size": size,
|
|
44
|
+
className: button.cn(
|
|
45
|
+
"flex w-full items-center justify-between gap-2 bg-background rounded-[var(--radius)] border border-input-stroke transition-colors outline-none whitespace-nowrap text-foreground",
|
|
46
|
+
"data-[placeholder]:text-muted-foreground",
|
|
47
|
+
"focus:ring-2 focus:ring-primary focus:border-transparent",
|
|
48
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
49
|
+
sizeClasses[size],
|
|
50
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
51
|
+
"*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
|
|
52
|
+
className
|
|
53
|
+
),
|
|
54
|
+
...props,
|
|
55
|
+
children: [
|
|
56
|
+
children,
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-4 opacity-50" }) })
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
63
|
+
const SelectScrollUpButton = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
+
SelectPrimitive__namespace.ScrollUpButton,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "select-scroll-up-button",
|
|
68
|
+
className: button.cn("flex cursor-default items-center justify-center py-1", className),
|
|
69
|
+
...props,
|
|
70
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "size-4" })
|
|
71
|
+
}
|
|
72
|
+
));
|
|
73
|
+
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
74
|
+
const SelectScrollDownButton = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
75
|
+
SelectPrimitive__namespace.ScrollDownButton,
|
|
76
|
+
{
|
|
77
|
+
ref,
|
|
78
|
+
"data-slot": "select-scroll-down-button",
|
|
79
|
+
className: button.cn("flex cursor-default items-center justify-center py-1", className),
|
|
80
|
+
...props,
|
|
81
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-4" })
|
|
82
|
+
}
|
|
83
|
+
));
|
|
84
|
+
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
85
|
+
const SelectContent = React__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
86
|
+
SelectPrimitive__namespace.Content,
|
|
87
|
+
{
|
|
88
|
+
ref,
|
|
89
|
+
"data-slot": "select-content",
|
|
90
|
+
className: button.cn(
|
|
91
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--radius)] border border-input-stroke shadow-md",
|
|
92
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
93
|
+
className
|
|
94
|
+
),
|
|
95
|
+
position,
|
|
96
|
+
...props,
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
99
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
100
|
+
SelectPrimitive__namespace.Viewport,
|
|
101
|
+
{
|
|
102
|
+
className: button.cn(
|
|
103
|
+
"p-1",
|
|
104
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
105
|
+
),
|
|
106
|
+
children
|
|
107
|
+
}
|
|
108
|
+
),
|
|
109
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
) }));
|
|
113
|
+
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
114
|
+
const SelectLabel = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
115
|
+
SelectPrimitive__namespace.Label,
|
|
116
|
+
{
|
|
117
|
+
ref,
|
|
118
|
+
"data-slot": "select-label",
|
|
119
|
+
className: button.cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
120
|
+
...props
|
|
121
|
+
}
|
|
122
|
+
));
|
|
123
|
+
SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
|
|
124
|
+
const SelectItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
125
|
+
SelectPrimitive__namespace.Item,
|
|
126
|
+
{
|
|
127
|
+
ref,
|
|
128
|
+
"data-slot": "select-item",
|
|
129
|
+
className: button.cn(
|
|
130
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
131
|
+
className
|
|
132
|
+
),
|
|
133
|
+
...props,
|
|
134
|
+
children: [
|
|
135
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-4" }) }) }),
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
));
|
|
140
|
+
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
141
|
+
const SelectSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
+
SelectPrimitive__namespace.Separator,
|
|
143
|
+
{
|
|
144
|
+
ref,
|
|
145
|
+
"data-slot": "select-separator",
|
|
146
|
+
className: button.cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
147
|
+
...props
|
|
148
|
+
}
|
|
149
|
+
));
|
|
150
|
+
SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
|
|
151
|
+
|
|
152
|
+
exports.Select = Select;
|
|
153
|
+
exports.SelectContent = SelectContent;
|
|
154
|
+
exports.SelectGroup = SelectGroup;
|
|
155
|
+
exports.SelectItem = SelectItem;
|
|
156
|
+
exports.SelectLabel = SelectLabel;
|
|
157
|
+
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
158
|
+
exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
159
|
+
exports.SelectSeparator = SelectSeparator;
|
|
160
|
+
exports.SelectTrigger = SelectTrigger;
|
|
161
|
+
exports.SelectValue = SelectValue;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
4
|
+
import { ChevronDown, ChevronUp, Check } from 'lucide-react';
|
|
5
|
+
import { c as cn } from './button-DFa-rtPy.js';
|
|
6
|
+
|
|
7
|
+
const Select = SelectPrimitive.Root;
|
|
8
|
+
const SelectGroup = SelectPrimitive.Group;
|
|
9
|
+
const SelectValue = SelectPrimitive.Value;
|
|
10
|
+
const SelectTrigger = React.forwardRef(({ className, children, size = "md", ...props }, ref) => {
|
|
11
|
+
const sizeClasses = {
|
|
12
|
+
sm: "h-8 px-2 py-1 text-sm",
|
|
13
|
+
md: "h-10 px-3 py-2 text-base",
|
|
14
|
+
lg: "h-12 px-4 py-3 text-base"
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
SelectPrimitive.Trigger,
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
"data-slot": "select-trigger",
|
|
21
|
+
"data-size": size,
|
|
22
|
+
className: cn(
|
|
23
|
+
"flex w-full items-center justify-between gap-2 bg-background rounded-[var(--radius)] border border-input-stroke transition-colors outline-none whitespace-nowrap text-foreground",
|
|
24
|
+
"data-[placeholder]:text-muted-foreground",
|
|
25
|
+
"focus:ring-2 focus:ring-primary focus:border-transparent",
|
|
26
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
27
|
+
sizeClasses[size],
|
|
28
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
29
|
+
"*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
...props,
|
|
33
|
+
children: [
|
|
34
|
+
children,
|
|
35
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 opacity-50" }) })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
41
|
+
const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
42
|
+
SelectPrimitive.ScrollUpButton,
|
|
43
|
+
{
|
|
44
|
+
ref,
|
|
45
|
+
"data-slot": "select-scroll-up-button",
|
|
46
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
47
|
+
...props,
|
|
48
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-4" })
|
|
49
|
+
}
|
|
50
|
+
));
|
|
51
|
+
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
52
|
+
const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
53
|
+
SelectPrimitive.ScrollDownButton,
|
|
54
|
+
{
|
|
55
|
+
ref,
|
|
56
|
+
"data-slot": "select-scroll-down-button",
|
|
57
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
58
|
+
...props,
|
|
59
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
|
|
60
|
+
}
|
|
61
|
+
));
|
|
62
|
+
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
63
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
64
|
+
SelectPrimitive.Content,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "select-content",
|
|
68
|
+
className: cn(
|
|
69
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--radius)] border border-input-stroke shadow-md",
|
|
70
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
71
|
+
className
|
|
72
|
+
),
|
|
73
|
+
position,
|
|
74
|
+
...props,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
77
|
+
/* @__PURE__ */ jsx(
|
|
78
|
+
SelectPrimitive.Viewport,
|
|
79
|
+
{
|
|
80
|
+
className: cn(
|
|
81
|
+
"p-1",
|
|
82
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
83
|
+
),
|
|
84
|
+
children
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
) }));
|
|
91
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
92
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
93
|
+
SelectPrimitive.Label,
|
|
94
|
+
{
|
|
95
|
+
ref,
|
|
96
|
+
"data-slot": "select-label",
|
|
97
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
98
|
+
...props
|
|
99
|
+
}
|
|
100
|
+
));
|
|
101
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
102
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
103
|
+
SelectPrimitive.Item,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
"data-slot": "select-item",
|
|
107
|
+
className: cn(
|
|
108
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-4" }) }) }),
|
|
114
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
));
|
|
118
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
119
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
120
|
+
SelectPrimitive.Separator,
|
|
121
|
+
{
|
|
122
|
+
ref,
|
|
123
|
+
"data-slot": "select-separator",
|
|
124
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
125
|
+
...props
|
|
126
|
+
}
|
|
127
|
+
));
|
|
128
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
129
|
+
|
|
130
|
+
export { Select as S, SelectContent as a, SelectGroup as b, SelectItem as c, SelectLabel as d, SelectScrollDownButton as e, SelectScrollUpButton as f, SelectSeparator as g, SelectTrigger as h, SelectValue as i };
|