luna-plus 0.0.5

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 (459) hide show
  1. package/README.md +242 -0
  2. package/dist/Affix/Affix.svelte +97 -0
  3. package/dist/Affix/Affix.svelte.d.ts +14 -0
  4. package/dist/Affix/index.d.ts +4 -0
  5. package/dist/Affix/index.js +3 -0
  6. package/dist/Affix/types.d.ts +11 -0
  7. package/dist/Affix/types.js +1 -0
  8. package/dist/Alert/Alert.svelte +97 -0
  9. package/dist/Alert/Alert.svelte.d.ts +16 -0
  10. package/dist/Alert/index.d.ts +4 -0
  11. package/dist/Alert/index.js +3 -0
  12. package/dist/Alert/types.d.ts +23 -0
  13. package/dist/Alert/types.js +1 -0
  14. package/dist/Autocomplete/Autocomplete.svelte +163 -0
  15. package/dist/Autocomplete/Autocomplete.svelte.d.ts +20 -0
  16. package/dist/Autocomplete/index.d.ts +3 -0
  17. package/dist/Autocomplete/index.js +3 -0
  18. package/dist/Avatar/Avatar.svelte +97 -0
  19. package/dist/Avatar/Avatar.svelte.d.ts +14 -0
  20. package/dist/Avatar/index.d.ts +4 -0
  21. package/dist/Avatar/index.js +3 -0
  22. package/dist/Avatar/types.d.ts +26 -0
  23. package/dist/Avatar/types.js +1 -0
  24. package/dist/Backtop/Backtop.svelte +60 -0
  25. package/dist/Backtop/Backtop.svelte.d.ts +13 -0
  26. package/dist/Backtop/index.d.ts +4 -0
  27. package/dist/Backtop/index.js +3 -0
  28. package/dist/Backtop/types.d.ts +18 -0
  29. package/dist/Backtop/types.js +1 -0
  30. package/dist/Badge/Badge.svelte +68 -0
  31. package/dist/Badge/Badge.svelte.d.ts +13 -0
  32. package/dist/Badge/index.d.ts +4 -0
  33. package/dist/Badge/index.js +3 -0
  34. package/dist/Badge/types.d.ts +20 -0
  35. package/dist/Badge/types.js +1 -0
  36. package/dist/Breadcrumb/Breadcrumb.svelte +66 -0
  37. package/dist/Breadcrumb/Breadcrumb.svelte.d.ts +6 -0
  38. package/dist/Breadcrumb/BreadcrumbContext.d.ts +4 -0
  39. package/dist/Breadcrumb/BreadcrumbContext.js +1 -0
  40. package/dist/Breadcrumb/BreadcrumbItem.svelte +56 -0
  41. package/dist/Breadcrumb/BreadcrumbItem.svelte.d.ts +12 -0
  42. package/dist/Breadcrumb/index.d.ts +4 -0
  43. package/dist/Breadcrumb/index.js +3 -0
  44. package/dist/Breadcrumb/types.d.ts +10 -0
  45. package/dist/Breadcrumb/types.js +1 -0
  46. package/dist/Button/Button.svelte +61 -0
  47. package/dist/Button/Button.svelte.d.ts +4 -0
  48. package/dist/Button/index.d.ts +4 -0
  49. package/dist/Button/index.js +3 -0
  50. package/dist/Button/types.d.ts +42 -0
  51. package/dist/Button/types.js +1 -0
  52. package/dist/Calendar/Calendar.svelte +115 -0
  53. package/dist/Calendar/Calendar.svelte.d.ts +7 -0
  54. package/dist/Calendar/index.d.ts +3 -0
  55. package/dist/Calendar/index.js +3 -0
  56. package/dist/Card/Card.svelte +59 -0
  57. package/dist/Card/Card.svelte.d.ts +4 -0
  58. package/dist/Card/index.d.ts +4 -0
  59. package/dist/Card/index.js +4 -0
  60. package/dist/Card/types.d.ts +26 -0
  61. package/dist/Card/types.js +1 -0
  62. package/dist/Carousel/Carousel.svelte +206 -0
  63. package/dist/Carousel/Carousel.svelte.d.ts +19 -0
  64. package/dist/Carousel/CarouselContext.d.ts +6 -0
  65. package/dist/Carousel/CarouselContext.js +1 -0
  66. package/dist/Carousel/CarouselItem.svelte +42 -0
  67. package/dist/Carousel/CarouselItem.svelte.d.ts +11 -0
  68. package/dist/Carousel/index.d.ts +5 -0
  69. package/dist/Carousel/index.js +4 -0
  70. package/dist/Carousel/types.d.ts +43 -0
  71. package/dist/Carousel/types.js +1 -0
  72. package/dist/Cascader/Cascader.svelte +219 -0
  73. package/dist/Cascader/Cascader.svelte.d.ts +4 -0
  74. package/dist/Cascader/index.d.ts +4 -0
  75. package/dist/Cascader/index.js +3 -0
  76. package/dist/Cascader/types.d.ts +19 -0
  77. package/dist/Cascader/types.js +1 -0
  78. package/dist/Checkbox/Checkbox.svelte +55 -0
  79. package/dist/Checkbox/Checkbox.svelte.d.ts +15 -0
  80. package/dist/Checkbox/CheckboxGroup.svelte +43 -0
  81. package/dist/Checkbox/CheckboxGroup.svelte.d.ts +12 -0
  82. package/dist/Checkbox/index.d.ts +4 -0
  83. package/dist/Checkbox/index.js +3 -0
  84. package/dist/Checkbox/types.d.ts +24 -0
  85. package/dist/Checkbox/types.js +1 -0
  86. package/dist/Collapse/Collapse.svelte +62 -0
  87. package/dist/Collapse/Collapse.svelte.d.ts +11 -0
  88. package/dist/Collapse/CollapseContext.d.ts +6 -0
  89. package/dist/Collapse/CollapseContext.js +1 -0
  90. package/dist/Collapse/CollapseItem.svelte +175 -0
  91. package/dist/Collapse/CollapseItem.svelte.d.ts +11 -0
  92. package/dist/Collapse/index.d.ts +5 -0
  93. package/dist/Collapse/index.js +4 -0
  94. package/dist/Collapse/types.d.ts +27 -0
  95. package/dist/Collapse/types.js +1 -0
  96. package/dist/ColorPicker/ColorPicker.svelte +157 -0
  97. package/dist/ColorPicker/ColorPicker.svelte.d.ts +12 -0
  98. package/dist/ColorPicker/index.d.ts +4 -0
  99. package/dist/ColorPicker/index.js +3 -0
  100. package/dist/ColorPicker/types.d.ts +17 -0
  101. package/dist/ColorPicker/types.js +1 -0
  102. package/dist/Container/Aside.svelte +20 -0
  103. package/dist/Container/Aside.svelte.d.ts +9 -0
  104. package/dist/Container/Container.svelte +19 -0
  105. package/dist/Container/Container.svelte.d.ts +9 -0
  106. package/dist/Container/Footer.svelte +20 -0
  107. package/dist/Container/Footer.svelte.d.ts +9 -0
  108. package/dist/Container/Header.svelte +20 -0
  109. package/dist/Container/Header.svelte.d.ts +9 -0
  110. package/dist/Container/Main.svelte +18 -0
  111. package/dist/Container/Main.svelte.d.ts +8 -0
  112. package/dist/Container/index.d.ts +14 -0
  113. package/dist/Container/index.js +13 -0
  114. package/dist/Container/types.d.ts +46 -0
  115. package/dist/Container/types.js +1 -0
  116. package/dist/DatePicker/DatePicker.svelte +278 -0
  117. package/dist/DatePicker/DatePicker.svelte.d.ts +17 -0
  118. package/dist/DatePicker/index.d.ts +4 -0
  119. package/dist/DatePicker/index.js +3 -0
  120. package/dist/DatePicker/types.d.ts +29 -0
  121. package/dist/DatePicker/types.js +1 -0
  122. package/dist/DateTimePicker/DateTimePicker.svelte +500 -0
  123. package/dist/DateTimePicker/DateTimePicker.svelte.d.ts +4 -0
  124. package/dist/DateTimePicker/index.d.ts +4 -0
  125. package/dist/DateTimePicker/index.js +3 -0
  126. package/dist/DateTimePicker/types.d.ts +21 -0
  127. package/dist/DateTimePicker/types.js +1 -0
  128. package/dist/Descriptions/Descriptions.svelte +69 -0
  129. package/dist/Descriptions/Descriptions.svelte.d.ts +15 -0
  130. package/dist/Descriptions/DescriptionsContext.d.ts +8 -0
  131. package/dist/Descriptions/DescriptionsContext.js +1 -0
  132. package/dist/Descriptions/DescriptionsItem.svelte +59 -0
  133. package/dist/Descriptions/DescriptionsItem.svelte.d.ts +13 -0
  134. package/dist/Descriptions/index.d.ts +5 -0
  135. package/dist/Descriptions/index.js +4 -0
  136. package/dist/Descriptions/types.d.ts +41 -0
  137. package/dist/Descriptions/types.js +1 -0
  138. package/dist/Dialog/Dialog.svelte +151 -0
  139. package/dist/Dialog/Dialog.svelte.d.ts +20 -0
  140. package/dist/Dialog/index.d.ts +4 -0
  141. package/dist/Dialog/index.js +3 -0
  142. package/dist/Dialog/types.d.ts +32 -0
  143. package/dist/Dialog/types.js +1 -0
  144. package/dist/Divider/Divider.svelte +47 -0
  145. package/dist/Divider/Divider.svelte.d.ts +11 -0
  146. package/dist/Divider/index.d.ts +4 -0
  147. package/dist/Divider/index.js +3 -0
  148. package/dist/Divider/types.d.ts +20 -0
  149. package/dist/Divider/types.js +1 -0
  150. package/dist/Drawer/Drawer.svelte +141 -0
  151. package/dist/Drawer/Drawer.svelte.d.ts +26 -0
  152. package/dist/Drawer/index.d.ts +4 -0
  153. package/dist/Drawer/index.js +3 -0
  154. package/dist/Drawer/types.d.ts +40 -0
  155. package/dist/Drawer/types.js +1 -0
  156. package/dist/Dropdown/Dropdown.svelte +222 -0
  157. package/dist/Dropdown/Dropdown.svelte.d.ts +4 -0
  158. package/dist/Dropdown/DropdownContext.d.ts +7 -0
  159. package/dist/Dropdown/DropdownContext.js +8 -0
  160. package/dist/Dropdown/DropdownItem.svelte +51 -0
  161. package/dist/Dropdown/DropdownItem.svelte.d.ts +4 -0
  162. package/dist/Dropdown/DropdownMenu.svelte +13 -0
  163. package/dist/Dropdown/DropdownMenu.svelte.d.ts +4 -0
  164. package/dist/Dropdown/index.d.ts +5 -0
  165. package/dist/Dropdown/index.js +5 -0
  166. package/dist/Dropdown/types.d.ts +68 -0
  167. package/dist/Dropdown/types.js +1 -0
  168. package/dist/Empty/Empty.svelte +40 -0
  169. package/dist/Empty/Empty.svelte.d.ts +11 -0
  170. package/dist/Empty/index.d.ts +4 -0
  171. package/dist/Empty/index.js +3 -0
  172. package/dist/Empty/types.d.ts +14 -0
  173. package/dist/Empty/types.js +1 -0
  174. package/dist/Form/Form.svelte +88 -0
  175. package/dist/Form/Form.svelte.d.ts +15 -0
  176. package/dist/Form/FormContext.d.ts +19 -0
  177. package/dist/Form/FormContext.js +1 -0
  178. package/dist/Form/FormInternals.d.ts +40 -0
  179. package/dist/Form/FormInternals.js +152 -0
  180. package/dist/Form/FormItem.svelte +191 -0
  181. package/dist/Form/FormItem.svelte.d.ts +8 -0
  182. package/dist/Form/index.d.ts +3 -0
  183. package/dist/Form/index.js +2 -0
  184. package/dist/Form/types.d.ts +61 -0
  185. package/dist/Form/types.js +1 -0
  186. package/dist/Icon/Icon.svelte +59 -0
  187. package/dist/Icon/Icon.svelte.d.ts +11 -0
  188. package/dist/Icon/index.d.ts +5 -0
  189. package/dist/Icon/index.js +15 -0
  190. package/dist/Icon/types.d.ts +14 -0
  191. package/dist/Icon/types.js +1 -0
  192. package/dist/Image/Image.svelte +134 -0
  193. package/dist/Image/Image.svelte.d.ts +20 -0
  194. package/dist/Image/index.d.ts +4 -0
  195. package/dist/Image/index.js +3 -0
  196. package/dist/Image/types.d.ts +32 -0
  197. package/dist/Image/types.js +1 -0
  198. package/dist/Input/Input.svelte +177 -0
  199. package/dist/Input/Input.svelte.d.ts +4 -0
  200. package/dist/Input/index.d.ts +4 -0
  201. package/dist/Input/index.js +3 -0
  202. package/dist/Input/types.d.ts +72 -0
  203. package/dist/Input/types.js +1 -0
  204. package/dist/InputNumber/InputNumber.svelte +110 -0
  205. package/dist/InputNumber/InputNumber.svelte.d.ts +18 -0
  206. package/dist/InputNumber/index.d.ts +4 -0
  207. package/dist/InputNumber/index.js +3 -0
  208. package/dist/InputNumber/types.d.ts +29 -0
  209. package/dist/InputNumber/types.js +1 -0
  210. package/dist/InputTag/InputTag.svelte +160 -0
  211. package/dist/InputTag/InputTag.svelte.d.ts +4 -0
  212. package/dist/InputTag/index.d.ts +4 -0
  213. package/dist/InputTag/index.js +3 -0
  214. package/dist/InputTag/types.d.ts +21 -0
  215. package/dist/InputTag/types.js +1 -0
  216. package/dist/Link/Link.svelte +38 -0
  217. package/dist/Link/Link.svelte.d.ts +15 -0
  218. package/dist/Link/index.d.ts +4 -0
  219. package/dist/Link/index.js +3 -0
  220. package/dist/Link/types.d.ts +26 -0
  221. package/dist/Link/types.js +1 -0
  222. package/dist/Loading/Loading.svelte +56 -0
  223. package/dist/Loading/Loading.svelte.d.ts +14 -0
  224. package/dist/Loading/index.d.ts +4 -0
  225. package/dist/Loading/index.js +3 -0
  226. package/dist/Loading/types.d.ts +20 -0
  227. package/dist/Loading/types.js +1 -0
  228. package/dist/Menu/Menu.svelte +301 -0
  229. package/dist/Menu/Menu.svelte.d.ts +4 -0
  230. package/dist/Menu/types.d.ts +35 -0
  231. package/dist/Menu/types.js +1 -0
  232. package/dist/Message/Message.svelte +60 -0
  233. package/dist/Message/Message.svelte.d.ts +13 -0
  234. package/dist/Message/MessageQueue.svelte +65 -0
  235. package/dist/Message/MessageQueue.svelte.d.ts +10 -0
  236. package/dist/Message/index.d.ts +4 -0
  237. package/dist/Message/index.js +3 -0
  238. package/dist/Message/message.d.ts +19 -0
  239. package/dist/Message/message.js +95 -0
  240. package/dist/Message/types.d.ts +28 -0
  241. package/dist/Message/types.js +1 -0
  242. package/dist/MessageBox/MessageBox.svelte +133 -0
  243. package/dist/MessageBox/MessageBox.svelte.d.ts +7 -0
  244. package/dist/MessageBox/index.d.ts +4 -0
  245. package/dist/MessageBox/index.js +3 -0
  246. package/dist/MessageBox/messageBox.d.ts +13 -0
  247. package/dist/MessageBox/messageBox.js +32 -0
  248. package/dist/MessageBox/types.d.ts +23 -0
  249. package/dist/MessageBox/types.js +1 -0
  250. package/dist/Notification/Notification.svelte +142 -0
  251. package/dist/Notification/Notification.svelte.d.ts +7 -0
  252. package/dist/Notification/index.d.ts +4 -0
  253. package/dist/Notification/index.js +3 -0
  254. package/dist/Notification/notification.d.ts +11 -0
  255. package/dist/Notification/notification.js +19 -0
  256. package/dist/Notification/types.d.ts +26 -0
  257. package/dist/Notification/types.js +1 -0
  258. package/dist/Pagination/Pagination.svelte +413 -0
  259. package/dist/Pagination/Pagination.svelte.d.ts +21 -0
  260. package/dist/Pagination/index.d.ts +4 -0
  261. package/dist/Pagination/index.js +3 -0
  262. package/dist/Pagination/types.d.ts +32 -0
  263. package/dist/Pagination/types.js +1 -0
  264. package/dist/PinInput/PinInput.svelte +175 -0
  265. package/dist/PinInput/PinInput.svelte.d.ts +4 -0
  266. package/dist/PinInput/index.d.ts +4 -0
  267. package/dist/PinInput/index.js +3 -0
  268. package/dist/PinInput/types.d.ts +31 -0
  269. package/dist/PinInput/types.js +1 -0
  270. package/dist/Popconfirm/Popconfirm.svelte +293 -0
  271. package/dist/Popconfirm/Popconfirm.svelte.d.ts +4 -0
  272. package/dist/Popconfirm/index.d.ts +2 -0
  273. package/dist/Popconfirm/index.js +1 -0
  274. package/dist/Popconfirm/types.d.ts +53 -0
  275. package/dist/Popconfirm/types.js +1 -0
  276. package/dist/Popover/Popover.svelte +245 -0
  277. package/dist/Popover/Popover.svelte.d.ts +7 -0
  278. package/dist/Popover/index.d.ts +4 -0
  279. package/dist/Popover/index.js +3 -0
  280. package/dist/Popover/types.d.ts +24 -0
  281. package/dist/Popover/types.js +1 -0
  282. package/dist/Progress/Progress.svelte +33 -0
  283. package/dist/Progress/Progress.svelte.d.ts +11 -0
  284. package/dist/Progress/index.d.ts +4 -0
  285. package/dist/Progress/index.js +3 -0
  286. package/dist/Progress/types.d.ts +17 -0
  287. package/dist/Progress/types.js +1 -0
  288. package/dist/Radio/Radio.svelte +66 -0
  289. package/dist/Radio/Radio.svelte.d.ts +15 -0
  290. package/dist/Radio/RadioGroup.svelte +40 -0
  291. package/dist/Radio/RadioGroup.svelte.d.ts +13 -0
  292. package/dist/Radio/index.d.ts +4 -0
  293. package/dist/Radio/index.js +3 -0
  294. package/dist/Radio/types.d.ts +24 -0
  295. package/dist/Radio/types.js +1 -0
  296. package/dist/Rating/Rating.svelte +226 -0
  297. package/dist/Rating/Rating.svelte.d.ts +27 -0
  298. package/dist/Rating/index.d.ts +4 -0
  299. package/dist/Rating/index.js +3 -0
  300. package/dist/Rating/types.d.ts +43 -0
  301. package/dist/Rating/types.js +1 -0
  302. package/dist/Result/Result.svelte +58 -0
  303. package/dist/Result/Result.svelte.d.ts +14 -0
  304. package/dist/Result/index.d.ts +4 -0
  305. package/dist/Result/index.js +3 -0
  306. package/dist/Result/types.d.ts +20 -0
  307. package/dist/Result/types.js +1 -0
  308. package/dist/Segmented/Segmented.svelte +49 -0
  309. package/dist/Segmented/Segmented.svelte.d.ts +12 -0
  310. package/dist/Segmented/index.d.ts +4 -0
  311. package/dist/Segmented/index.js +3 -0
  312. package/dist/Segmented/types.d.ts +29 -0
  313. package/dist/Segmented/types.js +1 -0
  314. package/dist/Select/Option.svelte +30 -0
  315. package/dist/Select/Option.svelte.d.ts +9 -0
  316. package/dist/Select/OptionGroup.svelte +33 -0
  317. package/dist/Select/OptionGroup.svelte.d.ts +10 -0
  318. package/dist/Select/Select.svelte +245 -0
  319. package/dist/Select/Select.svelte.d.ts +4 -0
  320. package/dist/Select/index.d.ts +4 -0
  321. package/dist/Select/index.js +3 -0
  322. package/dist/Select/types.d.ts +41 -0
  323. package/dist/Select/types.js +1 -0
  324. package/dist/Skeleton/Skeleton.svelte +44 -0
  325. package/dist/Skeleton/Skeleton.svelte.d.ts +13 -0
  326. package/dist/Skeleton/SkeletonItem.svelte +14 -0
  327. package/dist/Skeleton/SkeletonItem.svelte.d.ts +8 -0
  328. package/dist/Skeleton/index.d.ts +5 -0
  329. package/dist/Skeleton/index.js +4 -0
  330. package/dist/Skeleton/types.d.ts +27 -0
  331. package/dist/Skeleton/types.js +1 -0
  332. package/dist/Slider/Slider.svelte +342 -0
  333. package/dist/Slider/Slider.svelte.d.ts +18 -0
  334. package/dist/Slider/index.d.ts +4 -0
  335. package/dist/Slider/index.js +3 -0
  336. package/dist/Slider/types.d.ts +28 -0
  337. package/dist/Slider/types.js +1 -0
  338. package/dist/Space/Space.svelte +89 -0
  339. package/dist/Space/Space.svelte.d.ts +17 -0
  340. package/dist/Space/index.d.ts +4 -0
  341. package/dist/Space/index.js +3 -0
  342. package/dist/Space/types.d.ts +32 -0
  343. package/dist/Space/types.js +1 -0
  344. package/dist/Statistic/Countdown.svelte +108 -0
  345. package/dist/Statistic/Countdown.svelte.d.ts +14 -0
  346. package/dist/Statistic/Statistic.svelte +63 -0
  347. package/dist/Statistic/Statistic.svelte.d.ts +15 -0
  348. package/dist/Statistic/index.d.ts +5 -0
  349. package/dist/Statistic/index.js +4 -0
  350. package/dist/Statistic/types.d.ts +41 -0
  351. package/dist/Statistic/types.js +1 -0
  352. package/dist/Steps/Step.svelte +58 -0
  353. package/dist/Steps/Step.svelte.d.ts +14 -0
  354. package/dist/Steps/Steps.svelte +60 -0
  355. package/dist/Steps/Steps.svelte.d.ts +15 -0
  356. package/dist/Steps/StepsContext.d.ts +12 -0
  357. package/dist/Steps/StepsContext.js +1 -0
  358. package/dist/Steps/index.d.ts +5 -0
  359. package/dist/Steps/index.js +4 -0
  360. package/dist/Steps/types.d.ts +41 -0
  361. package/dist/Steps/types.js +1 -0
  362. package/dist/Switch/Switch.svelte +122 -0
  363. package/dist/Switch/Switch.svelte.d.ts +22 -0
  364. package/dist/Switch/index.d.ts +4 -0
  365. package/dist/Switch/index.js +3 -0
  366. package/dist/Switch/types.d.ts +37 -0
  367. package/dist/Switch/types.js +1 -0
  368. package/dist/Table/Table.svelte +700 -0
  369. package/dist/Table/Table.svelte.d.ts +11 -0
  370. package/dist/Table/index.d.ts +4 -0
  371. package/dist/Table/index.js +3 -0
  372. package/dist/Table/types.d.ts +180 -0
  373. package/dist/Table/types.js +1 -0
  374. package/dist/Tabs/TabPane.svelte +37 -0
  375. package/dist/Tabs/TabPane.svelte.d.ts +13 -0
  376. package/dist/Tabs/Tabs.svelte +251 -0
  377. package/dist/Tabs/Tabs.svelte.d.ts +13 -0
  378. package/dist/Tabs/TabsContext.d.ts +11 -0
  379. package/dist/Tabs/TabsContext.js +1 -0
  380. package/dist/Tabs/index.d.ts +3 -0
  381. package/dist/Tabs/index.js +2 -0
  382. package/dist/Tabs/types.d.ts +39 -0
  383. package/dist/Tabs/types.js +1 -0
  384. package/dist/Tag/Tag.svelte +39 -0
  385. package/dist/Tag/Tag.svelte.d.ts +13 -0
  386. package/dist/Tag/index.d.ts +4 -0
  387. package/dist/Tag/index.js +3 -0
  388. package/dist/Tag/types.d.ts +22 -0
  389. package/dist/Tag/types.js +1 -0
  390. package/dist/Textarea/Textarea.svelte +76 -0
  391. package/dist/Textarea/Textarea.svelte.d.ts +16 -0
  392. package/dist/Textarea/index.d.ts +4 -0
  393. package/dist/Textarea/index.js +3 -0
  394. package/dist/Textarea/types.d.ts +25 -0
  395. package/dist/Textarea/types.js +1 -0
  396. package/dist/TimePicker/TimePicker.svelte +364 -0
  397. package/dist/TimePicker/TimePicker.svelte.d.ts +14 -0
  398. package/dist/TimePicker/index.d.ts +3 -0
  399. package/dist/TimePicker/index.js +3 -0
  400. package/dist/TimePicker/types.d.ts +21 -0
  401. package/dist/TimePicker/types.js +1 -0
  402. package/dist/Timeline/Timeline.svelte +18 -0
  403. package/dist/Timeline/Timeline.svelte.d.ts +8 -0
  404. package/dist/Timeline/TimelineItem.svelte +67 -0
  405. package/dist/Timeline/TimelineItem.svelte.d.ts +18 -0
  406. package/dist/Timeline/index.d.ts +5 -0
  407. package/dist/Timeline/index.js +4 -0
  408. package/dist/Timeline/types.d.ts +39 -0
  409. package/dist/Timeline/types.js +1 -0
  410. package/dist/Tooltip/OverflowTooltip.svelte +81 -0
  411. package/dist/Tooltip/OverflowTooltip.svelte.d.ts +4 -0
  412. package/dist/Tooltip/Tooltip.svelte +77 -0
  413. package/dist/Tooltip/Tooltip.svelte.d.ts +16 -0
  414. package/dist/Tooltip/index.d.ts +6 -0
  415. package/dist/Tooltip/index.js +5 -0
  416. package/dist/Tooltip/types.d.ts +51 -0
  417. package/dist/Tooltip/types.js +1 -0
  418. package/dist/Transfer/Transfer.svelte +145 -0
  419. package/dist/Transfer/Transfer.svelte.d.ts +14 -0
  420. package/dist/Transfer/index.d.ts +4 -0
  421. package/dist/Transfer/index.js +3 -0
  422. package/dist/Transfer/types.d.ts +16 -0
  423. package/dist/Transfer/types.js +1 -0
  424. package/dist/Tree/Tree.svelte +148 -0
  425. package/dist/Tree/Tree.svelte.d.ts +17 -0
  426. package/dist/Tree/TreeNode.svelte +133 -0
  427. package/dist/Tree/TreeNode.svelte.d.ts +19 -0
  428. package/dist/Tree/index.d.ts +4 -0
  429. package/dist/Tree/index.js +3 -0
  430. package/dist/Tree/types.d.ts +65 -0
  431. package/dist/Tree/types.js +1 -0
  432. package/dist/TreeSelect/TreeSelect.svelte +716 -0
  433. package/dist/TreeSelect/TreeSelect.svelte.d.ts +4 -0
  434. package/dist/TreeSelect/index.d.ts +4 -0
  435. package/dist/TreeSelect/index.js +3 -0
  436. package/dist/TreeSelect/types.d.ts +98 -0
  437. package/dist/TreeSelect/types.js +1 -0
  438. package/dist/Upload/Upload.svelte +396 -0
  439. package/dist/Upload/Upload.svelte.d.ts +28 -0
  440. package/dist/Upload/index.d.ts +4 -0
  441. package/dist/Upload/index.js +3 -0
  442. package/dist/Upload/types.d.ts +67 -0
  443. package/dist/Upload/types.js +1 -0
  444. package/dist/Watermark/Watermark.svelte +174 -0
  445. package/dist/Watermark/Watermark.svelte.d.ts +20 -0
  446. package/dist/Watermark/index.d.ts +4 -0
  447. package/dist/Watermark/index.js +3 -0
  448. package/dist/Watermark/types.d.ts +32 -0
  449. package/dist/Watermark/types.js +1 -0
  450. package/dist/index.d.ts +140 -0
  451. package/dist/index.js +85 -0
  452. package/dist/utils/floating.d.ts +28 -0
  453. package/dist/utils/floating.js +140 -0
  454. package/dist/utils/index.d.ts +3 -0
  455. package/dist/utils/index.js +34 -0
  456. package/dist/utils/portal.d.ts +9 -0
  457. package/dist/utils/portal.js +33 -0
  458. package/package.json +115 -0
  459. package/styles/index.css +1 -0
