@lobehub/ui 4.38.4 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) 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/ConfigProvider/index.d.mts +2 -2
  14. package/es/ContextMenu/index.d.mts +6 -7
  15. package/es/ContextMenu/index.mjs +3 -3
  16. package/es/CopyButton/CopyButton.d.mts +2 -2
  17. package/es/DatePicker/DatePicker.d.mts +2 -2
  18. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  19. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  20. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  21. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  22. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  23. package/es/Drawer/Drawer.d.mts +2 -2
  24. package/es/Dropdown/Dropdown.d.mts +2 -2
  25. package/es/DropdownMenu/index.d.mts +6 -5
  26. package/es/DropdownMenu/index.mjs +4 -4
  27. package/es/EditableText/EditableText.d.mts +2 -2
  28. package/es/EditorSlashMenu/atoms.d.mts +13 -13
  29. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  30. package/es/Flex/FlexBasic.d.mts +2 -2
  31. package/es/FontLoader/index.d.mts +2 -2
  32. package/es/Footer/Footer.d.mts +2 -2
  33. package/es/Form/components/FormGroup.d.mts +2 -2
  34. package/es/Form/components/FormItem.d.mts +2 -2
  35. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  36. package/es/FormModal/FormModal.d.mts +2 -2
  37. package/es/Freeze/Freeze.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/Image/PreviewGroup.d.mts +2 -2
  47. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  48. package/es/Input/Input.d.mts +2 -2
  49. package/es/Input/InputNumber.d.mts +2 -2
  50. package/es/Input/InputOPT.d.mts +2 -2
  51. package/es/Input/InputPassword.d.mts +2 -2
  52. package/es/Input/TextArea.d.mts +2 -2
  53. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  54. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  55. package/es/Layout/components/LayoutMain.d.mts +2 -2
  56. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  57. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  58. package/es/Layout/components/LayoutToc.d.mts +2 -2
  59. package/es/List/ListItem/index.d.mts +2 -2
  60. package/es/Markdown/Markdown.d.mts +2 -2
  61. package/es/Markdown/Typography.d.mts +2 -2
  62. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  63. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  64. package/es/Menu/Menu.d.mts +2 -2
  65. package/es/Mermaid/Mermaid.d.mts +2 -2
  66. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  67. package/es/Modal/Modal.d.mts +2 -2
  68. package/es/Modal/ModalProvider.d.mts +2 -2
  69. package/es/Modal/imperative.d.mts +2 -2
  70. package/es/MotionProvider/index.d.mts +2 -2
  71. package/es/Popover/ArrowIcon.d.mts +2 -2
  72. package/es/Popover/atoms.d.mts +9 -9
  73. package/es/Popover/context.d.mts +2 -2
  74. package/es/ScrollArea/index.d.mts +5 -4
  75. package/es/ScrollArea/index.mjs +2 -2
  76. package/es/SearchBar/SearchBar.d.mts +2 -2
  77. package/es/Segmented/Segmented.d.mts +2 -2
  78. package/es/Select/Select.d.mts +3 -3
  79. package/es/Select/Select.mjs +1 -1
  80. package/es/Select/Select.mjs.map +1 -1
  81. package/es/SideNav/SideNav.d.mts +2 -2
  82. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  83. package/es/SortableList/components/DragHandle.d.mts +2 -2
  84. package/es/SortableList/components/SortableItem.d.mts +2 -2
  85. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  86. package/es/ThemeSwitch/ThemeSwitch.mjs +1 -1
  87. package/es/Toast/index.d.mts +4 -3
  88. package/es/Toast/index.mjs +1 -1
  89. package/es/Toc/Toc.d.mts +2 -2
  90. package/es/Video/index.d.mts +2 -2
  91. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  92. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  93. package/es/awesome/Features/Features.d.mts +2 -2
  94. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  95. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  96. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  97. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  98. package/es/awesome/Hero/Hero.d.mts +2 -2
  99. package/es/awesome/Spline/Spine.d.mts +2 -2
  100. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  101. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  102. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  103. package/es/base-ui/ContextMenu/ContextMenuHost.d.mts +8 -0
  104. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuHost.mjs +6 -6
  105. package/es/base-ui/ContextMenu/ContextMenuHost.mjs.map +1 -0
  106. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuTrigger.d.mts +1 -1
  107. package/es/{ContextMenu → base-ui/ContextMenu}/ContextMenuTrigger.mjs +2 -2
  108. package/es/base-ui/ContextMenu/ContextMenuTrigger.mjs.map +1 -0
  109. package/es/base-ui/ContextMenu/index.d.mts +7 -0
  110. package/es/base-ui/ContextMenu/renderItems.d.mts +4 -0
  111. package/es/{ContextMenu → base-ui/ContextMenu}/renderItems.mjs +7 -7
  112. package/es/base-ui/ContextMenu/renderItems.mjs.map +1 -0
  113. package/es/{ContextMenu → base-ui/ContextMenu}/store.d.mts +3 -3
  114. package/es/{ContextMenu → base-ui/ContextMenu}/store.mjs +1 -1
  115. package/es/base-ui/ContextMenu/store.mjs.map +1 -0
  116. package/es/base-ui/ContextMenu/type.d.mts +12 -0
  117. package/es/base-ui/DropdownMenu/DropdownMenu.d.mts +8 -0
  118. package/es/{DropdownMenu → base-ui/DropdownMenu}/DropdownMenu.mjs +3 -3
  119. package/es/base-ui/DropdownMenu/DropdownMenu.mjs.map +1 -0
  120. package/es/{DropdownMenu → base-ui/DropdownMenu}/atoms.d.mts +19 -19
  121. package/es/{DropdownMenu → base-ui/DropdownMenu}/atoms.mjs +7 -7
  122. package/es/base-ui/DropdownMenu/atoms.mjs.map +1 -0
  123. package/es/base-ui/DropdownMenu/index.d.mts +5 -0
  124. package/es/{DropdownMenu → base-ui/DropdownMenu}/renderItems.d.mts +3 -3
  125. package/es/{DropdownMenu → base-ui/DropdownMenu}/renderItems.mjs +3 -3
  126. package/es/base-ui/DropdownMenu/renderItems.mjs.map +1 -0
  127. package/es/{DropdownMenu → base-ui/DropdownMenu}/type.d.mts +9 -9
  128. package/es/{ScrollArea → base-ui/ScrollArea}/ScrollArea.d.mts +1 -1
  129. package/es/{ScrollArea → base-ui/ScrollArea}/ScrollArea.mjs +1 -1
  130. package/es/base-ui/ScrollArea/ScrollArea.mjs.map +1 -0
  131. package/es/{ScrollArea → base-ui/ScrollArea}/atoms.d.mts +8 -8
  132. package/es/{ScrollArea → base-ui/ScrollArea}/atoms.mjs +1 -1
  133. package/es/base-ui/ScrollArea/atoms.mjs.map +1 -0
  134. package/es/{ScrollArea → base-ui/ScrollArea}/globalStyle.mjs +1 -1
  135. package/es/base-ui/ScrollArea/globalStyle.mjs.map +1 -0
  136. package/es/base-ui/ScrollArea/index.d.mts +3 -0
  137. package/es/{ScrollArea → base-ui/ScrollArea}/style.mjs +1 -1
  138. package/es/base-ui/ScrollArea/style.mjs.map +1 -0
  139. package/es/{ScrollArea → base-ui/ScrollArea}/type.d.mts +1 -1
  140. package/es/base-ui/Select/Select.d.mts +8 -0
  141. package/es/{LobeSelect/LobeSelect.mjs → base-ui/Select/Select.mjs} +9 -9
  142. package/es/base-ui/Select/Select.mjs.map +1 -0
  143. package/es/base-ui/Select/atoms.d.mts +155 -0
  144. package/es/{LobeSelect → base-ui/Select}/atoms.mjs +38 -38
  145. package/es/base-ui/Select/atoms.mjs.map +1 -0
  146. package/es/base-ui/Select/index.d.mts +3 -0
  147. package/es/{LobeSelect → base-ui/Select}/style.mjs +2 -2
  148. package/es/base-ui/Select/style.mjs.map +1 -0
  149. package/es/{LobeSelect → base-ui/Select}/type.d.mts +24 -24
  150. package/es/base-ui/Switch/Switch.d.mts +8 -0
  151. package/es/{LobeSwitch/LobeSwitch.mjs → base-ui/Switch/Switch.mjs} +12 -12
  152. package/es/base-ui/Switch/Switch.mjs.map +1 -0
  153. package/es/base-ui/Switch/atoms.d.mts +56 -0
  154. package/es/{LobeSwitch → base-ui/Switch}/atoms.mjs +16 -16
  155. package/es/base-ui/Switch/atoms.mjs.map +1 -0
  156. package/es/base-ui/Switch/index.d.mts +4 -0
  157. package/es/{LobeSwitch → base-ui/Switch}/style.d.mts +1 -1
  158. package/es/{LobeSwitch → base-ui/Switch}/style.mjs +4 -4
  159. package/es/base-ui/Switch/style.mjs.map +1 -0
  160. package/es/{LobeSwitch → base-ui/Switch}/type.d.mts +21 -21
  161. package/es/{Toast → base-ui/Toast}/Toast.mjs +2 -2
  162. package/es/base-ui/Toast/Toast.mjs.map +1 -0
  163. package/es/{Toast → base-ui/Toast}/context.mjs +1 -1
  164. package/es/base-ui/Toast/context.mjs.map +1 -0
  165. package/es/{Toast → base-ui/Toast}/imperative.d.mts +3 -3
  166. package/es/{Toast → base-ui/Toast}/imperative.mjs +3 -3
  167. package/es/base-ui/Toast/imperative.mjs.map +1 -0
  168. package/es/base-ui/Toast/index.d.mts +2 -0
  169. package/es/{Toast → base-ui/Toast}/style.mjs +1 -1
  170. package/es/base-ui/Toast/style.mjs.map +1 -0
  171. package/es/{Toast → base-ui/Toast}/type.d.mts +3 -3
  172. package/es/base-ui/index.d.mts +28 -0
  173. package/es/base-ui/index.mjs +16 -0
  174. package/es/brand/LobeChat/index.d.mts +2 -2
  175. package/es/brand/LobeHub/index.d.mts +2 -2
  176. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  177. package/es/brand/LogoThree/index.d.mts +2 -2
  178. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  179. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  180. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  181. package/es/chat/ChatList/ChatList.d.mts +2 -2
  182. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  183. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  184. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  185. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  186. package/es/color/ColorScales/index.d.mts +2 -2
  187. package/es/color/CssVar/index.d.mts +2 -2
  188. package/es/hooks/useNativeButton.mjs +2 -2
  189. package/es/hooks/useNativeButton.mjs.map +1 -1
  190. package/es/i18n/context.d.mts +2 -2
  191. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  192. package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
  193. package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
  194. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +2 -2
  195. package/es/icons/lucideExtra/GroupBotIcon.d.mts +2 -2
  196. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +2 -2
  197. package/es/icons/lucideExtra/LeftClickIcon.d.mts +2 -2
  198. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  199. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  200. package/es/icons/lucideExtra/ProviderIcon.d.mts +2 -2
  201. package/es/icons/lucideExtra/RightClickIcon.d.mts +2 -2
  202. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  203. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  204. package/es/icons/lucideExtra/SkillsIcon.d.mts +3 -3
  205. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  206. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +2 -2
  207. package/es/index.d.mts +15 -24
  208. package/es/index.mjs +11 -16
  209. package/es/mdx/Mdx/index.d.mts +2 -2
  210. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  211. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  212. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  213. package/es/storybook/StoryBook/index.d.mts +2 -2
  214. package/package.json +46 -31
  215. package/awesome.d.ts +0 -1
  216. package/awesome.js +0 -1
  217. package/brand.d.ts +0 -1
  218. package/brand.js +0 -1
  219. package/chat.d.ts +0 -1
  220. package/chat.js +0 -1
  221. package/color.d.ts +0 -1
  222. package/color.js +0 -1
  223. package/es/ContextMenu/ContextMenuHost.d.mts +0 -8
  224. package/es/ContextMenu/ContextMenuHost.mjs.map +0 -1
  225. package/es/ContextMenu/ContextMenuTrigger.mjs.map +0 -1
  226. package/es/ContextMenu/renderItems.d.mts +0 -4
  227. package/es/ContextMenu/renderItems.mjs.map +0 -1
  228. package/es/ContextMenu/store.mjs.map +0 -1
  229. package/es/ContextMenu/type.d.mts +0 -12
  230. package/es/DropdownMenu/DropdownMenu.d.mts +0 -8
  231. package/es/DropdownMenu/DropdownMenu.mjs.map +0 -1
  232. package/es/DropdownMenu/atoms.mjs.map +0 -1
  233. package/es/DropdownMenu/renderItems.mjs.map +0 -1
  234. package/es/LobeSelect/LobeSelect.d.mts +0 -8
  235. package/es/LobeSelect/LobeSelect.mjs.map +0 -1
  236. package/es/LobeSelect/atoms.d.mts +0 -155
  237. package/es/LobeSelect/atoms.mjs.map +0 -1
  238. package/es/LobeSelect/index.d.mts +0 -4
  239. package/es/LobeSelect/index.mjs +0 -4
  240. package/es/LobeSelect/style.mjs.map +0 -1
  241. package/es/LobeSwitch/LobeSwitch.d.mts +0 -8
  242. package/es/LobeSwitch/LobeSwitch.mjs.map +0 -1
  243. package/es/LobeSwitch/atoms.d.mts +0 -56
  244. package/es/LobeSwitch/atoms.mjs.map +0 -1
  245. package/es/LobeSwitch/index.d.mts +0 -5
  246. package/es/LobeSwitch/index.d.ts +0 -1
  247. package/es/LobeSwitch/index.js +0 -1
  248. package/es/LobeSwitch/index.mjs +0 -5
  249. package/es/LobeSwitch/style.mjs.map +0 -1
  250. package/es/ScrollArea/ScrollArea.mjs.map +0 -1
  251. package/es/ScrollArea/atoms.mjs.map +0 -1
  252. package/es/ScrollArea/globalStyle.mjs.map +0 -1
  253. package/es/ScrollArea/style.mjs.map +0 -1
  254. package/es/Toast/Toast.mjs.map +0 -1
  255. package/es/Toast/context.mjs.map +0 -1
  256. package/es/Toast/imperative.mjs.map +0 -1
  257. package/es/Toast/style.mjs.map +0 -1
  258. package/icons.d.ts +0 -1
  259. package/icons.js +0 -1
  260. package/mdx.d.ts +0 -1
  261. package/mdx.js +0 -1
  262. package/mobile.d.ts +0 -1
  263. package/mobile.js +0 -1
  264. package/storybook.d.ts +0 -1
  265. package/storybook.js +0 -1
  266. /package/es/{ContextMenu → base-ui/ContextMenu}/imperative.d.mts +0 -0
  267. /package/es/{LobeSelect → base-ui}/index.d.ts +0 -0
  268. /package/es/{LobeSelect → base-ui}/index.js +0 -0
