@windrun-huaiin/base-ui 4.1.0 → 5.0.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/dist/index.mjs CHANGED
@@ -1,14 +1,8 @@
1
- import * as React32 from 'react';
2
- import React32__default, { createContext, useContext } from 'react';
3
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
4
- import { clsx } from 'clsx';
5
- import { twMerge } from 'tailwind-merge';
6
- import { Slot } from '@radix-ui/react-slot';
7
- import { cva } from 'class-variance-authority';
1
+ import React29 from 'react';
8
2
  import { jsx, jsxs } from 'react/jsx-runtime';
9
3
  import { Zap, X, Twitter, Terminal, Tablets, Star, SquareTerminal, SquareDashedBottomCode, SplinePointer, Sparkles, ShieldUser, Share, Server, Search, Scale, Rss, Replace, Regex, ReceiptText, Pi, Pencil, PanelsTopLeft, PanelLeft, Palette, MousePointerClick, MoreHorizontal, LogOut, LogIn, Loader2, Link, LibraryIcon, LayoutTemplate, Layout, LandPlot, Keyboard, Info, ImageUp, ImageOff, ImageDown, HousePlus, Highlighter, Handshake, HandHeart, GripVertical, GlobeLock, Globe, GitPullRequestArrow, Gift, Fingerprint, FileLock2, Facebook, Eye, ExternalLink, Download, Dot, DatabaseZap, Cpu, ComponentIcon, CircleSmall, CircleAlert, Circle, ChevronUp, ChevronRight, ChevronLeft, ChevronDown, Check, Car, Building2, Bug, BringToFront, BookX, Blocks, Binary, ArrowUp, ArrowRight, ArrowLeft, AlignHorizontalJustifyEnd, AlbumIcon } from 'lucide-react';
10
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
11
- import * as LabelPrimitive from '@radix-ui/react-label';
4
+ import { clsx } from 'clsx';
5
+ import { twMerge } from 'tailwind-merge';
12
6
 
13
7
  var __defProp = Object.defineProperty;
14
8
  var __defProps = Object.defineProperties;
@@ -45,15 +39,12 @@ var __export = (target, all) => {
45
39
  for (var name in all)
46
40
  __defProp(target, name, { get: all[name], enumerable: true });
47
41
  };
48
- function cn(...inputs) {
49
- return twMerge(clsx(inputs));
50
- }
51
42
 
52
43
  // src/lib/theme-util.ts
53
44
  var themeIconColor = process.env.NEXT_PUBLIC_STYLE_ICON_COLOR || "text-purple-500";
54
45
  var themeSvgIconColor = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_COLOR || "#AC62FD";
55
46
  var themeSvgIconSize = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_SIZE || 18;
