lumen-plus 0.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 (434) hide show
  1. package/dist/components/Affix/Affix.svelte +97 -0
  2. package/dist/components/Affix/Affix.svelte.d.ts +14 -0
  3. package/dist/components/Affix/index.d.ts +4 -0
  4. package/dist/components/Affix/index.js +3 -0
  5. package/dist/components/Affix/types.d.ts +11 -0
  6. package/dist/components/Affix/types.js +1 -0
  7. package/dist/components/Alert/Alert.svelte +77 -0
  8. package/dist/components/Alert/Alert.svelte.d.ts +16 -0
  9. package/dist/components/Alert/index.d.ts +4 -0
  10. package/dist/components/Alert/index.js +3 -0
  11. package/dist/components/Alert/types.d.ts +23 -0
  12. package/dist/components/Alert/types.js +1 -0
  13. package/dist/components/Autocomplete/Autocomplete.svelte +163 -0
  14. package/dist/components/Autocomplete/Autocomplete.svelte.d.ts +20 -0
  15. package/dist/components/Autocomplete/index.d.ts +3 -0
  16. package/dist/components/Autocomplete/index.js +3 -0
  17. package/dist/components/Avatar/Avatar.svelte +50 -0
  18. package/dist/components/Avatar/Avatar.svelte.d.ts +14 -0
  19. package/dist/components/Avatar/index.d.ts +4 -0
  20. package/dist/components/Avatar/index.js +3 -0
  21. package/dist/components/Avatar/types.d.ts +26 -0
  22. package/dist/components/Avatar/types.js +1 -0
  23. package/dist/components/Backtop/Backtop.svelte +60 -0
  24. package/dist/components/Backtop/Backtop.svelte.d.ts +13 -0
  25. package/dist/components/Backtop/index.d.ts +4 -0
  26. package/dist/components/Backtop/index.js +3 -0
  27. package/dist/components/Backtop/types.d.ts +18 -0
  28. package/dist/components/Backtop/types.js +1 -0
  29. package/dist/components/Badge/Badge.svelte +53 -0
  30. package/dist/components/Badge/Badge.svelte.d.ts +13 -0
  31. package/dist/components/Badge/index.d.ts +4 -0
  32. package/dist/components/Badge/index.js +3 -0
  33. package/dist/components/Badge/types.d.ts +20 -0
  34. package/dist/components/Badge/types.js +1 -0
  35. package/dist/components/Breadcrumb/Breadcrumb.svelte +35 -0
  36. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +6 -0
  37. package/dist/components/Breadcrumb/index.d.ts +4 -0
  38. package/dist/components/Breadcrumb/index.js +3 -0
  39. package/dist/components/Breadcrumb/types.d.ts +10 -0
  40. package/dist/components/Breadcrumb/types.js +1 -0
  41. package/dist/components/Button/Button.svelte +61 -0
  42. package/dist/components/Button/Button.svelte.d.ts +5 -0
  43. package/dist/components/Button/index.d.ts +4 -0
  44. package/dist/components/Button/index.js +3 -0
  45. package/dist/components/Button/types.d.ts +42 -0
  46. package/dist/components/Button/types.js +1 -0
  47. package/dist/components/Calendar/Calendar.svelte +115 -0
  48. package/dist/components/Calendar/Calendar.svelte.d.ts +7 -0
  49. package/dist/components/Calendar/index.d.ts +3 -0
  50. package/dist/components/Calendar/index.js +3 -0
  51. package/dist/components/Card/Card.svelte +59 -0
  52. package/dist/components/Card/Card.svelte.d.ts +4 -0
  53. package/dist/components/Card/index.d.ts +4 -0
  54. package/dist/components/Card/index.js +4 -0
  55. package/dist/components/Card/types.d.ts +26 -0
  56. package/dist/components/Card/types.js +1 -0
  57. package/dist/components/Carousel/Carousel.svelte +158 -0
  58. package/dist/components/Carousel/Carousel.svelte.d.ts +19 -0
  59. package/dist/components/Carousel/CarouselContext.d.ts +6 -0
  60. package/dist/components/Carousel/CarouselContext.js +1 -0
  61. package/dist/components/Carousel/CarouselItem.svelte +26 -0
  62. package/dist/components/Carousel/CarouselItem.svelte.d.ts +11 -0
  63. package/dist/components/Carousel/index.d.ts +5 -0
  64. package/dist/components/Carousel/index.js +4 -0
  65. package/dist/components/Carousel/types.d.ts +43 -0
  66. package/dist/components/Carousel/types.js +1 -0
  67. package/dist/components/Cascader/Cascader.svelte +191 -0
  68. package/dist/components/Cascader/Cascader.svelte.d.ts +4 -0
  69. package/dist/components/Cascader/index.d.ts +4 -0
  70. package/dist/components/Cascader/index.js +3 -0
  71. package/dist/components/Cascader/types.d.ts +19 -0
  72. package/dist/components/Cascader/types.js +1 -0
  73. package/dist/components/Checkbox/Checkbox.svelte +55 -0
  74. package/dist/components/Checkbox/Checkbox.svelte.d.ts +16 -0
  75. package/dist/components/Checkbox/index.d.ts +4 -0
  76. package/dist/components/Checkbox/index.js +3 -0
  77. package/dist/components/Checkbox/types.d.ts +24 -0
  78. package/dist/components/Checkbox/types.js +1 -0
  79. package/dist/components/Collapse/Collapse.svelte +48 -0
  80. package/dist/components/Collapse/Collapse.svelte.d.ts +11 -0
  81. package/dist/components/Collapse/CollapseContext.d.ts +6 -0
  82. package/dist/components/Collapse/CollapseContext.js +1 -0
  83. package/dist/components/Collapse/CollapseItem.svelte +133 -0
  84. package/dist/components/Collapse/CollapseItem.svelte.d.ts +11 -0
  85. package/dist/components/Collapse/index.d.ts +5 -0
  86. package/dist/components/Collapse/index.js +4 -0
  87. package/dist/components/Collapse/types.d.ts +27 -0
  88. package/dist/components/Collapse/types.js +1 -0
  89. package/dist/components/ColorPicker/ColorPicker.svelte +112 -0
  90. package/dist/components/ColorPicker/ColorPicker.svelte.d.ts +12 -0
  91. package/dist/components/ColorPicker/index.d.ts +4 -0
  92. package/dist/components/ColorPicker/index.js +3 -0
  93. package/dist/components/ColorPicker/types.d.ts +17 -0
  94. package/dist/components/ColorPicker/types.js +1 -0
  95. package/dist/components/Container/Aside.svelte +20 -0
  96. package/dist/components/Container/Aside.svelte.d.ts +9 -0
  97. package/dist/components/Container/Container.svelte +19 -0
  98. package/dist/components/Container/Container.svelte.d.ts +9 -0
  99. package/dist/components/Container/Footer.svelte +20 -0
  100. package/dist/components/Container/Footer.svelte.d.ts +9 -0
  101. package/dist/components/Container/Header.svelte +20 -0
  102. package/dist/components/Container/Header.svelte.d.ts +9 -0
  103. package/dist/components/Container/Main.svelte +18 -0
  104. package/dist/components/Container/Main.svelte.d.ts +8 -0
  105. package/dist/components/Container/index.d.ts +6 -0
  106. package/dist/components/Container/index.js +5 -0
  107. package/dist/components/Container/types.d.ts +46 -0
  108. package/dist/components/Container/types.js +1 -0
  109. package/dist/components/DatePicker/DatePicker.svelte +206 -0
  110. package/dist/components/DatePicker/DatePicker.svelte.d.ts +17 -0
  111. package/dist/components/DatePicker/index.d.ts +4 -0
  112. package/dist/components/DatePicker/index.js +3 -0
  113. package/dist/components/DatePicker/types.d.ts +29 -0
  114. package/dist/components/DatePicker/types.js +1 -0
  115. package/dist/components/DateTimePicker/DateTimePicker.svelte +387 -0
  116. package/dist/components/DateTimePicker/DateTimePicker.svelte.d.ts +4 -0
  117. package/dist/components/DateTimePicker/index.d.ts +4 -0
  118. package/dist/components/DateTimePicker/index.js +3 -0
  119. package/dist/components/DateTimePicker/types.d.ts +21 -0
  120. package/dist/components/DateTimePicker/types.js +1 -0
  121. package/dist/components/Descriptions/Descriptions.svelte +69 -0
  122. package/dist/components/Descriptions/Descriptions.svelte.d.ts +15 -0
  123. package/dist/components/Descriptions/DescriptionsContext.d.ts +8 -0
  124. package/dist/components/Descriptions/DescriptionsContext.js +1 -0
  125. package/dist/components/Descriptions/DescriptionsItem.svelte +59 -0
  126. package/dist/components/Descriptions/DescriptionsItem.svelte.d.ts +13 -0
  127. package/dist/components/Descriptions/index.d.ts +5 -0
  128. package/dist/components/Descriptions/index.js +4 -0
  129. package/dist/components/Descriptions/types.d.ts +41 -0
  130. package/dist/components/Descriptions/types.js +1 -0
  131. package/dist/components/Dialog/Dialog.svelte +122 -0
  132. package/dist/components/Dialog/Dialog.svelte.d.ts +20 -0
  133. package/dist/components/Dialog/index.d.ts +4 -0
  134. package/dist/components/Dialog/index.js +3 -0
  135. package/dist/components/Dialog/types.d.ts +32 -0
  136. package/dist/components/Dialog/types.js +1 -0
  137. package/dist/components/Divider/Divider.svelte +23 -0
  138. package/dist/components/Divider/Divider.svelte.d.ts +11 -0
  139. package/dist/components/Divider/index.d.ts +4 -0
  140. package/dist/components/Divider/index.js +3 -0
  141. package/dist/components/Divider/types.d.ts +20 -0
  142. package/dist/components/Divider/types.js +1 -0
  143. package/dist/components/Drawer/Drawer.svelte +141 -0
  144. package/dist/components/Drawer/Drawer.svelte.d.ts +26 -0
  145. package/dist/components/Drawer/index.d.ts +4 -0
  146. package/dist/components/Drawer/index.js +3 -0
  147. package/dist/components/Drawer/types.d.ts +40 -0
  148. package/dist/components/Drawer/types.js +1 -0
  149. package/dist/components/Dropdown/Dropdown.svelte +387 -0
  150. package/dist/components/Dropdown/Dropdown.svelte.d.ts +4 -0
  151. package/dist/components/Dropdown/DropdownContext.d.ts +7 -0
  152. package/dist/components/Dropdown/DropdownContext.js +8 -0
  153. package/dist/components/Dropdown/DropdownItem.svelte +50 -0
  154. package/dist/components/Dropdown/DropdownItem.svelte.d.ts +4 -0
  155. package/dist/components/Dropdown/DropdownMenu.svelte +16 -0
  156. package/dist/components/Dropdown/DropdownMenu.svelte.d.ts +4 -0
  157. package/dist/components/Dropdown/index.d.ts +5 -0
  158. package/dist/components/Dropdown/index.js +5 -0
  159. package/dist/components/Dropdown/types.d.ts +81 -0
  160. package/dist/components/Dropdown/types.js +1 -0
  161. package/dist/components/Empty/Empty.svelte +40 -0
  162. package/dist/components/Empty/Empty.svelte.d.ts +11 -0
  163. package/dist/components/Empty/index.d.ts +4 -0
  164. package/dist/components/Empty/index.js +3 -0
  165. package/dist/components/Empty/types.d.ts +14 -0
  166. package/dist/components/Empty/types.js +1 -0
  167. package/dist/components/Form/Form.svelte +88 -0
  168. package/dist/components/Form/Form.svelte.d.ts +15 -0
  169. package/dist/components/Form/FormContext.d.ts +19 -0
  170. package/dist/components/Form/FormContext.js +1 -0
  171. package/dist/components/Form/FormInternals.d.ts +40 -0
  172. package/dist/components/Form/FormInternals.js +152 -0
  173. package/dist/components/Form/FormItem.svelte +191 -0
  174. package/dist/components/Form/FormItem.svelte.d.ts +8 -0
  175. package/dist/components/Form/index.d.ts +3 -0
  176. package/dist/components/Form/index.js +2 -0
  177. package/dist/components/Form/types.d.ts +61 -0
  178. package/dist/components/Form/types.js +1 -0
  179. package/dist/components/Icon/Icon.svelte +43 -0
  180. package/dist/components/Icon/Icon.svelte.d.ts +12 -0
  181. package/dist/components/Icon/index.d.ts +5 -0
  182. package/dist/components/Icon/index.js +15 -0
  183. package/dist/components/Icon/types.d.ts +14 -0
  184. package/dist/components/Icon/types.js +1 -0
  185. package/dist/components/Image/Image.svelte +134 -0
  186. package/dist/components/Image/Image.svelte.d.ts +20 -0
  187. package/dist/components/Image/index.d.ts +4 -0
  188. package/dist/components/Image/index.js +3 -0
  189. package/dist/components/Image/types.d.ts +32 -0
  190. package/dist/components/Image/types.js +1 -0
  191. package/dist/components/Input/Input.svelte +177 -0
  192. package/dist/components/Input/Input.svelte.d.ts +4 -0
  193. package/dist/components/Input/index.d.ts +4 -0
  194. package/dist/components/Input/index.js +3 -0
  195. package/dist/components/Input/types.d.ts +72 -0
  196. package/dist/components/Input/types.js +1 -0
  197. package/dist/components/InputNumber/InputNumber.svelte +110 -0
  198. package/dist/components/InputNumber/InputNumber.svelte.d.ts +18 -0
  199. package/dist/components/InputNumber/index.d.ts +4 -0
  200. package/dist/components/InputNumber/index.js +3 -0
  201. package/dist/components/InputNumber/types.d.ts +29 -0
  202. package/dist/components/InputNumber/types.js +1 -0
  203. package/dist/components/InputTag/InputTag.svelte +160 -0
  204. package/dist/components/InputTag/InputTag.svelte.d.ts +4 -0
  205. package/dist/components/InputTag/index.d.ts +4 -0
  206. package/dist/components/InputTag/index.js +3 -0
  207. package/dist/components/InputTag/types.d.ts +21 -0
  208. package/dist/components/InputTag/types.js +1 -0
  209. package/dist/components/Link/Link.svelte +38 -0
  210. package/dist/components/Link/Link.svelte.d.ts +15 -0
  211. package/dist/components/Link/index.d.ts +4 -0
  212. package/dist/components/Link/index.js +3 -0
  213. package/dist/components/Link/types.d.ts +26 -0
  214. package/dist/components/Link/types.js +1 -0
  215. package/dist/components/Loading/Loading.svelte +56 -0
  216. package/dist/components/Loading/Loading.svelte.d.ts +15 -0
  217. package/dist/components/Loading/index.d.ts +4 -0
  218. package/dist/components/Loading/index.js +3 -0
  219. package/dist/components/Loading/types.d.ts +20 -0
  220. package/dist/components/Loading/types.js +1 -0
  221. package/dist/components/Menu/Menu.svelte +283 -0
  222. package/dist/components/Menu/Menu.svelte.d.ts +4 -0
  223. package/dist/components/Menu/index.d.ts +4 -0
  224. package/dist/components/Menu/index.js +3 -0
  225. package/dist/components/Menu/types.d.ts +18 -0
  226. package/dist/components/Menu/types.js +1 -0
  227. package/dist/components/Message/MessageBox.svelte +56 -0
  228. package/dist/components/Message/MessageBox.svelte.d.ts +10 -0
  229. package/dist/components/Message/index.d.ts +15 -0
  230. package/dist/components/Message/index.js +102 -0
  231. package/dist/components/Message/types.d.ts +28 -0
  232. package/dist/components/Message/types.js +1 -0
  233. package/dist/components/MessageBox/MessageBox.svelte +85 -0
  234. package/dist/components/MessageBox/MessageBox.svelte.d.ts +7 -0
  235. package/dist/components/MessageBox/index.d.ts +4 -0
  236. package/dist/components/MessageBox/index.js +3 -0
  237. package/dist/components/MessageBox/types.d.ts +21 -0
  238. package/dist/components/MessageBox/types.js +1 -0
  239. package/dist/components/Notification/Notification.svelte +90 -0
  240. package/dist/components/Notification/Notification.svelte.d.ts +7 -0
  241. package/dist/components/Notification/index.d.ts +4 -0
  242. package/dist/components/Notification/index.js +3 -0
  243. package/dist/components/Notification/types.d.ts +24 -0
  244. package/dist/components/Notification/types.js +1 -0
  245. package/dist/components/Pagination/Pagination.svelte +180 -0
  246. package/dist/components/Pagination/Pagination.svelte.d.ts +21 -0
  247. package/dist/components/Pagination/index.d.ts +4 -0
  248. package/dist/components/Pagination/index.js +3 -0
  249. package/dist/components/Pagination/types.d.ts +35 -0
  250. package/dist/components/Pagination/types.js +1 -0
  251. package/dist/components/PinInput/PinInput.svelte +175 -0
  252. package/dist/components/PinInput/PinInput.svelte.d.ts +4 -0
  253. package/dist/components/PinInput/index.d.ts +4 -0
  254. package/dist/components/PinInput/index.js +3 -0
  255. package/dist/components/PinInput/types.d.ts +31 -0
  256. package/dist/components/PinInput/types.js +1 -0
  257. package/dist/components/Popconfirm/Popconfirm.svelte +228 -0
  258. package/dist/components/Popconfirm/Popconfirm.svelte.d.ts +24 -0
  259. package/dist/components/Popconfirm/index.d.ts +4 -0
  260. package/dist/components/Popconfirm/index.js +3 -0
  261. package/dist/components/Popconfirm/types.d.ts +21 -0
  262. package/dist/components/Popconfirm/types.js +1 -0
  263. package/dist/components/Popover/Popover.svelte +176 -0
  264. package/dist/components/Popover/Popover.svelte.d.ts +7 -0
  265. package/dist/components/Popover/index.d.ts +4 -0
  266. package/dist/components/Popover/index.js +3 -0
  267. package/dist/components/Popover/types.d.ts +24 -0
  268. package/dist/components/Popover/types.js +1 -0
  269. package/dist/components/Progress/Progress.svelte +33 -0
  270. package/dist/components/Progress/Progress.svelte.d.ts +11 -0
  271. package/dist/components/Progress/index.d.ts +4 -0
  272. package/dist/components/Progress/index.js +3 -0
  273. package/dist/components/Progress/types.d.ts +17 -0
  274. package/dist/components/Progress/types.js +1 -0
  275. package/dist/components/Radio/Radio.svelte +48 -0
  276. package/dist/components/Radio/Radio.svelte.d.ts +15 -0
  277. package/dist/components/Radio/index.d.ts +4 -0
  278. package/dist/components/Radio/index.js +3 -0
  279. package/dist/components/Radio/types.d.ts +24 -0
  280. package/dist/components/Radio/types.js +1 -0
  281. package/dist/components/Rating/Rating.svelte +226 -0
  282. package/dist/components/Rating/Rating.svelte.d.ts +27 -0
  283. package/dist/components/Rating/index.d.ts +4 -0
  284. package/dist/components/Rating/index.js +3 -0
  285. package/dist/components/Rating/types.d.ts +43 -0
  286. package/dist/components/Rating/types.js +1 -0
  287. package/dist/components/Result/Result.svelte +58 -0
  288. package/dist/components/Result/Result.svelte.d.ts +14 -0
  289. package/dist/components/Result/index.d.ts +4 -0
  290. package/dist/components/Result/index.js +3 -0
  291. package/dist/components/Result/types.d.ts +20 -0
  292. package/dist/components/Result/types.js +1 -0
  293. package/dist/components/Segmented/Segmented.svelte +49 -0
  294. package/dist/components/Segmented/Segmented.svelte.d.ts +12 -0
  295. package/dist/components/Segmented/index.d.ts +4 -0
  296. package/dist/components/Segmented/index.js +3 -0
  297. package/dist/components/Segmented/types.d.ts +29 -0
  298. package/dist/components/Segmented/types.js +1 -0
  299. package/dist/components/Select/Select.svelte +215 -0
  300. package/dist/components/Select/Select.svelte.d.ts +4 -0
  301. package/dist/components/Select/index.d.ts +4 -0
  302. package/dist/components/Select/index.js +3 -0
  303. package/dist/components/Select/types.d.ts +41 -0
  304. package/dist/components/Select/types.js +1 -0
  305. package/dist/components/Skeleton/Skeleton.svelte +44 -0
  306. package/dist/components/Skeleton/Skeleton.svelte.d.ts +13 -0
  307. package/dist/components/Skeleton/SkeletonItem.svelte +14 -0
  308. package/dist/components/Skeleton/SkeletonItem.svelte.d.ts +8 -0
  309. package/dist/components/Skeleton/index.d.ts +5 -0
  310. package/dist/components/Skeleton/index.js +4 -0
  311. package/dist/components/Skeleton/types.d.ts +27 -0
  312. package/dist/components/Skeleton/types.js +1 -0
  313. package/dist/components/Slider/Slider.svelte +292 -0
  314. package/dist/components/Slider/Slider.svelte.d.ts +18 -0
  315. package/dist/components/Slider/index.d.ts +4 -0
  316. package/dist/components/Slider/index.js +3 -0
  317. package/dist/components/Slider/types.d.ts +28 -0
  318. package/dist/components/Slider/types.js +1 -0
  319. package/dist/components/Space/Space.svelte +59 -0
  320. package/dist/components/Space/Space.svelte.d.ts +18 -0
  321. package/dist/components/Space/index.d.ts +4 -0
  322. package/dist/components/Space/index.js +3 -0
  323. package/dist/components/Space/types.d.ts +32 -0
  324. package/dist/components/Space/types.js +1 -0
  325. package/dist/components/Statistic/Countdown.svelte +108 -0
  326. package/dist/components/Statistic/Countdown.svelte.d.ts +14 -0
  327. package/dist/components/Statistic/Statistic.svelte +63 -0
  328. package/dist/components/Statistic/Statistic.svelte.d.ts +15 -0
  329. package/dist/components/Statistic/index.d.ts +5 -0
  330. package/dist/components/Statistic/index.js +4 -0
  331. package/dist/components/Statistic/types.d.ts +41 -0
  332. package/dist/components/Statistic/types.js +1 -0
  333. package/dist/components/Steps/Step.svelte +58 -0
  334. package/dist/components/Steps/Step.svelte.d.ts +14 -0
  335. package/dist/components/Steps/Steps.svelte +60 -0
  336. package/dist/components/Steps/Steps.svelte.d.ts +15 -0
  337. package/dist/components/Steps/StepsContext.d.ts +12 -0
  338. package/dist/components/Steps/StepsContext.js +1 -0
  339. package/dist/components/Steps/index.d.ts +5 -0
  340. package/dist/components/Steps/index.js +4 -0
  341. package/dist/components/Steps/types.d.ts +41 -0
  342. package/dist/components/Steps/types.js +1 -0
  343. package/dist/components/Switch/Switch.svelte +122 -0
  344. package/dist/components/Switch/Switch.svelte.d.ts +22 -0
  345. package/dist/components/Switch/index.d.ts +4 -0
  346. package/dist/components/Switch/index.js +3 -0
  347. package/dist/components/Switch/styles/index.scss +1 -0
  348. package/dist/components/Switch/styles/switch.scss +194 -0
  349. package/dist/components/Switch/types.d.ts +37 -0
  350. package/dist/components/Switch/types.js +1 -0
  351. package/dist/components/Table/Table.svelte +575 -0
  352. package/dist/components/Table/Table.svelte.d.ts +11 -0
  353. package/dist/components/Table/index.d.ts +4 -0
  354. package/dist/components/Table/index.js +3 -0
  355. package/dist/components/Table/types.d.ts +180 -0
  356. package/dist/components/Table/types.js +1 -0
  357. package/dist/components/Tabs/TabPane.svelte +37 -0
  358. package/dist/components/Tabs/TabPane.svelte.d.ts +13 -0
  359. package/dist/components/Tabs/Tabs.svelte +251 -0
  360. package/dist/components/Tabs/Tabs.svelte.d.ts +13 -0
  361. package/dist/components/Tabs/TabsContext.d.ts +11 -0
  362. package/dist/components/Tabs/TabsContext.js +1 -0
  363. package/dist/components/Tabs/index.d.ts +3 -0
  364. package/dist/components/Tabs/index.js +2 -0
  365. package/dist/components/Tabs/types.d.ts +39 -0
  366. package/dist/components/Tabs/types.js +1 -0
  367. package/dist/components/Tag/Tag.svelte +39 -0
  368. package/dist/components/Tag/Tag.svelte.d.ts +13 -0
  369. package/dist/components/Tag/index.d.ts +4 -0
  370. package/dist/components/Tag/index.js +3 -0
  371. package/dist/components/Tag/types.d.ts +22 -0
  372. package/dist/components/Tag/types.js +1 -0
  373. package/dist/components/Textarea/Textarea.svelte +76 -0
  374. package/dist/components/Textarea/Textarea.svelte.d.ts +16 -0
  375. package/dist/components/Textarea/index.d.ts +4 -0
  376. package/dist/components/Textarea/index.js +3 -0
  377. package/dist/components/Textarea/types.d.ts +25 -0
  378. package/dist/components/Textarea/types.js +1 -0
  379. package/dist/components/TimePicker/TimePicker.svelte +297 -0
  380. package/dist/components/TimePicker/TimePicker.svelte.d.ts +14 -0
  381. package/dist/components/TimePicker/index.d.ts +3 -0
  382. package/dist/components/TimePicker/index.js +3 -0
  383. package/dist/components/Timeline/Timeline.svelte +18 -0
  384. package/dist/components/Timeline/Timeline.svelte.d.ts +8 -0
  385. package/dist/components/Timeline/TimelineItem.svelte +67 -0
  386. package/dist/components/Timeline/TimelineItem.svelte.d.ts +18 -0
  387. package/dist/components/Timeline/index.d.ts +5 -0
  388. package/dist/components/Timeline/index.js +4 -0
  389. package/dist/components/Timeline/types.d.ts +39 -0
  390. package/dist/components/Timeline/types.js +1 -0
  391. package/dist/components/Tooltip/OverflowTooltip.svelte +81 -0
  392. package/dist/components/Tooltip/OverflowTooltip.svelte.d.ts +4 -0
  393. package/dist/components/Tooltip/Tooltip.svelte +51 -0
  394. package/dist/components/Tooltip/Tooltip.svelte.d.ts +16 -0
  395. package/dist/components/Tooltip/index.d.ts +6 -0
  396. package/dist/components/Tooltip/index.js +5 -0
  397. package/dist/components/Tooltip/types.d.ts +51 -0
  398. package/dist/components/Tooltip/types.js +1 -0
  399. package/dist/components/Transfer/Transfer.svelte +145 -0
  400. package/dist/components/Transfer/Transfer.svelte.d.ts +14 -0
  401. package/dist/components/Transfer/index.d.ts +4 -0
  402. package/dist/components/Transfer/index.js +3 -0
  403. package/dist/components/Transfer/types.d.ts +16 -0
  404. package/dist/components/Transfer/types.js +1 -0
  405. package/dist/components/Tree/Tree.svelte +148 -0
  406. package/dist/components/Tree/Tree.svelte.d.ts +17 -0
  407. package/dist/components/Tree/TreeNode.svelte +133 -0
  408. package/dist/components/Tree/TreeNode.svelte.d.ts +19 -0
  409. package/dist/components/Tree/index.d.ts +4 -0
  410. package/dist/components/Tree/index.js +3 -0
  411. package/dist/components/Tree/types.d.ts +65 -0
  412. package/dist/components/Tree/types.js +1 -0
  413. package/dist/components/TreeSelect/TreeSelect.svelte +656 -0
  414. package/dist/components/TreeSelect/TreeSelect.svelte.d.ts +4 -0
  415. package/dist/components/TreeSelect/index.d.ts +4 -0
  416. package/dist/components/TreeSelect/index.js +3 -0
  417. package/dist/components/TreeSelect/types.d.ts +98 -0
  418. package/dist/components/TreeSelect/types.js +1 -0
  419. package/dist/components/Upload/Upload.svelte +323 -0
  420. package/dist/components/Upload/Upload.svelte.d.ts +28 -0
  421. package/dist/components/Upload/index.d.ts +4 -0
  422. package/dist/components/Upload/index.js +3 -0
  423. package/dist/components/Upload/types.d.ts +67 -0
  424. package/dist/components/Upload/types.js +1 -0
  425. package/dist/components/Watermark/Watermark.svelte +174 -0
  426. package/dist/components/Watermark/Watermark.svelte.d.ts +20 -0
  427. package/dist/components/Watermark/index.d.ts +4 -0
  428. package/dist/components/Watermark/index.js +3 -0
  429. package/dist/components/Watermark/types.d.ts +32 -0
  430. package/dist/components/Watermark/types.js +1 -0
  431. package/dist/index.d.ts +64 -0
  432. package/dist/index.js +64 -0
  433. package/dist/theme/index.css +9737 -0
  434. package/package.json +51 -0