@@ -1,19 +1,19 @@
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 { styles } from "./style.mjs";
5
- import { LobeSwitchIcon, LobeSwitchRoot, LobeSwitchThumb } from "./atoms.mjs";
5
+ import { SwitchIcon, SwitchRoot, SwitchThumb } from "./atoms.mjs";
6
6
  import { memo } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { cx } from "antd-style";
9
9
  import { Loader2 } from "lucide-react";
10
10
 
11
- //#region src/LobeSwitch/LobeSwitch.tsx
12
- const LobeSwitch = memo(({ autoFocus, checked, checkedChildren, className, classNames, defaultChecked, defaultValue, disabled, id, loading, name, onChange, onClick, ref, rootClassName, size = "default", style, styles: customStyles, tabIndex, title, unCheckedChildren, value }) => {
11
+ //#region src/base-ui/Switch/Switch.tsx
12
+ const Switch = memo(({ autoFocus, checked, checkedChildren, className, classNames, defaultChecked, defaultValue, disabled, id, loading, name, onChange, onClick, ref, rootClassName, size = "default", style, styles: customStyles, tabIndex, title, unCheckedChildren, value }) => {
13
13
  const isDisabled = disabled || loading;
14
14
  const resolvedChecked = value ?? checked;
15
15
  const resolvedDefaultChecked = defaultValue ?? defaultChecked;
16
- return /* @__PURE__ */ jsxs(LobeSwitchRoot, {
16
+ return /* @__PURE__ */ jsxs(SwitchRoot, {
17
17
  autoFocus,
18
18
  checked: resolvedChecked,
19
19
  className: cx(className, rootClassName, classNames?.root),
@@ -32,21 +32,21 @@ const LobeSwitch = memo(({ autoFocus, checked, checkedChildren, className, class
32
32
  onCheckedChange: onChange,
33
33
  onClick,
34
34
  children: [
35
- checkedChildren && /* @__PURE__ */ jsx(LobeSwitchIcon, {
35
+ checkedChildren && /* @__PURE__ */ jsx(SwitchIcon, {
36
36
  className: classNames?.content,
37
37
  position: "left",
38
38
  size,
39
39
  style: customStyles?.content,
40
40
  children: checkedChildren
41
41
  }),
42
- unCheckedChildren && /* @__PURE__ */ jsx(LobeSwitchIcon, {
42
+ unCheckedChildren && /* @__PURE__ */ jsx(SwitchIcon, {
43
43
  className: classNames?.content,
44
44
  position: "right",
45
45
  size,
46
46
  style: customStyles?.content,
47
47
  children: unCheckedChildren
48
48
  }),
49
- /* @__PURE__ */ jsx(LobeSwitchThumb, {
49
+ /* @__PURE__ */ jsx(SwitchThumb, {
50
50
  className: classNames?.thumb,
51
51
  size,
52
52
  style: customStyles?.thumb,
@@ -60,9 +60,9 @@ const LobeSwitch = memo(({ autoFocus, checked, checkedChildren, className, class
60
60
  ]
61
61
  });
62
62
  });
63
- LobeSwitch.displayName = "LobeSwitch";
64
- var LobeSwitch_default = LobeSwitch;
63
+ Switch.displayName = "Switch";
64
+ var Switch_default = Switch;
65
65
 
66
66
  //#endregion
67
- export { LobeSwitch_default as default };
68
- //# sourceMappingURL=LobeSwitch.mjs.map
67
+ export { Switch_default as default };
68
+ //# sourceMappingURL=Switch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.mjs","names":["Icon"],"sources":["../../../src/base-ui/Switch/Switch.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { Loader2 } from 'lucide-react';\nimport { memo } from 'react';\n\nimport Icon from '@/Icon';\n\nimport { SwitchIcon, SwitchRoot, SwitchThumb } from './atoms';\nimport { styles } from './style';\nimport type { SwitchProps } from './type';\n\nconst Switch = memo<SwitchProps>(\n ({\n autoFocus,\n checked,\n checkedChildren,\n className,\n classNames,\n defaultChecked,\n defaultValue,\n disabled,\n id,\n loading,\n name,\n onChange,\n onClick,\n ref,\n rootClassName,\n size = 'default',\n style,\n styles: customStyles,\n tabIndex,\n title,\n unCheckedChildren,\n value,\n }) => {\n const isDisabled = disabled || loading;\n const resolvedChecked = value ?? checked;\n const resolvedDefaultChecked = defaultValue ?? defaultChecked;\n\n return (\n <SwitchRoot\n autoFocus={autoFocus}\n checked={resolvedChecked}\n className={cx(className, rootClassName, classNames?.root)}\n defaultChecked={resolvedDefaultChecked}\n disabled={isDisabled}\n id={id}\n name={name}\n ref={ref}\n size={size}\n style={{ ...style, ...customStyles?.root }}\n tabIndex={tabIndex}\n title={title}\n onCheckedChange={onChange}\n onClick={onClick}\n >\n {checkedChildren && (\n <SwitchIcon\n className={classNames?.content}\n position=\"left\"\n size={size}\n style={customStyles?.content}\n >\n {checkedChildren}\n </SwitchIcon>\n )}\n {unCheckedChildren && (\n <SwitchIcon\n className={classNames?.content}\n position=\"right\"\n size={size}\n style={customStyles?.content}\n >\n {unCheckedChildren}\n </SwitchIcon>\n )}\n <SwitchThumb className={classNames?.thumb} size={size} style={customStyles?.thumb}>\n {loading && (\n <Icon\n className={styles.loading}\n icon={Loader2}\n size={size === 'small' ? 8 : 12}\n style={{ color: 'var(--lobe-color-primary)' }}\n />\n )}\n </SwitchThumb>\n </SwitchRoot>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,SAAS,MACZ,EACC,WACA,SACA,iBACA,WACA,YACA,gBACA,cACA,UACA,IACA,SACA,MACA,UACA,SACA,KACA,eACA,OAAO,WACP,OACA,QAAQ,cACR,UACA,OACA,mBACA,YACI;CACJ,MAAM,aAAa,YAAY;CAC/B,MAAM,kBAAkB,SAAS;CACjC,MAAM,yBAAyB,gBAAgB;AAE/C,QACE,qBAAC;EACY;EACX,SAAS;EACT,WAAW,GAAG,WAAW,eAAe,YAAY,KAAK;EACzD,gBAAgB;EAChB,UAAU;EACN;EACE;EACD;EACC;EACN,OAAO;GAAE,GAAG;GAAO,GAAG,cAAc;GAAM;EAChC;EACH;EACP,iBAAiB;EACR;;GAER,mBACC,oBAAC;IACC,WAAW,YAAY;IACvB,UAAS;IACH;IACN,OAAO,cAAc;cAEpB;KACU;GAEd,qBACC,oBAAC;IACC,WAAW,YAAY;IACvB,UAAS;IACH;IACN,OAAO,cAAc;cAEpB;KACU;GAEf,oBAAC;IAAY,WAAW,YAAY;IAAa;IAAM,OAAO,cAAc;cACzE,WACC,oBAACA;KACC,WAAW,OAAO;KAClB,MAAM;KACN,MAAM,SAAS,UAAU,IAAI;KAC7B,OAAO,EAAE,OAAO,6BAA6B;MAC7C;KAEQ;;GACH;EAGlB;AAED,OAAO,cAAc;AAErB,qBAAe"}
@@ -0,0 +1,56 @@
1
+ import { SwitchChangeEventHandler, SwitchContextType, SwitchIconProps, SwitchRootProps, SwitchThumbProps } from "./type.mjs";
2
+ import { styles } from "./style.mjs";
3
+ import * as react_jsx_runtime43 from "react/jsx-runtime";
4
+
5
+ //#region src/base-ui/Switch/atoms.d.ts
6
+ declare const useSwitchContext: () => SwitchContextType;
7
+ type SwitchRootInternalProps = Omit<SwitchRootProps, 'onCheckedChange' | 'onClick'> & {
8
+ onCheckedChange?: SwitchChangeEventHandler;
9
+ onClick?: SwitchChangeEventHandler;
10
+ };
11
+ declare const SwitchRoot: {
12
+ ({
13
+ checked,
14
+ className,
15
+ defaultChecked,
16
+ onCheckedChange,
17
+ onClick,
18
+ size,
19
+ children,
20
+ disabled,
21
+ readOnly,
22
+ required,
23
+ inputRef,
24
+ id,
25
+ name,
26
+ ...rest
27
+ }: SwitchRootInternalProps): react_jsx_runtime43.JSX.Element;
28
+ displayName: string;
29
+ };
30
+ declare const SwitchThumb: {
31
+ ({
32
+ className,
33
+ pressedAnimation,
34
+ size,
35
+ transition,
36
+ children,
37
+ ...rest
38
+ }: SwitchThumbProps): react_jsx_runtime43.JSX.Element;
39
+ displayName: string;
40
+ };
41
+ declare const SwitchIcon: {
42
+ ({
43
+ children,
44
+ className,
45
+ position,
46
+ transition,
47
+ ...rest
48
+ }: SwitchIconProps & {
49
+ children?: React.ReactNode;
50
+ size?: "default" | "small";
51
+ }): react_jsx_runtime43.JSX.Element;
52
+ displayName: string;
53
+ };
54
+ //#endregion
55
+ export { SwitchIcon, SwitchRoot, SwitchThumb, useSwitchContext };
56
+ //# sourceMappingURL=atoms.d.mts.map
@@ -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":";;;;;;;;;;;AAoBA,MAAM,gBAAgB,cAAwC,KAAK;AAEnE,MAAa,yBAAyB;CACpC,MAAM,UAAU,IAAI,cAAc;AAClC,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,oDAAoD;AAEtE,QAAO;;AAQT,MAAa,cAAc,EACzB,SACA,WACA,gBACA,iBACA,SACA,OAAO,WACP,UACA,UACA,UACA,UACA,UACA,IACA,MACA,GAAG,WAC0B;CAC7B,MAAM,SAAS,oBAAoB;CACnC,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,eAAe,OACnB,KACD;CAED,MAAM,CAAC,WAAW,gBAAgBA,cAAmB,kBAAkB,OAAO;EAC5E,cAAc;EACd,WAAW,UAAmB;AAC5B,OAAI,aAAa,QACf,mBAAkB,OAAO,aAAa,QAAQ;;EAGlD,OAAO;EACR,CAAC;CAEF,MAAM,gBAAgB,aAAa,EAAE,MAAM,CAAC;CAE5C,MAAM,eAAe,eACZ;EACL,WAAW,QAAQ,UAAU;EAC7B;EACA,eAAe,UAAmB,aAAa,MAAM;EACrD;EACD,GACD;EAAC;EAAW;EAAW;EAAa,CACrC;CAED,MAAM,eAAe,UAAyC;AAC5D,eAAa,UAAU;AACvB,YAAU,CAAC,WAAW,MAAM;;CAG9B,MAAM,iBAAiB,UAA4C;AACjE,MAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,IACzC,cAAa,UAAU;AAEzB,EAAC,KAAa,YAAY,MAAM;;AAGlC,QACE,oBAAC;EAAc,OAAO;YACpB,oBAAC,OAAO;GACN,SAAS;GACO;GACN;GACN;GACM;GACJ;GACI;GACA;GACV,QACE,oBAAC,OAAO;IACN,GAAI;IACJ,WAAW,GAAG,eAAe,UAAU;IACvC,SAAS;IACT,UAAS;IACT,SAAS;IACT,WAAW;IACX,aAAa,aAAa,MAAM;IAChC,mBAAmB,aAAa,MAAM;IACtC,kBAAkB,aAAa,KAAK;KACpC;GAEJ,iBAAiB;GAEhB;IACW;GACA;;AAIpB,WAAW,cAAc;AAEzB,MAAa,eAAe,EAC1B,WACA,kBACA,OAAO,WACP,aAAa;CAAE,SAAS;CAAI,WAAW;CAAK,MAAM;CAAU,EAC5D,UACA,GAAG,WACmB;CACtB,MAAM,SAAS,oBAAoB;CACnC,MAAM,EAAE,cAAc,kBAAkB;CACxC,MAAM,gBAAgB,cAAc,EAAE,MAAM,CAAC;CAE7C,MAAM,0BAA0B,EAC9B,OAAO,SAAS,UAAU,KAAK,IAChC;AAED,QACE,oBAAC,OAAO,SACN,QACE,oBAAC,OAAO;EACN;EACA,SAAS,YAAY,oBAAoB,0BAA0B;EACnE,WAAW,GAAG,eAAe,UAAU;EAC3B;EACZ,GAAI;EAEH;GACW,GAEhB;;AAIN,YAAY,cAAc;AAE1B,MAAM,wBAAwB,UAA8B,SAA8B;AACxF,KAAI,aAAa,QAAS,QAAO,OAAO;AACxC,KAAI,aAAa,OAAQ,QAAO,SAAS,UAAU,OAAO,gBAAgB,OAAO;AACjF,QAAO,SAAS,UAAU,OAAO,iBAAiB,OAAO;;AAG3D,MAAa,cAAc,EACzB,UACA,WACA,UACA,aAAa;CAAE,QAAQ;CAAG,MAAM;CAAU,EAC1C,GAAG,WAC+E;CAClF,MAAM,SAAS,oBAAoB;CACnC,MAAM,EAAE,cAAc,kBAAkB;CACxC,MAAM,OAAQ,KAAa,QAAQ;CAEnC,MAAM,aAAa,cAAc;AAC/B,MAAI,aAAa,QAAS,QAAO,CAAC;AAClC,MAAI,aAAa,OAAQ,QAAO;AAChC,MAAI,aAAa,QAAS,QAAO;AACjC,SAAO;IACN,CAAC,UAAU,UAAU,CAAC;CAEzB,MAAM,gBAAgB,qBAAqB,UAAU,KAAK;AAE1D,QACE,oBAAC,OAAO;EACN,SAAS,aAAa;GAAE,SAAS;GAAG,OAAO;GAAG,GAAG;GAAE,SAAS;GAAG,OAAO;GAAG;EACzE,WAAW,GAAG,OAAO,MAAM,eAAe,UAAU;EACxC;EACZ,GAAI;EAEH;GACW;;AAIlB,WAAW,cAAc"}
@@ -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 react137 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: react137.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":";;;;AAGA,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,QAAQ,KAAG;;;;;;;;;;;qBAWQA,SAAO,eAAe;;;;;;;;;;;2BAWhBA,SAAO,mBAAmB;;;;CAKnD,cAAc,KAAG;aACNA,SAAO,oBAAoB;kBACtBA,SAAO,WAAW;;;oBAGhBA,SAAO,gBAAgB;;;;oBAIvBA,SAAO,iBAAiB;;;;uBAIrBA,SAAO,iBAAiB;;;CAI7C,aAAa,KAAG;wBACMA,SAAO,YAAY;aAC9BA,SAAO,UAAU;;;;sBAIRA,SAAO,aAAa;eAC3BA,SAAO,aAAa;;;;sBAIbA,SAAO,mBAAmB;eACjCA,SAAO,mBAAmB;;;CAIvC,eAAe,KAAG;aACPA,SAAO,oBAAoB;kBACtBA,SAAO,aAAa;;;oBAGlBA,SAAO,kBAAkB;;;;oBAIzBA,SAAO,mBAAmB;;;CAI5C,iBAAiB,KAAG;aACTA,SAAO,UAAU;kBACZA,SAAO,mBAAmB;;;oBAGxBA,SAAO,kBAAkB;;;;oBAIzBA,SAAO,UAAU;;;CAInC,YAAY,KAAG;aACJA,SAAO,aAAa;;;;oBAIbA,SAAO,kBAAkB;;;;oBAIzBA,SAAO,mBAAmB;;;CAI5C,SAAS,KAAG;;;;;;;;;;;CAYZ,OAAO,KAAG;;;;;;;;;;;;;qBAaSA,SAAO,eAAe;;aAE9BA,SAAO,kBAAkB;;;;;;;eAOvBA,SAAO,UAAU;oBACZA,SAAO,mBAAmB;;;CAI5C,SAAS,KAAG;;;;;;;;;;;;;;CAeZ,aAAa,KAAG;;;;;;CAOhB,aAAa,KAAG;;;;aAILA,SAAO,mBAAmB;;CAGrC,MAAM,KAAG;;;;;;CAOT,MAAM,KAAG;;;;;;;;;;;;;;;;;;;qBAmBUA,SAAO,eAAe;;aAE9BA,SAAO,UAAU;;kBAEZA,SAAO,gBAAgB;;;qCAGJA,SAAO,aAAa;4CACbA,SAAO,aAAa;4CACpBA,SAAO,aAAa;0CACtBA,SAAO,aAAa;4CAClBA,SAAO,aAAa;6CACnBA,SAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;CAyB/D,YAAY,KAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCf,SAAS,KAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCZ,OAAO,KAAG;;;;;;aAMCA,SAAO,UAAU;;CAG5B,UAAU,KAAG;;;;;CAMb,WAAW,KAAG;;;;;CAMd,UAAU,KAAG;;;;;;;;;;;;;CAcb,gBAAgB,KAAG;;;;;CAMnB,oBAAoB,KAAG;;;;CAKvB,qBAAqB,KAAG;;;;CAKxB,aAAa,KAAG;;;;;CAMhB,iBAAiB,KAAG;;;;CAKpB,kBAAkB,KAAG;;;;CAItB,EAAE;AAEH,MAAa,mBAAmB,IAAI,OAAO,UAAU;CACnD,iBAAiB,EACf,UAAU,gBACX;CACD,UAAU,EACR,UAAU;EACR,UAAU,OAAO;EACjB,eAAe,OAAO;EACtB,gBAAgB,OAAO;EACvB,OAAO,OAAO;EACd,YAAY,OAAO;EACnB,aAAa,OAAO;EACrB,EACF;CACF,CAAC;AAEF,MAAa,eAAe,IAAI,OAAO,MAAM;CAC3C,iBAAiB,EACf,UAAU,gBACX;CACD,UAAU,EACR,UAAU;EACR,UAAU,OAAO;EACjB,eAAe,OAAO;EACtB,gBAAgB,OAAO;EACvB,OAAO,OAAO;EACd,YAAY,OAAO;EACnB,aAAa,OAAO;EACrB,EACF;CACF,CAAC;AAEF,MAAa,iBAAiB,IAAI,OAAO,QAAQ;CAC/C,iBAAiB,EACf,SAAS,WACV;CACD,UAAU,EACR,SAAS;EACP,QAAQ,OAAO;EACf,OAAO,OAAO;EACd,SAAS,OAAO;EAChB,WAAW,OAAO;EAClB,MAAM,OAAO;EACd,EACF;CACF,CAAC"}
@@ -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 };