@lobehub/ui 4.38.4 → 5.0.1

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 (267) hide show
  1. package/es/Accordion/Accordion.d.mts +2 -2
  2. package/es/Accordion/AccordionItem.d.mts +2 -2
  3. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  4. package/es/ActionIconGroup/ActionIconGroup.mjs +1 -1
  5. package/es/ActionIconGroup/type.d.mts +1 -1
  6. package/es/Alert/Alert.d.mts +2 -2
  7. package/es/AutoComplete/Select.d.mts +2 -2
  8. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  9. package/es/Burger/Burger.d.mts +2 -2
  10. package/es/CodeDiff/CodeDiff.d.mts +2 -2
  11. package/es/CodeDiff/PatchDiff.d.mts +2 -2
  12. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  13. package/es/Collapse/Collapse.d.mts +2 -2
  14. package/es/ConfigProvider/index.d.mts +2 -2
  15. package/es/ContextMenu/index.d.mts +6 -7
  16. package/es/ContextMenu/index.mjs +3 -3
  17. package/es/CopyButton/CopyButton.d.mts +2 -2
  18. package/es/DatePicker/DatePicker.d.mts +2 -2
  19. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  20. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  21. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  22. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  23. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  24. package/es/Drawer/Drawer.d.mts +2 -2
  25. package/es/Dropdown/Dropdown.d.mts +2 -2
  26. package/es/DropdownMenu/index.d.mts +6 -5
  27. package/es/DropdownMenu/index.mjs +4 -4
  28. package/es/EditableText/EditableText.d.mts +2 -2
  29. package/es/EditorSlashMenu/atoms.d.mts +13 -13
  30. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  31. package/es/Flex/FlexBasic.d.mts +2 -2
  32. package/es/FontLoader/index.d.mts +2 -2
  33. package/es/Footer/Footer.d.mts +2 -2
  34. package/es/Form/components/FormGroup.d.mts +2 -2
  35. package/es/Form/components/FormItem.d.mts +2 -2
  36. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  37. package/es/FormModal/FormModal.d.mts +2 -2
  38. package/es/GuideCard/GuideCard.d.mts +2 -2
  39. package/es/Header/Header.d.mts +2 -2
  40. package/es/Highlighter/Highlighter.d.mts +2 -2
  41. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  42. package/es/Hotkey/Hotkey.d.mts +2 -2
  43. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  44. package/es/Icon/Icon.d.mts +2 -2
  45. package/es/Icon/components/IconProvider.d.mts +3 -3
  46. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  47. package/es/Input/Input.d.mts +2 -2
  48. package/es/Input/InputNumber.d.mts +2 -2
  49. package/es/Input/InputOPT.d.mts +2 -2
  50. package/es/Input/InputPassword.d.mts +2 -2
  51. package/es/Input/TextArea.d.mts +2 -2
  52. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  53. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  54. package/es/Layout/components/LayoutMain.d.mts +2 -2
  55. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  56. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  57. package/es/Layout/components/LayoutToc.d.mts +2 -2
  58. package/es/List/ListItem/index.d.mts +2 -2
  59. package/es/Markdown/Markdown.d.mts +2 -2
  60. package/es/Markdown/Typography.d.mts +2 -2
  61. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  62. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  63. package/es/Menu/Menu.d.mts +2 -2
  64. package/es/Mermaid/Mermaid.d.mts +2 -2
  65. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  66. package/es/Modal/Modal.d.mts +2 -2
  67. package/es/Modal/ModalProvider.d.mts +2 -2
  68. package/es/Modal/imperative.d.mts +2 -2
  69. package/es/MotionProvider/index.d.mts +2 -2
  70. package/es/Popover/ArrowIcon.d.mts +2 -2
  71. package/es/Popover/atoms.d.mts +9 -9
  72. package/es/Popover/context.d.mts +2 -2
  73. package/es/ScrollArea/index.d.mts +5 -4
  74. package/es/ScrollArea/index.mjs +2 -2
  75. package/es/SearchBar/SearchBar.d.mts +2 -2
  76. package/es/Segmented/Segmented.d.mts +2 -2
  77. package/es/Select/Select.d.mts +3 -3
  78. package/es/Select/Select.mjs +1 -1
  79. package/es/Select/Select.mjs.map +1 -1
  80. package/es/SideNav/SideNav.d.mts +2 -2
  81. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  82. package/es/SortableList/components/DragHandle.d.mts +2 -2
  83. package/es/SortableList/components/SortableItem.d.mts +2 -2
  84. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  85. package/es/ThemeSwitch/ThemeSwitch.mjs +1 -1
  86. package/es/Toast/index.d.mts +4 -3
  87. package/es/Toast/index.mjs +1 -1
  88. package/es/Toc/Toc.d.mts +2 -2
  89. package/es/Video/index.d.mts +2 -2
  90. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  91. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  92. package/es/awesome/Features/Features.d.mts +2 -2
  93. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  94. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  95. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  96. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  97. package/es/awesome/Hero/Hero.d.mts +2 -2
  98. package/es/awesome/Spline/Spine.d.mts +2 -2
  99. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  100. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  101. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  102. package/es/base-ui/ContextMenu/ContextMenuHost.d.mts +8 -0
  103. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuHost.mjs +6 -6
  104. package/es/base-ui/ContextMenu/ContextMenuHost.mjs.map +1 -0
  105. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuTrigger.d.mts +1 -1
  106. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuTrigger.mjs +2 -2
  107. package/es/base-ui/ContextMenu/ContextMenuTrigger.mjs.map +1 -0
  108. package/es/base-ui/ContextMenu/index.d.mts +7 -0
  109. package/es/base-ui/ContextMenu/renderItems.d.mts +4 -0
  110. package/es/{ContextMenu → base-ui/ContextMenu}/renderItems.mjs +7 -7
  111. package/es/base-ui/ContextMenu/renderItems.mjs.map +1 -0
  112. package/es/{ContextMenu → base-ui/ContextMenu}/store.d.mts +3 -3
  113. package/es/{ContextMenu → base-ui/ContextMenu}/store.mjs +1 -1
  114. package/es/base-ui/ContextMenu/store.mjs.map +1 -0
  115. package/es/base-ui/ContextMenu/type.d.mts +12 -0
  116. package/es/base-ui/DropdownMenu/DropdownMenu.d.mts +8 -0
  117. package/es/{DropdownMenu → base-ui/DropdownMenu}/DropdownMenu.mjs +3 -3
  118. package/es/base-ui/DropdownMenu/DropdownMenu.mjs.map +1 -0
  119. package/es/{DropdownMenu → base-ui/DropdownMenu}/atoms.d.mts +19 -19
  120. package/es/{DropdownMenu → base-ui/DropdownMenu}/atoms.mjs +7 -7
  121. package/es/base-ui/DropdownMenu/atoms.mjs.map +1 -0
  122. package/es/base-ui/DropdownMenu/index.d.mts +5 -0
  123. package/es/{DropdownMenu → base-ui/DropdownMenu}/renderItems.d.mts +3 -3
  124. package/es/{DropdownMenu → base-ui/DropdownMenu}/renderItems.mjs +3 -3
  125. package/es/base-ui/DropdownMenu/renderItems.mjs.map +1 -0
  126. package/es/{DropdownMenu → base-ui/DropdownMenu}/type.d.mts +9 -9
  127. package/es/{ScrollArea → base-ui/ScrollArea}/ScrollArea.d.mts +1 -1
  128. package/es/{ScrollArea → base-ui/ScrollArea}/ScrollArea.mjs +1 -1
  129. package/es/base-ui/ScrollArea/ScrollArea.mjs.map +1 -0
  130. package/es/{ScrollArea → base-ui/ScrollArea}/atoms.d.mts +8 -8
  131. package/es/{ScrollArea → base-ui/ScrollArea}/atoms.mjs +1 -1
  132. package/es/base-ui/ScrollArea/atoms.mjs.map +1 -0
  133. package/es/{ScrollArea → base-ui/ScrollArea}/globalStyle.mjs +1 -1
  134. package/es/base-ui/ScrollArea/globalStyle.mjs.map +1 -0
  135. package/es/base-ui/ScrollArea/index.d.mts +3 -0
  136. package/es/{ScrollArea → base-ui/ScrollArea}/style.mjs +1 -1
  137. package/es/base-ui/ScrollArea/style.mjs.map +1 -0
  138. package/es/{ScrollArea → base-ui/ScrollArea}/type.d.mts +1 -1
  139. package/es/base-ui/Select/Select.d.mts +8 -0
  140. package/es/{LobeSelect/LobeSelect.mjs → base-ui/Select/Select.mjs} +9 -9
  141. package/es/base-ui/Select/Select.mjs.map +1 -0
  142. package/es/base-ui/Select/atoms.d.mts +155 -0
  143. package/es/{LobeSelect → base-ui/Select}/atoms.mjs +38 -38
  144. package/es/base-ui/Select/atoms.mjs.map +1 -0
  145. package/es/base-ui/Select/index.d.mts +3 -0
  146. package/es/{LobeSelect → base-ui/Select}/style.mjs +2 -2
  147. package/es/base-ui/Select/style.mjs.map +1 -0
  148. package/es/{LobeSelect → base-ui/Select}/type.d.mts +24 -24
  149. package/es/base-ui/Switch/Switch.d.mts +8 -0
  150. package/es/{LobeSwitch/LobeSwitch.mjs → base-ui/Switch/Switch.mjs} +12 -12
  151. package/es/base-ui/Switch/Switch.mjs.map +1 -0
  152. package/es/base-ui/Switch/atoms.d.mts +56 -0
  153. package/es/{LobeSwitch → base-ui/Switch}/atoms.mjs +16 -16
  154. package/es/base-ui/Switch/atoms.mjs.map +1 -0
  155. package/es/base-ui/Switch/index.d.mts +4 -0
  156. package/es/{LobeSwitch → base-ui/Switch}/style.d.mts +1 -1
  157. package/es/{LobeSwitch → base-ui/Switch}/style.mjs +4 -4
  158. package/es/base-ui/Switch/style.mjs.map +1 -0
  159. package/es/{LobeSwitch → base-ui/Switch}/type.d.mts +21 -21
  160. package/es/{Toast → base-ui/Toast}/Toast.mjs +2 -2
  161. package/es/base-ui/Toast/Toast.mjs.map +1 -0
  162. package/es/{Toast → base-ui/Toast}/context.mjs +1 -1
  163. package/es/base-ui/Toast/context.mjs.map +1 -0
  164. package/es/{Toast → base-ui/Toast}/imperative.d.mts +3 -3
  165. package/es/{Toast → base-ui/Toast}/imperative.mjs +3 -3
  166. package/es/base-ui/Toast/imperative.mjs.map +1 -0
  167. package/es/base-ui/Toast/index.d.mts +2 -0
  168. package/es/{Toast → base-ui/Toast}/style.mjs +1 -1
  169. package/es/base-ui/Toast/style.mjs.map +1 -0
  170. package/es/{Toast → base-ui/Toast}/type.d.mts +3 -3
  171. package/es/base-ui/index.d.mts +28 -0
  172. package/es/base-ui/index.mjs +16 -0
  173. package/es/brand/LobeChat/index.d.mts +2 -2
  174. package/es/brand/LobeHub/index.d.mts +2 -2
  175. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  176. package/es/brand/LogoThree/index.d.mts +2 -2
  177. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  178. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  179. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  180. package/es/chat/ChatList/ChatList.d.mts +2 -2
  181. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  182. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  183. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  184. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  185. package/es/color/ColorScales/index.d.mts +2 -2
  186. package/es/color/CssVar/index.d.mts +2 -2
  187. package/es/hooks/useNativeButton.mjs +2 -2
  188. package/es/hooks/useNativeButton.mjs.map +1 -1
  189. package/es/i18n/context.d.mts +2 -2
  190. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  191. package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
  192. package/es/icons/lucideExtra/DiscordIcon.d.mts +3 -3
  193. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +2 -2
  194. package/es/icons/lucideExtra/GroupBotIcon.d.mts +2 -2
  195. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  196. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  197. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  198. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  199. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  200. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  201. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  202. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  203. package/es/icons/lucideExtra/SkillsIcon.d.mts +3 -3
  204. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  205. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  206. package/es/index.d.mts +15 -24
  207. package/es/index.mjs +11 -16
  208. package/es/mdx/Mdx/index.d.mts +2 -2
  209. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  210. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  211. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  212. package/es/storybook/StoryBook/index.d.mts +2 -2
  213. package/package.json +48 -33
  214. package/awesome.d.ts +0 -1
  215. package/awesome.js +0 -1
  216. package/brand.d.ts +0 -1
  217. package/brand.js +0 -1
  218. package/chat.d.ts +0 -1
  219. package/chat.js +0 -1
  220. package/color.d.ts +0 -1
  221. package/color.js +0 -1
  222. package/es/ContextMenu/ContextMenuHost.d.mts +0 -8
  223. package/es/ContextMenu/ContextMenuHost.mjs.map +0 -1
  224. package/es/ContextMenu/ContextMenuTrigger.mjs.map +0 -1
  225. package/es/ContextMenu/renderItems.d.mts +0 -4
  226. package/es/ContextMenu/renderItems.mjs.map +0 -1
  227. package/es/ContextMenu/store.mjs.map +0 -1
  228. package/es/ContextMenu/type.d.mts +0 -12
  229. package/es/DropdownMenu/DropdownMenu.d.mts +0 -8
  230. package/es/DropdownMenu/DropdownMenu.mjs.map +0 -1
  231. package/es/DropdownMenu/atoms.mjs.map +0 -1
  232. package/es/DropdownMenu/renderItems.mjs.map +0 -1
  233. package/es/LobeSelect/LobeSelect.d.mts +0 -8
  234. package/es/LobeSelect/LobeSelect.mjs.map +0 -1
  235. package/es/LobeSelect/atoms.d.mts +0 -155
  236. package/es/LobeSelect/atoms.mjs.map +0 -1
  237. package/es/LobeSelect/index.d.mts +0 -4
  238. package/es/LobeSelect/index.mjs +0 -4
  239. package/es/LobeSelect/style.mjs.map +0 -1
  240. package/es/LobeSwitch/LobeSwitch.d.mts +0 -8
  241. package/es/LobeSwitch/LobeSwitch.mjs.map +0 -1
  242. package/es/LobeSwitch/atoms.d.mts +0 -56
  243. package/es/LobeSwitch/atoms.mjs.map +0 -1
  244. package/es/LobeSwitch/index.d.mts +0 -5
  245. package/es/LobeSwitch/index.d.ts +0 -1
  246. package/es/LobeSwitch/index.js +0 -1
  247. package/es/LobeSwitch/index.mjs +0 -5
  248. package/es/LobeSwitch/style.mjs.map +0 -1
  249. package/es/ScrollArea/ScrollArea.mjs.map +0 -1
  250. package/es/ScrollArea/atoms.mjs.map +0 -1
  251. package/es/ScrollArea/globalStyle.mjs.map +0 -1
  252. package/es/ScrollArea/style.mjs.map +0 -1
  253. package/es/Toast/Toast.mjs.map +0 -1
  254. package/es/Toast/context.mjs.map +0 -1
  255. package/es/Toast/imperative.mjs.map +0 -1
  256. package/es/Toast/style.mjs.map +0 -1
  257. package/icons.d.ts +0 -1
  258. package/icons.js +0 -1
  259. package/mdx.d.ts +0 -1
  260. package/mdx.js +0 -1
  261. package/mobile.d.ts +0 -1
  262. package/mobile.js +0 -1
  263. package/storybook.d.ts +0 -1
  264. package/storybook.js +0 -1
  265. /package/es/{ContextMenu → base-ui/ContextMenu}/imperative.d.mts +0 -0
  266. /package/es/{LobeSelect → base-ui}/index.d.ts +0 -0
  267. /package/es/{LobeSelect → base-ui}/index.js +0 -0
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { useMotionComponent } from "../MotionProvider/index.mjs";
3
+ import { useMotionComponent } from "../../MotionProvider/index.mjs";
4
4
  import { rootVariants, styles, thumbVariants } from "./style.mjs";