@@ -0,0 +1,26 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { DrawerDirection } from './types';
3
+ interface DrawerProps {
4
+ open?: boolean;
5
+ title?: string | Snippet;
6
+ direction?: DrawerDirection;
7
+ size?: string | number;
8
+ showClose?: boolean;
9
+ modal?: boolean;
10
+ closeOnClickModal?: boolean;
11
+ closeOnPressEscape?: boolean;
12
+ lockScroll?: boolean;
13
+ appendToBody?: boolean;
14
+ beforeClose?: () => boolean | Promise<boolean>;
15
+ onclose?: () => void;
16
+ onopen?: () => void;
17
+ header?: Snippet;
18
+ footer?: Snippet<[{
19
+ close: () => void;
20
+ }]>;
21
+ children?: Snippet;
22
+ class?: string;
23
+ }
24
+ declare const Drawer: import("svelte").Component<DrawerProps, {}, "open">;
25
+ type Drawer = ReturnType<typeof Drawer>;
26
+ export default Drawer;
@@ -0,0 +1,4 @@
1
+ import Drawer from './Drawer.svelte';
2
+ export { Drawer };
3
+ export type { DrawerProps, DrawerDirection } from './types';
4
+ export default Drawer;
@@ -0,0 +1,3 @@
1
+ import Drawer from './Drawer.svelte';
2
+ export { Drawer };
3
+ export default Drawer;
@@ -0,0 +1,40 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** Drawer 方向 */
3
+ export type DrawerDirection = 'ltr' | 'rtl' | 'ttb' | 'btt';
4
+ /** Drawer 属性 */
5
+ export interface DrawerProps {
6
+ /** 是否显示 */
7
+ open?: boolean;
8
+ /** 标题 */
9
+ title?: string | Snippet;
10
+ /** 方向 */
11
+ direction?: DrawerDirection;
12
+ /** 尺寸(宽度或高度) */
13
+ size?: string | number;
14
+ /** 是否显示关闭按钮 */
15
+ showClose?: boolean;
16
+ /** 是否显示遮罩 */
17
+ modal?: boolean;
18
+ /** 点击遮罩是否关闭 */
19
+ closeOnClickModal?: boolean;
20
+ /** 按 ESC 是否关闭 */
21
+ closeOnPressEscape?: boolean;
22
+ /** 是否锁定 body 滚动 */
23
+ lockScroll?: boolean;
24
+ /** 是否追加到 body */
25
+ appendToBody?: boolean;
26
+ /** 关闭前回调 */
27
+ beforeClose?: () => boolean | Promise<boolean>;
28
+ /** 关闭事件 */
29
+ onclose?: () => void;
30
+ /** 打开事件 */
31
+ onopen?: () => void;
32
+ /** 头部插槽 */
33
+ header?: Snippet;
34
+ /** 底部插槽 */
35
+ footer?: Snippet;
36
+ /** 子内容 */
37
+ children?: Snippet;
38
+ /** 自定义类名 */
39
+ class?: string;
40
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,387 @@
1
+ <script lang="ts">
2
+ import type { DropdownProps } from './types'
3
+ import { setDropdownContext } from './DropdownContext'
4
+ import { onDestroy } from 'svelte'
5
+ import { scale } from 'svelte/transition'
6
+ import { ChevronDown } from 'lucide'
7
+ import Icon from '../../Icon/src'
8
+
9
+ type DropdownExclusiveOpenDetail = {
10
+ group: string
11
+ id: string
12
+ }
13
+
14
+ let {
15
+ trigger = 'hover',
16
+ placement = 'bottom',
17
+ disabled = false,
18
+ hideOnClick = true,
19
+ showTimeout = 150,
20
+ hideTimeout = 150,
21
+ maxHeight,
22
+ showArrow = true,
23
+ offset = 12,
24
+ showCaret = true,
25
+ icon,
26
+ iconSize = 16,
27
+ prefix,
28
+ group,
29
+ splitButton = false,
30
+ type = 'default',
31
+ size = 'default',
32
+ popperClass = '',
33
+ children,
34
+ dropdown,
35
+ class: cls = '',
36
+ onclick,
37
+ oncommand,
38
+ onvisibleChange
39
+ }: DropdownProps = $props()
40
+
41
+ let visible = $state(false)
42
+ // 用于承载 Svelte 的 in/out 动画(与 visible 解耦,避免关闭瞬间闪烁)
43
+ let motionVisible = $state(false)
44
+ let triggerRef = $state<HTMLElement | null>(null)
45
+ let popperRef = $state<HTMLElement | null>(null)
46
+ let showTimer: ReturnType<typeof setTimeout> | null = null
47
+ let hideTimer: ReturnType<typeof setTimeout> | null = null
48
+
49
+ // 自适应定位 - 使用固定定位精确控制位置
50
+ let computedStyle = $state<{ top: string; left: string } | null>(null)
51
+ let computedPlacement = $state<string | null>(null)
52
+ const finalPlacement = $derived(computedPlacement || placement)
53
+
54
+ const instanceId =
55
+ typeof globalThis !== 'undefined' && 'crypto' in globalThis && typeof globalThis.crypto?.randomUUID === 'function'
56
+ ? globalThis.crypto.randomUUID()
57
+ : `${Date.now()}-${Math.random().toString(16).slice(2)}`
58
+
59
+ const broadcastExclusiveOpen = (): void => {
60
+ if (!group) return
61
+ if (typeof document === 'undefined') return
62
+ document.dispatchEvent(
63
+ new CustomEvent<DropdownExclusiveOpenDetail>('lm-dropdown:exclusive-open', {
64
+ detail: { group, id: instanceId }
65
+ })
66
+ )
67
+ }
68
+
69
+ const clearTimers = (): void => {
70
+ if (showTimer) {
71
+ clearTimeout(showTimer)
72
+ showTimer = null
73
+ }
74
+ if (hideTimer) {
75
+ clearTimeout(hideTimer)
76
+ hideTimer = null
77
+ }
78
+ }
79
+
80
+ const open = (): void => {
81
+ if (disabled) return
82
+ clearTimers()
83
+ visible = true
84
+ motionVisible = true
85
+ broadcastExclusiveOpen()
86
+ onvisibleChange?.(true)
87
+ }
88
+
89
+ const close = (): void => {
90
+ clearTimers()
91
+ visible = false
92
+ motionVisible = false
93
+ onvisibleChange?.(false)
94
+ }
95
+
96
+ const handleExclusiveOpen = (e: Event): void => {
97
+ if (!group) return
98
+ const { detail } = e as CustomEvent<DropdownExclusiveOpenDetail>
99
+ if (!detail || detail.group !== group || detail.id === instanceId) return
100
+ if (visible) close()
101
+ }
102
+
103
+ const delayOpen = (): void => {
104
+ if (disabled) return
105
+ clearTimers()
106
+ showTimer = setTimeout(open, showTimeout)
107
+ }
108
+
109
+ const delayClose = (): void => {
110
+ clearTimers()
111
+ hideTimer = setTimeout(close, hideTimeout)
112
+ }
113
+
114
+ const handleTriggerClick = (e: MouseEvent): void => {
115
+ if (disabled) return
116
+ e.stopPropagation()
117
+ if (trigger === 'click') {
118
+ visible ? close() : open()
119
+ }
120
+ }
121
+
122
+ const handleTriggerContextMenu = (e: MouseEvent): void => {
123
+ if (disabled || trigger !== 'contextmenu') return
124
+ e.preventDefault()
125
+ e.stopPropagation()
126
+ open()
127
+ }
128
+
129
+ const handleTriggerEnter = (): void => {
130
+ if (trigger !== 'hover') return
131
+ delayOpen()
132
+ }
133
+
134
+ const handleTriggerLeave = (): void => {
135
+ if (trigger !== 'hover') return
136
+ delayClose()
137
+ }
138
+
139
+ const handlePopperEnter = (): void => {
140
+ if (trigger !== 'hover') return
141
+ clearTimers()
142
+ }
143
+
144
+ const handlePopperLeave = (): void => {
145
+ if (trigger !== 'hover') return
146
+ delayClose()
147
+ }
148
+
149
+ const handleCommand = (command: string | number | object | undefined): void => {
150
+ oncommand?.(command as string | number | object)
151
+ if (hideOnClick) close()
152
+ }
153
+
154
+ const handleClickOutside = (e: MouseEvent): void => {
155
+ if (!visible) return
156
+ const target = e.target as Node
157
+ if (triggerRef?.contains(target) || popperRef?.contains(target)) return
158
+ close()
159
+ }
160
+
161
+ const handleSplitClick = (): void => {
162
+ onclick?.()
163
+ }
164
+
165
+ // 设置上下文供子组件使用
166
+ setDropdownContext({
167
+ handleCommand,
168
+ close
169
+ })
170
+
171
+ // 计算弹出位置
172
+ const computePosition = (): void => {
173
+ if (!popperRef || !triggerRef) return
174
+
175
+ const triggerRect = triggerRef.getBoundingClientRect()
176
+ const viewportW = window.innerWidth
177
+ const viewportH = window.innerHeight
178
+ const gap = offset
179
+ const margin = 8
180
+
181
+ // 先测量 popper 尺寸(需要确保内部内容已渲染)
182
+ const popperW = popperRef.offsetWidth
183
+ const popperH = popperRef.offsetHeight
184
+
185
+ let pl = placement
186
+ let x: number
187
+ let y: number
188
+
189
+ // 计算初始位置并检测主轴翻转
190
+ const canPlaceTop = triggerRect.top - gap - popperH >= margin
191
+ const canPlaceBottom = triggerRect.bottom + gap + popperH <= viewportH - margin
192
+ const canPlaceLeft = triggerRect.left - gap - popperW >= margin
193
+ const canPlaceRight = triggerRect.right + gap + popperW <= viewportW - margin
194
+
195
+ if (pl.startsWith('bottom') && !canPlaceBottom && canPlaceTop) {
196
+ pl = pl.replace('bottom', 'top') as typeof placement
197
+ } else if (pl.startsWith('top') && !canPlaceTop && canPlaceBottom) {
198
+ pl = pl.replace('top', 'bottom') as typeof placement
199
+ } else if (pl.startsWith('left') && !canPlaceLeft && canPlaceRight) {
200
+ pl = pl.replace('left', 'right') as typeof placement
201
+ } else if (pl.startsWith('right') && !canPlaceRight && canPlaceLeft) {
202
+ pl = pl.replace('right', 'left') as typeof placement
203
+ }
204
+
205
+ // 计算主轴坐标
206
+ if (pl.startsWith('top')) {
207
+ y = triggerRect.top - gap - popperH
208
+ } else if (pl.startsWith('bottom')) {
209
+ y = triggerRect.bottom + gap
210
+ } else if (pl.startsWith('left')) {
211
+ x = triggerRect.left - gap - popperW
212
+ } else {
213
+ x = triggerRect.right + gap
214
+ }
215
+
216
+ // 计算次轴坐标
217
+ if (pl.startsWith('top') || pl.startsWith('bottom')) {
218
+ if (pl.endsWith('-start')) {
219
+ x = triggerRect.left
220
+ } else if (pl.endsWith('-end')) {
221
+ x = triggerRect.right - popperW
222
+ } else {
223
+ x = triggerRect.left + (triggerRect.width - popperW) / 2
224
+ }
225
+ // 水平边界约束
226
+ x = Math.max(margin, Math.min(x!, viewportW - popperW - margin))
227
+ } else {
228
+ if (pl.endsWith('-start')) {
229
+ y = triggerRect.top
230
+ } else if (pl.endsWith('-end')) {
231
+ y = triggerRect.bottom - popperH
232
+ } else {
233
+ y = triggerRect.top + (triggerRect.height - popperH) / 2
234
+ }
235
+ // 垂直边界约束
236
+ y = Math.max(margin, Math.min(y!, viewportH - popperH - margin))
237
+ }
238
+
239
+ computedPlacement = pl
240
+ computedStyle = { top: `${y!}px`, left: `${x!}px` }
241
+ }
242
+
243
+ $effect(() => {
244
+ if (group && typeof document !== 'undefined') {
245
+ document.addEventListener('lm-dropdown:exclusive-open', handleExclusiveOpen)
246
+ return () => document.removeEventListener('lm-dropdown:exclusive-open', handleExclusiveOpen)
247
+ }
248
+ })
249
+
250
+ $effect(() => {
251
+ if (visible) {
252
+ document.addEventListener('click', handleClickOutside)
253
+
254
+ // 使用 requestAnimationFrame 确保 DOM 已渲染
255
+ requestAnimationFrame(() => {
256
+ computePosition()
257
+ })
258
+
259
+ return () => document.removeEventListener('click', handleClickOutside)
260
+ }
261
+ })
262
+
263
+ onDestroy(() => {
264
+ clearTimers()
265
+ })
266
+
267
+ const rootClasses = $derived(`lm-dropdown${visible ? ' is-open' : ''}${cls ? ` ${cls}` : ''}`)
268
+ const popperClasses = $derived(
269
+ `lm-dropdown__popper is-${finalPlacement}${popperClass ? ` ${popperClass}` : ''}`
270
+ )
271
+ const sizeClass = $derived(size !== 'default' ? ` lm-dropdown--${size}` : '')
272
+
273
+ const buttonSizeClass = $derived(size !== 'default' ? ` lm-button--${size}` : '')
274
+ const mainButtonClass = $derived(`lm-button lm-button--${type}${buttonSizeClass}`)
275
+ const caretButtonClass = $derived(`lm-button lm-button--${type} lm-dropdown__caret-button${buttonSizeClass}`)
276
+
277
+ const caretIconSize = $derived(size === 'large' ? 14 : size === 'small' ? 12 : 13)
278
+
279
+ const maxHeightVar = $derived(
280
+ maxHeight ? (typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight) : undefined
281
+ )
282
+
283
+ const popperTop = $derived(computedStyle?.top)
284
+ const popperLeft = $derived(computedStyle?.left)
285
+ </script>
286
+
287
+ <div class={rootClasses + sizeClass}>
288
+ {#if splitButton}
289
+ <div class="lm-dropdown__split-button" bind:this={triggerRef}>
290
+ <button
291
+ class={mainButtonClass}
292
+ type="button"
293
+ disabled={disabled}
294
+ onclick={handleSplitClick}
295
+ >
296
+ {#if children}
297
+ {@render children()}
298
+ {/if}
299
+ </button>
300
+ <button
301
+ class={caretButtonClass}
302
+ type="button"
303
+ disabled={disabled}
304
+ aria-label="打开下拉菜单"
305
+ title="打开下拉菜单"
306
+ onclick={handleTriggerClick}
307
+ oncontextmenu={handleTriggerContextMenu}
308
+ onmouseenter={handleTriggerEnter}
309
+ onmouseleave={handleTriggerLeave}
310
+ >
311
+ <Icon icon={ChevronDown} size={caretIconSize} aria-hidden="true" />
312
+ </button>
313
+ </div>
314
+ {:else}
315
+ <div
316
+ class="lm-dropdown__trigger"
317
+ bind:this={triggerRef}
318
+ role="button"
319
+ tabindex={disabled ? -1 : 0}
320
+ onclick={handleTriggerClick}
321
+ oncontextmenu={handleTriggerContextMenu}
322
+ onmouseenter={handleTriggerEnter}
323
+ onmouseleave={handleTriggerLeave}
324
+ onkeydown={(e: KeyboardEvent) => {
325
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
326
+ e.preventDefault()
327
+ open()
328
+ }
329
+ }}
330
+ >
331
+ {#if prefix}
332
+ <span class="lm-dropdown__trigger-prefix">
333
+ {@render prefix()}
334
+ </span>
335
+ {:else if icon}
336
+ <span class="lm-dropdown__trigger-icon">
337
+ <Icon icon={icon} size={iconSize} />
338
+ </span>
339
+ {/if}
340
+ {#if children}
341
+ {@render children()}
342
+ {/if}
343
+ {#if showCaret}
344
+ <span class="lm-dropdown__caret" aria-hidden="true">
345
+ <Icon icon={ChevronDown} size={caretIconSize} />
346
+ </span>
347
+ {/if}
348
+ </div>
349
+ {/if}
350
+
351
+ <div
352
+ class={popperClasses}
353
+ bind:this={popperRef}
354
+ role="menu"
355
+ tabindex="-1"
356
+ style:--lm-dropdown-top={popperTop}
357
+ style:--lm-dropdown-left={popperLeft}
358
+ style:--lm-dropdown-max-height={maxHeightVar}
359
+ aria-hidden={!motionVisible}
360
+ onmouseenter={handlePopperEnter}
361
+ onmouseleave={handlePopperLeave}
362
+ >
363
+ {#if motionVisible}
364
+ <div
365
+ class="lm-dropdown__motion"
366
+ transition:scale|global={{ duration: 160, start: 0.95 }}
367
+ onintrostart={() => {
368
+ // 确保动画开始时已经定位到正确坐标
369
+ requestAnimationFrame(() => computePosition())
370
+ }}
371
+ onintroend={() => {
372
+ // 动画完成后再算一次,避免字体/图标加载导致尺寸变化
373
+ requestAnimationFrame(() => computePosition())
374
+ }}
375
+ >
376
+ {#if showArrow}
377
+ <div class="lm-dropdown__arrow"></div>
378
+ {/if}
379
+ <div class="lm-dropdown__content">
380
+ {#if dropdown}
381
+ {@render dropdown()}
382
+ {/if}
383
+ </div>
384
+ </div>
385
+ {/if}
386
+ </div>
387
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { DropdownProps } from './types';
2
+ declare const Dropdown: import("svelte").Component<DropdownProps, {}, "">;
3
+ type Dropdown = ReturnType<typeof Dropdown>;
4
+ export default Dropdown;
@@ -0,0 +1,7 @@
1
+ export declare const DROPDOWN_CONTEXT_KEY: unique symbol;
2
+ export interface DropdownContext {
3
+ handleCommand: (command: string | number | object | undefined) => void;
4
+ close: () => void;
5
+ }
6
+ export declare const setDropdownContext: (ctx: DropdownContext) => void;
7
+ export declare const getDropdownContext: () => DropdownContext | undefined;
@@ -0,0 +1,8 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ export const DROPDOWN_CONTEXT_KEY = Symbol('dropdown');
3
+ export const setDropdownContext = (ctx) => {
4
+ setContext(DROPDOWN_CONTEXT_KEY, ctx);
5
+ };
6
+ export const getDropdownContext = () => {
7
+ return getContext(DROPDOWN_CONTEXT_KEY);
8
+ };
@@ -0,0 +1,50 @@
1
+ <script lang="ts">
2
+ import type { DropdownItemProps } from './types'
3
+ import { getDropdownContext } from './DropdownContext'
4
+
5
+ let {
6
+ command,
7
+ disabled = false,
8
+ divided = false,
9
+ icon,
10
+ children,
11
+ class: cls = ''
12
+ }: DropdownItemProps = $props()
13
+
14
+ const ctx = getDropdownContext()
15
+
16
+ const handleClick = (): void => {
17
+ if (disabled) return
18
+ ctx?.handleCommand(command)
19
+ }
20
+
21
+ const handleKeyDown = (e: KeyboardEvent): void => {
22
+ if (disabled) return
23
+ if (e.key === 'Enter' || e.key === ' ') {
24
+ e.preventDefault()
25
+ ctx?.handleCommand(command)
26
+ }
27
+ }
28
+
29
+ const classes = $derived(
30
+ `lm-dropdown-item${disabled ? ' is-disabled' : ''}${divided ? ' is-divided' : ''}${cls ? ` ${cls}` : ''}`
31
+ )
32
+ </script>
33
+
34
+ <li
35
+ class={classes}
36
+ role="menuitem"
37
+ tabindex={disabled ? -1 : 0}
38
+ aria-disabled={disabled}
39
+ onclick={handleClick}
40
+ onkeydown={handleKeyDown}
41
+ >
42
+ {#if icon}
43
+ <span class="lm-dropdown-item__icon">
44
+ {@render icon()}
45
+ </span>
46
+ {/if}
47
+ {#if children}
48
+ {@render children()}
49
+ {/if}
50
+ </li>
@@ -0,0 +1,4 @@
1
+ import type { DropdownItemProps } from './types';
2
+ declare const DropdownItem: import("svelte").Component<DropdownItemProps, {}, "">;
3
+ type DropdownItem = ReturnType<typeof DropdownItem>;
4
+ export default DropdownItem;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { DropdownMenuProps } from './types'
3
+
4
+ let {
5
+ children,
6
+ class: cls = ''
7
+ }: DropdownMenuProps = $props()
8
+
9
+ const classes = $derived(`lm-dropdown-menu${cls ? ` ${cls}` : ''}`)
10
+ </script>
11
+
12
+ <ul class={classes} role="menu">
13
+ {#if children}
14
+ {@render children()}
15
+ {/if}
16
+ </ul>
@@ -0,0 +1,4 @@
1
+ import type { DropdownMenuProps } from './types';
2
+ declare const DropdownMenu: import("svelte").Component<DropdownMenuProps, {}, "">;
3
+ type DropdownMenu = ReturnType<typeof DropdownMenu>;
4
+ export default DropdownMenu;
@@ -0,0 +1,5 @@
1
+ export { default as Dropdown } from './Dropdown.svelte';
2
+ export { default as DropdownMenu } from './DropdownMenu.svelte';
3
+ export { default as DropdownItem } from './DropdownItem.svelte';
4
+ export * from './types';
5
+ export * from './DropdownContext';
@@ -0,0 +1,5 @@
1
+ export { default as Dropdown } from './Dropdown.svelte';
2
+ export { default as DropdownMenu } from './DropdownMenu.svelte';
3
+ export { default as DropdownItem } from './DropdownItem.svelte';
4
+ export * from './types';
5
+ export * from './DropdownContext';
@@ -0,0 +1,81 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { IconNode } from 'lucide';
3
+ /** Dropdown 触发方式 */
4
+ export type DropdownTrigger = 'hover' | 'click' | 'contextmenu';
5
+ /** Dropdown 位置 */
6
+ export type DropdownPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
7
+ /** Dropdown 尺寸 */
8
+ export type DropdownSize = 'large' | 'default' | 'small';
9
+ /** Dropdown 属性 */
10
+ export interface DropdownProps {
11
+ /** 触发器左侧图标(lucide IconNode) */
12
+ icon?: IconNode;
13
+ /** 图标尺寸,默认 16 */
14
+ iconSize?: number;
15
+ /** 触发器左侧自定义内容(如 Avatar),优先级高于 icon */
16
+ prefix?: Snippet;
17
+ /** 触发方式 */
18
+ trigger?: DropdownTrigger;
19
+ /** 弹出位置 */
20
+ placement?: DropdownPlacement;
21
+ /** 是否禁用 */
22
+ disabled?: boolean;
23
+ /** 点击菜单项后是否隐藏菜单 */
24
+ hideOnClick?: boolean;
25
+ /** 弹出延迟(hover 时生效,毫秒) */
26
+ showTimeout?: number;
27
+ /** 隐藏延迟(hover 时生效,毫秒) */
28
+ hideTimeout?: number;
29
+ /** 下拉菜单最大高度 */
30
+ maxHeight?: number | string;
31
+ /** 是否显示箭头 */
32
+ showArrow?: boolean;
33
+ /** 弹层与触发器间隔(px) */
34
+ offset?: number;
35
+ /** 触发器右侧是否显示下拉箭头(默认 false,推荐在 Button 内自渲染箭头) */
36
+ showCaret?: boolean;
37
+ /** 同组互斥:同一 group 的 Dropdown 打开时会关闭其它同组 */
38
+ group?: string;
39
+ /** 是否为分割按钮模式 */
40
+ splitButton?: boolean;
41
+ /** 按钮类型(split-button 模式) */
42
+ type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default';
43
+ /** 尺寸 */
44
+ size?: DropdownSize;
45
+ /** 弹出框自定义类名 */
46
+ popperClass?: string;
47
+ /** 触发元素 */
48
+ children?: Snippet;
49
+ /** 下拉菜单内容 */
50
+ dropdown?: Snippet;
51
+ /** 自定义类名 */
52
+ class?: string;
53
+ /** 点击分割按钮左侧时触发 */
54
+ onclick?: () => void;
55
+ /** 点击菜单项时触发,参数为 command */
56
+ oncommand?: (command: string | number | object) => void;
57
+ /** 下拉菜单显示/隐藏时触发 */
58
+ onvisibleChange?: (visible: boolean) => void;
59
+ }
60
+ /** DropdownMenu 属性 */
61
+ export interface DropdownMenuProps {
62
+ /** 子内容 */
63
+ children?: Snippet;
64
+ /** 自定义类名 */
65
+ class?: string;
66
+ }
67
+ /** DropdownItem 属性 */
68
+ export interface DropdownItemProps {
69
+ /** 指令,点击后会作为参数传给 oncommand 回调 */
70
+ command?: string | number | object;
71
+ /** 是否禁用 */
72
+ disabled?: boolean;
73
+ /** 是否显示分割线 */
74
+ divided?: boolean;
75
+ /** 图标 */
76
+ icon?: Snippet;
77
+ /** 子内容 */
78
+ children?: Snippet;
79
+ /** 自定义类名 */
80
+ class?: string;
81
+ }
@@ -0,0 +1 @@
1
+ export {};