56
- var GitHubIcon = React32__default.forwardRef(
47
+ var GitHubIcon = React29.forwardRef(
57
48
  (_a, ref) => {
58
49
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
59
50
  return /* @__PURE__ */ jsx(
@@ -79,7 +70,7 @@ var GitHubIcon = React32__default.forwardRef(
79
70
  );
80
71
  GitHubIcon.displayName = "GitHub";
81
72
  var github_default = GitHubIcon;
82
- var D8Icon = React32__default.forwardRef(
73
+ var D8Icon = React29.forwardRef(
83
74
  (_a, ref) => {
84
75
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
85
76
  return /* @__PURE__ */ jsxs(
@@ -120,7 +111,7 @@ var D8Icon = React32__default.forwardRef(
120
111
  );
121
112
  D8Icon.displayName = "D8";
122
113
  var d8_default = D8Icon;
123
- var ClerkIcon = React32__default.forwardRef(
114
+ var ClerkIcon = React29.forwardRef(
124
115
  (_a, ref) => {
125
116
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
126
117
  return /* @__PURE__ */ jsx(
@@ -147,7 +138,7 @@ var ClerkIcon = React32__default.forwardRef(
147
138
  );
148
139
  ClerkIcon.displayName = "Clerk";
149
140
  var clerk_default = ClerkIcon;
150
- var ItermIcon = React32__default.forwardRef(
141
+ var ItermIcon = React29.forwardRef(
151
142
  (_a, ref) => {
152
143
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
153
144
  return /* @__PURE__ */ jsx(
@@ -174,7 +165,7 @@ var ItermIcon = React32__default.forwardRef(
174
165
  );
175
166
  ItermIcon.displayName = "Iterm";
176
167
  var iterm_default = ItermIcon;
177
- var MarkdownIcon = React32__default.forwardRef(
168
+ var MarkdownIcon = React29.forwardRef(
178
169
  (_a, ref) => {
179
170
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
180
171
  return /* @__PURE__ */ jsx(
@@ -200,7 +191,7 @@ var MarkdownIcon = React32__default.forwardRef(
200
191
  );
201
192
  MarkdownIcon.displayName = "Markdown";
202
193
  var markdown_default = MarkdownIcon;
203
- var MDXIcon = React32__default.forwardRef(
194
+ var MDXIcon = React29.forwardRef(
204
195
  (_a, ref) => {
205
196
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
206
197
  return /* @__PURE__ */ jsxs(
@@ -322,7 +313,7 @@ var MDXIcon = React32__default.forwardRef(
322
313
  );
323
314
  MDXIcon.displayName = "MDX";
324
315
  var mdx_default = MDXIcon;
325
- var HtmlIcon = React32__default.forwardRef(
316
+ var HtmlIcon = React29.forwardRef(
326
317
  (_a, ref) => {
327
318
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
328
319
  return /* @__PURE__ */ jsx(
@@ -347,7 +338,7 @@ var HtmlIcon = React32__default.forwardRef(
347
338
  );
348
339
  HtmlIcon.displayName = "Html";
349
340
  var html_default = HtmlIcon;
350
- var JsonIcon = React32__default.forwardRef(
341
+ var JsonIcon = React29.forwardRef(
351
342
  (_a, ref) => {
352
343
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
353
344
  return /* @__PURE__ */ jsx(
@@ -372,7 +363,7 @@ var JsonIcon = React32__default.forwardRef(
372
363
  );
373
364
  JsonIcon.displayName = "Json";
374
365
  var json_default = JsonIcon;
375
- var XMLIcon = React32__default.forwardRef(
366
+ var XMLIcon = React29.forwardRef(
376
367
  (_a, ref) => {
377
368
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
378
369
  return /* @__PURE__ */ jsx(
@@ -398,7 +389,7 @@ var XMLIcon = React32__default.forwardRef(
398
389
  );
399
390
  XMLIcon.displayName = "XML";
400
391
  var xml_default = XMLIcon;
401
- var YamlIcon = React32__default.forwardRef(
392
+ var YamlIcon = React29.forwardRef(
402
393
  (_a, ref) => {
403
394
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
404
395
  return /* @__PURE__ */ jsx(
@@ -424,7 +415,7 @@ var YamlIcon = React32__default.forwardRef(
424
415
  );
425
416
  YamlIcon.displayName = "Yaml";
426
417
  var yaml_default = YamlIcon;
427
- var CSVIcon = React32__default.forwardRef(
418
+ var CSVIcon = React29.forwardRef(
428
419
  (_a, ref) => {
429
420
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
430
421
  return /* @__PURE__ */ jsxs(
@@ -476,7 +467,7 @@ var CSVIcon = React32__default.forwardRef(
476
467
  );
477
468
  CSVIcon.displayName = "CSV";
478
469
  var csv_default = CSVIcon;
479
- var TxtIcon = React32__default.forwardRef(
470
+ var TxtIcon = React29.forwardRef(
480
471
  (_a, ref) => {
481
472
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
482
473
  return /* @__PURE__ */ jsx(
@@ -502,7 +493,7 @@ var TxtIcon = React32__default.forwardRef(
502
493
  );
503
494
  TxtIcon.displayName = "Txt";
504
495
  var txt_default = TxtIcon;
505
- var JavaIcon = React32__default.forwardRef(
496
+ var JavaIcon = React29.forwardRef(
506
497
  (_a, ref) => {
507
498
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
508
499
  return /* @__PURE__ */ jsx(
@@ -529,7 +520,7 @@ var JavaIcon = React32__default.forwardRef(
529
520
  );
530
521
  JavaIcon.displayName = "Java";
531
522
  var java_default = JavaIcon;
532
- var SQLIcon = React32__default.forwardRef(
523
+ var SQLIcon = React29.forwardRef(
533
524
  (_a, ref) => {
534
525
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
535
526
  return /* @__PURE__ */ jsxs(
@@ -573,7 +564,7 @@ var SQLIcon = React32__default.forwardRef(
573
564
  );
574
565
  SQLIcon.displayName = "SQL";
575
566
  var sql_default = SQLIcon;
576
- var LogIcon = React32__default.forwardRef(
567
+ var LogIcon = React29.forwardRef(
577
568
  (_a, ref) => {
578
569
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
579
570
  return /* @__PURE__ */ jsxs(
@@ -610,7 +601,7 @@ var LogIcon = React32__default.forwardRef(
610
601
  );
611
602
  LogIcon.displayName = "Log";
612
603
  var log_default = LogIcon;
613
- var MACIcon = React32__default.forwardRef(
604
+ var MACIcon = React29.forwardRef(
614
605
  (_a, ref) => {
615
606
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
616
607
  return /* @__PURE__ */ jsx(
@@ -637,7 +628,7 @@ var MACIcon = React32__default.forwardRef(
637
628
  );
638
629
  MACIcon.displayName = "MAC";
639
630
  var mac_default = MACIcon;
640
- var BitcoinIcon = React32__default.forwardRef(
631
+ var BitcoinIcon = React29.forwardRef(
641
632
  (_a, ref) => {
642
633
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
643
634
  return /* @__PURE__ */ jsx(
@@ -664,7 +655,7 @@ var BitcoinIcon = React32__default.forwardRef(
664
655
  );
665
656
  BitcoinIcon.displayName = "BTC";
666
657
  var bitcoin_default = BitcoinIcon;
667
- var CSSIcon = React32__default.forwardRef(
658
+ var CSSIcon = React29.forwardRef(
668
659
  (_a, ref) => {
669
660
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
670
661
  return /* @__PURE__ */ jsx(
@@ -689,7 +680,7 @@ var CSSIcon = React32__default.forwardRef(
689
680
  );
690
681
  CSSIcon.displayName = "CSS";
691
682
  var css_default = CSSIcon;
692
- var MermaidIcon = React32__default.forwardRef(
683
+ var MermaidIcon = React29.forwardRef(
693
684
  // Memmaid need special size for good view
694
685
  (_a, ref) => {
695
686
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
@@ -717,7 +708,7 @@ var MermaidIcon = React32__default.forwardRef(
717
708
  );
718
709
  MermaidIcon.displayName = "Mmd";
719
710
  var mermaid_default = MermaidIcon;
720
- var LastUpdatedIcon = React32__default.forwardRef(
711
+ var LastUpdatedIcon = React29.forwardRef(
721
712
  (_a, ref) => {
722
713
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
723
714
  return /* @__PURE__ */ jsx(
@@ -743,7 +734,7 @@ var LastUpdatedIcon = React32__default.forwardRef(
743
734
  );
744
735
  LastUpdatedIcon.displayName = "LastUpdated";
745
736
  var last_updated_default = LastUpdatedIcon;
746
- var SnippetsIcon = React32__default.forwardRef(
737
+ var SnippetsIcon = React29.forwardRef(
747
738
  (_a, ref) => {
748
739
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
749
740
  return /* @__PURE__ */ jsx(
@@ -768,7 +759,7 @@ var SnippetsIcon = React32__default.forwardRef(
768
759
  );
769
760
  SnippetsIcon.displayName = "Snippets";
770
761
  var snippets_default = SnippetsIcon;
771
- var TestIcon = React32__default.forwardRef(
762
+ var TestIcon = React29.forwardRef(
772
763
  (_a, ref) => {
773
764
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
774
765
  return /* @__PURE__ */ jsx(
@@ -794,7 +785,7 @@ var TestIcon = React32__default.forwardRef(
794
785
  );
795
786
  TestIcon.displayName = "Test";
796
787
  var test_default = TestIcon;
797
- var DiffIcon = React32__default.forwardRef(
788
+ var DiffIcon = React29.forwardRef(
798
789
  (_a, ref) => {
799
790
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
800
791
  return /* @__PURE__ */ jsxs(
@@ -822,7 +813,7 @@ var DiffIcon = React32__default.forwardRef(
822
813
  );
823
814
  DiffIcon.displayName = "Diff";
824
815
  var diff_default = DiffIcon;
825
- var DPAIcon = React32__default.forwardRef(
816
+ var DPAIcon = React29.forwardRef(
826
817
  (_a, ref) => {
827
818
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
828
819
  return /* @__PURE__ */ jsx(
@@ -847,7 +838,7 @@ var DPAIcon = React32__default.forwardRef(
847
838
  );
848
839
  DPAIcon.displayName = "DPA";
849
840
  var dpa_default = DPAIcon;
850
- var SubPIcon = React32__default.forwardRef(
841
+ var SubPIcon = React29.forwardRef(
851
842
  (_a, ref) => {
852
843
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
853
844
  return /* @__PURE__ */ jsx(
@@ -874,7 +865,7 @@ var SubPIcon = React32__default.forwardRef(
874
865
  );
875
866
  SubPIcon.displayName = "SubP";
876
867
  var subp_default = SubPIcon;
877
- var T3PIcon = React32__default.forwardRef(
868
+ var T3PIcon = React29.forwardRef(
878
869
  (_a, ref) => {
879
870
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
880
871
  return /* @__PURE__ */ jsx(
@@ -899,7 +890,7 @@ var T3PIcon = React32__default.forwardRef(
899
890
  );
900
891
  T3PIcon.displayName = "T3P";
901
892
  var t3p_default = T3PIcon;
902
- var HttpIcon = React32__default.forwardRef(
893
+ var HttpIcon = React29.forwardRef(
903
894
  (_a, ref) => {
904
895
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
905
896
  return /* @__PURE__ */ jsx(
@@ -925,7 +916,7 @@ var HttpIcon = React32__default.forwardRef(
925
916
  );
926
917
  HttpIcon.displayName = "Http";
927
918
  var http_default = HttpIcon;
928
- var SchemeIcon = React32__default.forwardRef(
919
+ var SchemeIcon = React29.forwardRef(
929
920
  (_a, ref) => {
930
921
  var _b = _a, { color = "currentColor", className } = _b, props = __objRest(_b, ["color", "className"]);
931
922
  return /* @__PURE__ */ jsx(
@@ -1133,12 +1124,12 @@ function getGlobalIcon(iconKey, createElement) {
1133
1124
  }
1134
1125
  const FallbackIcon = globalLucideIcons[DEFAULT_FALLBACK_ICON];
1135
1126
  if (createElement) {
1136
- return React32__default.createElement(FallbackIcon);
1127
+ return React29.createElement(FallbackIcon);
1137
1128
  }
1138
1129
  return FallbackIcon;
1139
1130
  }
1140
1131
  if (createElement) {
1141
- return React32__default.createElement(Icon);
1132
+ return React29.createElement(Icon);
1142
1133
  }
1143
1134
  return Icon;
1144
1135
  }
@@ -1147,428 +1138,37 @@ function getIconElement(icon) {
1147
1138
  }
1148
1139
  var DefaultSiteIcon = () => /* @__PURE__ */ jsx(globalLucideIcons.Zap, { className: `h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}` });
1149
1140
  var NotFoundIcon = () => /* @__PURE__ */ jsx(globalLucideIcons.SquareTerminal, { className: `h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}` });
1150
- var buttonVariants = cva(
1151
- "inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden 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",
1152
- {
1153
- variants: {
1154
- variant: {
1155
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
1156
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
1157
- outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
1158
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
1159
- ghost: "hover:bg-accent hover:text-accent-foreground",
1160
- link: "text-primary underline-offset-4 hover:underline"
1161
- },
1162
- size: {
1163
- default: "h-10 px-4 py-2",
1164
- sm: "h-9 rounded-md px-3",
1165
- lg: "h-11 rounded-md px-8",
1166
- icon: "h-10 w-10"
1167
- }
1168
- },
1169
- defaultVariants: {
1170
- variant: "default",
1171
- size: "default"
1172
- }
1173
- }
1174
- );
1175
- var Button = React32.forwardRef(
1176
- (_a, ref) => {
1177
- var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
1178
- const Comp = asChild ? Slot : "button";
1179
- if (asChild) {
1180
- return /* @__PURE__ */ jsx(
1181
- Comp,
1182
- __spreadProps(__spreadValues({
1183
- className: cn(buttonVariants({ variant, size, className })),
1184
- ref,
1185
- disabled: loading || props.disabled
1186
- }, props), {
1187
- children
1188
- })
1189
- );
1190
- }
1191
- return /* @__PURE__ */ jsxs(
1192
- Comp,
1193
- __spreadProps(__spreadValues({
1194
- className: cn(buttonVariants({ variant, size, className })),
1195
- ref,
1196
- disabled: loading || props.disabled
1197
- }, props), {
1198
- children: [
1199
- children,
1200
- loading && /* @__PURE__ */ jsx(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
1201
- ]
1202
- })
1203
- );
1204
- }
1205
- );
1206
- Button.displayName = "Button";
1207
- var AlertDialog = AlertDialogPrimitive.Root;
1208
- var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1209
- var AlertDialogPortal = AlertDialogPrimitive.Portal;
1210
- var AlertDialogOverlay = React32.forwardRef((_a, ref) => {
1211
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1212
- return /* @__PURE__ */ jsx(
1213
- AlertDialogPrimitive.Overlay,
1214
- __spreadProps(__spreadValues({
1215
- className: cn(
1216
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1217
- className
1218
- )
1219
- }, props), {
1220
- ref
1221
- })
1222
- );
1223
- });
1224
- AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
1225
- var AlertDialogContent = React32.forwardRef((_a, ref) => {
1226
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1227
- return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
1228
- /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
1229
- /* @__PURE__ */ jsx(
1230
- AlertDialogPrimitive.Content,
1231
- __spreadValues({
1232
- ref,
1233
- className: cn(
1234
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
1235
- className
1236
- )
1237
- }, props)
1238
- )
1239
- ] });
1240
- });
1241
- AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
1242
- var AlertDialogHeader = (_a) => {
1243
- var _b = _a, {
1244
- className
1245
- } = _b, props = __objRest(_b, [
1246
- "className"
1247
- ]);
1248
- return /* @__PURE__ */ jsx(
1249
- "div",
1250
- __spreadValues({
1251
- className: cn(
1252
- "flex flex-col space-y-2 text-center sm:text-left",
1253
- className
1254
- )
1255
- }, props)
1256
- );
1257
- };
1258
- AlertDialogHeader.displayName = "AlertDialogHeader";
1259
- var AlertDialogFooter = (_a) => {
1260
- var _b = _a, {
1261
- className
1262
- } = _b, props = __objRest(_b, [
1263
- "className"
1264
- ]);
1265
- return /* @__PURE__ */ jsx(
1266
- "div",
1267
- __spreadValues({
1268
- className: cn(
1269
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1270
- className
1271
- )
1272
- }, props)
1273
- );
1274
- };
1275
- AlertDialogFooter.displayName = "AlertDialogFooter";
1276
- var AlertDialogTitle = React32.forwardRef((_a, ref) => {
1277
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1278
- return /* @__PURE__ */ jsx(
1279
- AlertDialogPrimitive.Title,
1280
- __spreadValues({
1281
- ref,
1282
- className: cn("text-lg font-semibold", className)
1283
- }, props)
1284
- );
1285
- });
1286
- AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
1287
- var AlertDialogDescription = React32.forwardRef((_a, ref) => {
1288
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1289
- return /* @__PURE__ */ jsx(
1290
- AlertDialogPrimitive.Description,
1291
- __spreadValues({
1292
- ref,
1293
- className: cn("text-sm text-muted-foreground", className)
1294
- }, props)
1295
- );
1296
- });
1297
- AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1298
- var AlertDialogAction = React32.forwardRef((_a, ref) => {
1299
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1300
- return /* @__PURE__ */ jsx(
1301
- AlertDialogPrimitive.Action,
1302
- __spreadValues({
1303
- ref,
1304
- className: cn(buttonVariants(), className)
1305
- }, props)
1306
- );
1307
- });
1308
- AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1309
- var AlertDialogCancel = React32.forwardRef((_a, ref) => {
1310
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1311
- return /* @__PURE__ */ jsx(
1312
- AlertDialogPrimitive.Cancel,
1313
- __spreadValues({
1314
- ref,
1315
- className: cn(
1316
- buttonVariants({ variant: "outline" }),
1317
- "mt-2 sm:mt-0",
1318
- className
1319
- )
1320
- }, props)
1321
- );
1322
- });
1323
- AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1324
- var DropdownMenu = DropdownMenuPrimitive.Root;
1325
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1326
- var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1327
- var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1328
- var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1329
- var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1330
- var DropdownMenuSubTrigger = React32.forwardRef((_a, ref) => {
1331
- var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
1332
- return /* @__PURE__ */ jsxs(
1333
- DropdownMenuPrimitive.SubTrigger,
1334
- __spreadProps(__spreadValues({
1335
- ref,
1336
- className: cn(
1337
- "flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1338
- inset && "pl-8",
1339
- className
1340
- )
1341
- }, props), {
1342
- children: [
1343
- children,
1344
- /* @__PURE__ */ jsx(globalLucideIcons.ChevronRight, { className: "ml-auto" })
1345
- ]
1346
- })
1347
- );
1348
- });
1349
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1350
- var DropdownMenuSubContent = React32.forwardRef((_a, ref) => {
1351
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1352
- return /* @__PURE__ */ jsx(
1353
- DropdownMenuPrimitive.SubContent,
1354
- __spreadValues({
1355
- ref,
1356
- className: cn(
1357
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",
1358
- className
1359
- )
1360
- }, props)
1361
- );
1362
- });
1363
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1364
- var DropdownMenuContent = React32.forwardRef((_a, ref) => {
1365
- var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
1366
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1367
- DropdownMenuPrimitive.Content,
1368
- __spreadValues({
1369
- ref,
1370
- sideOffset,
1371
- className: cn(
1372
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
1373
- className
1374
- )
1375
- }, props)
1376
- ) });
1377
- });
1378
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1379
- var DropdownMenuItem = React32.forwardRef((_a, ref) => {
1380
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
1381
- return /* @__PURE__ */ jsx(
1382
- DropdownMenuPrimitive.Item,
1383
- __spreadValues({
1384
- ref,
1385
- className: cn(
1386
- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1387
- inset && "pl-8",
1388
- className
1389
- )
1390
- }, props)
1391
- );
1392
- });
1393
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1394
- var DropdownMenuCheckboxItem = React32.forwardRef((_a, ref) => {
1395
- var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
1396
- return /* @__PURE__ */ jsxs(
1397
- DropdownMenuPrimitive.CheckboxItem,
1398
- __spreadProps(__spreadValues({
1399
- ref,
1400
- className: cn(
1401
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
1402
- className
1403
- ),
1404
- checked
1405
- }, props), {
1406
- children: [
1407
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
1408
- children
1409
- ]
1410
- })
1411
- );
1412
- });
1413
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1414
- var DropdownMenuRadioItem = React32.forwardRef((_a, ref) => {
1415
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
1416
- return /* @__PURE__ */ jsxs(
1417
- DropdownMenuPrimitive.RadioItem,
1418
- __spreadProps(__spreadValues({
1419
- ref,
1420
- className: cn(
1421
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
1422
- className
1423
- )
1424
- }, props), {
1425
- children: [
1426
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1427
- children
1428
- ]
1429
- })
1430
- );
1431
- });
1432
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1433
- var DropdownMenuLabel = React32.forwardRef((_a, ref) => {
1434
- var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
1435
- return /* @__PURE__ */ jsx(
1436
- DropdownMenuPrimitive.Label,
1437
- __spreadValues({
1438
- ref,
1439
- className: cn(
1440
- "px-2 py-1.5 text-sm font-semibold",
1441
- inset && "pl-8",
1442
- className
1443
- )
1444
- }, props)
1445
- );
1446
- });
1447
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1448
- var DropdownMenuSeparator = React32.forwardRef((_a, ref) => {
1449
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1450
- return /* @__PURE__ */ jsx(
1451
- DropdownMenuPrimitive.Separator,
1452
- __spreadValues({
1453
- ref,
1454
- className: cn("-mx-1 my-1 h-px bg-muted", className)
1455
- }, props)
1456
- );
1457
- });
1458
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1459
- var DropdownMenuShortcut = (_a) => {
1460
- var _b = _a, {
1461
- className
1462
- } = _b, props = __objRest(_b, [
1463
- "className"
1464
- ]);
1465
- return /* @__PURE__ */ jsx(
1466
- "span",
1467
- __spreadValues({
1468
- className: cn("ml-auto text-xs tracking-widest opacity-60", className)
1469
- }, props)
1470
- );
1471
- };
1472
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1473
- var labelVariants = cva(
1474
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1475
- );
1476
- var Label2 = React32.forwardRef((_a, ref) => {
1477
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1478
- return /* @__PURE__ */ jsx(
1479
- LabelPrimitive.Root,
1480
- __spreadValues({
1481
- ref,
1482
- className: cn(labelVariants(), className)
1483
- }, props)
1484
- );
1485
- });
1486
- Label2.displayName = LabelPrimitive.Root.displayName;
1487
- var LanguageButton = React32.forwardRef(
1488
- (_a, ref) => {
1489
- var _b = _a, { className, variant = "default", size = "default" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
1490
- return /* @__PURE__ */ jsx(
1491
- "button",
1492
- __spreadValues({
1493
- className: cn(
1494
- "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
1495
- {
1496
- "bg-primary text-primary-foreground hover:bg-primary/90": variant === "default",
1497
- "hover:bg-accent hover:text-accent-foreground": variant === "ghost",
1498
- "h-10 px-4 py-2": size === "default",
1499
- "h-9 px-3": size === "sm",
1500
- "h-11 px-8": size === "lg",
1501
- "h-10 w-10": size === "icon"
1502
- },
1503
- className
1504
- ),
1505
- ref
1506
- }, props)
1507
- );
1508
- }
1509
- );
1510
- LanguageButton.displayName = "Button";
1511
- var IconConfigContext = createContext(null);
1512
- function IconConfigProvider({ config, children }) {
1513
- return /* @__PURE__ */ jsx(IconConfigContext.Provider, { value: config, children });
1514
- }
1515
- function useIconConfig() {
1516
- const config = useContext(IconConfigContext);
1517
- if (config === null) {
1518
- throw new Error(
1519
- '[SiteIcon] IconConfigProvider not found. Please wrap your app with <IconConfigProvider config={{ siteIcon: "YourIcon" }}>.'
1520
- );
1521
- }
1522
- return config;
1523
- }
1524
- function useIconConfigSafe(iconKey) {
1525
- try {
1526
- const config = useIconConfig();
1527
- return config[iconKey];
1528
- } catch (e) {
1529
- return void 0;
1530
- }
1141
+ function cn(...inputs) {
1142
+ return twMerge(clsx(inputs));
1531
1143
  }
1532
- function SiteIcon(_a) {
1533
- var _b = _a, {
1534
- size = 24,
1535
- className
1536
- } = _b, props = __objRest(_b, [
1537
- "size",
1538
- "className"
1539
- ]);
1540
- const configuredIcon = useIconConfigSafe("siteIcon");
1541
- if (configuredIcon === void 0) {
1542
- throw new Error(
1543
- '[SiteIcon] Site icon is not configured. Please use <IconConfigProvider config={{ siteIcon: YourCustomIcon }}> or <IconConfigProvider config={{ siteIcon: "IconKeyName" }}> to set a custom site icon to avoid legal risks.'
1544
- );
1545
- }
1546
- if (typeof configuredIcon === "string") {
1547
- if (configuredIcon === "") {
1548
- const DefaultIcon = globalLucideIcons["Download"];
1549
- return /* @__PURE__ */ jsx(DefaultIcon, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
1550
- }
1551
- const IconComponent = globalLucideIcons[configuredIcon];
1552
- if (!IconComponent) {
1553
- throw new Error(`[SiteIcon] Icon key "${configuredIcon}" not found in globalLucideIcons.`);
1144
+ function createSiteIcon(iconConfig) {
1145
+ return function CreatedSiteIcon(_a) {
1146
+ var _b = _a, {
1147
+ size = 24,
1148
+ className
1149
+ } = _b, props = __objRest(_b, [
1150
+ "size",
1151
+ "className"
1152
+ ]);
1153
+ if (typeof iconConfig === "string") {
1154
+ if (iconConfig === "") {
1155
+ const DefaultIcon = globalLucideIcons["Download"];
1156
+ return /* @__PURE__ */ jsx(DefaultIcon, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
1157
+ }
1158
+ const IconComponent = globalLucideIcons[iconConfig];
1159
+ if (!IconComponent) {
1160
+ throw new Error(`[CreatedSiteIcon] Icon key "${iconConfig}" not found in globalLucideIcons.`);
1161
+ }
1162
+ return /* @__PURE__ */ jsx(IconComponent, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
1163
+ } else {
1164
+ const CustomIcon = iconConfig;
1165
+ const hasColorClass = className && /text-\w+/.test(className);
1166
+ const finalClassName = hasColorClass ? className : cn(themeIconColor, className);
1167
+ return /* @__PURE__ */ jsx(CustomIcon, __spreadValues({ size, className: finalClassName }, props));
1554
1168
  }
1555
- return /* @__PURE__ */ jsx(IconComponent, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
1556
- } else {
1557
- const CustomIcon = configuredIcon;
1558
- const hasColorClass = className && /text-\w+/.test(className);
1559
- const finalClassName = hasColorClass ? className : cn(themeIconColor, className);
1560
- return /* @__PURE__ */ jsx(CustomIcon, __spreadValues({ size, className: finalClassName }, props));
1561
- }
1169
+ };
1562
1170
  }
1563
- /**
1564
- * @license
1565
- * MIT License
1566
- * Copyright (c) 2025 D8ger
1567
- *
1568
- * This source code is licensed under the MIT license found in the
1569
- * LICENSE file in the root directory of this source tree.
1570
- */
1571
1171
 
1572
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Button, DefaultSiteIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, IconConfigProvider, Label2 as Label, LanguageButton, NotFoundIcon, SiteIcon, buttonVariants, getGlobalIcon, getIconElement, globalLucideIcons };
1172
+ export { DefaultSiteIcon, NotFoundIcon, createSiteIcon, getGlobalIcon, getIconElement, globalLucideIcons };
1573
1173
  //# sourceMappingURL=index.mjs.map
1574
1174
  //# sourceMappingURL=index.mjs.map