@@ -0,0 +1,20 @@
1
+ interface SuggestionItem {
2
+ value: string;
3
+ [key: string]: any;
4
+ }
5
+ interface Props {
6
+ modelValue?: string;
7
+ placeholder?: string;
8
+ disabled?: boolean;
9
+ clearable?: boolean;
10
+ loading?: boolean;
11
+ debounce?: number;
12
+ valueKey?: string;
13
+ fetchSuggestions?: (query: string) => Promise<SuggestionItem[]> | SuggestionItem[];
14
+ size?: 'small' | 'default' | 'large';
15
+ showMenuArrow?: boolean;
16
+ class?: string;
17
+ }
18
+ declare const Autocomplete: import("svelte").Component<Props, {}, "modelValue" | "loading">;
19
+ type Autocomplete = ReturnType<typeof Autocomplete>;
20
+ export default Autocomplete;
@@ -0,0 +1,3 @@
1
+ import Autocomplete from './Autocomplete.svelte';
2
+ export default Autocomplete;
3
+ export { Autocomplete };
@@ -0,0 +1,3 @@
1
+ import Autocomplete from './Autocomplete.svelte';
2
+ export default Autocomplete;
3
+ export { Autocomplete };
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ interface AvatarProps {
5
+ src?: string;
6
+ alt?: string;
7
+ size?:
8
+ | "small"
9
+ | "medium"
10
+ | "large"
11
+ | "default"
12
+ | "s"
13
+ | "m"
14
+ | "l"
15
+ | "S"
16
+ | "M"
17
+ | "L"
18
+ | number;
19
+ shape?: "circle" | "square";
20
+ fit?: "fill" | "contain" | "cover" | "none" | "scale-down";
21
+ children?: Snippet;
22
+ onerror?: (e: Event) => void;
23
+ class?: string;
24
+ }
25
+
26
+ let {
27
+ src,
28
+ alt = "",
29
+ size = "medium",
30
+ shape = "circle",
31
+ fit = "cover",
32
+ children,
33
+ onerror,
34
+ class: cls = "",
35
+ ...attrs
36
+ }: AvatarProps = $props();
37
+
38
+ let hasError = $state(false);
39
+
40
+ const normalizePresetSize = (v: string): string => {
41
+ const key = v.toLowerCase();
42
+ if (key === "default") return "medium";
43
+ if (key === "s") return "small";
44
+ if (key === "m") return "medium";
45
+ if (key === "l") return "large";
46
+ return v;
47
+ };
48
+
49
+ const normalizedSize = $derived.by(() => {
50
+ if (typeof size !== "string") return size;
51
+ return normalizePresetSize(size);
52
+ });
53
+
54
+ const sizeClass = $derived(
55
+ typeof normalizedSize === "number"
56
+ ? "lm-avatar--custom"
57
+ : `lm-avatar--${normalizedSize}`,
58
+ );
59
+ const classes = $derived(
60
+ `lm-avatar ${sizeClass} lm-avatar--${shape}${cls ? ` ${cls}` : ""}`,
61
+ );
62
+
63
+ const styleAttr = $derived.by(() => {
64
+ if (typeof normalizedSize !== "number") return undefined;
65
+ const px = `${normalizedSize}px`;
66
+ return `width:${px};height:${px};font-size:${Math.max(12, Math.round(normalizedSize / 2.8))}px;`;
67
+ });
68
+
69
+ const handleError = (e: Event): void => {
70
+ hasError = true;
71
+ onerror?.(e);
72
+ };
73
+
74
+ $effect(() => {
75
+ if (hasError && src) hasError = false;
76
+ });
77
+ </script>
78
+
79
+ <span {...attrs} class={classes} style={styleAttr} aria-label={alt} role="img">
80
+ {#if src && !hasError}
81
+ <img
82
+ class="lm-avatar__img"
83
+ {src}
84
+ {alt}
85
+ style={`object-fit:${fit};`}
86
+ onerror={handleError}
87
+ />
88
+ {:else}
89
+ <span class="lm-avatar__placeholder">
90
+ {#if children}
91
+ {@render children()}
92
+ {:else}
93
+ {alt?.slice(0, 1).toUpperCase()}
94
+ {/if}
95
+ </span>
96
+ {/if}
97
+ </span>
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface AvatarProps {
3
+ src?: string;
4
+ alt?: string;
5
+ size?: 'small' | 'medium' | 'large' | 'default' | 's' | 'm' | 'l' | 'S' | 'M' | 'L' | number;
6
+ shape?: 'circle' | 'square';
7
+ fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
8
+ children?: Snippet;
9
+ onerror?: (e: Event) => void;
10
+ class?: string;
11
+ }
12
+ declare const Avatar: import("svelte").Component<AvatarProps, {}, "">;
13
+ type Avatar = ReturnType<typeof Avatar>;
14
+ export default Avatar;
@@ -0,0 +1,4 @@
1
+ import Avatar from './Avatar.svelte';
2
+ export { Avatar };
3
+ export type { AvatarProps, AvatarSize, AvatarShape, AvatarFit } from './types';
4
+ export default Avatar;
@@ -0,0 +1,3 @@
1
+ import Avatar from './Avatar.svelte';
2
+ export { Avatar };
3
+ export default Avatar;
@@ -0,0 +1,26 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** Avatar 尺寸 */
3
+ export type AvatarSize = 'small' | 'medium' | 'large' | number;
4
+ /** Avatar 形状 */
5
+ export type AvatarShape = 'circle' | 'square';
6
+ /** Avatar 图片适应方式 */
7
+ export type AvatarFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
8
+ /** Avatar 属性 */
9
+ export interface AvatarProps {
10
+ /** 图片地址 */
11
+ src?: string;
12
+ /** 替代文本 */
13
+ alt?: string;
14
+ /** 尺寸 */
15
+ size?: AvatarSize;
16
+ /** 形状 */
17
+ shape?: AvatarShape;
18
+ /** 图片适应方式 */
19
+ fit?: AvatarFit;
20
+ /** 子内容 */
21
+ children?: Snippet;
22
+ /** 图片加载失败回调 */
23
+ onerror?: (e: Event) => void;
24
+ /** 自定义类名 */
25
+ class?: string;
26
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte'
3
+ import { onMount, onDestroy } from 'svelte'
4
+ import Icon from '../Icon/Icon.svelte'
5
+ import { ArrowUp } from 'lucide'
6
+
7
+ interface BacktopProps {
8
+ visibilityHeight?: number
9
+ right?: number
10
+ bottom?: number
11
+ target?: string
12
+ onclick?: () => void
13
+ children?: Snippet
14
+ class?: string
15
+ }
16
+
17
+ let { visibilityHeight = 200, right = 40, bottom = 40, target, onclick, children, class: cls = '', ...attrs }: BacktopProps = $props()
18
+
19
+ let visible = $state(false)
20
+ let container: HTMLElement | Window = $state(window)
21
+
22
+ const handleScroll = (): void => {
23
+ const scrollTop = container === window ? document.documentElement.scrollTop || document.body.scrollTop : (container as HTMLElement).scrollTop
24
+ visible = scrollTop >= visibilityHeight
25
+ }
26
+
27
+ const scrollToTop = (): void => {
28
+ const el = container === window ? document.documentElement : (container as HTMLElement)
29
+ el.scrollTo({ top: 0, behavior: 'smooth' })
30
+ onclick?.()
31
+ }
32
+
33
+ onMount(() => {
34
+ if (target) {
35
+ const el = document.querySelector(target)
36
+ if (el) container = el as HTMLElement
37
+ }
38
+ const scrollEl = container === window ? window : container
39
+ scrollEl.addEventListener('scroll', handleScroll, { passive: true })
40
+ handleScroll()
41
+ })
42
+
43
+ onDestroy(() => {
44
+ const scrollEl = container === window ? window : container
45
+ scrollEl.removeEventListener('scroll', handleScroll)
46
+ })
47
+
48
+ const classes = $derived(`lm-backtop${visible ? ' is-visible' : ''}${cls ? ` ${cls}` : ''}`)
49
+ const style = $derived(`right: ${right}px; bottom: ${bottom}px`)
50
+ </script>
51
+
52
+ {#if visible}
53
+ <button type="button" class={classes} {style} onclick={scrollToTop} aria-label="Back to top" {...attrs}>
54
+ {#if children}
55
+ {@render children()}
56
+ {:else}
57
+ <Icon icon={ArrowUp} size={20} />
58
+ {/if}
59
+ </button>
60
+ {/if}
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface BacktopProps {
3
+ visibilityHeight?: number;
4
+ right?: number;
5
+ bottom?: number;
6
+ target?: string;
7
+ onclick?: () => void;
8
+ children?: Snippet;
9
+ class?: string;
10
+ }
11
+ declare const Backtop: import("svelte").Component<BacktopProps, {}, "">;
12
+ type Backtop = ReturnType<typeof Backtop>;
13
+ export default Backtop;
@@ -0,0 +1,4 @@
1
+ import Backtop from './Backtop.svelte';
2
+ export { Backtop };
3
+ export type { BacktopProps } from './types';
4
+ export default Backtop;
@@ -0,0 +1,3 @@
1
+ import Backtop from './Backtop.svelte';
2
+ export { Backtop };
3
+ export default Backtop;
@@ -0,0 +1,18 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** Backtop 属性 */
3
+ export interface BacktopProps {
4
+ /** 滚动高度达到此值后显示 */
5
+ visibilityHeight?: number;
6
+ /** 距离右边距 */
7
+ right?: number;
8
+ /** 距离底边距 */
9
+ bottom?: number;
10
+ /** 触发滚动的目标元素选择器 */
11
+ target?: string;
12
+ /** 点击事件 */
13
+ onclick?: () => void;
14
+ /** 子内容 */
15
+ children?: Snippet;
16
+ /** 自定义类名 */
17
+ class?: string;
18
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,68 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ interface BadgeProps {
5
+ value?: string | number;
6
+ max?: number;
7
+ isDot?: boolean;
8
+ hidden?: boolean;
9
+ type?: "primary" | "success" | "warning" | "danger" | "info";
10
+ children?: Snippet;
11
+ class?: string;
12
+ }
13
+
14
+ let {
15
+ value,
16
+ max,
17
+ isDot = false,
18
+ hidden = false,
19
+ type = "danger",
20
+ children,
21
+ class: cls = "",
22
+ ...attrs
23
+ }: BadgeProps = $props();
24
+
25
+ const classes = $derived(cls ? `lm-badge ${cls}` : "lm-badge");
26
+
27
+ const contentClasses = $derived(
28
+ isDot
29
+ ? `lm-badge__content lm-badge__content--${type} is-dot`
30
+ : `lm-badge__content lm-badge__content--${type}`,
31
+ );
32
+
33
+ const displayValue = $derived.by(() => {
34
+ if (isDot || value == null) return "";
35
+
36
+ const maxNum = typeof max === "number" ? max : undefined;
37
+
38
+ let valNum: number | undefined;
39
+ if (typeof value === "number") {
40
+ valNum = value;
41
+ } else if (typeof value === "string") {
42
+ const n = Number(value);
43
+ if (!Number.isNaN(n)) valNum = n;
44
+ }
45
+
46
+ if (maxNum !== undefined && valNum !== undefined && valNum > maxNum) {
47
+ return `${maxNum}+`;
48
+ }
49
+
50
+ return String(value);
51
+ });
52
+ </script>
53
+
54
+ <div {...attrs} class={classes}>
55
+ <div class="lm-badge__base">
56
+ {#if children}
57
+ {@render children()}
58
+ {/if}
59
+ </div>
60
+
61
+ {#if !hidden}
62
+ <span class={contentClasses} aria-hidden={isDot || undefined}>
63
+ {#if !isDot}
64
+ {displayValue}
65
+ {/if}
66
+ </span>
67
+ {/if}
68
+ </div>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface BadgeProps {
3
+ value?: string | number;
4
+ max?: number;
5
+ isDot?: boolean;
6
+ hidden?: boolean;
7
+ type?: 'primary' | 'success' | 'warning' | 'danger' | 'info';
8
+ children?: Snippet;
9
+ class?: string;
10
+ }
11
+ declare const Badge: import("svelte").Component<BadgeProps, {}, "">;
12
+ type Badge = ReturnType<typeof Badge>;
13
+ export default Badge;
@@ -0,0 +1,4 @@
1
+ import Badge from './Badge.svelte';
2
+ export { Badge };
3
+ export type { BadgeProps, BadgeType } from './types';
4
+ export default Badge;
@@ -0,0 +1,3 @@
1
+ import Badge from './Badge.svelte';
2
+ export { Badge };
3
+ export default Badge;
@@ -0,0 +1,20 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** Badge 类型 */
3
+ export type BadgeType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
4
+ /** Badge 属性 */
5
+ export interface BadgeProps {
6
+ /** 显示值 */
7
+ value?: string | number;
8
+ /** 最大值 */
9
+ max?: number;
10
+ /** 是否显示小圆点 */
11
+ isDot?: boolean;
12
+ /** 是否隐藏 */
13
+ hidden?: boolean;
14
+ /** 类型 */
15
+ type?: BadgeType;
16
+ /** 子内容 */
17
+ children?: Snippet;
18
+ /** 自定义类名 */
19
+ class?: string;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ <script lang="ts">
2
+ import Icon from "../Icon/Icon.svelte";
3
+ import type { Snippet } from "svelte";
4
+ import type { BreadcrumbItem } from "./types";
5
+ import { setContext } from "svelte";
6
+ import {
7
+ BREADCRUMB_CONTEXT_KEY,
8
+ type BreadcrumbContext,
9
+ } from "./BreadcrumbContext";
10
+
11
+ interface BreadcrumbProps {
12
+ items?: BreadcrumbItem[];
13
+ separator?: string;
14
+ children?: Snippet;
15
+ class?: string;
16
+ }
17
+
18
+ let {
19
+ items,
20
+ separator = "/",
21
+ children,
22
+ class: cls = "",
23
+ ...attrs
24
+ }: BreadcrumbProps = $props();
25
+
26
+ // 使用 getter 确保响应式
27
+ setContext(BREADCRUMB_CONTEXT_KEY, {
28
+ get separator() {
29
+ return separator;
30
+ },
31
+ });
32
+
33
+ const classes = $derived(`lm-breadcrumb${cls ? ` ${cls}` : ""}`);
34
+ </script>
35
+
36
+ <ul class={classes} {...attrs}>
37
+ {#if children}
38
+ {@render children()}
39
+ {:else if items}
40
+ {#each items as item, index}
41
+ <li class="lm-breadcrumb__item">
42
+ {#if item.href}
43
+ <a href={item.href} class="lm-breadcrumb__link">
44
+ {#if item.icon}
45
+ <Icon icon={item.icon} class="lm-breadcrumb__icon" />
46
+ {/if}
47
+ {item.label}
48
+ </a>
49
+ {:else}
50
+ <span class="lm-breadcrumb__text">
51
+ {#if item.icon}
52
+ <Icon icon={item.icon} class="lm-breadcrumb__icon" />
53
+ {/if}
54
+ {item.label}
55
+ </span>
56
+ {/if}
57
+ </li>
58
+ {#if index < items.length - 1}
59
+ <li class="lm-breadcrumb__separator">{separator}</li>
60
+ {/if}
61
+ {/each}
62
+ {/if}
63
+ </ul>
64
+
65
+ <style lang="scss">
66
+ </style>
@@ -0,0 +1,6 @@
1
+ import type { BreadcrumbProps } from './types';
2
+ interface Props extends BreadcrumbProps {
3
+ }
4
+ declare const Breadcrumb: import("svelte").Component<Props, {}, "">;
5
+ type Breadcrumb = ReturnType<typeof Breadcrumb>;
6
+ export default Breadcrumb;
@@ -0,0 +1,4 @@
1
+ export declare const BREADCRUMB_CONTEXT_KEY: unique symbol;
2
+ export interface BreadcrumbContext {
3
+ separator: string;
4
+ }
@@ -0,0 +1 @@
1
+ export const BREADCRUMB_CONTEXT_KEY = Symbol('breadcrumb');
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import Icon from "../Icon/Icon.svelte";
3
+ import type { Snippet } from "svelte";
4
+ import type { IconNode } from "lucide";
5
+ import { getContext } from "svelte";
6
+ import {
7
+ BREADCRUMB_CONTEXT_KEY,
8
+ type BreadcrumbContext,
9
+ } from "./BreadcrumbContext";
10
+
11
+ interface BreadcrumbItemProps {
12
+ href?: string;
13
+ to?: string;
14
+ icon?: IconNode;
15
+ children?: Snippet;
16
+ class?: string;
17
+ }
18
+
19
+ let {
20
+ href,
21
+ to,
22
+ icon,
23
+ children,
24
+ class: cls = "",
25
+ ...attrs
26
+ }: BreadcrumbItemProps = $props();
27
+
28
+ const context = getContext<BreadcrumbContext>(BREADCRUMB_CONTEXT_KEY);
29
+ const separator = $derived(context?.separator ?? "/");
30
+ const link = $derived(href || to);
31
+
32
+ const classes = $derived(`lm-breadcrumb__item${cls ? ` ${cls}` : ""}`);
33
+ </script>
34
+
35
+ <li class={classes} {...attrs}>
36
+ {#if link}
37
+ <a href={link} class="lm-breadcrumb__link">
38
+ {#if icon}
39
+ <Icon {icon} class="lm-breadcrumb__icon" />
40
+ {/if}
41
+ {#if children}
42
+ {@render children()}
43
+ {/if}
44
+ </a>
45
+ {:else}
46
+ <span class="lm-breadcrumb__text">
47
+ {#if icon}
48
+ <Icon {icon} class="lm-breadcrumb__icon" />
49
+ {/if}
50
+ {#if children}
51
+ {@render children()}
52
+ {/if}
53
+ </span>
54
+ {/if}
55
+ </li>
56
+ <li class="lm-breadcrumb__separator">{separator}</li>
@@ -0,0 +1,12 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { IconNode } from "lucide";
3
+ interface BreadcrumbItemProps {
4
+ href?: string;
5
+ to?: string;
6
+ icon?: IconNode;
7
+ children?: Snippet;
8
+ class?: string;
9
+ }
10
+ declare const BreadcrumbItem: import("svelte").Component<BreadcrumbItemProps, {}, "">;
11
+ type BreadcrumbItem = ReturnType<typeof BreadcrumbItem>;
12
+ export default BreadcrumbItem;
@@ -0,0 +1,4 @@
1
+ import Breadcrumb from './Breadcrumb.svelte';
2
+ export { Breadcrumb };
3
+ export type { BreadcrumbItem, BreadcrumbProps } from './types';
4
+ export default Breadcrumb;
@@ -0,0 +1,3 @@
1
+ import Breadcrumb from './Breadcrumb.svelte';
2
+ export { Breadcrumb };
3
+ export default Breadcrumb;
@@ -0,0 +1,10 @@
1
+ import type { IconNode } from 'lucide';
2
+ export interface BreadcrumbItem {
3
+ label: string;
4
+ href?: string;
5
+ icon?: IconNode;
6
+ }
7
+ export interface BreadcrumbProps {
8
+ items: BreadcrumbItem[];
9
+ separator?: string;
10
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,61 @@
1
+ <script lang="ts">
2
+ import Icon from '../Icon/Icon.svelte'
3
+ import { LoaderCircle } from 'lucide'
4
+ import type { ButtonProps } from './types'
5
+
6
+ let {
7
+ type = 'default',
8
+ size = 'medium',
9
+ disabled = false,
10
+ plain = false,
11
+ round = false,
12
+ circle = false,
13
+ loading = false,
14
+ children,
15
+ onclick,
16
+ class: cls = '',
17
+ 'aria-label': ariaLabel,
18
+ 'aria-current': ariaCurrent,
19
+ 'aria-expanded': ariaExpanded,
20
+ 'aria-haspopup': ariaHaspopup,
21
+ 'aria-controls': ariaControls,
22
+ ...attrs
23
+ }: ButtonProps = $props()
24
+
25
+ const classes = $derived(
26
+ `lm-button lm-button--${type} lm-button--${size}${disabled ? ' is-disabled' : ''}${loading ? ' is-loading' : ''}${plain ? ' is-plain' : ''}${round ? ' is-round' : ''}${circle ? ' is-circle' : ''}${cls ? ` ${cls}` : ''}`
27
+ )
28
+
29
+ const handleClick = (e: MouseEvent): void => {
30
+ if (disabled || loading) {
31
+ e.preventDefault()
32
+ e.stopPropagation()
33
+ return
34
+ }
35
+ onclick?.(e)
36
+ }
37
+ </script>
38
+
39
+ <button
40
+ {...attrs}
41
+ class={classes}
42
+ type="button"
43
+ aria-disabled={disabled || loading || undefined}
44
+ aria-label={ariaLabel}
45
+ aria-current={ariaCurrent}
46
+ aria-expanded={ariaExpanded}
47
+ aria-haspopup={ariaHaspopup}
48
+ aria-controls={ariaControls}
49
+ disabled={disabled || loading}
50
+ onclick={handleClick}
51
+ >
52
+ {#if loading}
53
+ <span class="lm-button__loading" aria-hidden="true">
54
+ <Icon icon={LoaderCircle} size={16} />
55
+ </span>
56
+ {/if}
57
+
58
+ {#if children && !loading}
59
+ {@render children()}
60
+ {/if}
61
+ </button>
@@ -0,0 +1,4 @@
1
+ import type { ButtonProps } from './types';
2
+ declare const Button: import("svelte").Component<ButtonProps, {}, "">;
3
+ type Button = ReturnType<typeof Button>;
4
+ export default Button;
@@ -0,0 +1,4 @@
1
+ import Button from './Button.svelte';
2
+ export { Button };
3
+ export type { ButtonProps, ButtonSize, ButtonType } from './types';
4
+ export default Button;
@@ -0,0 +1,3 @@
1
+ import Button from './Button.svelte';
2
+ export { Button };
3
+ export default Button;