@windrun-huaiin/base-ui 15.1.1 → 16.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.
Files changed (39) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -4
  3. package/dist/components/global-icon.d.ts +15 -1
  4. package/dist/components/global-icon.js +4 -35
  5. package/dist/components/global-icon.mjs +5 -36
  6. package/dist/components/icon-factory.d.ts +15 -0
  7. package/dist/components/icon-factory.js +39 -0
  8. package/dist/components/icon-factory.mjs +35 -0
  9. package/dist/components/language-switcher.d.ts +1 -1
  10. package/dist/components/language-switcher.js +3 -3
  11. package/dist/components/language-switcher.mjs +3 -3
  12. package/dist/components/limited-lucide-icons.d.ts +1 -1
  13. package/dist/components/limited-lucide-icons.js +56 -0
  14. package/dist/components/limited-lucide-icons.mjs +1 -1
  15. package/dist/components/server.d.ts +1 -0
  16. package/dist/components/server.js +191 -0
  17. package/dist/components/server.mjs +2 -0
  18. package/dist/icons/index.d.ts +189 -0
  19. package/dist/icons/index.js +418 -0
  20. package/dist/icons/index.mjs +225 -0
  21. package/dist/ui/button.js +2 -2
  22. package/dist/ui/button.mjs +2 -2
  23. package/dist/ui/copyable-text.js +2 -2
  24. package/dist/ui/copyable-text.mjs +2 -2
  25. package/dist/ui/dropdown-menu.js +4 -4
  26. package/dist/ui/dropdown-menu.mjs +4 -4
  27. package/dist/ui/language-button.js +1 -1
  28. package/dist/ui/language-button.mjs +1 -1
  29. package/package.json +7 -2
  30. package/src/components/global-icon.tsx +7 -65
  31. package/src/components/icon-factory.tsx +92 -0
  32. package/src/components/language-switcher.tsx +4 -4
  33. package/src/components/limited-lucide-icons.ts +14 -0
  34. package/src/components/server.ts +1 -0
  35. package/src/icons/index.ts +381 -0
  36. package/src/ui/button.tsx +2 -2
  37. package/src/ui/copyable-text.tsx +3 -3
  38. package/src/ui/dropdown-menu.tsx +4 -4
  39. package/src/ui/language-button.tsx +1 -1
