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,174 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte'
3
+ import { onMount } from 'svelte'
4
+
5
+ interface WatermarkProps {
6
+ content?: string | string[]
7
+ fontSize?: number
8
+ fontColor?: string
9
+ fontFamily?: string
10
+ fontWeight?: number | string
11
+ rotate?: number
12
+ width?: number
13
+ height?: number
14
+ gap?: [number, number]
15
+ offset?: [number, number]
16
+ zIndex?: number
17
+ image?: string
18
+ children?: Snippet
19
+ class?: string
20
+ }
21
+
22
+ let {
23
+ content = '',
24
+ fontSize = 14,
25
+ fontColor,
26
+ fontFamily = 'sans-serif',
27
+ fontWeight = 'normal',
28
+ rotate = -22,
29
+ width = 120,
30
+ height = 64,
31
+ gap = [100, 100],
32
+ offset = [0, 0],
33
+ zIndex = 9,
34
+ image,
35
+ children,
36
+ class: cls = '',
37
+ ...attrs
38
+ }: WatermarkProps = $props()
39
+
40
+ let watermarkUrl = $state('')
41
+ let isDark = $state(false)
42
+ let rootEl = $state<HTMLDivElement | null>(null)
43
+ let generateSeq = 0
44
+
45
+ const computeIsDark = (): boolean => {
46
+ if (rootEl?.closest?.('.dark')) return true
47
+ return document.documentElement.classList.contains('dark') || document.body.classList.contains('dark')
48
+ }
49
+
50
+ const getCssDefaultFontColor = (): string | undefined => {
51
+ if (!rootEl) return undefined
52
+ const raw = getComputedStyle(rootEl).getPropertyValue('--lm-watermark-font-color').trim()
53
+ return raw || undefined
54
+ }
55
+
56
+ const getDefaultFontColor = (): string => {
57
+ return isDark ? 'rgba(255, 255, 255, 0.22)' : 'rgba(0, 0, 0, 0.15)'
58
+ }
59
+
60
+ const generateWatermark = (): void => {
61
+ const seq = ++generateSeq
62
+ const canvas = document.createElement('canvas')
63
+ const ctx = canvas.getContext('2d')
64
+ if (!ctx) return
65
+
66
+ const ratio = window.devicePixelRatio || 1
67
+ const logicalWidth = width + gap[0]
68
+ const logicalHeight = height + gap[1]
69
+ const canvasWidth = logicalWidth * ratio
70
+ const canvasHeight = logicalHeight * ratio
71
+
72
+ canvas.width = canvasWidth
73
+ canvas.height = canvasHeight
74
+
75
+ ctx.imageSmoothingEnabled = true
76
+ ctx.imageSmoothingQuality = 'high'
77
+
78
+ ctx.scale(ratio, ratio)
79
+ ctx.translate(logicalWidth / 2, logicalHeight / 2)
80
+ ctx.rotate((rotate * Math.PI) / 180)
81
+
82
+ if (image) {
83
+ const img = new Image()
84
+ img.crossOrigin = 'anonymous'
85
+ img.onload = () => {
86
+ if (seq !== generateSeq) return
87
+ ctx.drawImage(img, -width / 2, -height / 2, width, height)
88
+ watermarkUrl = canvas.toDataURL()
89
+ }
90
+ img.src = image
91
+ } else {
92
+ ctx.font = `${fontWeight} ${fontSize}px ${fontFamily}`
93
+ ctx.fillStyle = fontColor ?? getCssDefaultFontColor() ?? getDefaultFontColor()
94
+ ctx.textAlign = 'center'
95
+ ctx.textBaseline = 'middle'
96
+
97
+ const contents = Array.isArray(content) ? content : [content]
98
+ const lineHeight = fontSize * 1.5
99
+ const startY = -((contents.length - 1) * lineHeight) / 2
100
+
101
+ contents.forEach((text, index) => {
102
+ ctx.fillText(text, 0, startY + index * lineHeight)
103
+ })
104
+
105
+ watermarkUrl = canvas.toDataURL()
106
+ }
107
+ }
108
+
109
+ onMount(() => {
110
+ isDark = computeIsDark()
111
+
112
+ let scheduled = false
113
+ const scheduleRecompute = (): void => {
114
+ if (scheduled) return
115
+ scheduled = true
116
+ requestAnimationFrame(() => {
117
+ scheduled = false
118
+ isDark = computeIsDark()
119
+ })
120
+ }
121
+
122
+ const observer = new MutationObserver(scheduleRecompute)
123
+
124
+ const observed = new Set<Element>()
125
+ const observeElement = (el: Element | null): void => {
126
+ if (!el || observed.has(el)) return
127
+ observed.add(el)
128
+ observer.observe(el, {
129
+ attributes: true,
130
+ attributeFilter: ['class'],
131
+ subtree: false,
132
+ })
133
+ }
134
+
135
+ observeElement(document.documentElement)
136
+ observeElement(document.body)
137
+ for (let el = rootEl?.parentElement; el; el = el.parentElement) {
138
+ observeElement(el)
139
+ }
140
+
141
+ generateWatermark()
142
+
143
+ return () => {
144
+ observer.disconnect()
145
+ }
146
+ })
147
+
148
+ $effect(() => {
149
+ content
150
+ fontSize
151
+ fontColor
152
+ fontFamily
153
+ fontWeight
154
+ rotate
155
+ width
156
+ height
157
+ gap
158
+ image
159
+ isDark
160
+ generateWatermark()
161
+ })
162
+
163
+ const classes = $derived(`lm-watermark${cls ? ` ${cls}` : ''}`)
164
+ const watermarkStyle = $derived(
165
+ `background-image:url(${watermarkUrl});background-size:${width + gap[0]}px ${height + gap[1]}px;background-position:${offset[0]}px ${offset[1]}px;z-index:${zIndex}`
166
+ )
167
+ </script>
168
+
169
+ <div class={classes} bind:this={rootEl} {...attrs}>
170
+ {#if children}
171
+ {@render children()}
172
+ {/if}
173
+ <div class="lm-watermark__mark" style={watermarkStyle}></div>
174
+ </div>
@@ -0,0 +1,20 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface WatermarkProps {
3
+ content?: string | string[];
4
+ fontSize?: number;
5
+ fontColor?: string;
6
+ fontFamily?: string;
7
+ fontWeight?: number | string;
8
+ rotate?: number;
9
+ width?: number;
10
+ height?: number;
11
+ gap?: [number, number];
12
+ offset?: [number, number];
13
+ zIndex?: number;
14
+ image?: string;
15
+ children?: Snippet;
16
+ class?: string;
17
+ }
18
+ declare const Watermark: import("svelte").Component<WatermarkProps, {}, "">;
19
+ type Watermark = ReturnType<typeof Watermark>;
20
+ export default Watermark;
@@ -0,0 +1,4 @@
1
+ import Watermark from './Watermark.svelte';
2
+ export { Watermark };
3
+ export type { WatermarkProps } from './types';
4
+ export default Watermark;
@@ -0,0 +1,3 @@
1
+ import Watermark from './Watermark.svelte';
2
+ export { Watermark };
3
+ export default Watermark;
@@ -0,0 +1,32 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** Watermark 属性 */
3
+ export interface WatermarkProps {
4
+ /** 水印内容 */
5
+ content?: string | string[];
6
+ /** 字体大小 */
7
+ fontSize?: number;
8
+ /** 字体颜色 */
9
+ fontColor?: string;
10
+ /** 字体 */
11
+ fontFamily?: string;
12
+ /** 字体粗细 */
13
+ fontWeight?: number | string;
14
+ /** 旋转角度 */
15
+ rotate?: number;
16
+ /** 水印宽度 */
17
+ width?: number;
18
+ /** 水印高度 */
19
+ height?: number;
20
+ /** 水印间距 */
21
+ gap?: [number, number];
22
+ /** 水印偏移 */
23
+ offset?: [number, number];
24
+ /** 层级 */
25
+ zIndex?: number;
26
+ /** 图片地址 */
27
+ image?: string;
28
+ /** 子内容 */
29
+ children?: Snippet;
30
+ /** 自定义类名 */
31
+ class?: string;
32
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,140 @@
1
+ export { default as Affix } from './Affix/Affix.svelte';
2
+ export { default as Alert } from './Alert/Alert.svelte';
3
+ export { default as Autocomplete } from './Autocomplete/Autocomplete.svelte';
4
+ export { default as Avatar } from './Avatar/Avatar.svelte';
5
+ export { default as Backtop } from './Backtop/Backtop.svelte';
6
+ export { default as Badge } from './Badge/Badge.svelte';
7
+ export { default as Breadcrumb } from './Breadcrumb/Breadcrumb.svelte';
8
+ export { default as BreadcrumbItem } from './Breadcrumb/BreadcrumbItem.svelte';
9
+ export { default as Button } from './Button/Button.svelte';
10
+ export { default as Calendar } from './Calendar/Calendar.svelte';
11
+ export { default as Card } from './Card/Card.svelte';
12
+ export { default as Carousel } from './Carousel/Carousel.svelte';
13
+ export { default as CarouselItem } from './Carousel/CarouselItem.svelte';
14
+ export { default as Cascader } from './Cascader/Cascader.svelte';
15
+ export { default as Checkbox } from './Checkbox/Checkbox.svelte';
16
+ export { default as CheckboxGroup } from './Checkbox/CheckboxGroup.svelte';
17
+ export { default as Collapse } from './Collapse/Collapse.svelte';
18
+ export { default as CollapseItem } from './Collapse/CollapseItem.svelte';
19
+ export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
20
+ export { Container, Header, Footer, Main, Aside } from './Container';
21
+ export { default as DatePicker } from './DatePicker/DatePicker.svelte';
22
+ export { default as DateTimePicker } from './DateTimePicker/DateTimePicker.svelte';
23
+ export { default as Descriptions } from './Descriptions/Descriptions.svelte';
24
+ export { default as DescriptionsItem } from './Descriptions/DescriptionsItem.svelte';
25
+ export { default as Dialog } from './Dialog/Dialog.svelte';
26
+ export { default as Divider } from './Divider/Divider.svelte';
27
+ export { default as Drawer } from './Drawer/Drawer.svelte';
28
+ export { default as Dropdown } from './Dropdown/Dropdown.svelte';
29
+ export { default as DropdownItem } from './Dropdown/DropdownItem.svelte';
30
+ export { default as DropdownMenu } from './Dropdown/DropdownMenu.svelte';
31
+ export { default as Empty } from './Empty/Empty.svelte';
32
+ export { default as Form } from './Form/Form.svelte';
33
+ export { default as FormItem } from './Form/FormItem.svelte';
34
+ export { default as Icon } from './Icon/Icon.svelte';
35
+ export { default as Image } from './Image/Image.svelte';
36
+ export { default as Input } from './Input/Input.svelte';
37
+ export { default as InputNumber } from './InputNumber/InputNumber.svelte';
38
+ export { default as InputTag } from './InputTag/InputTag.svelte';
39
+ export { default as Link } from './Link/Link.svelte';
40
+ export { default as Loading } from './Loading/Loading.svelte';
41
+ export { default as Menu } from './Menu/Menu.svelte';
42
+ export { default as Message } from './Message/Message.svelte';
43
+ export { default as MessageBox } from './MessageBox/MessageBox.svelte';
44
+ export { default as Notification } from './Notification/Notification.svelte';
45
+ export { default as Pagination } from './Pagination/Pagination.svelte';
46
+ export { default as PinInput } from './PinInput/PinInput.svelte';
47
+ export { default as Popconfirm } from './Popconfirm/Popconfirm.svelte';
48
+ export { default as Popover } from './Popover/Popover.svelte';
49
+ export { default as Progress } from './Progress/Progress.svelte';
50
+ export { default as Radio } from './Radio/Radio.svelte';
51
+ export { default as RadioGroup } from './Radio/RadioGroup.svelte';
52
+ export { default as Rating } from './Rating/Rating.svelte';
53
+ export { default as Result } from './Result/Result.svelte';
54
+ export { default as Segmented } from './Segmented/Segmented.svelte';
55
+ export { default as Select } from './Select/Select.svelte';
56
+ export { default as Option } from './Select/Option.svelte';
57
+ export { default as OptionGroup } from './Select/OptionGroup.svelte';
58
+ export { default as Skeleton } from './Skeleton/Skeleton.svelte';
59
+ export { default as SkeletonItem } from './Skeleton/SkeletonItem.svelte';
60
+ export { default as Slider } from './Slider/Slider.svelte';
61
+ export { default as Space } from './Space/Space.svelte';
62
+ export { default as Statistic } from './Statistic/Statistic.svelte';
63
+ export { default as Countdown } from './Statistic/Countdown.svelte';
64
+ export { default as Steps } from './Steps/Steps.svelte';
65
+ export { default as Step } from './Steps/Step.svelte';
66
+ export { default as Switch } from './Switch/Switch.svelte';
67
+ export { default as Table } from './Table/Table.svelte';
68
+ export { default as Tabs } from './Tabs/Tabs.svelte';
69
+ export { default as TabPane } from './Tabs/TabPane.svelte';
70
+ export { default as Tag } from './Tag/Tag.svelte';
71
+ export { default as Textarea } from './Textarea/Textarea.svelte';
72
+ export { default as TimePicker } from './TimePicker/TimePicker.svelte';
73
+ export { default as Timeline } from './Timeline/Timeline.svelte';
74
+ export { default as TimelineItem } from './Timeline/TimelineItem.svelte';
75
+ export { default as Tooltip } from './Tooltip/Tooltip.svelte';
76
+ export { default as Transfer } from './Transfer/Transfer.svelte';
77
+ export { default as Tree } from './Tree/Tree.svelte';
78
+ export { default as TreeSelect } from './TreeSelect/TreeSelect.svelte';
79
+ export { default as Upload } from './Upload/Upload.svelte';
80
+ export { default as Watermark } from './Watermark/Watermark.svelte';
81
+ export type * from './Affix/types';
82
+ export type * from './Alert/types';
83
+ export type * from './Avatar/types';
84
+ export type * from './Badge/types';
85
+ export type * from './Breadcrumb/types';
86
+ export type * from './Button/types';
87
+ export type * from './Card/types';
88
+ export type * from './Carousel/types';
89
+ export type * from './Cascader/types';
90
+ export type * from './Checkbox/types';
91
+ export type * from './Collapse/types';
92
+ export type * from './ColorPicker/types';
93
+ export type * from './Container/types';
94
+ export type * from './DatePicker/types';
95
+ export type * from './Descriptions/types';
96
+ export type * from './Dialog/types';
97
+ export type * from './Divider/types';
98
+ export type * from './Drawer/types';
99
+ export type * from './Dropdown/types';
100
+ export type * from './Empty/types';
101
+ export type * from './Form/types';
102
+ export type * from './Icon/types';
103
+ export type * from './Image/types';
104
+ export type * from './Input/types';
105
+ export type * from './InputNumber/types';
106
+ export type * from './InputTag/types';
107
+ export type * from './Link/types';
108
+ export type * from './Loading/types';
109
+ export type * from './Menu/types';
110
+ export type * from './Pagination/types';
111
+ export type * from './PinInput/types';
112
+ export type * from './Popconfirm/types';
113
+ export type * from './Popover/types';
114
+ export type * from './Progress/types';
115
+ export type * from './Radio/types';
116
+ export type * from './Rating/types';
117
+ export type * from './Result/types';
118
+ export type * from './Segmented/types';
119
+ export type * from './Select/types';
120
+ export type * from './Skeleton/types';
121
+ export type * from './Slider/types';
122
+ export type * from './Space/types';
123
+ export type * from './Statistic/types';
124
+ export type * from './Steps/types';
125
+ export type * from './Switch/types';
126
+ export type * from './Table/types';
127
+ export type * from './Tabs/types';
128
+ export type * from './Tag/types';
129
+ export type * from './Textarea/types';
130
+ export type * from './TimePicker/types';
131
+ export type * from './Timeline/types';
132
+ export type * from './Tooltip/types';
133
+ export type * from './Transfer/types';
134
+ export type * from './Tree/types';
135
+ export type * from './TreeSelect/types';
136
+ export type * from './Upload/types';
137
+ export type * from './Watermark/types';
138
+ export * from './Message/message';
139
+ export * from './Notification/notification';
140
+ export * from './MessageBox/messageBox';
package/dist/index.js ADDED
@@ -0,0 +1,85 @@
1
+ // Components
2
+ export { default as Affix } from './Affix/Affix.svelte';
3
+ export { default as Alert } from './Alert/Alert.svelte';
4
+ export { default as Autocomplete } from './Autocomplete/Autocomplete.svelte';
5
+ export { default as Avatar } from './Avatar/Avatar.svelte';
6
+ export { default as Backtop } from './Backtop/Backtop.svelte';
7
+ export { default as Badge } from './Badge/Badge.svelte';
8
+ export { default as Breadcrumb } from './Breadcrumb/Breadcrumb.svelte';
9
+ export { default as BreadcrumbItem } from './Breadcrumb/BreadcrumbItem.svelte';
10
+ export { default as Button } from './Button/Button.svelte';
11
+ export { default as Calendar } from './Calendar/Calendar.svelte';
12
+ export { default as Card } from './Card/Card.svelte';
13
+ export { default as Carousel } from './Carousel/Carousel.svelte';
14
+ export { default as CarouselItem } from './Carousel/CarouselItem.svelte';
15
+ export { default as Cascader } from './Cascader/Cascader.svelte';
16
+ export { default as Checkbox } from './Checkbox/Checkbox.svelte';
17
+ export { default as CheckboxGroup } from './Checkbox/CheckboxGroup.svelte';
18
+ export { default as Collapse } from './Collapse/Collapse.svelte';
19
+ export { default as CollapseItem } from './Collapse/CollapseItem.svelte';
20
+ export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
21
+ export { Container, Header, Footer, Main, Aside } from './Container';
22
+ export { default as DatePicker } from './DatePicker/DatePicker.svelte';
23
+ export { default as DateTimePicker } from './DateTimePicker/DateTimePicker.svelte';
24
+ export { default as Descriptions } from './Descriptions/Descriptions.svelte';
25
+ export { default as DescriptionsItem } from './Descriptions/DescriptionsItem.svelte';
26
+ export { default as Dialog } from './Dialog/Dialog.svelte';
27
+ export { default as Divider } from './Divider/Divider.svelte';
28
+ export { default as Drawer } from './Drawer/Drawer.svelte';
29
+ export { default as Dropdown } from './Dropdown/Dropdown.svelte';
30
+ export { default as DropdownItem } from './Dropdown/DropdownItem.svelte';
31
+ export { default as DropdownMenu } from './Dropdown/DropdownMenu.svelte';
32
+ export { default as Empty } from './Empty/Empty.svelte';
33
+ export { default as Form } from './Form/Form.svelte';
34
+ export { default as FormItem } from './Form/FormItem.svelte';
35
+ export { default as Icon } from './Icon/Icon.svelte';
36
+ export { default as Image } from './Image/Image.svelte';
37
+ export { default as Input } from './Input/Input.svelte';
38
+ export { default as InputNumber } from './InputNumber/InputNumber.svelte';
39
+ export { default as InputTag } from './InputTag/InputTag.svelte';
40
+ export { default as Link } from './Link/Link.svelte';
41
+ export { default as Loading } from './Loading/Loading.svelte';
42
+ export { default as Menu } from './Menu/Menu.svelte';
43
+ export { default as Message } from './Message/Message.svelte';
44
+ export { default as MessageBox } from './MessageBox/MessageBox.svelte';
45
+ export { default as Notification } from './Notification/Notification.svelte';
46
+ export { default as Pagination } from './Pagination/Pagination.svelte';
47
+ export { default as PinInput } from './PinInput/PinInput.svelte';
48
+ export { default as Popconfirm } from './Popconfirm/Popconfirm.svelte';
49
+ export { default as Popover } from './Popover/Popover.svelte';
50
+ export { default as Progress } from './Progress/Progress.svelte';
51
+ export { default as Radio } from './Radio/Radio.svelte';
52
+ export { default as RadioGroup } from './Radio/RadioGroup.svelte';
53
+ export { default as Rating } from './Rating/Rating.svelte';
54
+ export { default as Result } from './Result/Result.svelte';
55
+ export { default as Segmented } from './Segmented/Segmented.svelte';
56
+ export { default as Select } from './Select/Select.svelte';
57
+ export { default as Option } from './Select/Option.svelte';
58
+ export { default as OptionGroup } from './Select/OptionGroup.svelte';
59
+ export { default as Skeleton } from './Skeleton/Skeleton.svelte';
60
+ export { default as SkeletonItem } from './Skeleton/SkeletonItem.svelte';
61
+ export { default as Slider } from './Slider/Slider.svelte';
62
+ export { default as Space } from './Space/Space.svelte';
63
+ export { default as Statistic } from './Statistic/Statistic.svelte';
64
+ export { default as Countdown } from './Statistic/Countdown.svelte';
65
+ export { default as Steps } from './Steps/Steps.svelte';
66
+ export { default as Step } from './Steps/Step.svelte';
67
+ export { default as Switch } from './Switch/Switch.svelte';
68
+ export { default as Table } from './Table/Table.svelte';
69
+ export { default as Tabs } from './Tabs/Tabs.svelte';
70
+ export { default as TabPane } from './Tabs/TabPane.svelte';
71
+ export { default as Tag } from './Tag/Tag.svelte';
72
+ export { default as Textarea } from './Textarea/Textarea.svelte';
73
+ export { default as TimePicker } from './TimePicker/TimePicker.svelte';
74
+ export { default as Timeline } from './Timeline/Timeline.svelte';
75
+ export { default as TimelineItem } from './Timeline/TimelineItem.svelte';
76
+ export { default as Tooltip } from './Tooltip/Tooltip.svelte';
77
+ export { default as Transfer } from './Transfer/Transfer.svelte';
78
+ export { default as Tree } from './Tree/Tree.svelte';
79
+ export { default as TreeSelect } from './TreeSelect/TreeSelect.svelte';
80
+ export { default as Upload } from './Upload/Upload.svelte';
81
+ export { default as Watermark } from './Watermark/Watermark.svelte';
82
+ // Utilities
83
+ export * from './Message/message';
84
+ export * from './Notification/notification';
85
+ export * from './MessageBox/messageBox';
@@ -0,0 +1,28 @@
1
+ export type FloatingPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
2
+ export type TransformOrigin = "top left" | "top center" | "top right" | "center left" | "center" | "center right" | "bottom left" | "bottom center" | "bottom right";
3
+ export type FloatingRectLike = Pick<DOMRect, "top" | "left" | "right" | "bottom" | "width" | "height">;
4
+ export interface FloatingPositionOptions {
5
+ placement: FloatingPlacement;
6
+ /** Gap between reference and floating element. */
7
+ offset?: number;
8
+ /** Minimum distance to viewport edge. */
9
+ padding?: number;
10
+ }
11
+ export interface FloatingSize {
12
+ width: number;
13
+ height: number;
14
+ }
15
+ export interface FloatingPositionResult {
16
+ x: number;
17
+ y: number;
18
+ placement: FloatingPlacement;
19
+ }
20
+ export declare const getOppositePlacement: (placement: FloatingPlacement) => FloatingPlacement;
21
+ export declare const getTransformOriginForPlacement: (placement: FloatingPlacement) => TransformOrigin;
22
+ /**
23
+ * Computes a fixed-position (viewport-relative) floating element position.
24
+ * It will:
25
+ * - flip on the main axis if the requested placement overflows
26
+ * - shift/clamp into the viewport on the cross axis
27
+ */
28
+ export declare const computeFixedFloatingPosition: (referenceRect: FloatingRectLike, floatingSize: FloatingSize, options: FloatingPositionOptions) => FloatingPositionResult;
@@ -0,0 +1,140 @@
1
+ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
2
+ const getSide = (placement) => {
3
+ if (placement.startsWith("top"))
4
+ return "top";
5
+ if (placement.startsWith("bottom"))
6
+ return "bottom";
7
+ if (placement.startsWith("left"))
8
+ return "left";
9
+ return "right";
10
+ };
11
+ export const getOppositePlacement = (placement) => {
12
+ if (placement.startsWith("top"))
13
+ return placement.replace("top", "bottom");
14
+ if (placement.startsWith("bottom"))
15
+ return placement.replace("bottom", "top");
16
+ if (placement.startsWith("left"))
17
+ return placement.replace("left", "right");
18
+ return placement.replace("right", "left");
19
+ };
20
+ export const getTransformOriginForPlacement = (placement) => {
21
+ switch (placement) {
22
+ case "top":
23
+ return "bottom center";
24
+ case "top-start":
25
+ return "bottom left";
26
+ case "top-end":
27
+ return "bottom right";
28
+ case "bottom":
29
+ return "top center";
30
+ case "bottom-start":
31
+ return "top left";
32
+ case "bottom-end":
33
+ return "top right";
34
+ case "left":
35
+ return "center right";
36
+ case "left-start":
37
+ return "top right";
38
+ case "left-end":
39
+ return "bottom right";
40
+ case "right":
41
+ return "center left";
42
+ case "right-start":
43
+ return "top left";
44
+ case "right-end":
45
+ return "bottom left";
46
+ default:
47
+ return "center";
48
+ }
49
+ };
50
+ const computeCoords = (placement, referenceRect, floatingSize, offset) => {
51
+ const midX = referenceRect.left + referenceRect.width / 2;
52
+ const midY = referenceRect.top + referenceRect.height / 2;
53
+ switch (placement) {
54
+ case "top":
55
+ return {
56
+ x: midX - floatingSize.width / 2,
57
+ y: referenceRect.top - offset - floatingSize.height,
58
+ };
59
+ case "top-start":
60
+ return { x: referenceRect.left, y: referenceRect.top - offset - floatingSize.height };
61
+ case "top-end":
62
+ return { x: referenceRect.right - floatingSize.width, y: referenceRect.top - offset - floatingSize.height };
63
+ case "bottom":
64
+ return { x: midX - floatingSize.width / 2, y: referenceRect.bottom + offset };
65
+ case "bottom-start":
66
+ return { x: referenceRect.left, y: referenceRect.bottom + offset };
67
+ case "bottom-end":
68
+ return { x: referenceRect.right - floatingSize.width, y: referenceRect.bottom + offset };
69
+ case "left":
70
+ return {
71
+ x: referenceRect.left - offset - floatingSize.width,
72
+ y: midY - floatingSize.height / 2,
73
+ };
74
+ case "left-start":
75
+ return { x: referenceRect.left - offset - floatingSize.width, y: referenceRect.top };
76
+ case "left-end":
77
+ return { x: referenceRect.left - offset - floatingSize.width, y: referenceRect.bottom - floatingSize.height };
78
+ case "right":
79
+ return { x: referenceRect.right + offset, y: midY - floatingSize.height / 2 };
80
+ case "right-start":
81
+ return { x: referenceRect.right + offset, y: referenceRect.top };
82
+ case "right-end":
83
+ return { x: referenceRect.right + offset, y: referenceRect.bottom - floatingSize.height };
84
+ default:
85
+ return { x: referenceRect.right + offset, y: referenceRect.top };
86
+ }
87
+ };
88
+ const mainAxisOverflow = (placement, coords, floatingSize, padding, viewportWidth, viewportHeight) => {
89
+ const side = getSide(placement);
90
+ switch (side) {
91
+ case "top":
92
+ return Math.max(0, padding - coords.y);
93
+ case "bottom":
94
+ return Math.max(0, coords.y + floatingSize.height - (viewportHeight - padding));
95
+ case "left":
96
+ return Math.max(0, padding - coords.x);
97
+ case "right":
98
+ return Math.max(0, coords.x + floatingSize.width - (viewportWidth - padding));
99
+ default:
100
+ return 0;
101
+ }
102
+ };
103
+ const shiftIntoViewport = (placement, coords, floatingSize, padding, viewportWidth, viewportHeight) => {
104
+ const minX = padding;
105
+ const maxX = Math.max(padding, viewportWidth - padding - floatingSize.width);
106
+ const minY = padding;
107
+ const maxY = Math.max(padding, viewportHeight - padding - floatingSize.height);
108
+ const side = getSide(placement);
109
+ // Always clamp cross-axis; clamp main axis only if it overflows.
110
+ if (side === "top" || side === "bottom") {
111
+ const x = clamp(coords.x, minX, maxX);
112
+ const y = coords.y < minY ? minY : coords.y + floatingSize.height > viewportHeight - padding ? maxY : coords.y;
113
+ return { x, y };
114
+ }
115
+ const y = clamp(coords.y, minY, maxY);
116
+ const x = coords.x < minX ? minX : coords.x + floatingSize.width > viewportWidth - padding ? maxX : coords.x;
117
+ return { x, y };
118
+ };
119
+ /**
120
+ * Computes a fixed-position (viewport-relative) floating element position.
121
+ * It will:
122
+ * - flip on the main axis if the requested placement overflows
123
+ * - shift/clamp into the viewport on the cross axis
124
+ */
125
+ export const computeFixedFloatingPosition = (referenceRect, floatingSize, options) => {
126
+ const offset = options.offset ?? 12;
127
+ const padding = options.padding ?? 8;
128
+ const viewportWidth = window.innerWidth;
129
+ const viewportHeight = window.innerHeight;
130
+ const requested = options.placement;
131
+ const requestedCoords = computeCoords(requested, referenceRect, floatingSize, offset);
132
+ const opposite = getOppositePlacement(requested);
133
+ const oppositeCoords = computeCoords(opposite, referenceRect, floatingSize, offset);
134
+ const requestedOverflow = mainAxisOverflow(requested, requestedCoords, floatingSize, padding, viewportWidth, viewportHeight);
135
+ const oppositeOverflow = mainAxisOverflow(opposite, oppositeCoords, floatingSize, padding, viewportWidth, viewportHeight);
136
+ const chosenPlacement = requestedOverflow <= oppositeOverflow ? requested : opposite;
137
+ const chosenCoords = chosenPlacement === requested ? requestedCoords : oppositeCoords;
138
+ const shifted = shiftIntoViewport(chosenPlacement, chosenCoords, floatingSize, padding, viewportWidth, viewportHeight);
139
+ return { x: shifted.x, y: shifted.y, placement: chosenPlacement };
140
+ };
@@ -0,0 +1,3 @@
1
+ import { type FlyParams, type ScaleParams, type TransitionConfig } from 'svelte/transition';
2
+ export declare const createDropdownTransition: (reduceMotion: boolean) => (node: Element, params?: FlyParams) => TransitionConfig;
3
+ export declare const createCenteredDropdownTransition: (reduceMotion: boolean) => (node: Element, params?: ScaleParams) => TransitionConfig;