5
5
  import { createContext, use, useMemo, useRef, useState } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
@@ -8,14 +8,14 @@ import { cx } from "antd-style";
8
8
  import useMergeState from "use-merge-value";
9
9
  import { Switch } from "@base-ui/react/switch";
10
10
 
11
- //#region src/LobeSwitch/atoms.tsx
12
- const LobeSwitchContext = createContext(null);
13
- const useLobeSwitchContext = () => {
14
- const context = use(LobeSwitchContext);
15
- if (!context) throw new Error("useLobeSwitchContext must be used within a LobeSwitchRoot");
11
+ //#region src/base-ui/Switch/atoms.tsx
12
+ const SwitchContext = createContext(null);
13
+ const useSwitchContext = () => {
14
+ const context = use(SwitchContext);
15
+ if (!context) throw new Error("useSwitchContext must be used within a SwitchRoot");
16
16
  return context;
17
17
  };
18
- const LobeSwitchRoot = ({ checked, className, defaultChecked, onCheckedChange, onClick, size = "default", children, disabled, readOnly, required, inputRef, id, name, ...rest }) => {
18
+ const SwitchRoot = ({ checked, className, defaultChecked, onCheckedChange, onClick, size = "default", children, disabled, readOnly, required, inputRef, id, name, ...rest }) => {
19
19
  const Motion = useMotionComponent();
20
20
  const [isPressed, setIsPressed] = useState(false);
21
21
  const lastEventRef = useRef(null);
@@ -45,7 +45,7 @@ const LobeSwitchRoot = ({ checked, className, defaultChecked, onCheckedChange, o
45
45
  if (event.key === "Enter" || event.key === " ") lastEventRef.current = event;
46
46
  rest.onKeyDown?.(event);
47
47
  };
48
- return /* @__PURE__ */ jsx(LobeSwitchContext, {
48
+ return /* @__PURE__ */ jsx(SwitchContext, {
49
49
  value: contextValue,
50
50
  children: /* @__PURE__ */ jsx(Switch.Root, {
51
51
  checked: isChecked,
@@ -72,14 +72,14 @@ const LobeSwitchRoot = ({ checked, className, defaultChecked, onCheckedChange, o
72
72
  })
73
73
  });
74
74
  };
75
- LobeSwitchRoot.displayName = "LobeSwitchRoot";
76
- const LobeSwitchThumb = ({ className, pressedAnimation, size = "default", transition = {
75
+ SwitchRoot.displayName = "SwitchRoot";
76
+ const SwitchThumb = ({ className, pressedAnimation, size = "default", transition = {
77
77
  damping: 25,
78
78
  stiffness: 300,
79
79
  type: "spring"
80
80
  }, children, ...rest }) => {
81
81
  const Motion = useMotionComponent();
82
- const { isPressed } = useLobeSwitchContext();
82
+ const { isPressed } = useSwitchContext();
83
83
  const baseClassName = thumbVariants({ size });
84
84
  const defaultPressedAnimation = { width: size === "small" ? 16 : 22 };
85
85
  return /* @__PURE__ */ jsx(Switch.Thumb, { render: /* @__PURE__ */ jsx(Motion.span, {
@@ -91,18 +91,18 @@ const LobeSwitchThumb = ({ className, pressedAnimation, size = "default", transi
91
91
  children
92
92
  }) });
93
93
  };
94
- LobeSwitchThumb.displayName = "LobeSwitchThumb";
94
+ SwitchThumb.displayName = "SwitchThumb";
95
95
  const getIconPositionClass = (position, size) => {
96
96
  if (position === "thumb") return styles.iconThumb;
97
97
  if (position === "left") return size === "small" ? styles.iconLeftSmall : styles.iconLeft;
98
98
  return size === "small" ? styles.iconRightSmall : styles.iconRight;
99
99
  };
100
- const LobeSwitchIcon = ({ children, className, position, transition = {
100
+ const SwitchIcon = ({ children, className, position, transition = {
101
101
  bounce: 0,
102
102
  type: "spring"
103
103
  }, ...rest }) => {
104
104
  const Motion = useMotionComponent();
105
- const { isChecked } = useLobeSwitchContext();
105
+ const { isChecked } = useSwitchContext();
106
106
  const size = rest.size || "default";
107
107
  const isAnimated = useMemo(() => {
108
108
  if (position === "right") return !isChecked;
@@ -125,8 +125,8 @@ const LobeSwitchIcon = ({ children, className, position, transition = {
125
125
  children
126
126
  });
127
127
  };
128
- LobeSwitchIcon.displayName = "LobeSwitchIcon";
128
+ SwitchIcon.displayName = "SwitchIcon";
129
129
 
130
130
  //#endregion
131
- export { LobeSwitchIcon, LobeSwitchRoot, LobeSwitchThumb, useLobeSwitchContext };
131
+ export { SwitchIcon, SwitchRoot, SwitchThumb, useSwitchContext };
132
132
  //# sourceMappingURL=atoms.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atoms.mjs","names":["useControlledState"],"sources":["../../../src/base-ui/Switch/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { Switch } from '@base-ui/react/switch';\nimport { cx } from 'antd-style';\nimport type { KeyboardEvent, MouseEvent } from 'react';\nimport { createContext, use, useMemo, useRef, useState } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport { useMotionComponent } from '@/MotionProvider';\n\nimport { rootVariants, styles, thumbVariants } from './style';\nimport type {\n SwitchChangeEventHandler,\n SwitchContextType,\n SwitchIconPosition,\n SwitchIconProps,\n SwitchRootProps,\n SwitchThumbProps,\n} from './type';\n\nconst SwitchContext = createContext<SwitchContextType | null>(null);\n\nexport const useSwitchContext = () => {\n const context = use(SwitchContext);\n if (!context) {\n throw new Error('useSwitchContext must be used within a SwitchRoot');\n }\n return context;\n};\n\ntype SwitchRootInternalProps = Omit<SwitchRootProps, 'onCheckedChange' | 'onClick'> & {\n onCheckedChange?: SwitchChangeEventHandler;\n onClick?: SwitchChangeEventHandler;\n};\n\nexport const SwitchRoot = ({\n checked,\n className,\n defaultChecked,\n onCheckedChange,\n onClick,\n size = 'default',\n children,\n disabled,\n readOnly,\n required,\n inputRef,\n id,\n name,\n ...rest\n}: SwitchRootInternalProps) => {\n const Motion = useMotionComponent();\n const [isPressed, setIsPressed] = useState(false);\n const lastEventRef = useRef<MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>>(\n null,\n );\n\n const [isChecked, setIsChecked] = useControlledState(defaultChecked ?? false, {\n defaultValue: defaultChecked,\n onChange: (value: boolean) => {\n if (lastEventRef.current) {\n onCheckedChange?.(value, lastEventRef.current);\n }\n },\n value: checked,\n });\n\n const baseClassName = rootVariants({ size });\n\n const contextValue = useMemo(\n () => ({\n isChecked: Boolean(isChecked),\n isPressed,\n setIsChecked: (value: boolean) => setIsChecked(value),\n setIsPressed,\n }),\n [isChecked, isPressed, setIsChecked],\n );\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n lastEventRef.current = event;\n onClick?.(!isChecked, event);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n lastEventRef.current = event;\n }\n (rest as any).onKeyDown?.(event);\n };\n\n return (\n <SwitchContext value={contextValue}>\n <Switch.Root\n checked={isChecked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n id={id}\n inputRef={inputRef}\n name={name}\n readOnly={readOnly}\n required={required}\n render={\n <Motion.button\n {...rest}\n className={cx(baseClassName, className)}\n initial={false}\n whileTap=\"tap\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onTap={() => setIsPressed(false)}\n onTapCancel={() => setIsPressed(false)}\n onTapStart={() => setIsPressed(true)}\n />\n }\n onCheckedChange={setIsChecked}\n >\n {children}\n </Switch.Root>\n </SwitchContext>\n );\n};\n\nSwitchRoot.displayName = 'SwitchRoot';\n\nexport const SwitchThumb = ({\n className,\n pressedAnimation,\n size = 'default',\n transition = { damping: 25, stiffness: 300, type: 'spring' },\n children,\n ...rest\n}: SwitchThumbProps) => {\n const Motion = useMotionComponent();\n const { isPressed } = useSwitchContext();\n const baseClassName = thumbVariants({ size });\n\n const defaultPressedAnimation = {\n width: size === 'small' ? 16 : 22,\n };\n\n return (\n <Switch.Thumb\n render={\n <Motion.span\n layout\n animate={isPressed ? pressedAnimation || defaultPressedAnimation : undefined}\n className={cx(baseClassName, className)}\n transition={transition}\n {...rest}\n >\n {children}\n </Motion.span>\n }\n />\n );\n};\n\nSwitchThumb.displayName = 'SwitchThumb';\n\nconst getIconPositionClass = (position: SwitchIconPosition, size: 'default' | 'small') => {\n if (position === 'thumb') return styles.iconThumb;\n if (position === 'left') return size === 'small' ? styles.iconLeftSmall : styles.iconLeft;\n return size === 'small' ? styles.iconRightSmall : styles.iconRight;\n};\n\nexport const SwitchIcon = ({\n children,\n className,\n position,\n transition = { bounce: 0, type: 'spring' },\n ...rest\n}: SwitchIconProps & { children?: React.ReactNode; size?: 'default' | 'small' }) => {\n const Motion = useMotionComponent();\n const { isChecked } = useSwitchContext();\n const size = (rest as any).size || 'default';\n\n const isAnimated = useMemo(() => {\n if (position === 'right') return !isChecked;\n if (position === 'left') return isChecked;\n if (position === 'thumb') return true;\n return false;\n }, [position, isChecked]);\n\n const positionClass = getIconPositionClass(position, size);\n\n return (\n <Motion.span\n animate={isAnimated ? { opacity: 1, scale: 1 } : { opacity: 0, scale: 0 }}\n className={cx(styles.icon, positionClass, className)}\n transition={transition}\n {...rest}\n >\n {children}\n </Motion.span>\n );\n};\n\nSwitchIcon.displayName = 'SwitchIcon';\n\nexport { styles as switchStyles } from './style';\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { SwitchChangeEventHandler, SwitchClassNames, SwitchClickEventHandler, SwitchContextType, SwitchIconPosition, SwitchIconProps, SwitchProps, SwitchRootProps, SwitchSize, SwitchStyles, SwitchThumbProps } from "./type.mjs";
2
+ import { styles } from "./style.mjs";
3
+ import { SwitchIcon, SwitchRoot, SwitchThumb, useSwitchContext } from "./atoms.mjs";
4
+ import { Switch } from "./Switch.mjs";
@@ -1,4 +1,4 @@
1
- //#region src/LobeSwitch/style.d.ts
1
+ //#region src/base-ui/Switch/style.d.ts
2
2
  declare const styles: {
3
3
  icon: string;
4
4
  iconLeft: string;
@@ -1,13 +1,13 @@
1
1
  import { createStaticStyles } from "antd-style";
2
2
  import { cva } from "class-variance-authority";
3
3
 
4
- //#region src/LobeSwitch/style.ts
4
+ //#region src/base-ui/Switch/style.ts
5
5
  const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
6
6
  icon: css$1`
7
7
  pointer-events: none;
8
8
 
9
9
  position: absolute;
10
- inset-block: 0 0;
10
+ inset-block: 0;
11
11
 
12
12
  display: flex;
13
13
  align-items: center;
@@ -110,8 +110,8 @@ const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
110
110
 
111
111
  background: ${cssVar$1.colorBgContainer};
112
112
  box-shadow:
113
- 0 2px 4px 0 rgba(0, 35, 11, 20%),
114
- 0 1px 2px 0 rgba(0, 0, 0, 8%);
113
+ 0 2px 4px 0 rgb(0 35 11 / 20%),
114
+ 0 1px 2px 0 rgb(0 0 0 / 8%);
115
115
 
116
116
  [data-disabled] > & {
117
117
  box-shadow: none;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../../src/base-ui/Switch/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\nimport { cva } from 'class-variance-authority';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n icon: css`\n pointer-events: none;\n\n position: absolute;\n inset-block: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n color: ${cssVar.colorTextLightSolid};\n `,\n iconLeft: css`\n inset-inline-start: 5px;\n `,\n iconLeftSmall: css`\n inset-inline-start: 4px;\n `,\n iconRight: css`\n inset-inline-end: 5px;\n `,\n iconRightSmall: css`\n inset-inline-end: 4px;\n `,\n iconThumb: css`\n position: relative;\n inset: unset;\n transform: none;\n color: ${cssVar.colorPrimary};\n `,\n loading: css`\n @keyframes lobe-switch-loading {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n animation: lobe-switch-loading 1s linear infinite;\n `,\n root: css`\n cursor: pointer;\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n\n box-sizing: border-box;\n padding: 2px;\n border: 0;\n border-radius: 100px;\n\n background: ${cssVar.colorTextQuaternary};\n outline: none;\n\n transition: background 150ms ${cssVar.motionEaseOut};\n\n &:focus-visible {\n outline: 2px solid ${cssVar.colorPrimaryBorder};\n outline-offset: 1px;\n }\n\n &:hover:not([data-disabled]) {\n background: ${cssVar.colorTextTertiary};\n }\n\n &[data-checked] {\n justify-content: flex-end;\n background: ${cssVar.colorPrimary};\n\n &:hover:not([data-disabled]) {\n background: ${cssVar.colorPrimaryHover};\n }\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n `,\n rootDefault: css`\n width: 44px;\n min-width: 44px;\n height: 22px;\n `,\n rootSmall: css`\n width: 28px;\n min-width: 28px;\n height: 16px;\n `,\n thumb: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n border-radius: 50%;\n\n background: ${cssVar.colorBgContainer};\n box-shadow:\n 0 2px 4px 0 rgb(0 35 11 / 20%),\n 0 1px 2px 0 rgb(0 0 0 / 8%);\n\n [data-disabled] > & {\n box-shadow: none;\n }\n `,\n thumbDefault: css`\n width: 18px;\n height: 18px;\n `,\n thumbSmall: css`\n width: 12px;\n height: 12px;\n `,\n}));\n\nexport const rootVariants = cva(styles.root, {\n defaultVariants: {\n size: 'default',\n },\n variants: {\n size: {\n default: styles.rootDefault,\n small: styles.rootSmall,\n },\n },\n});\n\nexport const thumbVariants = cva(styles.thumb, {\n defaultVariants: {\n size: 'default',\n },\n variants: {\n size: {\n default: styles.thumbDefault,\n small: styles.thumbSmall,\n },\n },\n});\n"],"mappings":";;;;AAGA,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,MAAM,KAAG;;;;;;;;;;aAUEA,SAAO,oBAAoB;;CAEtC,UAAU,KAAG;;;CAGb,eAAe,KAAG;;;CAGlB,WAAW,KAAG;;;CAGd,gBAAgB,KAAG;;;CAGnB,WAAW,KAAG;;;;aAIHA,SAAO,aAAa;;CAE/B,SAAS,KAAG;;;;;;;;;;;;;CAaZ,MAAM,KAAG;;;;;;;;;;;;;;;;kBAgBOA,SAAO,oBAAoB;;;mCAGVA,SAAO,cAAc;;;2BAG7BA,SAAO,mBAAmB;;;;;oBAKjCA,SAAO,kBAAkB;;;;;oBAKzBA,SAAO,aAAa;;;sBAGlBA,SAAO,kBAAkB;;;;;;;;;CAS7C,aAAa,KAAG;;;;;CAKhB,WAAW,KAAG;;;;;CAKd,OAAO,KAAG;;;;;;;;kBAQMA,SAAO,iBAAiB;;;;;;;;;CASxC,cAAc,KAAG;;;;CAIjB,YAAY,KAAG;;;;CAIhB,EAAE;AAEH,MAAa,eAAe,IAAI,OAAO,MAAM;CAC3C,iBAAiB,EACf,MAAM,WACP;CACD,UAAU,EACR,MAAM;EACJ,SAAS,OAAO;EAChB,OAAO,OAAO;EACf,EACF;CACF,CAAC;AAEF,MAAa,gBAAgB,IAAI,OAAO,OAAO;CAC7C,iBAAiB,EACf,MAAM,WACP;CACD,UAAU,EACR,MAAM;EACJ,SAAS,OAAO;EAChB,OAAO,OAAO;EACf,EACF;CACF,CAAC"}
@@ -2,40 +2,40 @@ import { CSSProperties, ComponentProps, KeyboardEvent, MouseEvent, ReactNode, Re
2
2
  import { HTMLMotionProps, TargetAndTransition, Transition } from "motion/react";
3
3
  import { Switch } from "@base-ui/react/switch";
4
4
 
5
- //#region src/LobeSwitch/type.d.ts
6
- type LobeSwitchSize = 'default' | 'small';
7
- type LobeSwitchChangeEventHandler = (checked: boolean, event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>) => void;
8
- type LobeSwitchClickEventHandler = LobeSwitchChangeEventHandler;
9
- interface LobeSwitchClassNames {
5
+ //#region src/base-ui/Switch/type.d.ts
6
+ type SwitchSize = 'default' | 'small';
7
+ type SwitchChangeEventHandler = (checked: boolean, event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>) => void;
8
+ type SwitchClickEventHandler = SwitchChangeEventHandler;
9
+ interface SwitchClassNames {
10
10
  content?: string;
11
11
  root?: string;
12
12
  thumb?: string;
13
13
  }
14
- interface LobeSwitchStyles {
14
+ interface SwitchStyles {
15
15
  content?: CSSProperties;
16
16
  root?: CSSProperties;
17
17
  thumb?: CSSProperties;
18
18
  }
19
- interface LobeSwitchContextType {
19
+ interface SwitchContextType {
20
20
  isChecked: boolean;
21
21
  isPressed: boolean;
22
22
  setIsChecked: (checked: boolean) => void;
23
23
  setIsPressed: (pressed: boolean) => void;
24
24
  }
25
- type LobeSwitchRootProps = Omit<ComponentProps<typeof Switch.Root>, 'render'> & HTMLMotionProps<'button'> & {
26
- size?: LobeSwitchSize;
25
+ type SwitchRootProps = Omit<ComponentProps<typeof Switch.Root>, 'render'> & HTMLMotionProps<'button'> & {
26
+ size?: SwitchSize;
27
27
  };
28
- type LobeSwitchThumbProps = Omit<ComponentProps<typeof Switch.Thumb>, 'render'> & HTMLMotionProps<'span'> & {
28
+ type SwitchThumbProps = Omit<ComponentProps<typeof Switch.Thumb>, 'render'> & HTMLMotionProps<'span'> & {
29
29
  pressedAnimation?: TargetAndTransition | boolean;
30
- size?: LobeSwitchSize;
30
+ size?: SwitchSize;
31
31
  transition?: Transition;
32
32
  };
33
- type LobeSwitchIconPosition = 'left' | 'right' | 'thumb';
34
- type LobeSwitchIconProps = HTMLMotionProps<'span'> & {
35
- position: LobeSwitchIconPosition;
33
+ type SwitchIconPosition = 'left' | 'right' | 'thumb';
34
+ type SwitchIconProps = HTMLMotionProps<'span'> & {
35
+ position: SwitchIconPosition;
36
36
  transition?: Transition;
37
37
  };
38
- interface LobeSwitchProps {
38
+ interface SwitchProps {
39
39
  /**
40
40
  * Whether to set focus automatically when mounted
41
41
  */
@@ -55,7 +55,7 @@ interface LobeSwitchProps {
55
55
  /**
56
56
  * Custom class names for each part
57
57
  */
58
- classNames?: LobeSwitchClassNames;
58
+ classNames?: SwitchClassNames;
59
59
  /**
60
60
  * Initial checked state (uncontrolled)
61
61
  */
@@ -83,11 +83,11 @@ interface LobeSwitchProps {
83
83
  /**
84
84
  * Callback when the switch state changes
85
85
  */
86
- onChange?: LobeSwitchChangeEventHandler;
86
+ onChange?: SwitchChangeEventHandler;
87
87
  /**
88
88
  * Callback when clicking the switch
89
89
  */
90
- onClick?: LobeSwitchClickEventHandler;
90
+ onClick?: SwitchClickEventHandler;
91
91
  /**
92
92
  * Reference to the root element
93
93
  */
@@ -100,7 +100,7 @@ interface LobeSwitchProps {
100
100
  * Size of the switch
101
101
  * @default 'default'
102
102
  */
103
- size?: LobeSwitchSize;
103
+ size?: SwitchSize;
104
104
  /**
105
105
  * Custom inline style
106
106
  */
@@ -108,7 +108,7 @@ interface LobeSwitchProps {
108
108
  /**
109
109
  * Custom styles for each part
110
110
  */
111
- styles?: LobeSwitchStyles;
111
+ styles?: SwitchStyles;
112
112
  /**
113
113
  * Tab index for keyboard navigation
114
114
  */
@@ -127,5 +127,5 @@ interface LobeSwitchProps {
127
127
  value?: boolean;
128
128
  }
129
129
  //#endregion
130
- export { LobeSwitchChangeEventHandler, LobeSwitchClassNames, LobeSwitchClickEventHandler, LobeSwitchContextType, LobeSwitchIconPosition, LobeSwitchIconProps, LobeSwitchProps, LobeSwitchRootProps, LobeSwitchSize, LobeSwitchStyles, LobeSwitchThumbProps };
130
+ export { SwitchChangeEventHandler, SwitchClassNames, SwitchClickEventHandler, SwitchContextType, SwitchIconPosition, SwitchIconProps, SwitchProps, SwitchRootProps, SwitchSize, SwitchStyles, SwitchThumbProps };
131
131
  //# sourceMappingURL=type.d.mts.map
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import Icon_default from "../Icon/Icon.mjs";
3
+ import Icon_default from "../../Icon/Icon.mjs";
4
4
  import { useToastContext } from "./context.mjs";
5
5
  import { actionVariants, rootVariants, styles } from "./style.mjs";
6
6
  import { memo } from "react";
@@ -9,7 +9,7 @@ import { cssVar, cx } from "antd-style";
9
9
  import { AlertTriangle, CheckCircle, Info, Loader2, X, XCircle } from "lucide-react";
10
10
  import { Toast } from "@base-ui/react/toast";
11
11
 
12
- //#region src/Toast/Toast.tsx
12
+ //#region src/base-ui/Toast/Toast.tsx
13
13
  const typeIcons = {
14
14
  default: Info,
15
15
  error: XCircle,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.mjs","names":["typeIcons: Record<ToastType, typeof Info>","typeColors: Record<ToastType, string>","Icon","BaseToast"],"sources":["../../../src/base-ui/Toast/Toast.tsx"],"sourcesContent":["'use client';\n\nimport { Toast as BaseToast } from '@base-ui/react/toast';\nimport { cssVar, cx } from 'antd-style';\nimport { AlertTriangle, CheckCircle, Info, Loader2, X, XCircle } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport Icon from '@/Icon';\n\nimport { useToastContext } from './context';\nimport { actionVariants, rootVariants, styles } from './style';\nimport { type ToastOptions, type ToastProps, type ToastType } from './type';\n\nconst typeIcons: Record<ToastType, typeof Info> = {\n default: Info,\n error: XCircle,\n info: Info,\n loading: Loader2,\n success: CheckCircle,\n warning: AlertTriangle,\n};\n\nconst typeColors: Record<ToastType, string> = {\n default: cssVar.colorText,\n error: cssVar.colorError,\n info: cssVar.colorInfo,\n loading: cssVar.colorPrimary,\n success: cssVar.colorSuccess,\n warning: cssVar.colorWarning,\n};\n\nconst ToastItem = memo<ToastProps>(({ toast, classNames, styles: customStyles }) => {\n const { position, swipeDirection } = useToastContext();\n const toastData = toast.data as ToastOptions | undefined;\n const type = toastData?.type ?? 'default';\n const closable = toastData?.closable ?? true;\n const hideCloseButton = toastData?.hideCloseButton ?? false;\n const showCloseButton = closable && !hideCloseButton;\n const icon = toastData?.icon;\n const title = toast.title ?? toastData?.title;\n const description = toast.description ?? toastData?.description;\n const actionProps = toast.actionProps ?? toastData?.actionProps;\n const actions = toastData?.actions;\n\n const iconColor = typeColors[type];\n const IconComponent = icon ?? typeIcons[type];\n const isLoading = type === 'loading';\n\n const renderIcon = (): ReactNode => {\n if (!IconComponent) return null;\n return (\n <div className={cx(styles.icon, classNames?.icon)} style={customStyles?.icon}>\n <Icon color={iconColor} icon={IconComponent} size={18} spin={isLoading} />\n </div>\n );\n };\n\n const renderActions = (): ReactNode => {\n if (actions && actions.length > 0) {\n return (\n <div className={cx(styles.actions, classNames?.actions)} style={customStyles?.actions}>\n {actions.map((action, index) => (\n <BaseToast.Action\n key={index}\n style={customStyles?.action}\n className={cx(\n actionVariants({ variant: action.variant ?? 'primary' }),\n classNames?.action,\n )}\n onClick={action.onClick}\n {...action.props}\n >\n {action.label}\n </BaseToast.Action>\n ))}\n </div>\n );\n }\n if (actionProps) {\n return (\n <BaseToast.Action\n className={cx(actionVariants({ variant: 'primary' }), classNames?.action)}\n style={customStyles?.action}\n {...actionProps}\n />\n );\n }\n return null;\n };\n\n return (\n <BaseToast.Root\n className={cx(rootVariants({ position }), classNames?.root)}\n swipeDirection={swipeDirection}\n toast={toast}\n style={{\n ...customStyles?.root,\n ...toastData?.style,\n }}\n >\n <BaseToast.Content\n className={cx(styles.content, classNames?.content)}\n style={customStyles?.content}\n >\n <div className={styles.toastBody}>\n {renderIcon()}\n <div className={styles.contentArea}>\n <div className={styles.titleRow}>\n {title && (\n <BaseToast.Title\n className={cx(styles.title, classNames?.title)}\n style={customStyles?.title}\n >\n {title}\n </BaseToast.Title>\n )}\n {showCloseButton && (\n <BaseToast.Close\n aria-label=\"Close\"\n className={cx(styles.close, classNames?.close)}\n style={customStyles?.close}\n >\n <X size={14} />\n </BaseToast.Close>\n )}\n </div>\n {description && (\n <BaseToast.Description\n className={cx(styles.description, classNames?.description)}\n style={{\n marginBlockStart: title ? 4 : 0,\n ...customStyles?.description,\n }}\n >\n {description}\n </BaseToast.Description>\n )}\n {renderActions()}\n </div>\n </div>\n </BaseToast.Content>\n </BaseToast.Root>\n );\n});\n\nToastItem.displayName = 'ToastItem';\n\nexport default ToastItem;\n"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,YAA4C;CAChD,SAAS;CACT,OAAO;CACP,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;CACV;AAED,MAAMC,aAAwC;CAC5C,SAAS,OAAO;CAChB,OAAO,OAAO;CACd,MAAM,OAAO;CACb,SAAS,OAAO;CAChB,SAAS,OAAO;CAChB,SAAS,OAAO;CACjB;AAED,MAAM,YAAY,MAAkB,EAAE,OAAO,YAAY,QAAQ,mBAAmB;CAClF,MAAM,EAAE,UAAU,mBAAmB,iBAAiB;CACtD,MAAM,YAAY,MAAM;CACxB,MAAM,OAAO,WAAW,QAAQ;CAChC,MAAM,WAAW,WAAW,YAAY;CACxC,MAAM,kBAAkB,WAAW,mBAAmB;CACtD,MAAM,kBAAkB,YAAY,CAAC;CACrC,MAAM,OAAO,WAAW;CACxB,MAAM,QAAQ,MAAM,SAAS,WAAW;CACxC,MAAM,cAAc,MAAM,eAAe,WAAW;CACpD,MAAM,cAAc,MAAM,eAAe,WAAW;CACpD,MAAM,UAAU,WAAW;CAE3B,MAAM,YAAY,WAAW;CAC7B,MAAM,gBAAgB,QAAQ,UAAU;CACxC,MAAM,YAAY,SAAS;CAE3B,MAAM,mBAA8B;AAClC,MAAI,CAAC,cAAe,QAAO;AAC3B,SACE,oBAAC;GAAI,WAAW,GAAG,OAAO,MAAM,YAAY,KAAK;GAAE,OAAO,cAAc;aACtE,oBAACC;IAAK,OAAO;IAAW,MAAM;IAAe,MAAM;IAAI,MAAM;KAAa;IACtE;;CAIV,MAAM,sBAAiC;AACrC,MAAI,WAAW,QAAQ,SAAS,EAC9B,QACE,oBAAC;GAAI,WAAW,GAAG,OAAO,SAAS,YAAY,QAAQ;GAAE,OAAO,cAAc;aAC3E,QAAQ,KAAK,QAAQ,UACpB,oBAACC,MAAU;IAET,OAAO,cAAc;IACrB,WAAW,GACT,eAAe,EAAE,SAAS,OAAO,WAAW,WAAW,CAAC,EACxD,YAAY,OACb;IACD,SAAS,OAAO;IAChB,GAAI,OAAO;cAEV,OAAO;MATH,MAUY,CACnB;IACE;AAGV,MAAI,YACF,QACE,oBAACA,MAAU;GACT,WAAW,GAAG,eAAe,EAAE,SAAS,WAAW,CAAC,EAAE,YAAY,OAAO;GACzE,OAAO,cAAc;GACrB,GAAI;IACJ;AAGN,SAAO;;AAGT,QACE,oBAACA,MAAU;EACT,WAAW,GAAG,aAAa,EAAE,UAAU,CAAC,EAAE,YAAY,KAAK;EAC3C;EACT;EACP,OAAO;GACL,GAAG,cAAc;GACjB,GAAG,WAAW;GACf;YAED,oBAACA,MAAU;GACT,WAAW,GAAG,OAAO,SAAS,YAAY,QAAQ;GAClD,OAAO,cAAc;aAErB,qBAAC;IAAI,WAAW,OAAO;eACpB,YAAY,EACb,qBAAC;KAAI,WAAW,OAAO;;MACrB,qBAAC;OAAI,WAAW,OAAO;kBACpB,SACC,oBAACA,MAAU;QACT,WAAW,GAAG,OAAO,OAAO,YAAY,MAAM;QAC9C,OAAO,cAAc;kBAEpB;SACe,EAEnB,mBACC,oBAACA,MAAU;QACT,cAAW;QACX,WAAW,GAAG,OAAO,OAAO,YAAY,MAAM;QAC9C,OAAO,cAAc;kBAErB,oBAAC,KAAE,MAAM,KAAM;SACC;QAEhB;MACL,eACC,oBAACA,MAAU;OACT,WAAW,GAAG,OAAO,aAAa,YAAY,YAAY;OAC1D,OAAO;QACL,kBAAkB,QAAQ,IAAI;QAC9B,GAAG,cAAc;QAClB;iBAEA;QACqB;MAEzB,eAAe;;MACZ;KACF;IACY;GACL;EAEnB;AAEF,UAAU,cAAc;AAExB,oBAAe"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { createContext, useContext } from "react";
4
4
 
5
- //#region src/Toast/context.ts
5
+ //#region src/base-ui/Toast/context.ts
6
6
  const ToastContext = createContext({
7
7
  position: "bottom-right",
8
8
  swipeDirection: ["down", "right"]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../../../src/base-ui/Toast/context.ts"],"sourcesContent":["'use client';\n\nimport { createContext, useContext } from 'react';\n\nimport type { ToastPosition } from './type';\n\nexport interface ToastContextValue {\n position: ToastPosition;\n swipeDirection: ('left' | 'right' | 'up' | 'down') | ('left' | 'right' | 'up' | 'down')[];\n}\n\nexport const ToastContext = createContext<ToastContextValue>({\n position: 'bottom-right',\n swipeDirection: ['down', 'right'],\n});\n\nexport const useToastContext = () => useContext(ToastContext);\n"],"mappings":";;;;;AAWA,MAAa,eAAe,cAAiC;CAC3D,UAAU;CACV,gBAAgB,CAAC,QAAQ,QAAQ;CAClC,CAAC;AAEF,MAAa,wBAAwB,WAAW,aAAa"}
@@ -1,7 +1,7 @@
1
1
  import { ToastAPI, ToastPosition } from "./type.mjs";
2
- import * as react13 from "react";
2
+ import * as react131 from "react";
3
3
 
4
- //#region src/Toast/imperative.d.ts
4
+ //#region src/base-ui/Toast/imperative.d.ts
5
5
  declare const toast: ToastAPI;
6
6
  interface ToastHostProps {
7
7
  className?: string;
@@ -30,7 +30,7 @@ interface ToastHostProps {
30
30
  */
31
31
  swipeDirection?: ('left' | 'right' | 'up' | 'down') | ('left' | 'right' | 'up' | 'down')[];
32
32
  }
33
- declare const ToastHost: react13.MemoExoticComponent<({
33
+ declare const ToastHost: react131.MemoExoticComponent<({
34
34
  root,
35
35
  className,
36
36
  duration,
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { useIsClient } from "../hooks/useIsClient.mjs";
4
- import { useAppElement } from "../ThemeProvider/AppElementContext.mjs";
3
+ import { useIsClient } from "../../hooks/useIsClient.mjs";
4
+ import { useAppElement } from "../../ThemeProvider/AppElementContext.mjs";
5
5
  import { ToastContext } from "./context.mjs";
6
6
  import { viewportVariants } from "./style.mjs";
7
7
  import Toast_default from "./Toast.mjs";
@@ -10,7 +10,7 @@ import { jsx } from "react/jsx-runtime";
10
10
  import { cx } from "antd-style";
11
11
  import { Toast } from "@base-ui/react/toast";
12
12
 
13
- //#region src/Toast/imperative.tsx
13
+ //#region src/base-ui/Toast/imperative.tsx
14
14
  const ALL_POSITIONS = [
15
15
  "top",
16
16
  "top-left",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imperative.mjs","names":["ALL_POSITIONS: ToastPosition[]","globalState: ToastState","toastManagers: Record<ToastPosition, ReturnType<typeof BaseToast.createToastManager>>","BaseToast","activeToastIds: Record<ToastPosition, Set<string>>","toast: ToastAPI","ToastItem"],"sources":["../../../src/base-ui/Toast/imperative.tsx"],"sourcesContent":["'use client';\n\nimport { Toast as BaseToast } from '@base-ui/react/toast';\nimport { cx } from 'antd-style';\nimport { memo, useEffect } from 'react';\n\nimport { useIsClient } from '@/hooks/useIsClient';\nimport { useAppElement } from '@/ThemeProvider';\n\nimport { ToastContext } from './context';\nimport { viewportVariants } from './style';\nimport ToastItem from './Toast';\nimport {\n type ToastAPI,\n type ToastInstance,\n type ToastOptions,\n type ToastPosition,\n type ToastPromiseOptions,\n type ToastType,\n} from './type';\n\n// All possible positions\nconst ALL_POSITIONS: ToastPosition[] = [\n 'top',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n];\n\n// Global state management\ninterface ToastState {\n duration: number;\n limit: number;\n position: ToastPosition;\n swipeDirection: ('left' | 'right' | 'up' | 'down') | ('left' | 'right' | 'up' | 'down')[];\n}\n\nlet globalState: ToastState = {\n duration: 5000,\n limit: 5,\n position: 'bottom-right',\n swipeDirection: ['down', 'right'],\n};\n\n// Toast managers for each position\nconst toastManagers: Record<ToastPosition, ReturnType<typeof BaseToast.createToastManager>> = {\n 'bottom': BaseToast.createToastManager(),\n 'bottom-left': BaseToast.createToastManager(),\n 'bottom-right': BaseToast.createToastManager(),\n 'top': BaseToast.createToastManager(),\n 'top-left': BaseToast.createToastManager(),\n 'top-right': BaseToast.createToastManager(),\n};\n\nconst activeToastIds: Record<ToastPosition, Set<string>> = {\n 'bottom': new Set(),\n 'bottom-left': new Set(),\n 'bottom-right': new Set(),\n 'top': new Set(),\n 'top-left': new Set(),\n 'top-right': new Set(),\n};\n\nconst getManager = (position: ToastPosition) => toastManagers[position];\n\nconst normalizeOptions = (\n optionsOrMessage: Omit<ToastOptions, 'type'> | string,\n type: ToastType,\n): ToastOptions => {\n if (typeof optionsOrMessage === 'string') {\n return {\n description: optionsOrMessage,\n type,\n };\n }\n return {\n ...optionsOrMessage,\n type,\n };\n};\n\nconst createToastInstance = (id: string, position: ToastPosition): ToastInstance => ({\n close: () => getManager(position).close(id),\n id,\n update: (options) => {\n getManager(position).update(id, {\n data: options,\n description: options.description,\n title: options.title,\n });\n },\n});\n\nconst addToast = (options: ToastOptions): ToastInstance => {\n const position = options.placement ?? globalState.position;\n const manager = getManager(position);\n const onRemove = options.onRemove;\n const id = manager.add({\n data: options,\n description: options.description,\n onClose: options.onClose,\n onRemove: () => {\n activeToastIds[position].delete(id);\n onRemove?.();\n },\n timeout: options.duration ?? globalState.duration,\n title: options.title,\n });\n activeToastIds[position].add(id);\n return createToastInstance(id, position);\n};\n\nconst dismissToast = (id?: string) => {\n if (id) {\n // Try to close from all managers since we don't know which position the toast is in\n for (const [position, manager] of Object.entries(toastManagers)) {\n activeToastIds[position as ToastPosition].delete(id);\n manager.close(id);\n }\n } else {\n // Clear all toasts\n for (const [position, manager] of Object.entries(toastManagers)) {\n const ids = Array.from(activeToastIds[position as ToastPosition]);\n for (const toastId of ids) {\n manager.close(toastId);\n }\n activeToastIds[position as ToastPosition].clear();\n }\n }\n};\n\nconst createSuccessToast = (\n optionsOrMessage: Omit<ToastOptions, 'type'> | string,\n): ToastInstance => {\n return addToast(normalizeOptions(optionsOrMessage, 'success'));\n};\n\nconst createErrorToast = (optionsOrMessage: Omit<ToastOptions, 'type'> | string): ToastInstance => {\n return addToast(normalizeOptions(optionsOrMessage, 'error'));\n};\n\nconst createInfoToast = (optionsOrMessage: Omit<ToastOptions, 'type'> | string): ToastInstance => {\n return addToast(normalizeOptions(optionsOrMessage, 'info'));\n};\n\nconst createWarningToast = (\n optionsOrMessage: Omit<ToastOptions, 'type'> | string,\n): ToastInstance => {\n return addToast(normalizeOptions(optionsOrMessage, 'warning'));\n};\n\nconst createLoadingToast = (\n optionsOrMessage: Omit<ToastOptions, 'type'> | string,\n): ToastInstance => {\n const options = normalizeOptions(optionsOrMessage, 'loading');\n // Loading toasts don't auto-dismiss by default\n return addToast({ duration: 0, ...options });\n};\n\nasync function promiseToast<T>(promise: Promise<T>, options: ToastPromiseOptions<T>): Promise<T> {\n const loadingOptions =\n typeof options.loading === 'string'\n ? { description: options.loading }\n : (options.loading as ToastOptions);\n\n const loadingToast = addToast({\n closable: false,\n duration: 0,\n type: 'loading',\n ...loadingOptions,\n });\n\n try {\n const result = await promise;\n\n loadingToast.close();\n\n const successOptions = (() => {\n if (typeof options.success === 'string') {\n return { description: options.success };\n }\n if (typeof options.success === 'function') {\n return { description: options.success(result) };\n }\n return options.success as ToastOptions;\n })();\n\n addToast({ type: 'success', ...successOptions });\n\n return result;\n } catch (error) {\n loadingToast.close();\n\n const errorOptions = (() => {\n if (typeof options.error === 'string') {\n return { description: options.error };\n }\n if (typeof options.error === 'function') {\n return { description: options.error(error as Error) };\n }\n return options.error as ToastOptions;\n })();\n\n addToast({ type: 'error', ...errorOptions });\n\n throw error;\n }\n}\n\n// Base toast function\nconst baseToast = (options: ToastOptions): ToastInstance => {\n return addToast({ type: 'default', ...options });\n};\n\n// Toast API\nexport const toast: ToastAPI = Object.assign(baseToast, {\n dismiss: dismissToast,\n error: createErrorToast,\n info: createInfoToast,\n loading: createLoadingToast,\n promise: promiseToast,\n success: createSuccessToast,\n warning: createWarningToast,\n});\n\n// Toast List Component\nconst ToastList = memo(() => {\n const { toasts } = BaseToast.useToastManager();\n return toasts.map((t) => <ToastItem key={t.id} toast={t} />);\n});\n\nToastList.displayName = 'ToastList';\n\nexport interface ToastHostProps {\n className?: string;\n /**\n * Default duration for toasts\n * @default 5000\n */\n duration?: number;\n /**\n * Maximum number of toasts\n * @default 5\n */\n limit?: number;\n /**\n * Toast position\n * @default 'bottom-right'\n */\n position?: ToastPosition;\n /**\n * Root element for portal\n */\n root?: HTMLElement | ShadowRoot | null;\n /**\n * Swipe direction to dismiss\n * @default ['down', 'right']\n */\n swipeDirection?: ('left' | 'right' | 'up' | 'down') | ('left' | 'right' | 'up' | 'down')[];\n}\n\nexport const ToastHost = memo(\n ({\n root,\n className,\n duration = 5000,\n limit = 5,\n position = 'bottom-right',\n swipeDirection = ['down', 'right'],\n }: ToastHostProps) => {\n const isClient = useIsClient();\n const appElement = useAppElement();\n\n useEffect(() => {\n globalState = {\n duration,\n limit,\n position,\n swipeDirection,\n };\n }, [duration, limit, position, swipeDirection]);\n\n if (!isClient) return null;\n\n const container = root ?? appElement ?? document.body;\n\n ALL_POSITIONS.map((pos) => (\n <ToastContext key={pos} value={{ position: pos, swipeDirection }}>\n <BaseToast.Provider limit={limit} timeout={duration} toastManager={getManager(pos)}>\n <BaseToast.Portal container={container}>\n <BaseToast.Viewport className={cx(viewportVariants({ position: pos }), className)}>\n <ToastList />\n </BaseToast.Viewport>\n </BaseToast.Portal>\n </BaseToast.Provider>\n </ToastContext>\n ));\n },\n);\n\nToastHost.displayName = 'ToastHost';\n\n// Hook to use toast manager\nexport const useToast = () => toast;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ToastAPI, ToastAction, ToastActionVariant, ToastInstance, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProps, ToastType } from "./type.mjs";
2
+ import { ToastHost, ToastHostProps, toast, useToast } from "./imperative.mjs";
@@ -1,7 +1,7 @@
1
1
  import { createStaticStyles } from "antd-style";
2
2
  import { cva } from "class-variance-authority";
3
3
 
4
- //#region src/Toast/style.ts
4
+ //#region src/base-ui/Toast/style.ts
5
5
  const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
6
6
  action: css$1`
7
7
  cursor: pointer;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../../src/base-ui/Toast/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\nimport { cva } from 'class-variance-authority';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n action: css`\n cursor: pointer;\n\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n height: 28px;\n padding-inline: 12px;\n border: none;\n border-radius: ${cssVar.borderRadiusSM};\n\n font-size: 12px;\n font-weight: 500;\n line-height: 1;\n\n transition:\n background 0.2s,\n color 0.2s;\n\n &:focus-visible {\n outline: 2px solid ${cssVar.colorPrimaryBorder};\n outline-offset: 1px;\n }\n `,\n\n actionDanger: css`\n color: ${cssVar.colorTextLightSolid};\n background: ${cssVar.colorError};\n\n &:hover {\n background: ${cssVar.colorErrorHover};\n }\n\n &:active {\n background: ${cssVar.colorErrorActive};\n }\n\n &:focus-visible {\n outline-color: ${cssVar.colorErrorBorder};\n }\n `,\n\n actionGhost: css`\n border: 1px solid ${cssVar.colorBorder};\n color: ${cssVar.colorText};\n background: transparent;\n\n &:hover {\n border-color: ${cssVar.colorPrimary};\n color: ${cssVar.colorPrimary};\n }\n\n &:active {\n border-color: ${cssVar.colorPrimaryActive};\n color: ${cssVar.colorPrimaryActive};\n }\n `,\n\n actionPrimary: css`\n color: ${cssVar.colorTextLightSolid};\n background: ${cssVar.colorPrimary};\n\n &:hover {\n background: ${cssVar.colorPrimaryHover};\n }\n\n &:active {\n background: ${cssVar.colorPrimaryActive};\n }\n `,\n\n actionSecondary: css`\n color: ${cssVar.colorText};\n background: ${cssVar.colorFillSecondary};\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n\n &:active {\n background: ${cssVar.colorFill};\n }\n `,\n\n actionText: css`\n color: ${cssVar.colorPrimary};\n background: transparent;\n\n &:hover {\n background: ${cssVar.colorFillTertiary};\n }\n\n &:active {\n background: ${cssVar.colorFillSecondary};\n }\n `,\n\n actions: css`\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n gap: 8px;\n align-items: center;\n align-self: flex-end;\n justify-content: flex-end;\n\n margin-block-start: 8px;\n `,\n\n close: css`\n cursor: pointer;\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 20px;\n height: 20px;\n margin-inline-start: auto;\n padding: 0;\n border: none;\n border-radius: ${cssVar.borderRadiusSM};\n\n color: ${cssVar.colorTextTertiary};\n\n background: transparent;\n\n transition: all 0.2s;\n\n &:hover {\n color: ${cssVar.colorText};\n background: ${cssVar.colorFillSecondary};\n }\n `,\n\n content: css`\n overflow: hidden;\n transition: opacity 0.2s;\n\n &[data-behind] {\n pointer-events: none;\n opacity: 0;\n }\n\n &[data-expanded] {\n pointer-events: auto;\n opacity: 1;\n }\n `,\n\n contentArea: css`\n display: flex;\n flex: 1;\n flex-direction: column;\n min-width: 0;\n `,\n\n description: css`\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n color: ${cssVar.colorTextSecondary};\n `,\n\n icon: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n `,\n\n root: css`\n --toast-gap: 12px;\n --toast-peek: 12px;\n --toast-scale: calc(1 - var(--toast-index) * 0.05);\n --toast-shrink: calc(1 - var(--toast-scale));\n --toast-collapsed-height: var(--toast-frontmost-height, var(--toast-height));\n\n cursor: default;\n user-select: none;\n\n position: absolute;\n z-index: calc(1000 - var(--toast-index));\n inset-inline: 0;\n\n box-sizing: border-box;\n width: 100%;\n height: var(--toast-collapsed-height);\n padding-block: 12px;\n padding-inline: 16px;\n border-radius: ${cssVar.borderRadiusLG};\n\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorBgElevated};\n background-clip: padding-box;\n box-shadow:\n 0 0 0 1px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent),\n 0 1px 1px -0.5px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent),\n 0 3px 3px -1.5px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent),\n 0 6px 6px -3px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent),\n 0 12px 12px -6px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent),\n 0 24px 24px -12px color-mix(in srgb, ${cssVar.colorBgSolid} 3%, transparent);\n\n transition:\n transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),\n opacity 0.4s,\n height 0.15s;\n\n /* Fill gap between stacked toasts to prevent hover flicker */\n &::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n height: calc(var(--toast-gap) + var(--toast-peek) + 8px);\n }\n\n &[data-limited] {\n opacity: 0;\n }\n\n &[data-swiping] {\n transition: none;\n }\n `,\n\n // Bottom positions - stack upward\n rootBottom: css`\n inset-block: auto 0;\n transform-origin: bottom center;\n transform: translateX(var(--toast-swipe-movement-x))\n translateY(\n calc(\n var(--toast-swipe-movement-y) - (var(--toast-index) * var(--toast-peek)) -\n (var(--toast-shrink) * var(--toast-collapsed-height))\n )\n )\n scale(var(--toast-scale));\n\n &::after {\n inset-block-start: 100%;\n }\n\n &[data-expanded] {\n transform: translateX(var(--toast-swipe-movement-x))\n translateY(\n calc(\n var(--toast-swipe-movement-y) + var(--toast-offset-y) * -1 + var(--toast-index) *\n var(--toast-gap) * -1\n )\n )\n scale(1);\n height: var(--toast-height);\n }\n\n &[data-starting-style],\n &[data-ending-style] {\n transform: translateY(150%);\n opacity: 0;\n }\n `,\n\n // Top positions - stack downward\n rootTop: css`\n inset-block: 0 auto;\n transform-origin: top center;\n transform: translateX(var(--toast-swipe-movement-x))\n translateY(\n calc(\n var(--toast-swipe-movement-y) + (var(--toast-index) * var(--toast-peek)) +\n (var(--toast-shrink) * var(--toast-collapsed-height))\n )\n )\n scale(var(--toast-scale));\n\n &::after {\n inset-block-end: 100%;\n }\n\n &[data-expanded] {\n transform: translateX(var(--toast-swipe-movement-x))\n translateY(\n calc(\n var(--toast-swipe-movement-y) + var(--toast-offset-y) + var(--toast-index) *\n var(--toast-gap)\n )\n )\n scale(1);\n height: var(--toast-height);\n }\n\n &[data-starting-style],\n &[data-ending-style] {\n transform: translateY(-150%);\n opacity: 0;\n }\n `,\n\n title: css`\n margin: 0;\n\n font-size: 14px;\n font-weight: 500;\n line-height: 1.5;\n color: ${cssVar.colorText};\n `,\n\n titleRow: css`\n display: flex;\n gap: 8px;\n align-items: center;\n `,\n\n toastBody: css`\n display: flex;\n gap: 12px;\n align-items: flex-start;\n `,\n\n viewport: css`\n position: fixed;\n z-index: 1100;\n\n width: 360px;\n max-width: calc(100vw - 32px);\n\n outline: 0;\n\n @media (width <= 480px) {\n width: calc(100vw - 32px);\n }\n `,\n\n viewportBottom: css`\n inset-block-end: 16px;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n `,\n\n viewportBottomLeft: css`\n inset-block-end: 16px;\n inset-inline-start: 16px;\n `,\n\n viewportBottomRight: css`\n inset-block-end: 16px;\n inset-inline-end: 16px;\n `,\n\n viewportTop: css`\n inset-block-start: 16px;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n `,\n\n viewportTopLeft: css`\n inset-block-start: 16px;\n inset-inline-start: 16px;\n `,\n\n viewportTopRight: css`\n inset-block-start: 16px;\n inset-inline-end: 16px;\n `,\n}));\n\nexport const viewportVariants = cva(styles.viewport, {\n defaultVariants: {\n position: 'bottom-right',\n },\n variants: {\n position: {\n 'bottom': styles.viewportBottom,\n 'bottom-left': styles.viewportBottomLeft,\n 'bottom-right': styles.viewportBottomRight,\n 'top': styles.viewportTop,\n 'top-left': styles.viewportTopLeft,\n 'top-right': styles.viewportTopRight,\n },\n },\n});\n\nexport const rootVariants = cva(styles.root, {\n defaultVariants: {\n position: 'bottom-right',\n },\n variants: {\n position: {\n 'bottom': styles.rootBottom,\n 'bottom-left': styles.rootBottom,\n 'bottom-right': styles.rootBottom,\n 'top': styles.rootTop,\n 'top-left': styles.rootTop,\n 'top-right': styles.rootTop,\n },\n },\n});\n\nexport const actionVariants = cva(styles.action, {\n defaultVariants: {\n variant: 'primary',\n },\n variants: {\n variant: {\n danger: styles.actionDanger,\n ghost: styles.actionGhost,\n primary: styles.actionPrimary,\n secondary: styles.actionSecondary,\n text: styles.actionText,\n },\n },\n});\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { IconProps } from "../Icon/type.mjs";
2
- import "../Icon/index.mjs";
1
+ import { IconProps } from "../../Icon/type.mjs";
2
+ import "../../Icon/index.mjs";
3
3
  import { CSSProperties, ReactNode } from "react";
4
4
  import { Toast } from "@base-ui/react/toast";
5
5
 
6
- //#region src/Toast/type.d.ts
6
+ //#region src/base-ui/Toast/type.d.ts
7
7
  type ToastType = 'success' | 'info' | 'warning' | 'error' | 'loading' | 'default';
8
8
  type ToastPosition = 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
9
9
  type ToastActionVariant = 'primary' | 'secondary' | 'text' | 'danger' | 'ghost';
@@ -0,0 +1,28 @@
1
+ import { IconSpaceMode } from "../Menu/renderUtils.mjs";
2
+ import { renderDropdownMenuItems } from "./DropdownMenu/renderItems.mjs";
3
+ import { DropdownItem, DropdownMenuCheckboxItem, DropdownMenuPlacement, DropdownMenuProps, DropdownMenuSwitchItem as DropdownMenuSwitchItem$1 } from "./DropdownMenu/type.mjs";
4
+ import { DropdownMenuCheckboxItemIndicator, DropdownMenuCheckboxItemPrimitive, DropdownMenuCheckboxItemProps, DropdownMenuGroup, DropdownMenuGroupLabel, DropdownMenuGroupLabelProps, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemContentProps, DropdownMenuItemDesc, DropdownMenuItemDescProps, DropdownMenuItemExtra, DropdownMenuItemExtraProps, DropdownMenuItemIcon, DropdownMenuItemIconProps, DropdownMenuItemLabel, DropdownMenuItemLabelGroup, DropdownMenuItemLabelGroupProps, DropdownMenuItemLabelProps, DropdownMenuItemProps, DropdownMenuPopup, DropdownMenuPopupProps, DropdownMenuPortal, DropdownMenuPortalProps, DropdownMenuPositioner, DropdownMenuPositionerProps, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSeparatorProps, DropdownMenuSubmenuArrow, DropdownMenuSubmenuArrowProps, DropdownMenuSubmenuRoot, DropdownMenuSubmenuTrigger, DropdownMenuSubmenuTriggerProps, DropdownMenuSwitchItem, DropdownMenuSwitchItemProps, DropdownMenuTrigger, DropdownMenuTriggerProps } from "./DropdownMenu/atoms.mjs";
5
+ import { DropdownMenu } from "./DropdownMenu/DropdownMenu.mjs";
6
+ import "./DropdownMenu/index.mjs";
7
+ import { ContextMenuCheckboxItem, ContextMenuItem } from "./ContextMenu/type.mjs";
8
+ import { ContextMenuTrigger } from "./ContextMenu/ContextMenuTrigger.mjs";
9
+ import { ContextMenuHost } from "./ContextMenu/ContextMenuHost.mjs";
10
+ import { closeContextMenu, showContextMenu, updateContextMenuItems } from "./ContextMenu/store.mjs";
11
+ import "./ContextMenu/index.mjs";
12
+ import { ScrollAreaContent, ScrollAreaContentProps, ScrollAreaCorner, ScrollAreaCornerProps, ScrollAreaRoot, ScrollAreaRootProps, ScrollAreaScrollbar, ScrollAreaScrollbarProps, ScrollAreaThumb, ScrollAreaThumbProps, ScrollAreaViewport, ScrollAreaViewportProps } from "./ScrollArea/atoms.mjs";
13
+ import { ScrollAreaProps } from "./ScrollArea/type.mjs";
14
+ import { ScrollArea } from "./ScrollArea/ScrollArea.mjs";
15
+ import "./ScrollArea/index.mjs";
16
+ import { ToastAPI, ToastInstance, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProps, ToastType } from "./Toast/type.mjs";
17
+ import { ToastHost, ToastHostProps, toast, useToast } from "./Toast/imperative.mjs";
18
+ import "./Toast/index.mjs";
19
+ import { SelectBehaviorVariant, SelectClassNames, SelectIndicatorVariant, SelectOption, SelectOptionGroup, SelectOptions, SelectProps, SelectSize, SelectVariant } from "./Select/type.mjs";
20
+ import { SelectArrow, SelectArrowProps, SelectBackdrop, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectIcon, SelectIconProps, SelectItem, SelectItemIndicator, SelectItemIndicatorProps, SelectItemProps, SelectItemText, SelectItemTextProps, SelectList, SelectListProps, SelectPopup, SelectPopupProps, SelectPortal, SelectPortalProps, SelectPositioner, SelectPositionerProps, SelectRoot, SelectScrollDownArrow, SelectScrollDownArrowProps, SelectScrollUpArrow, SelectScrollUpArrowProps, SelectSeparator, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps } from "./Select/atoms.mjs";
21
+ import { Select } from "./Select/Select.mjs";
22
+ import "./Select/index.mjs";
23
+ import { SwitchChangeEventHandler, SwitchClassNames, SwitchClickEventHandler, SwitchContextType, SwitchIconPosition, SwitchIconProps, SwitchProps, SwitchRootProps, SwitchSize, SwitchStyles, SwitchThumbProps } from "./Switch/type.mjs";
24
+ import { styles } from "./Switch/style.mjs";
25
+ import { SwitchIcon, SwitchRoot, SwitchThumb, useSwitchContext } from "./Switch/atoms.mjs";
26
+ import { Switch } from "./Switch/Switch.mjs";
27
+ import "./Switch/index.mjs";
28
+ export { type ContextMenuCheckboxItem, ContextMenuHost, type ContextMenuItem, ContextMenuTrigger, DropdownItem, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemIndicator, DropdownMenuCheckboxItemPrimitive, DropdownMenuCheckboxItemProps, DropdownMenuGroup, DropdownMenuGroupLabel, DropdownMenuGroupLabelProps, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemContentProps, DropdownMenuItemDesc, DropdownMenuItemDescProps, DropdownMenuItemExtra, DropdownMenuItemExtraProps, DropdownMenuItemIcon, DropdownMenuItemIconProps, DropdownMenuItemLabel, DropdownMenuItemLabelGroup, DropdownMenuItemLabelGroupProps, DropdownMenuItemLabelProps, DropdownMenuItemProps, DropdownMenuPlacement, DropdownMenuPopup, DropdownMenuPopupProps, DropdownMenuPortal, DropdownMenuPortalProps, DropdownMenuPositioner, DropdownMenuPositionerProps, DropdownMenuProps, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSeparatorProps, DropdownMenuSubmenuArrow, DropdownMenuSubmenuArrowProps, DropdownMenuSubmenuRoot, DropdownMenuSubmenuTrigger, DropdownMenuSubmenuTriggerProps, DropdownMenuSwitchItem, DropdownMenuSwitchItemProps, DropdownMenuSwitchItem$1 as DropdownMenuSwitchItemType, DropdownMenuTrigger, DropdownMenuTriggerProps, IconSpaceMode, ScrollArea, ScrollAreaContent, ScrollAreaContentProps, ScrollAreaCorner, ScrollAreaCornerProps, ScrollAreaProps, ScrollAreaRoot, ScrollAreaRootProps, ScrollAreaScrollbar, ScrollAreaScrollbarProps, ScrollAreaThumb, ScrollAreaThumbProps, ScrollAreaViewport, ScrollAreaViewportProps, Select, SelectArrow, SelectArrowProps, SelectBackdrop, SelectBehaviorVariant, SelectClassNames, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectIcon, SelectIconProps, SelectIndicatorVariant, SelectItem, SelectItemIndicator, SelectItemIndicatorProps, SelectItemProps, SelectItemText, SelectItemTextProps, SelectList, SelectListProps, SelectOption, SelectOptionGroup, SelectOptions, SelectPopup, SelectPopupProps, SelectPortal, SelectPortalProps, SelectPositioner, SelectPositionerProps, SelectProps, SelectRoot, SelectScrollDownArrow, SelectScrollDownArrowProps, SelectScrollUpArrow, SelectScrollUpArrowProps, SelectSeparator, SelectSize, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, SelectVariant, Switch, SwitchChangeEventHandler, SwitchClassNames, SwitchClickEventHandler, SwitchContextType, SwitchIcon, SwitchIconPosition, SwitchIconProps, SwitchProps, SwitchRoot, SwitchRootProps, SwitchSize, SwitchStyles, SwitchThumb, SwitchThumbProps, type ToastAPI, ToastHost, type ToastHostProps, type ToastInstance, type ToastOptions, type ToastPosition, type ToastPromiseOptions, type ToastProps, type ToastType, closeContextMenu, renderDropdownMenuItems, showContextMenu, styles as switchStyles, toast, updateContextMenuItems, useSwitchContext, useToast };
@@ -0,0 +1,16 @@
1
+ import { DropdownMenuCheckboxItemIndicator, DropdownMenuCheckboxItemPrimitive, DropdownMenuGroup, DropdownMenuGroupLabel, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDesc, DropdownMenuItemExtra, DropdownMenuItemIcon, DropdownMenuItemLabel, DropdownMenuItemLabelGroup, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuPositioner, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSubmenuArrow, DropdownMenuSubmenuRoot, DropdownMenuSubmenuTrigger, DropdownMenuSwitchItem, DropdownMenuTrigger } from "./DropdownMenu/atoms.mjs";
2
+ import { renderDropdownMenuItems } from "./DropdownMenu/renderItems.mjs";
3
+ import DropdownMenu_default from "./DropdownMenu/DropdownMenu.mjs";
4
+ import { closeContextMenu, showContextMenu, updateContextMenuItems } from "./ContextMenu/store.mjs";
5
+ import { ContextMenuHost } from "./ContextMenu/ContextMenuHost.mjs";
6
+ import { ContextMenuTrigger } from "./ContextMenu/ContextMenuTrigger.mjs";
7
+ import { ScrollAreaContent, ScrollAreaCorner, ScrollAreaRoot, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport } from "./ScrollArea/atoms.mjs";
8
+ import { ScrollArea } from "./ScrollArea/ScrollArea.mjs";
9
+ import { ToastHost, toast, useToast } from "./Toast/imperative.mjs";
10
+ import { SelectArrow, SelectBackdrop, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemIndicator, SelectItemText, SelectList, SelectPopup, SelectPortal, SelectPositioner, SelectRoot, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue } from "./Select/atoms.mjs";
11
+ import Select_default from "./Select/Select.mjs";
12
+ import { styles } from "./Switch/style.mjs";
13
+ import { SwitchIcon, SwitchRoot, SwitchThumb, useSwitchContext } from "./Switch/atoms.mjs";
14
+ import Switch_default from "./Switch/Switch.mjs";
15
+
16
+ export { ContextMenuHost, ContextMenuTrigger, DropdownMenu_default as DropdownMenu, DropdownMenuCheckboxItemIndicator, DropdownMenuCheckboxItemPrimitive, DropdownMenuGroup, DropdownMenuGroupLabel, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDesc, DropdownMenuItemExtra, DropdownMenuItemIcon, DropdownMenuItemLabel, DropdownMenuItemLabelGroup, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuPositioner, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSubmenuArrow, DropdownMenuSubmenuRoot, DropdownMenuSubmenuTrigger, DropdownMenuSwitchItem, DropdownMenuTrigger, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaRoot, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, Select_default as Select, SelectArrow, SelectBackdrop, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemIndicator, SelectItemText, SelectList, SelectPopup, SelectPortal, SelectPositioner, SelectRoot, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue, Switch_default as Switch, SwitchIcon, SwitchRoot, SwitchThumb, ToastHost, closeContextMenu, renderDropdownMenuItems, showContextMenu, styles as switchStyles, toast, updateContextMenuItems, useSwitchContext, useToast };
@@ -1,5 +1,5 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react7 from "react";
2
+ import * as react74 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/brand/LobeChat/index.d.ts
@@ -8,7 +8,7 @@ interface LobeChatProps extends DivProps {
8
8
  size?: number;
9
9
  type?: '3d' | 'flat' | 'mono' | 'text' | 'combine';
10
10
  }
11
- declare const LobeChat: react7.NamedExoticComponent<LobeChatProps>;
11
+ declare const LobeChat: react74.NamedExoticComponent<LobeChatProps>;
12
12
  //#endregion
13
13
  export { LobeChat, LobeChatProps };
14
14
  //# sourceMappingURL=index.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react8 from "react";
2
+ import * as react75 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/brand/LobeHub/index.d.ts
@@ -8,7 +8,7 @@ interface LobeHubProps extends DivProps {
8
8
  size?: number;
9
9
  type?: '3d' | 'flat' | 'mono' | 'text' | 'combine';
10
10
  }
11
- declare const LobeHub: react8.NamedExoticComponent<LobeHubProps>;
11
+ declare const LobeHub: react75.NamedExoticComponent<LobeHubProps>;
12
12
  //#endregion
13
13
  export { LobeHub, LobeHubProps };
14
14
  //# sourceMappingURL=index.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { SplineProps } from "../../awesome/Spline/type.mjs";
2
2
  import "../../awesome/Spline/index.mjs";
3
- import * as react6 from "react";
3
+ import * as react73 from "react";
4
4
  import { CSSProperties } from "react";
5
5
 
6
6
  //#region src/brand/LogoThree/LogoSpline.d.ts
@@ -10,7 +10,7 @@ interface LogoSplineProps extends Partial<SplineProps> {
10
10
  style?: CSSProperties;
11
11
  width?: number | string;
12
12
  }
13
- declare const LogoSpline: react6.NamedExoticComponent<LogoSplineProps>;
13
+ declare const LogoSpline: react73.NamedExoticComponent<LogoSplineProps>;
14
14
  //#endregion
15
15
  export { LogoSpline, LogoSplineProps };
16
16
  //# sourceMappingURL=LogoSpline.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { SplineProps } from "../../awesome/Spline/type.mjs";
2
2
  import "../../awesome/Spline/index.mjs";
3
- import * as react9 from "react";
3
+ import * as react76 from "react";
4
4
  import { CSSProperties } from "react";
5
5
 
6
6
  //#region src/brand/LogoThree/index.d.ts
@@ -9,7 +9,7 @@ interface LogoThreeProps extends Partial<SplineProps> {
9
9
  size?: number;
10
10
  style?: CSSProperties;
11
11
  }
12
- declare const LogoThree: react9.NamedExoticComponent<LogoThreeProps>;
12
+ declare const LogoThree: react76.NamedExoticComponent<LogoThreeProps>;
13
13
  //#endregion
14
14
  export { LogoThree, LogoThreeProps };
15
15
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { BackBottomProps } from "./type.mjs";
2
- import * as react132 from "react";
2
+ import * as react141 from "react";
3
3
 
4
4
  //#region src/chat/BackBottom/BackBottom.d.ts
5
- declare const BackBottom: react132.NamedExoticComponent<BackBottomProps>;
5
+ declare const BackBottom: react141.NamedExoticComponent<BackBottomProps>;
6
6
  //#endregion
7
7
  export { BackBottom };
8
8
  //# sourceMappingURL=BackBottom.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ChatInputAreaInnerProps } from "../type.mjs";
2
- import * as react134 from "react";
2
+ import * as react142 from "react";
3
3
 
4
4
  //#region src/chat/ChatInputArea/components/ChatInputAreaInner.d.ts
5
- declare const ChatInputAreaInner: react134.NamedExoticComponent<ChatInputAreaInnerProps>;
5
+ declare const ChatInputAreaInner: react142.NamedExoticComponent<ChatInputAreaInnerProps>;
6
6
  //#endregion
7
7
  export { ChatInputAreaInner };
8
8
  //# sourceMappingURL=ChatInputAreaInner.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ChatItemProps } from "./type.mjs";
2
- import * as react131 from "react";
2
+ import * as react144 from "react";
3
3
 
4
4
  //#region src/chat/ChatItem/ChatItem.d.ts
5
- declare const ChatItem: react131.NamedExoticComponent<ChatItemProps>;
5
+ declare const ChatItem: react144.NamedExoticComponent<ChatItemProps>;
6
6
  //#endregion
7
7
  export { ChatItem };
8
8
  //# sourceMappingURL=ChatItem.d.mts.map