@@ -0,0 +1,92 @@
1
+ import { themeIconColor, themeSvgIconSize } from '@base-ui/lib/theme-util';
2
+ import { cn } from '@windrun-huaiin/lib/utils';
3
+ import { type LucideProps } from 'lucide-react';
4
+ import React from 'react';
5
+
6
+ export type StyledLucideIconComponent = (props: LucideProps) => React.ReactElement;
7
+
8
+ function hasTextColorClass(className: string): boolean {
9
+ return /\btext-\w+(-\d+)?\b/.test(className);
10
+ }
11
+
12
+ function hasSizeClass(className: string): boolean {
13
+ return /\b(size-\d+|w-\d+|h-\d+)\b/.test(className);
14
+ }
15
+
16
+ function buildStyledProps(props: LucideProps): LucideProps {
17
+ const originalClassName = props.className || '';
18
+ const nextClassName = hasTextColorClass(originalClassName)
19
+ ? originalClassName
20
+ : `${themeIconColor} ${originalClassName}`.trim();
21
+
22
+ if (hasSizeClass(originalClassName)) {
23
+ return { ...props, className: nextClassName, size: undefined };
24
+ }
25
+
26
+ return {
27
+ ...props,
28
+ className: nextClassName,
29
+ style: {
30
+ width: props.size || themeSvgIconSize,
31
+ height: props.size || themeSvgIconSize,
32
+ ...props.style,
33
+ },
34
+ };
35
+ }
36
+
37
+ export function createGlobalIcon(
38
+ IconComponent: React.ComponentType<LucideProps>,
39
+ displayName?: string
40
+ ): StyledLucideIconComponent {
41
+ const StyledIcon = (props: LucideProps): React.ReactElement => {
42
+ return <IconComponent {...buildStyledProps(props)} />;
43
+ };
44
+
45
+ StyledIcon.displayName = displayName ? `Styled(${displayName})` : `Styled(${IconComponent.displayName || IconComponent.name || 'Icon'})`;
46
+ return StyledIcon;
47
+ }
48
+
49
+ export function createGlobalLucideIcon(
50
+ IconComponent: React.ComponentType<LucideProps>,
51
+ displayName?: string
52
+ ): StyledLucideIconComponent {
53
+ return createGlobalIcon(IconComponent, displayName);
54
+ }
55
+
56
+ type GlobalAccentIconProps = {
57
+ icon: React.ComponentType<LucideProps>;
58
+ className?: string;
59
+ iconClassName?: string;
60
+ foregroundClassName?: string;
61
+ sizeClassName?: string;
62
+ iconSize?: LucideProps['size'];
63
+ };
64
+
65
+ export function GlobalAccentIcon({
66
+ icon: Icon,
67
+ className,
68
+ iconClassName,
69
+ foregroundClassName = 'text-neutral-100 dark:text-neutral-900',
70
+ sizeClassName = 'size-9',
71
+ iconSize,
72
+ }: GlobalAccentIconProps): React.ReactElement {
73
+ return (
74
+ <span
75
+ className={cn(
76
+ 'inline-flex items-center justify-center rounded-full bg-current shadow-sm transition',
77
+ themeIconColor,
78
+ sizeClassName,
79
+ className
80
+ )}
81
+ >
82
+ <Icon
83
+ size={iconSize}
84
+ className={cn(
85
+ 'size-4',
86
+ foregroundClassName,
87
+ iconClassName
88
+ )}
89
+ />
90
+ </span>
91
+ );
92
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * MIT License
4
- * Copyright (c) 2025 D8ger
4
+ * Copyright (c) 2026 D8ger
5
5
  *
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -9,9 +9,9 @@
9
9
 
10
10
  'use client'
11
11
 
12
+ import { GlobeIcon } from '@base-ui/icons'
12
13
  import { usePathname, useRouter } from 'next/navigation'
13
14
  import { useLocale } from 'next-intl'
14
- import { globalLucideIcons as icons } from "@base-ui/components/global-icon"
15
15
  import {
16
16
  DropdownMenu,
17
17
  DropdownMenuContent,
@@ -43,7 +43,7 @@ export function LanguageSwitcher({ locales, localeLabels }: LanguageSwitcherProp
43
43
  size="icon"
44
44
  className="bg-linear-to-r from-purple-400 to-pink-600 hover:from-purple-500 hover:to-pink-700 text-white transform hover:scale-110 transition-all duration-300"
45
45
  >
46
- <icons.Globe className="h-5 w-5" />
46
+ <GlobeIcon className="h-5 w-5" />
47
47
  </LanguageButton>
48
48
  </DropdownMenuTrigger>
49
49
  <DropdownMenuContent
@@ -74,4 +74,4 @@ export function LanguageSwitcher({ locales, localeLabels }: LanguageSwitcherProp
74
74
  </DropdownMenuContent>
75
75
  </DropdownMenu>
76
76
  )
77
- }
77
+ }
@@ -10,6 +10,7 @@ export {
10
10
  ArrowLeft,
11
11
  ArrowRight,
12
12
  ArrowUp,
13
+ Baby,
13
14
  Bell,
14
15
  Binary,
15
16
  Blocks,
@@ -28,7 +29,9 @@ export {
28
29
  BotMessageSquare,
29
30
  Brain,
30
31
  BrainCircuit,
32
+ Briefcase,
31
33
  BringToFront,
34
+ BrushCleaning,
32
35
  Building2,
33
36
  Bug,
34
37
  BugOff,
@@ -49,6 +52,7 @@ export {
49
52
  ChevronLeft,
50
53
  ChevronRight,
51
54
  ChevronUp,
55
+ Coffee,
52
56
  Coins,
53
57
  ComponentIcon,
54
58
  Copy,
@@ -58,6 +62,8 @@ export {
58
62
  DatabaseZap,
59
63
  Dot,
60
64
  Download,
65
+ Ellipsis,
66
+ EllipsisVertical,
61
67
  Eye,
62
68
  EyeOff,
63
69
  ExternalLink,
@@ -82,6 +88,7 @@ export {
82
88
  HandHeart,
83
89
  Handshake,
84
90
  Highlighter,
91
+ History,
85
92
  HousePlus,
86
93
  Infinity,
87
94
  Info,
@@ -103,6 +110,7 @@ export {
103
110
  Mail,
104
111
  MessageCircleMore,
105
112
  MessageCircleCode,
113
+ MessageSquareDiff,
106
114
  Music4,
107
115
  MoreHorizontal,
108
116
  MousePointerClick,
@@ -113,6 +121,9 @@ export {
113
121
  PawPrint,
114
122
  Pencil,
115
123
  Pi,
124
+ Pin,
125
+ PinOff,
126
+ Plus,
116
127
  QrCode,
117
128
  ReceiptText,
118
129
  RefreshCcw,
@@ -124,6 +135,7 @@ export {
124
135
  Scale,
125
136
  ScanSearch,
126
137
  Search,
138
+ Send,
127
139
  SendHorizontal,
128
140
  Settings,
129
141
  Settings2,
@@ -140,9 +152,11 @@ export {
140
152
  Star,
141
153
  Tablets,
142
154
  Terminal,
155
+ Trash2,
143
156
  Twitter,
144
157
  Usb,
145
158
  UserRoundCheck,
159
+ Wand2,
146
160
  Workflow,
147
161
  X,
148
162
  Zap,
@@ -1,5 +1,6 @@
1
1
  // Main server/universal components
2
2
  export * from './global-icon';
3
+ export * from '../icons';
3
4
  // Icon Configuration
4
5
  export { createSiteIcon } from './site-icon';
5
6
 
@@ -0,0 +1,381 @@
1
+ import RawBTCIcon from '@base-ui/assets/bitcoin';
2
+ import RawClerkIcon from '@base-ui/assets/clerk';
3
+ import RawCSSIcon from '@base-ui/assets/css';
4
+ import RawCSVIcon from '@base-ui/assets/csv';
5
+ import RawD8Icon from '@base-ui/assets/d8';
6
+ import RawDiffIcon from '@base-ui/assets/diff';
7
+ import RawDPAIcon from '@base-ui/assets/dpa';
8
+ import RawFAQIcon from '@base-ui/assets/faq';
9
+ import RawFAQBIcon from '@base-ui/assets/faqb';
10
+ import RawFAQSIcon from '@base-ui/assets/faqs';
11
+ import RawGitHubIcon from '@base-ui/assets/github';
12
+ import RawHtmlIcon from '@base-ui/assets/html';
13
+ import RawHttpIcon from '@base-ui/assets/http';
14
+ import RawItermIcon from '@base-ui/assets/iterm';
15
+ import RawJavaIcon from '@base-ui/assets/java';
16
+ import RawJsonIcon from '@base-ui/assets/json';
17
+ import RawLastUpdatedIcon from '@base-ui/assets/last-updated';
18
+ import RawLogIcon from '@base-ui/assets/log';
19
+ import RawMACIcon from '@base-ui/assets/mac';
20
+ import RawMarkdownIcon from '@base-ui/assets/markdown';
21
+ import RawMDXIcon from '@base-ui/assets/mdx';
22
+ import RawMmdIcon from '@base-ui/assets/mermaid';
23
+ import RawSchemeIcon from '@base-ui/assets/scheme';
24
+ import RawSnippetsIcon from '@base-ui/assets/snippets';
25
+ import RawSQLIcon from '@base-ui/assets/sql';
26
+ import RawSubPIcon from '@base-ui/assets/subp';
27
+ import RawT3PIcon from '@base-ui/assets/t3p';
28
+ import RawTestIcon from '@base-ui/assets/test';
29
+ import RawTxtIcon from '@base-ui/assets/txt';
30
+ import RawXMLIcon from '@base-ui/assets/xml';
31
+ import RawYamlIcon from '@base-ui/assets/yaml';
32
+ import { createGlobalIcon, createGlobalLucideIcon } from '@base-ui/components/icon-factory';
33
+ import {
34
+ AlbumIcon as RawAlbumIcon,
35
+ AlignHorizontalJustifyEnd as RawAlignHorizontalJustifyEnd,
36
+ ArrowLeft as RawArrowLeft,
37
+ ArrowRight as RawArrowRight,
38
+ ArrowUp as RawArrowUp,
39
+ Baby as RawBaby,
40
+ BadgeQuestionMark as RawBadgeQuestionMark,
41
+ Bell as RawBell,
42
+ Binary as RawBinary,
43
+ Blocks as RawBlocks,
44
+ BookA as RawBookA,
45
+ BookAudio as RawBookAudio,
46
+ BookCheck as RawBookCheck,
47
+ BookDown as RawBookDown,
48
+ BookHeadphones as RawBookHeadphones,
49
+ BookOpen as RawBookOpen,
50
+ Bookmark as RawBookmark,
51
+ BookmarkCheck as RawBookmarkCheck,
52
+ BookmarkMinus as RawBookmarkMinus,
53
+ BookmarkPlus as RawBookmarkPlus,
54
+ BookmarkX as RawBookmarkX,
55
+ BookX as RawBookX,
56
+ BotMessageSquare as RawBotMessageSquare,
57
+ Brain as RawBrain,
58
+ BrainCircuit as RawBrainCircuit,
59
+ Briefcase as RawBriefcase,
60
+ BringToFront as RawBringToFront,
61
+ BrushCleaning as RawBrushCleaning,
62
+ Building2 as RawBuilding2,
63
+ Bug as RawBug,
64
+ BugOff as RawBugOff,
65
+ Car as RawCar,
66
+ ChartColumnStacked as RawChartColumnStacked,
67
+ Check as RawCheck,
68
+ CheckCheck as RawCheckCheck,
69
+ CheckLine as RawCheckLine,
70
+ ChevronDown as RawChevronDown,
71
+ ChevronLeft as RawChevronLeft,
72
+ ChevronRight as RawChevronRight,
73
+ ChevronUp as RawChevronUp,
74
+ Circle as RawCircle,
75
+ CircleAlert as RawCircleAlert,
76
+ CircleArrowDown as RawCircleArrowDown,
77
+ CircleArrowUp as RawCircleArrowUp,
78
+ CircleQuestionMark as RawCircleQuestionMark,
79
+ CircleSmall as RawCircleSmall,
80
+ CircleStop as RawCircleStop,
81
+ Coffee as RawCoffee,
82
+ Coins as RawCoins,
83
+ ComponentIcon as RawComponentIcon,
84
+ Copy as RawCopy,
85
+ CopyCheck as RawCopyCheck,
86
+ Cpu as RawCpu,
87
+ Database as RawDatabase,
88
+ DatabaseZap as RawDatabaseZap,
89
+ Dot as RawDot,
90
+ Download as RawDownload,
91
+ Ellipsis as RawEllipsis,
92
+ EllipsisVertical as RawEllipsisVertical,
93
+ Eye as RawEye,
94
+ EyeOff as RawEyeOff,
95
+ ExternalLink as RawExternalLink,
96
+ Facebook as RawFacebook,
97
+ File as RawFile,
98
+ FileDown as RawFileDown,
99
+ FileInput as RawFileInput,
100
+ FileLock2 as RawFileLock2,
101
+ FileUp as RawFileUp,
102
+ Fingerprint as RawFingerprint,
103
+ Folder as RawFolder,
104
+ FolderOpen as RawFolderOpen,
105
+ Gem as RawGem,
106
+ Gift as RawGift,
107
+ GitMerge as RawGitMerge,
108
+ GitPullRequestArrow as RawGitPullRequestArrow,
109
+ Globe as RawGlobe,
110
+ GlobeLock as RawGlobeLock,
111
+ Grip as RawGrip,
112
+ GripVertical as RawGripVertical,
113
+ HandHeart as RawHandHeart,
114
+ Handshake as RawHandshake,
115
+ Highlighter as RawHighlighter,
116
+ History as RawHistory,
117
+ HousePlus as RawHousePlus,
118
+ ImageDown as RawImageDown,
119
+ ImageOff as RawImageOff,
120
+ ImageUp as RawImageUp,
121
+ Infinity as RawInfinity,
122
+ Info as RawInfo,
123
+ Keyboard as RawKeyboard,
124
+ LandPlot as RawLandPlot,
125
+ Languages as RawLanguages,
126
+ Layout as RawLayout,
127
+ LayoutTemplate as RawLayoutTemplate,
128
+ LibraryIcon as RawLibraryIcon,
129
+ Lightbulb as RawLightbulb,
130
+ Link as RawLink,
131
+ ListTodo as RawListTodo,
132
+ Loader2 as RawLoader2,
133
+ LogIn as RawLogIn,
134
+ LogOut as RawLogOut,
135
+ Mail as RawMail,
136
+ MessageCircleCode as RawMessageCircleCode,
137
+ MessageCircleMore as RawMessageCircleMore,
138
+ MessageSquareDiff as RawMessageSquareDiff,
139
+ MoreHorizontal as RawMoreHorizontal,
140
+ MousePointerClick as RawMousePointerClick,
141
+ Music4 as RawMusic4,
142
+ NotepadText as RawNotepadText,
143
+ Palette as RawPalette,
144
+ PanelLeft as RawPanelLeft,
145
+ PanelsTopLeft as RawPanelsTopLeft,
146
+ PawPrint as RawPawPrint,
147
+ Pencil as RawPencil,
148
+ Pi as RawPi,
149
+ Pin as RawPin,
150
+ PinOff as RawPinOff,
151
+ Plus as RawPlus,
152
+ QrCode as RawQrCode,
153
+ ReceiptText as RawReceiptText,
154
+ RefreshCcw as RawRefreshCcw,
155
+ Regex as RawRegex,
156
+ Replace as RawReplace,
157
+ Rocket as RawRocket,
158
+ RotateCcw as RawRotateCcw,
159
+ Rss as RawRss,
160
+ Scale as RawScale,
161
+ ScanSearch as RawScanSearch,
162
+ Search as RawSearch,
163
+ Send as RawSend,
164
+ SendHorizontal as RawSendHorizontal,
165
+ Server as RawServer,
166
+ Settings as RawSettings,
167
+ Settings2 as RawSettings2,
168
+ Share as RawShare,
169
+ Shield as RawShield,
170
+ ShieldUser as RawShieldUser,
171
+ ShoppingCart as RawShoppingCart,
172
+ Sigma as RawSigma,
173
+ SplinePointer as RawSplinePointer,
174
+ Sparkles as RawSparkles,
175
+ Sprout as RawSprout,
176
+ SquareDashedBottomCode as RawSquareDashedBottomCode,
177
+ SquareTerminal as RawSquareTerminal,
178
+ Star as RawStar,
179
+ Tablets as RawTablets,
180
+ Terminal as RawTerminal,
181
+ Trash2 as RawTrash2,
182
+ Twitter as RawTwitter,
183
+ Usb as RawUsb,
184
+ UserRoundCheck as RawUserRoundCheck,
185
+ Wand2 as RawWand2,
186
+ Workflow as RawWorkflow,
187
+ X as RawX,
188
+ Zap as RawZap,
189
+ } from '@base-ui/components/limited-lucide-icons';
190
+
191
+ export { createGlobalIcon, createGlobalLucideIcon, GlobalAccentIcon } from '@base-ui/components/icon-factory';
192
+ export { getGlobalIcon, getIconElement, globalLucideIcons } from '@base-ui/components/global-icon';
193
+ export { createSiteIcon } from '@base-ui/components/site-icon';
194
+
195
+ export const AlbumIcon = createGlobalLucideIcon(RawAlbumIcon, 'AlbumIcon');
196
+ export const AlignHorizontalJustifyEndIcon = createGlobalLucideIcon(RawAlignHorizontalJustifyEnd, 'AlignHorizontalJustifyEndIcon');
197
+ export const ArrowLeftIcon = createGlobalLucideIcon(RawArrowLeft, 'ArrowLeftIcon');
198
+ export const ArrowRightIcon = createGlobalLucideIcon(RawArrowRight, 'ArrowRightIcon');
199
+ export const ArrowUpIcon = createGlobalLucideIcon(RawArrowUp, 'ArrowUpIcon');
200
+ export const BabyIcon = createGlobalLucideIcon(RawBaby, 'BabyIcon');
201
+ export const BellIcon = createGlobalLucideIcon(RawBell, 'BellIcon');
202
+ export const BinaryIcon = createGlobalLucideIcon(RawBinary, 'BinaryIcon');
203
+ export const BlocksIcon = createGlobalLucideIcon(RawBlocks, 'BlocksIcon');
204
+ export const BookXIcon = createGlobalLucideIcon(RawBookX, 'BookXIcon');
205
+ export const BookOpenIcon = createGlobalLucideIcon(RawBookOpen, 'BookOpenIcon');
206
+ export const BookAudioIcon = createGlobalLucideIcon(RawBookAudio, 'BookAudioIcon');
207
+ export const BookAIcon = createGlobalLucideIcon(RawBookA, 'BookAIcon');
208
+ export const BookCheckIcon = createGlobalLucideIcon(RawBookCheck, 'BookCheckIcon');
209
+ export const BookDownIcon = createGlobalLucideIcon(RawBookDown, 'BookDownIcon');
210
+ export const BookHeadphonesIcon = createGlobalLucideIcon(RawBookHeadphones, 'BookHeadphonesIcon');
211
+ export const BookmarkIcon = createGlobalLucideIcon(RawBookmark, 'BookmarkIcon');
212
+ export const BookmarkCheckIcon = createGlobalLucideIcon(RawBookmarkCheck, 'BookmarkCheckIcon');
213
+ export const BookmarkMinusIcon = createGlobalLucideIcon(RawBookmarkMinus, 'BookmarkMinusIcon');
214
+ export const BookmarkPlusIcon = createGlobalLucideIcon(RawBookmarkPlus, 'BookmarkPlusIcon');
215
+ export const BookmarkXIcon = createGlobalLucideIcon(RawBookmarkX, 'BookmarkXIcon');
216
+ export const BotMessageSquareIcon = createGlobalLucideIcon(RawBotMessageSquare, 'BotMessageSquareIcon');
217
+ export const BrainIcon = createGlobalLucideIcon(RawBrain, 'BrainIcon');
218
+ export const BrainCircuitIcon = createGlobalLucideIcon(RawBrainCircuit, 'BrainCircuitIcon');
219
+ export const BriefcaseIcon = createGlobalLucideIcon(RawBriefcase, 'BriefcaseIcon');
220
+ export const BringToFrontIcon = createGlobalLucideIcon(RawBringToFront, 'BringToFrontIcon');
221
+ export const BrushCleaningIcon = createGlobalLucideIcon(RawBrushCleaning, 'BrushCleaningIcon');
222
+ export const Building2Icon = createGlobalLucideIcon(RawBuilding2, 'Building2Icon');
223
+ export const BugIcon = createGlobalLucideIcon(RawBug, 'BugIcon');
224
+ export const BugOffIcon = createGlobalLucideIcon(RawBugOff, 'BugOffIcon');
225
+ export const BadgeQuestionMarkIcon = createGlobalLucideIcon(RawBadgeQuestionMark, 'BadgeQuestionMarkIcon');
226
+ export const CarIcon = createGlobalLucideIcon(RawCar, 'CarIcon');
227
+ export const ChartColumnStackedIcon = createGlobalLucideIcon(RawChartColumnStacked, 'ChartColumnStackedIcon');
228
+ export const CircleIcon = createGlobalLucideIcon(RawCircle, 'CircleIcon');
229
+ export const CircleAlertIcon = createGlobalLucideIcon(RawCircleAlert, 'CircleAlertIcon');
230
+ export const CircleQuestionMarkIcon = createGlobalLucideIcon(RawCircleQuestionMark, 'CircleQuestionMarkIcon');
231
+ export const CircleSmallIcon = createGlobalLucideIcon(RawCircleSmall, 'CircleSmallIcon');
232
+ export const CircleStopIcon = createGlobalLucideIcon(RawCircleStop, 'CircleStopIcon');
233
+ export const CheckIcon = createGlobalLucideIcon(RawCheck, 'CheckIcon');
234
+ export const CircleArrowDownIcon = createGlobalLucideIcon(RawCircleArrowDown, 'CircleArrowDownIcon');
235
+ export const CircleArrowUpIcon = createGlobalLucideIcon(RawCircleArrowUp, 'CircleArrowUpIcon');
236
+ export const CheckCheckIcon = createGlobalLucideIcon(RawCheckCheck, 'CheckCheckIcon');
237
+ export const CheckLineIcon = createGlobalLucideIcon(RawCheckLine, 'CheckLineIcon');
238
+ export const ChevronDownIcon = createGlobalLucideIcon(RawChevronDown, 'ChevronDownIcon');
239
+ export const ChevronLeftIcon = createGlobalLucideIcon(RawChevronLeft, 'ChevronLeftIcon');
240
+ export const ChevronRightIcon = createGlobalLucideIcon(RawChevronRight, 'ChevronRightIcon');
241
+ export const ChevronUpIcon = createGlobalLucideIcon(RawChevronUp, 'ChevronUpIcon');
242
+ export const CoffeeIcon = createGlobalLucideIcon(RawCoffee, 'CoffeeIcon');
243
+ export const CoinsIcon = createGlobalLucideIcon(RawCoins, 'CoinsIcon');
244
+ export const ComponentIcon = createGlobalLucideIcon(RawComponentIcon, 'ComponentIcon');
245
+ export const CopyIcon = createGlobalLucideIcon(RawCopy, 'CopyIcon');
246
+ export const CopyCheckIcon = createGlobalLucideIcon(RawCopyCheck, 'CopyCheckIcon');
247
+ export const CpuIcon = createGlobalLucideIcon(RawCpu, 'CpuIcon');
248
+ export const DatabaseIcon = createGlobalLucideIcon(RawDatabase, 'DatabaseIcon');
249
+ export const DatabaseZapIcon = createGlobalLucideIcon(RawDatabaseZap, 'DatabaseZapIcon');
250
+ export const DotIcon = createGlobalLucideIcon(RawDot, 'DotIcon');
251
+ export const DownloadIcon = createGlobalLucideIcon(RawDownload, 'DownloadIcon');
252
+ export const EllipsisIcon = createGlobalLucideIcon(RawEllipsis, 'EllipsisIcon');
253
+ export const EllipsisVerticalIcon = createGlobalLucideIcon(RawEllipsisVertical, 'EllipsisVerticalIcon');
254
+ export const EyeIcon = createGlobalLucideIcon(RawEye, 'EyeIcon');
255
+ export const EyeOffIcon = createGlobalLucideIcon(RawEyeOff, 'EyeOffIcon');
256
+ export const ExternalLinkIcon = createGlobalLucideIcon(RawExternalLink, 'ExternalLinkIcon');
257
+ export const FacebookIcon = createGlobalLucideIcon(RawFacebook, 'FacebookIcon');
258
+ export const ShieldIcon = createGlobalLucideIcon(RawShield, 'ShieldIcon');
259
+ export const FileIcon = createGlobalLucideIcon(RawFile, 'FileIcon');
260
+ export const FileDownIcon = createGlobalLucideIcon(RawFileDown, 'FileDownIcon');
261
+ export const FileInputIcon = createGlobalLucideIcon(RawFileInput, 'FileInputIcon');
262
+ export const FileLock2Icon = createGlobalLucideIcon(RawFileLock2, 'FileLock2Icon');
263
+ export const FileUpIcon = createGlobalLucideIcon(RawFileUp, 'FileUpIcon');
264
+ export const FingerprintIcon = createGlobalLucideIcon(RawFingerprint, 'FingerprintIcon');
265
+ export const FolderIcon = createGlobalLucideIcon(RawFolder, 'FolderIcon');
266
+ export const FolderOpenIcon = createGlobalLucideIcon(RawFolderOpen, 'FolderOpenIcon');
267
+ export const GemIcon = createGlobalLucideIcon(RawGem, 'GemIcon');
268
+ export const GiftIcon = createGlobalLucideIcon(RawGift, 'GiftIcon');
269
+ export const GitMergeIcon = createGlobalLucideIcon(RawGitMerge, 'GitMergeIcon');
270
+ export const GitPullRequestArrowIcon = createGlobalLucideIcon(RawGitPullRequestArrow, 'GitPullRequestArrowIcon');
271
+ export const GlobeIcon = createGlobalLucideIcon(RawGlobe, 'GlobeIcon');
272
+ export const GlobeLockIcon = createGlobalLucideIcon(RawGlobeLock, 'GlobeLockIcon');
273
+ export const GripIcon = createGlobalLucideIcon(RawGrip, 'GripIcon');
274
+ export const GripVerticalIcon = createGlobalLucideIcon(RawGripVertical, 'GripVerticalIcon');
275
+ export const HandHeartIcon = createGlobalLucideIcon(RawHandHeart, 'HandHeartIcon');
276
+ export const HandshakeIcon = createGlobalLucideIcon(RawHandshake, 'HandshakeIcon');
277
+ export const HighlighterIcon = createGlobalLucideIcon(RawHighlighter, 'HighlighterIcon');
278
+ export const HistoryIcon = createGlobalLucideIcon(RawHistory, 'HistoryIcon');
279
+ export const HousePlusIcon = createGlobalLucideIcon(RawHousePlus, 'HousePlusIcon');
280
+ export const InfinityIcon = createGlobalLucideIcon(RawInfinity, 'InfinityIcon');
281
+ export const InfoIcon = createGlobalLucideIcon(RawInfo, 'InfoIcon');
282
+ export const ImageDownIcon = createGlobalLucideIcon(RawImageDown, 'ImageDownIcon');
283
+ export const ImageOffIcon = createGlobalLucideIcon(RawImageOff, 'ImageOffIcon');
284
+ export const ImageUpIcon = createGlobalLucideIcon(RawImageUp, 'ImageUpIcon');
285
+ export const KeyboardIcon = createGlobalLucideIcon(RawKeyboard, 'KeyboardIcon');
286
+ export const LandPlotIcon = createGlobalLucideIcon(RawLandPlot, 'LandPlotIcon');
287
+ export const LanguagesIcon = createGlobalLucideIcon(RawLanguages, 'LanguagesIcon');
288
+ export const LayoutIcon = createGlobalLucideIcon(RawLayout, 'LayoutIcon');
289
+ export const LayoutTemplateIcon = createGlobalLucideIcon(RawLayoutTemplate, 'LayoutTemplateIcon');
290
+ export const LibraryIcon = createGlobalLucideIcon(RawLibraryIcon, 'LibraryIcon');
291
+ export const LightbulbIcon = createGlobalLucideIcon(RawLightbulb, 'LightbulbIcon');
292
+ export const LinkIcon = createGlobalLucideIcon(RawLink, 'LinkIcon');
293
+ export const ListTodoIcon = createGlobalLucideIcon(RawListTodo, 'ListTodoIcon');
294
+ export const Loader2Icon = createGlobalLucideIcon(RawLoader2, 'Loader2Icon');
295
+ export const LogInIcon = createGlobalLucideIcon(RawLogIn, 'LogInIcon');
296
+ export const LogOutIcon = createGlobalLucideIcon(RawLogOut, 'LogOutIcon');
297
+ export const MailIcon = createGlobalLucideIcon(RawMail, 'MailIcon');
298
+ export const MessageCircleMoreIcon = createGlobalLucideIcon(RawMessageCircleMore, 'MessageCircleMoreIcon');
299
+ export const MessageCircleCodeIcon = createGlobalLucideIcon(RawMessageCircleCode, 'MessageCircleCodeIcon');
300
+ export const MessageSquareDiffIcon = createGlobalLucideIcon(RawMessageSquareDiff, 'MessageSquareDiffIcon');
301
+ export const Music4Icon = createGlobalLucideIcon(RawMusic4, 'Music4Icon');
302
+ export const MoreHorizontalIcon = createGlobalLucideIcon(RawMoreHorizontal, 'MoreHorizontalIcon');
303
+ export const MousePointerClickIcon = createGlobalLucideIcon(RawMousePointerClick, 'MousePointerClickIcon');
304
+ export const NotepadTextIcon = createGlobalLucideIcon(RawNotepadText, 'NotepadTextIcon');
305
+ export const PaletteIcon = createGlobalLucideIcon(RawPalette, 'PaletteIcon');
306
+ export const PanelLeftIcon = createGlobalLucideIcon(RawPanelLeft, 'PanelLeftIcon');
307
+ export const PanelsTopLeftIcon = createGlobalLucideIcon(RawPanelsTopLeft, 'PanelsTopLeftIcon');
308
+ export const PawPrintIcon = createGlobalLucideIcon(RawPawPrint, 'PawPrintIcon');
309
+ export const PencilIcon = createGlobalLucideIcon(RawPencil, 'PencilIcon');
310
+ export const PiIcon = createGlobalLucideIcon(RawPi, 'PiIcon');
311
+ export const PinIcon = createGlobalLucideIcon(RawPin, 'PinIcon');
312
+ export const PinOffIcon = createGlobalLucideIcon(RawPinOff, 'PinOffIcon');
313
+ export const PlusIcon = createGlobalLucideIcon(RawPlus, 'PlusIcon');
314
+ export const QrCodeIcon = createGlobalLucideIcon(RawQrCode, 'QrCodeIcon');
315
+ export const ReceiptTextIcon = createGlobalLucideIcon(RawReceiptText, 'ReceiptTextIcon');
316
+ export const RefreshCcwIcon = createGlobalLucideIcon(RawRefreshCcw, 'RefreshCcwIcon');
317
+ export const RegexIcon = createGlobalLucideIcon(RawRegex, 'RegexIcon');
318
+ export const ReplaceIcon = createGlobalLucideIcon(RawReplace, 'ReplaceIcon');
319
+ export const RocketIcon = createGlobalLucideIcon(RawRocket, 'RocketIcon');
320
+ export const RotateCcwIcon = createGlobalLucideIcon(RawRotateCcw, 'RotateCcwIcon');
321
+ export const RssIcon = createGlobalLucideIcon(RawRss, 'RssIcon');
322
+ export const ScaleIcon = createGlobalLucideIcon(RawScale, 'ScaleIcon');
323
+ export const ScanSearchIcon = createGlobalLucideIcon(RawScanSearch, 'ScanSearchIcon');
324
+ export const SearchIcon = createGlobalLucideIcon(RawSearch, 'SearchIcon');
325
+ export const SendIcon = createGlobalLucideIcon(RawSend, 'SendIcon');
326
+ export const SendHorizontalIcon = createGlobalLucideIcon(RawSendHorizontal, 'SendHorizontalIcon');
327
+ export const SettingsIcon = createGlobalLucideIcon(RawSettings, 'SettingsIcon');
328
+ export const Settings2Icon = createGlobalLucideIcon(RawSettings2, 'Settings2Icon');
329
+ export const ShareIcon = createGlobalLucideIcon(RawShare, 'ShareIcon');
330
+ export const SigmaIcon = createGlobalLucideIcon(RawSigma, 'SigmaIcon');
331
+ export const ShieldUserIcon = createGlobalLucideIcon(RawShieldUser, 'ShieldUserIcon');
332
+ export const ShoppingCartIcon = createGlobalLucideIcon(RawShoppingCart, 'ShoppingCartIcon');
333
+ export const SproutIcon = createGlobalLucideIcon(RawSprout, 'SproutIcon');
334
+ export const SquareDashedBottomCodeIcon = createGlobalLucideIcon(RawSquareDashedBottomCode, 'SquareDashedBottomCodeIcon');
335
+ export const SquareTerminalIcon = createGlobalLucideIcon(RawSquareTerminal, 'SquareTerminalIcon');
336
+ export const ServerIcon = createGlobalLucideIcon(RawServer, 'ServerIcon');
337
+ export const SplinePointerIcon = createGlobalLucideIcon(RawSplinePointer, 'SplinePointerIcon');
338
+ export const SparklesIcon = createGlobalLucideIcon(RawSparkles, 'SparklesIcon');
339
+ export const StarIcon = createGlobalLucideIcon(RawStar, 'StarIcon');
340
+ export const TabletsIcon = createGlobalLucideIcon(RawTablets, 'TabletsIcon');
341
+ export const TerminalIcon = createGlobalLucideIcon(RawTerminal, 'TerminalIcon');
342
+ export const Trash2Icon = createGlobalLucideIcon(RawTrash2, 'Trash2Icon');
343
+ export const TwitterIcon = createGlobalLucideIcon(RawTwitter, 'TwitterIcon');
344
+ export const UsbIcon = createGlobalLucideIcon(RawUsb, 'UsbIcon');
345
+ export const UserRoundCheckIcon = createGlobalLucideIcon(RawUserRoundCheck, 'UserRoundCheckIcon');
346
+ export const Wand2Icon = createGlobalLucideIcon(RawWand2, 'Wand2Icon');
347
+ export const WorkflowIcon = createGlobalLucideIcon(RawWorkflow, 'WorkflowIcon');
348
+ export const XIcon = createGlobalLucideIcon(RawX, 'XIcon');
349
+ export const ZapIcon = createGlobalLucideIcon(RawZap, 'ZapIcon');
350
+
351
+ export const GitHubIcon = createGlobalIcon(RawGitHubIcon, 'GitHubIcon');
352
+ export const D8Icon = createGlobalIcon(RawD8Icon, 'D8Icon');
353
+ export const ClerkIcon = createGlobalIcon(RawClerkIcon, 'ClerkIcon');
354
+ export const ItermIcon = createGlobalIcon(RawItermIcon, 'ItermIcon');
355
+ export const MarkdownIcon = createGlobalIcon(RawMarkdownIcon, 'MarkdownIcon');
356
+ export const MDXIcon = createGlobalIcon(RawMDXIcon, 'MDXIcon');
357
+ export const HtmlIcon = createGlobalIcon(RawHtmlIcon, 'HtmlIcon');
358
+ export const JsonIcon = createGlobalIcon(RawJsonIcon, 'JsonIcon');
359
+ export const XMLIcon = createGlobalIcon(RawXMLIcon, 'XMLIcon');
360
+ export const YamlIcon = createGlobalIcon(RawYamlIcon, 'YamlIcon');
361
+ export const CSVIcon = createGlobalIcon(RawCSVIcon, 'CSVIcon');
362
+ export const TxtIcon = createGlobalIcon(RawTxtIcon, 'TxtIcon');
363
+ export const JavaIcon = createGlobalIcon(RawJavaIcon, 'JavaIcon');
364
+ export const SQLIcon = createGlobalIcon(RawSQLIcon, 'SQLIcon');
365
+ export const LogIcon = createGlobalIcon(RawLogIcon, 'LogIcon');
366
+ export const MACIcon = createGlobalIcon(RawMACIcon, 'MACIcon');
367
+ export const BTCIcon = createGlobalIcon(RawBTCIcon, 'BTCIcon');
368
+ export const CSSIcon = createGlobalIcon(RawCSSIcon, 'CSSIcon');
369
+ export const MmdIcon = createGlobalIcon(RawMmdIcon, 'MmdIcon');
370
+ export const LastUpdatedIcon = createGlobalIcon(RawLastUpdatedIcon, 'LastUpdatedIcon');
371
+ export const SnippetsIcon = createGlobalIcon(RawSnippetsIcon, 'SnippetsIcon');
372
+ export const TestIcon = createGlobalIcon(RawTestIcon, 'TestIcon');
373
+ export const DiffIcon = createGlobalIcon(RawDiffIcon, 'DiffIcon');
374
+ export const DPAIcon = createGlobalIcon(RawDPAIcon, 'DPAIcon');
375
+ export const SubPIcon = createGlobalIcon(RawSubPIcon, 'SubPIcon');
376
+ export const T3PIcon = createGlobalIcon(RawT3PIcon, 'T3PIcon');
377
+ export const HttpIcon = createGlobalIcon(RawHttpIcon, 'HttpIcon');
378
+ export const SchemeIcon = createGlobalIcon(RawSchemeIcon, 'SchemeIcon');
379
+ export const FAQIcon = createGlobalIcon(RawFAQIcon, 'FAQIcon');
380
+ export const FAQBIcon = createGlobalIcon(RawFAQBIcon, 'FAQBIcon');
381
+ export const FAQSIcon = createGlobalIcon(RawFAQSIcon, 'FAQSIcon');
package/src/ui/button.tsx CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
+ import { Loader2Icon } from "@base-ui/icons"
3
4
  import * as React from "react"
4
5
  import { Slot } from "@radix-ui/react-slot"
5
6
  import { cva, type VariantProps } from "class-variance-authority"
6
- import { globalLucideIcons as icons } from "@base-ui/components/global-icon"
7
7
  import { cn } from "@windrun-huaiin/lib/utils"
8
8
 
9
9
  const buttonVariants = cva(
@@ -68,7 +68,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
68
68
  {...props}
69
69
  >
70
70
  {children}
71
- {loading && <icons.Loader2 className="ml-2 h-4 w-4 animate-spin" />}
71
+ {loading && <Loader2Icon className="ml-2 h-4 w-4 animate-spin" />}
72
72
  </Comp>
73
73
  )
74
74
  }
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
+ import { CheckIcon } from '@base-ui/icons';
3
4
  import * as React from 'react';
4
5
  import { useState } from 'react';
5
- import { globalLucideIcons as icons } from '@base-ui/components/global-icon';
6
6
  import { cn } from '@windrun-huaiin/lib/utils';
7
7
 
8
8
  export function CopyableText({
@@ -50,7 +50,7 @@ export function CopyableText({
50
50
  {children || text}
51
51
  </span>
52
52
 
53
- <icons.Check
53
+ <CheckIcon
54
54
  className={cn(
55
55
  'size-3 shrink-0',
56
56
  'transition-opacity duration-200',
@@ -59,4 +59,4 @@ export function CopyableText({
59
59
  />
60
60
  </div>
61
61
  );
62
- }
62
+ }
@@ -1,8 +1,8 @@
1
1
  "use client"
2
2
 
3
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "@base-ui/icons"
3
4
  import * as React from "react"
4
5
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
5
- import { globalLucideIcons as icons } from "@base-ui/components/global-icon"
6
6
 
7
7
  import { cn } from "@windrun-huaiin/lib/utils"
8
8
 
@@ -34,7 +34,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
34
34
  {...props}
35
35
  >
36
36
  {children}
37
- <icons.ChevronRight className="ml-auto" />
37
+ <ChevronRightIcon className="ml-auto" />
38
38
  </DropdownMenuPrimitive.SubTrigger>
39
39
  ))
40
40
  DropdownMenuSubTrigger.displayName =
@@ -107,7 +107,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
107
107
  >
108
108
  <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
109
109
  <DropdownMenuPrimitive.ItemIndicator>
110
- <icons.Check className="h-4 w-4" />
110
+ <CheckIcon className="h-4 w-4" />
111
111
  </DropdownMenuPrimitive.ItemIndicator>
112
112
  </span>
113
113
  {children}
@@ -130,7 +130,7 @@ const DropdownMenuRadioItem = React.forwardRef<
130
130
  >
131
131
  <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
132
132
  <DropdownMenuPrimitive.ItemIndicator>
133
- <icons.Circle className="h-2 w-2 fill-current" />
133
+ <CircleIcon className="h-2 w-2 fill-current" />
134
134
  </DropdownMenuPrimitive.ItemIndicator>
135
135
  </span>
136
136
  {children}