@greypan/web-ui 1.4.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.CN.md +675 -233
  2. package/README.md +684 -238
  3. package/dist/_virtual/{_@oxc-project_runtime@0.138.0 → _@oxc-project_runtime@0.140.0}/helpers/esm/decorate.js +1 -1
  4. package/dist/assets/glass.js +6 -0
  5. package/dist/assets/glass.js.map +1 -0
  6. package/dist/assets/menu-portal.js +6 -0
  7. package/dist/assets/menu-portal.js.map +1 -0
  8. package/dist/assets/overlay-motion.js +6 -0
  9. package/dist/assets/overlay-motion.js.map +1 -0
  10. package/dist/assets/toast-containers.js +6 -0
  11. package/dist/assets/toast-containers.js.map +1 -0
  12. package/dist/components/avatar/index.d.ts +30 -0
  13. package/dist/components/avatar/index.js +112 -0
  14. package/dist/components/avatar/index.js.map +1 -0
  15. package/dist/components/avatar/style.js +6 -0
  16. package/dist/components/avatar/style.js.map +1 -0
  17. package/dist/components/back-top/index.d.ts +8 -7
  18. package/dist/components/back-top/index.js +37 -32
  19. package/dist/components/back-top/index.js.map +1 -1
  20. package/dist/components/back-top/style.js +1 -1
  21. package/dist/components/back-top/style.js.map +1 -1
  22. package/dist/components/badge/index.d.ts +27 -0
  23. package/dist/components/badge/index.js +121 -0
  24. package/dist/components/badge/index.js.map +1 -0
  25. package/dist/components/badge/style.js +6 -0
  26. package/dist/components/badge/style.js.map +1 -0
  27. package/dist/components/button/index.d.ts +16 -3
  28. package/dist/components/button/index.js +56 -17
  29. package/dist/components/button/index.js.map +1 -1
  30. package/dist/components/button/style.js +1 -1
  31. package/dist/components/button/style.js.map +1 -1
  32. package/dist/components/button-group/index.d.ts +16 -0
  33. package/dist/components/button-group/index.js +49 -0
  34. package/dist/components/button-group/index.js.map +1 -0
  35. package/dist/components/button-group/style.js +6 -0
  36. package/dist/components/button-group/style.js.map +1 -0
  37. package/dist/components/checkbox/index.d.ts +39 -0
  38. package/dist/components/checkbox/index.js +111 -0
  39. package/dist/components/checkbox/index.js.map +1 -0
  40. package/dist/components/checkbox/style.js +6 -0
  41. package/dist/components/checkbox/style.js.map +1 -0
  42. package/dist/components/checkbox-group/index.d.ts +35 -0
  43. package/dist/components/checkbox-group/index.js +99 -0
  44. package/dist/components/checkbox-group/index.js.map +1 -0
  45. package/dist/components/checkbox-group/style.js +6 -0
  46. package/dist/components/checkbox-group/style.js.map +1 -0
  47. package/dist/components/context-menu/index.d.ts +84 -0
  48. package/dist/components/context-menu/index.js +294 -0
  49. package/dist/components/context-menu/index.js.map +1 -0
  50. package/dist/components/context-menu/style.js +6 -0
  51. package/dist/components/context-menu/style.js.map +1 -0
  52. package/dist/components/dialog/index.d.ts +41 -0
  53. package/dist/components/dialog/index.js +118 -0
  54. package/dist/components/dialog/index.js.map +1 -0
  55. package/dist/components/dialog/style.js +6 -0
  56. package/dist/components/dialog/style.js.map +1 -0
  57. package/dist/components/drawer/index.d.ts +57 -0
  58. package/dist/components/drawer/index.js +172 -0
  59. package/dist/components/drawer/index.js.map +1 -0
  60. package/dist/components/drawer/style.js +6 -0
  61. package/dist/components/drawer/style.js.map +1 -0
  62. package/dist/components/dropdown-divider/index.d.ts +11 -0
  63. package/dist/components/dropdown-divider/index.js +18 -0
  64. package/dist/components/dropdown-divider/index.js.map +1 -0
  65. package/dist/components/dropdown-divider/style.js +6 -0
  66. package/dist/components/dropdown-divider/style.js.map +1 -0
  67. package/dist/components/dropdown-header/index.d.ts +11 -0
  68. package/dist/components/dropdown-header/index.js +18 -0
  69. package/dist/components/dropdown-header/index.js.map +1 -0
  70. package/dist/components/dropdown-header/style.js +6 -0
  71. package/dist/components/dropdown-header/style.js.map +1 -0
  72. package/dist/components/dropdown-item/index.d.ts +17 -0
  73. package/dist/components/dropdown-item/index.js +44 -0
  74. package/dist/components/dropdown-item/index.js.map +1 -0
  75. package/dist/components/dropdown-item/style.js +6 -0
  76. package/dist/components/dropdown-item/style.js.map +1 -0
  77. package/dist/components/dropdown-menu/index.d.ts +87 -0
  78. package/dist/components/dropdown-menu/index.js +324 -0
  79. package/dist/components/dropdown-menu/index.js.map +1 -0
  80. package/dist/components/dropdown-menu/style.js +6 -0
  81. package/dist/components/dropdown-menu/style.js.map +1 -0
  82. package/dist/components/empty/index.d.ts +23 -0
  83. package/dist/components/empty/index.js +83 -0
  84. package/dist/components/empty/index.js.map +1 -0
  85. package/dist/components/empty/style.js +6 -0
  86. package/dist/components/empty/style.js.map +1 -0
  87. package/dist/components/icon/index.d.ts +16 -0
  88. package/dist/components/icon/index.js +45 -0
  89. package/dist/components/icon/index.js.map +1 -0
  90. package/dist/components/icon/style.js +6 -0
  91. package/dist/components/icon/style.js.map +1 -0
  92. package/dist/components/index.d.ts +34 -0
  93. package/dist/components/index.js +37 -0
  94. package/dist/components/input/index.d.ts +47 -0
  95. package/dist/components/input/index.js +140 -0
  96. package/dist/components/input/index.js.map +1 -0
  97. package/dist/components/input/style.js +6 -0
  98. package/dist/components/input/style.js.map +1 -0
  99. package/dist/components/input-number/index.d.ts +52 -0
  100. package/dist/components/input-number/index.js +178 -0
  101. package/dist/components/input-number/index.js.map +1 -0
  102. package/dist/components/input-number/style.js +6 -0
  103. package/dist/components/input-number/style.js.map +1 -0
  104. package/dist/components/layout/index.d.ts +7 -1
  105. package/dist/components/layout/index.js +24 -21
  106. package/dist/components/layout/index.js.map +1 -1
  107. package/dist/components/layout/style.js +1 -1
  108. package/dist/components/layout/style.js.map +1 -1
  109. package/dist/components/option/index.d.ts +33 -0
  110. package/dist/components/option/index.js +78 -0
  111. package/dist/components/option/index.js.map +1 -0
  112. package/dist/components/option/style.js +6 -0
  113. package/dist/components/option/style.js.map +1 -0
  114. package/dist/components/popover/index.d.ts +69 -0
  115. package/dist/components/popover/index.js +231 -0
  116. package/dist/components/popover/index.js.map +1 -0
  117. package/dist/components/popover/style.js +6 -0
  118. package/dist/components/popover/style.js.map +1 -0
  119. package/dist/components/radio/index.d.ts +39 -0
  120. package/dist/components/radio/index.js +105 -0
  121. package/dist/components/radio/index.js.map +1 -0
  122. package/dist/components/radio/style.js +6 -0
  123. package/dist/components/radio/style.js.map +1 -0
  124. package/dist/components/radio-group/index.d.ts +35 -0
  125. package/dist/components/radio-group/index.js +87 -0
  126. package/dist/components/radio-group/index.js.map +1 -0
  127. package/dist/components/radio-group/style.js +6 -0
  128. package/dist/components/radio-group/style.js.map +1 -0
  129. package/dist/components/segmented/index.d.ts +33 -0
  130. package/dist/components/segmented/index.js +95 -0
  131. package/dist/components/segmented/index.js.map +1 -0
  132. package/dist/components/segmented/style.js +6 -0
  133. package/dist/components/segmented/style.js.map +1 -0
  134. package/dist/components/segmented-trigger/index.d.ts +18 -0
  135. package/dist/components/segmented-trigger/index.js +52 -0
  136. package/dist/components/segmented-trigger/index.js.map +1 -0
  137. package/dist/components/segmented-trigger/style.js +6 -0
  138. package/dist/components/segmented-trigger/style.js.map +1 -0
  139. package/dist/components/select/index.d.ts +80 -0
  140. package/dist/components/select/index.js +291 -0
  141. package/dist/components/select/index.js.map +1 -0
  142. package/dist/components/select/style.js +6 -0
  143. package/dist/components/select/style.js.map +1 -0
  144. package/dist/components/slider/index.d.ts +61 -0
  145. package/dist/components/slider/index.js +219 -0
  146. package/dist/components/slider/index.js.map +1 -0
  147. package/dist/components/slider/style.js +6 -0
  148. package/dist/components/slider/style.js.map +1 -0
  149. package/dist/components/spinner/index.d.ts +32 -0
  150. package/dist/components/spinner/index.js +52 -0
  151. package/dist/components/spinner/index.js.map +1 -0
  152. package/dist/components/spinner/style.js +6 -0
  153. package/dist/components/spinner/style.js.map +1 -0
  154. package/dist/components/svg-draw-lines/index.d.ts +30 -9
  155. package/dist/components/svg-draw-lines/index.js +87 -62
  156. package/dist/components/svg-draw-lines/index.js.map +1 -1
  157. package/dist/components/svg-draw-lines/style.js +1 -1
  158. package/dist/components/svg-draw-lines/style.js.map +1 -1
  159. package/dist/components/switch/index.d.ts +37 -0
  160. package/dist/components/switch/index.js +117 -0
  161. package/dist/components/switch/index.js.map +1 -0
  162. package/dist/components/switch/style.js +6 -0
  163. package/dist/components/switch/style.js.map +1 -0
  164. package/dist/components/textarea/index.d.ts +65 -0
  165. package/dist/components/textarea/index.js +204 -0
  166. package/dist/components/textarea/index.js.map +1 -0
  167. package/dist/components/textarea/style.js +6 -0
  168. package/dist/components/textarea/style.js.map +1 -0
  169. package/dist/components/theme/index.d.ts +29 -0
  170. package/dist/components/theme/index.js +78 -0
  171. package/dist/components/theme/index.js.map +1 -0
  172. package/dist/components/theme/style.js +6 -0
  173. package/dist/components/theme/style.js.map +1 -0
  174. package/dist/components/toast/index.d.ts +3 -0
  175. package/dist/components/toast/index.js +3 -0
  176. package/dist/components/toast/manager.d.ts +15 -0
  177. package/dist/components/toast/manager.js +98 -0
  178. package/dist/components/toast/manager.js.map +1 -0
  179. package/dist/components/toast/style.js +6 -0
  180. package/dist/components/toast/style.js.map +1 -0
  181. package/dist/components/toast/toast.d.ts +42 -0
  182. package/dist/components/toast/toast.js +122 -0
  183. package/dist/components/toast/toast.js.map +1 -0
  184. package/dist/components/toast/types.d.ts +23 -0
  185. package/dist/components/tooltip/index.d.ts +59 -0
  186. package/dist/components/tooltip/index.js +190 -0
  187. package/dist/components/tooltip/index.js.map +1 -0
  188. package/dist/components/tooltip/style.js +6 -0
  189. package/dist/components/tooltip/style.js.map +1 -0
  190. package/dist/icons/generated/heroicons-check-16-solid.d.ts +6 -0
  191. package/dist/icons/generated/heroicons-check-16-solid.js +10 -0
  192. package/dist/icons/generated/heroicons-check-16-solid.js.map +1 -0
  193. package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts +6 -0
  194. package/dist/icons/generated/heroicons-x-mark-16-solid.js +10 -0
  195. package/dist/icons/generated/heroicons-x-mark-16-solid.js.map +1 -0
  196. package/dist/icons/generated/jam-close-circle-f.d.ts +8 -0
  197. package/dist/icons/generated/jam-close-circle-f.js +12 -0
  198. package/dist/icons/generated/jam-close-circle-f.js.map +1 -0
  199. package/dist/icons/generated/jam-volume.d.ts +8 -0
  200. package/dist/icons/generated/jam-watch-f.d.ts +8 -0
  201. package/dist/icons/generated/lucide-arrow-down-to-line.d.ts +6 -0
  202. package/dist/icons/generated/lucide-arrow-down-to-line.js +10 -0
  203. package/dist/icons/generated/lucide-arrow-down-to-line.js.map +1 -0
  204. package/dist/icons/generated/lucide-arrow-up-to-line.d.ts +6 -0
  205. package/dist/icons/generated/lucide-arrow-up-to-line.js +10 -0
  206. package/dist/icons/generated/lucide-arrow-up-to-line.js.map +1 -0
  207. package/dist/icons/generated/lucide-bell.d.ts +6 -0
  208. package/dist/icons/generated/lucide-bell.js +10 -0
  209. package/dist/icons/generated/lucide-bell.js.map +1 -0
  210. package/dist/icons/generated/lucide-check.d.ts +6 -0
  211. package/dist/icons/generated/lucide-check.js +10 -0
  212. package/dist/icons/generated/lucide-check.js.map +1 -0
  213. package/dist/icons/generated/lucide-chevron-down.d.ts +6 -0
  214. package/dist/icons/generated/lucide-chevron-down.js +10 -0
  215. package/dist/icons/generated/lucide-chevron-down.js.map +1 -0
  216. package/dist/icons/generated/lucide-chevron-left.d.ts +6 -0
  217. package/dist/icons/generated/lucide-chevron-left.js +10 -0
  218. package/dist/icons/generated/lucide-chevron-left.js.map +1 -0
  219. package/dist/icons/generated/lucide-chevron-right.d.ts +6 -0
  220. package/dist/icons/generated/lucide-chevron-right.js +10 -0
  221. package/dist/icons/generated/lucide-chevron-right.js.map +1 -0
  222. package/dist/icons/generated/lucide-chevron-up.d.ts +6 -0
  223. package/dist/icons/generated/lucide-chevron-up.js +10 -0
  224. package/dist/icons/generated/lucide-chevron-up.js.map +1 -0
  225. package/dist/icons/generated/lucide-circle-alert.d.ts +6 -0
  226. package/dist/icons/generated/lucide-circle-alert.js +10 -0
  227. package/dist/icons/generated/lucide-circle-alert.js.map +1 -0
  228. package/dist/icons/generated/lucide-clipboard-paste.d.ts +6 -0
  229. package/dist/icons/generated/lucide-clipboard-paste.js +10 -0
  230. package/dist/icons/generated/lucide-clipboard-paste.js.map +1 -0
  231. package/dist/icons/generated/lucide-copy.d.ts +6 -0
  232. package/dist/icons/generated/lucide-copy.js +10 -0
  233. package/dist/icons/generated/lucide-copy.js.map +1 -0
  234. package/dist/icons/generated/lucide-download.d.ts +6 -0
  235. package/dist/icons/generated/lucide-download.js +10 -0
  236. package/dist/icons/generated/lucide-download.js.map +1 -0
  237. package/dist/icons/generated/lucide-file.d.ts +6 -0
  238. package/dist/icons/generated/lucide-file.js +10 -0
  239. package/dist/icons/generated/lucide-file.js.map +1 -0
  240. package/dist/icons/generated/lucide-folder.d.ts +6 -0
  241. package/dist/icons/generated/lucide-folder.js +10 -0
  242. package/dist/icons/generated/lucide-folder.js.map +1 -0
  243. package/dist/icons/generated/lucide-globe.d.ts +6 -0
  244. package/dist/icons/generated/lucide-globe.js +10 -0
  245. package/dist/icons/generated/lucide-globe.js.map +1 -0
  246. package/dist/icons/generated/lucide-heart.d.ts +6 -0
  247. package/dist/icons/generated/lucide-heart.js +10 -0
  248. package/dist/icons/generated/lucide-heart.js.map +1 -0
  249. package/dist/icons/generated/lucide-image.d.ts +6 -0
  250. package/dist/icons/generated/lucide-image.js +10 -0
  251. package/dist/icons/generated/lucide-image.js.map +1 -0
  252. package/dist/icons/generated/lucide-inbox.d.ts +6 -0
  253. package/dist/icons/generated/lucide-inbox.js +10 -0
  254. package/dist/icons/generated/lucide-inbox.js.map +1 -0
  255. package/dist/icons/generated/lucide-info.d.ts +6 -0
  256. package/dist/icons/generated/lucide-info.js +10 -0
  257. package/dist/icons/generated/lucide-info.js.map +1 -0
  258. package/dist/icons/generated/lucide-loader-circle.d.ts +6 -0
  259. package/dist/icons/generated/lucide-loader-circle.js +10 -0
  260. package/dist/icons/generated/lucide-loader-circle.js.map +1 -0
  261. package/dist/icons/generated/lucide-mail.d.ts +6 -0
  262. package/dist/icons/generated/lucide-mail.js +10 -0
  263. package/dist/icons/generated/lucide-mail.js.map +1 -0
  264. package/dist/icons/generated/lucide-minus.d.ts +6 -0
  265. package/dist/icons/generated/lucide-minus.js +10 -0
  266. package/dist/icons/generated/lucide-minus.js.map +1 -0
  267. package/dist/icons/generated/lucide-plus.d.ts +6 -0
  268. package/dist/icons/generated/lucide-plus.js +10 -0
  269. package/dist/icons/generated/lucide-plus.js.map +1 -0
  270. package/dist/icons/generated/lucide-printer.d.ts +6 -0
  271. package/dist/icons/generated/lucide-printer.js +10 -0
  272. package/dist/icons/generated/lucide-printer.js.map +1 -0
  273. package/dist/icons/generated/lucide-redo-2.d.ts +6 -0
  274. package/dist/icons/generated/lucide-redo-2.js +10 -0
  275. package/dist/icons/generated/lucide-redo-2.js.map +1 -0
  276. package/dist/icons/generated/lucide-scissors.d.ts +6 -0
  277. package/dist/icons/generated/lucide-scissors.js +10 -0
  278. package/dist/icons/generated/lucide-scissors.js.map +1 -0
  279. package/dist/icons/generated/lucide-search.d.ts +6 -0
  280. package/dist/icons/generated/lucide-search.js +10 -0
  281. package/dist/icons/generated/lucide-search.js.map +1 -0
  282. package/dist/icons/generated/lucide-settings.d.ts +6 -0
  283. package/dist/icons/generated/lucide-settings.js +10 -0
  284. package/dist/icons/generated/lucide-settings.js.map +1 -0
  285. package/dist/icons/generated/lucide-star.d.ts +6 -0
  286. package/dist/icons/generated/lucide-star.js +10 -0
  287. package/dist/icons/generated/lucide-star.js.map +1 -0
  288. package/dist/icons/generated/lucide-trash-2.d.ts +6 -0
  289. package/dist/icons/generated/lucide-trash-2.js +10 -0
  290. package/dist/icons/generated/lucide-trash-2.js.map +1 -0
  291. package/dist/icons/generated/lucide-triangle-alert.d.ts +6 -0
  292. package/dist/icons/generated/lucide-triangle-alert.js +10 -0
  293. package/dist/icons/generated/lucide-triangle-alert.js.map +1 -0
  294. package/dist/icons/generated/lucide-undo-2.d.ts +6 -0
  295. package/dist/icons/generated/lucide-undo-2.js +10 -0
  296. package/dist/icons/generated/lucide-undo-2.js.map +1 -0
  297. package/dist/icons/generated/lucide-upload.d.ts +6 -0
  298. package/dist/icons/generated/lucide-upload.js +10 -0
  299. package/dist/icons/generated/lucide-upload.js.map +1 -0
  300. package/dist/icons/generated/lucide-user.d.ts +6 -0
  301. package/dist/icons/generated/lucide-user.js +10 -0
  302. package/dist/icons/generated/lucide-user.js.map +1 -0
  303. package/dist/icons/generated/lucide-x.d.ts +6 -0
  304. package/dist/icons/generated/lucide-x.js +10 -0
  305. package/dist/icons/generated/lucide-x.js.map +1 -0
  306. package/dist/icons/generated/ooui-check.d.ts +6 -0
  307. package/dist/icons/generated/radix-icons-check.d.ts +6 -0
  308. package/dist/icons/generated/si-check-alt-fill.d.ts +6 -0
  309. package/dist/icons/index.d.ts +38 -0
  310. package/dist/icons/index.js +39 -0
  311. package/dist/node_modules/.pnpm/@floating-ui_core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.js +248 -0
  312. package/dist/node_modules/.pnpm/@floating-ui_core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  313. package/dist/node_modules/.pnpm/@floating-ui_dom@1.8.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +324 -0
  314. package/dist/node_modules/.pnpm/@floating-ui_dom@1.8.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  315. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +99 -0
  316. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  317. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +102 -0
  318. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  319. package/dist/shared/menu-portal/menu-portal.js +11 -0
  320. package/dist/shared/menu-portal/menu-portal.js.map +1 -0
  321. package/dist/shared/normalize/index.js +11 -0
  322. package/dist/shared/normalize/index.js.map +1 -0
  323. package/dist/shared/overlay/overlay.js +68 -0
  324. package/dist/shared/overlay/overlay.js.map +1 -0
  325. package/dist/shared/overlay/portal.js +29 -0
  326. package/dist/shared/overlay/portal.js.map +1 -0
  327. package/dist/shared/overlay/presence.js +34 -0
  328. package/dist/shared/overlay/presence.js.map +1 -0
  329. package/dist/shared/property-converters/boolean-with-false-string.js +9 -0
  330. package/dist/shared/property-converters/boolean-with-false-string.js.map +1 -0
  331. package/dist/shared/scroll-lock/scroll-lock.js +12 -0
  332. package/dist/shared/scroll-lock/scroll-lock.js.map +1 -0
  333. package/dist/shared/theme/overlay-root.js +28 -0
  334. package/dist/shared/theme/overlay-root.js.map +1 -0
  335. package/dist/shared/theme/theme-scope.js +27 -0
  336. package/dist/shared/theme/theme-scope.js.map +1 -0
  337. package/dist/types/iconify.d.ts +1 -0
  338. package/dist/types/react.d.ts +35 -9
  339. package/dist/types/utils.d.ts +14 -0
  340. package/dist/types/vue.d.ts +47 -7
  341. package/package.json +30 -14
  342. package/dist/index.d.ts +0 -4
  343. package/dist/index.js +0 -5
@@ -0,0 +1,34 @@
1
+ export * from './avatar';
2
+ export * from './back-top';
3
+ export * from './badge';
4
+ export * from './button';
5
+ export * from './button-group';
6
+ export * from './checkbox';
7
+ export * from './checkbox-group';
8
+ export * from './context-menu';
9
+ export * from './dialog';
10
+ export * from './drawer';
11
+ export * from './dropdown-divider';
12
+ export * from './dropdown-header';
13
+ export * from './dropdown-item';
14
+ export * from './dropdown-menu';
15
+ export * from './empty';
16
+ export * from './icon';
17
+ export * from './input';
18
+ export * from './input-number';
19
+ export * from './layout';
20
+ export * from './option';
21
+ export * from './popover';
22
+ export * from './radio';
23
+ export * from './radio-group';
24
+ export * from './segmented';
25
+ export * from './segmented-trigger';
26
+ export * from './select';
27
+ export * from './slider';
28
+ export * from './spinner';
29
+ export * from './textarea';
30
+ export * from './theme';
31
+ export * from './toast';
32
+ export * from './svg-draw-lines';
33
+ export * from './switch';
34
+ export * from './tooltip';
@@ -0,0 +1,37 @@
1
+ import { WebUiIcon as e } from "./icon/index.js";
2
+ import { WebUiAvatar as t } from "./avatar/index.js";
3
+ import { WebUiButton as n } from "./button/index.js";
4
+ import { WebUiBackTop as r } from "./back-top/index.js";
5
+ import { WebUiBadge as i } from "./badge/index.js";
6
+ import { WebUiButtonGroup as a } from "./button-group/index.js";
7
+ import { WebUiCheckbox as o } from "./checkbox/index.js";
8
+ import { WebUiCheckboxGroup as s } from "./checkbox-group/index.js";
9
+ import { WebUiDropdownDivider as c } from "./dropdown-divider/index.js";
10
+ import { WebUiDropdownHeader as l } from "./dropdown-header/index.js";
11
+ import { WebUiDropdownItem as u } from "./dropdown-item/index.js";
12
+ import { WebUiContextMenu as d } from "./context-menu/index.js";
13
+ import { WebUiDialog as f } from "./dialog/index.js";
14
+ import { WebUiDrawer as p } from "./drawer/index.js";
15
+ import { WebUiDropdownMenu as m } from "./dropdown-menu/index.js";
16
+ import { WebUiEmpty as h } from "./empty/index.js";
17
+ import { WebUiInput as g } from "./input/index.js";
18
+ import { WebUiInputNumber as _ } from "./input-number/index.js";
19
+ import { WebUiLayout as v } from "./layout/index.js";
20
+ import { WebUiOption as y } from "./option/index.js";
21
+ import { WebUiPopover as b } from "./popover/index.js";
22
+ import { WebUiRadio as x } from "./radio/index.js";
23
+ import { WebUiRadioGroup as S } from "./radio-group/index.js";
24
+ import { WebUiSegmented as C } from "./segmented/index.js";
25
+ import { WebUiSegmentedTrigger as w } from "./segmented-trigger/index.js";
26
+ import { WebUiSelect as T } from "./select/index.js";
27
+ import { WebUiSlider as E } from "./slider/index.js";
28
+ import { WebUiSpinner as D, WebUiSpinnerElement as O } from "./spinner/index.js";
29
+ import { WebUiTextarea as k } from "./textarea/index.js";
30
+ import { WebUiTheme as A } from "./theme/index.js";
31
+ import { toast as j } from "./toast/manager.js";
32
+ import { WebUiToast as M } from "./toast/toast.js";
33
+ import "./toast/index.js";
34
+ import { WebUiSvgDrawLines as N } from "./svg-draw-lines/index.js";
35
+ import { WebUiSwitch as P } from "./switch/index.js";
36
+ import { WebUiTooltip as F } from "./tooltip/index.js";
37
+ export { t as WebUiAvatar, r as WebUiBackTop, i as WebUiBadge, n as WebUiButton, a as WebUiButtonGroup, o as WebUiCheckbox, s as WebUiCheckboxGroup, d as WebUiContextMenu, f as WebUiDialog, p as WebUiDrawer, c as WebUiDropdownDivider, l as WebUiDropdownHeader, u as WebUiDropdownItem, m as WebUiDropdownMenu, h as WebUiEmpty, e as WebUiIcon, g as WebUiInput, _ as WebUiInputNumber, v as WebUiLayout, y as WebUiOption, b as WebUiPopover, x as WebUiRadio, S as WebUiRadioGroup, C as WebUiSegmented, w as WebUiSegmentedTrigger, T as WebUiSelect, E as WebUiSlider, D as WebUiSpinner, O as WebUiSpinnerElement, N as WebUiSvgDrawLines, P as WebUiSwitch, k as WebUiTextarea, A as WebUiTheme, M as WebUiToast, F as WebUiTooltip, j as toast };
@@ -0,0 +1,47 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class WebUiInput extends LitElement {
3
+ static formAssociated: boolean;
4
+ static styles: import('lit').CSSResult[];
5
+ type: string;
6
+ placeholder: string;
7
+ name: string;
8
+ disabled: boolean;
9
+ required: boolean;
10
+ clearable: boolean;
11
+ full: boolean;
12
+ borderless: boolean;
13
+ private _value;
14
+ private _focused;
15
+ private _formDisabled;
16
+ private _hasPrefix;
17
+ private _hasSuffix;
18
+ private _internals?;
19
+ get value(): string;
20
+ set value(v: string);
21
+ private get _isDisabled();
22
+ connectedCallback(): void;
23
+ updated(changed: Map<string, unknown>): void;
24
+ formResetCallback(): void;
25
+ formDisabledCallback(disabled: boolean): void;
26
+ formStateRestoreCallback(state: string | File | FormData | null): void;
27
+ private _syncValidity;
28
+ private _onSlotChange;
29
+ private handleInput;
30
+ private handleFocus;
31
+ private handleBlur;
32
+ private handleClear;
33
+ private preventMouseDownBlur;
34
+ private focusInput;
35
+ render(): import('lit').TemplateResult<1>;
36
+ readonly $events: {
37
+ input: Event;
38
+ change: Event;
39
+ focus: FocusEvent;
40
+ blur: FocusEvent;
41
+ };
42
+ }
43
+ declare global {
44
+ interface HTMLElementTagNameMap {
45
+ 'web-ui-input': WebUiInput;
46
+ }
47
+ }
@@ -0,0 +1,140 @@
1
+ import e from "../../_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/decorate.js";
2
+ import "../icon/index.js";
3
+ import t from "../../assets/glass.js";
4
+ import n from "../../icons/generated/jam-close-circle-f.js";
5
+ import r from "./style.js";
6
+ import { LitElement as i, html as a, unsafeCSS as o } from "lit";
7
+ import { customElement as s, property as c, state as l } from "lit/decorators.js";
8
+ import { classMap as u } from "lit/directives/class-map.js";
9
+ //#region src/components/input/index.ts
10
+ var d = class extends i {
11
+ constructor(...e) {
12
+ super(...e), this.type = "text", this.placeholder = "", this.name = "", this.disabled = !1, this.required = !1, this.clearable = !1, this.full = !1, this.borderless = !1, this._value = "", this._focused = !1, this._formDisabled = !1, this._hasPrefix = !1, this._hasSuffix = !1;
13
+ }
14
+ static {
15
+ this.formAssociated = !0;
16
+ }
17
+ static {
18
+ this.styles = [o(t), o(r)];
19
+ }
20
+ get value() {
21
+ return this._value;
22
+ }
23
+ set value(e) {
24
+ let t = this._value;
25
+ this._value = e, this._internals?.setFormValue?.(e), this.requestUpdate("value", t);
26
+ }
27
+ get _isDisabled() {
28
+ return this.disabled || this._formDisabled;
29
+ }
30
+ connectedCallback() {
31
+ super.connectedCallback(), this._internals ||= this.attachInternals(), this._internals.setFormValue?.(this._value);
32
+ }
33
+ updated(e) {
34
+ if (e.has("_value")) {
35
+ let e = this.shadowRoot?.querySelector("input");
36
+ e && e.value !== this._value && (e.value = this._value);
37
+ }
38
+ this._syncValidity(), this.toggleAttribute("focused", this._focused);
39
+ }
40
+ formResetCallback() {
41
+ this.value = this.getAttribute("value") || "";
42
+ }
43
+ formDisabledCallback(e) {
44
+ this._formDisabled = e;
45
+ }
46
+ formStateRestoreCallback(e) {
47
+ typeof e == "string" && (this.value = e);
48
+ }
49
+ _syncValidity() {
50
+ let e = this.shadowRoot?.querySelector("input");
51
+ if (!this._internals || !e || typeof this._internals.setValidity != "function") return;
52
+ if (this._isDisabled || e.validity.valid) {
53
+ this._internals.setValidity({});
54
+ return;
55
+ }
56
+ let t = {};
57
+ e.validity.valueMissing && (t.valueMissing = !0), e.validity.typeMismatch && (t.typeMismatch = !0), e.validity.patternMismatch && (t.patternMismatch = !0), e.validity.tooLong && (t.tooLong = !0), e.validity.tooShort && (t.tooShort = !0), this._internals.setValidity(t, e.validationMessage, e);
58
+ }
59
+ _onSlotChange(e) {
60
+ if (!(e.target instanceof HTMLSlotElement)) return;
61
+ let t = e.target, n = t.assignedElements().length > 0;
62
+ t.name === "prefix" && (this._hasPrefix = n), t.name === "suffix" && (this._hasSuffix = n);
63
+ }
64
+ handleInput(e) {
65
+ e.target instanceof HTMLInputElement && (this._value = e.target.value, this._internals?.setFormValue?.(this._value), this._syncValidity());
66
+ }
67
+ handleFocus() {
68
+ this._isDisabled || (this._focused = !0);
69
+ }
70
+ handleBlur() {
71
+ this._focused = !1;
72
+ }
73
+ handleClear() {
74
+ this._isDisabled || (this._value = "", this._internals?.setFormValue?.(""), this._syncValidity(), this.dispatchEvent(new Event("input", {
75
+ bubbles: !0,
76
+ composed: !0
77
+ })));
78
+ }
79
+ preventMouseDownBlur(e) {
80
+ e.preventDefault();
81
+ }
82
+ focusInput() {
83
+ this._isDisabled || this.shadowRoot?.querySelector("input")?.focus();
84
+ }
85
+ render() {
86
+ let e = this.clearable && this._value;
87
+ return a`
88
+ <div class="wui-glass wui-input-inner" @click=${this.focusInput}>
89
+ <slot name="prefix" class=${u({ empty: !this._hasPrefix })} @slotchange=${this._onSlotChange}></slot>
90
+ <input
91
+ type=${this.type}
92
+ placeholder=${this.placeholder}
93
+ name=${this.name}
94
+ ?disabled=${this._isDisabled}
95
+ ?required=${this.required}
96
+ .value=${this._value}
97
+ @input=${this.handleInput}
98
+ @focus=${this.handleFocus}
99
+ @blur=${this.handleBlur}
100
+ />
101
+ ${e ? a`<span class="clear" @pointerdown=${this.preventMouseDownBlur} @click=${this.handleClear}>
102
+ <web-ui-icon .icon=${n}></web-ui-icon>
103
+ </span>` : ""}
104
+ <slot name="suffix" class=${u({ empty: !this._hasSuffix })} @slotchange=${this._onSlotChange}></slot>
105
+ </div>
106
+ `;
107
+ }
108
+ };
109
+ e([c({
110
+ type: String,
111
+ reflect: !0
112
+ })], d.prototype, "type", void 0), e([c({
113
+ type: String,
114
+ reflect: !0
115
+ })], d.prototype, "placeholder", void 0), e([c({
116
+ type: String,
117
+ reflect: !0
118
+ })], d.prototype, "name", void 0), e([c({
119
+ type: Boolean,
120
+ reflect: !0
121
+ })], d.prototype, "disabled", void 0), e([c({
122
+ type: Boolean,
123
+ reflect: !0
124
+ })], d.prototype, "required", void 0), e([c({
125
+ type: Boolean,
126
+ reflect: !0
127
+ })], d.prototype, "clearable", void 0), e([c({
128
+ type: Boolean,
129
+ reflect: !0
130
+ })], d.prototype, "full", void 0), e([c({
131
+ type: Boolean,
132
+ reflect: !0
133
+ })], d.prototype, "borderless", void 0), e([l()], d.prototype, "_value", void 0), e([l()], d.prototype, "_focused", void 0), e([l()], d.prototype, "_formDisabled", void 0), e([l()], d.prototype, "_hasPrefix", void 0), e([l()], d.prototype, "_hasSuffix", void 0), e([c({
134
+ type: String,
135
+ reflect: !0
136
+ })], d.prototype, "value", null), d = e([s("web-ui-input")], d);
137
+ //#endregion
138
+ export { d as WebUiInput };
139
+
140
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/input/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n// web-ui-icon 必须注册(Rolldown tree-shake 副作用 import,引用类名阻止删除)\nimport '@/components/icon'\nimport glass from '@/assets/glass.css?inline'\nimport { jamCloseCircleF } from '@/icons'\n\nimport style from './style.css?inline'\n\n@customElement('web-ui-input')\nexport class WebUiInput extends LitElement {\n static formAssociated = true\n static override styles = [unsafeCSS(glass), unsafeCSS(style)]\n\n @property({ type: String, reflect: true }) type = 'text'\n @property({ type: String, reflect: true }) placeholder = ''\n @property({ type: String, reflect: true }) name = ''\n @property({ type: Boolean, reflect: true }) disabled = false\n @property({ type: Boolean, reflect: true }) required = false\n @property({ type: Boolean, reflect: true }) clearable = false\n @property({ type: Boolean, reflect: true }) full = false\n @property({ type: Boolean, reflect: true }) borderless = false\n\n @state() private _value = ''\n @state() private _focused = false\n @state() private _formDisabled = false\n @state() private _hasPrefix = false\n @state() private _hasSuffix = false\n\n private _internals?: ElementInternals\n\n @property({ type: String, reflect: true })\n get value(): string {\n return this._value\n }\n\n set value(v: string) {\n const old = this._value\n this._value = v\n this._internals?.setFormValue?.(v)\n this.requestUpdate('value', old)\n }\n\n private get _isDisabled(): boolean {\n return this.disabled || this._formDisabled\n }\n\n override connectedCallback() {\n super.connectedCallback()\n if (!this._internals) {\n this._internals = this.attachInternals()\n }\n this._internals.setFormValue?.(this._value)\n }\n\n override updated(changed: Map<string, unknown>) {\n if (changed.has('_value')) {\n const input = this.shadowRoot?.querySelector('input')\n if (input && input.value !== this._value) {\n input.value = this._value\n }\n }\n this._syncValidity()\n this.toggleAttribute('focused', this._focused)\n }\n\n formResetCallback() {\n this.value = this.getAttribute('value') || ''\n }\n\n formDisabledCallback(disabled: boolean) {\n this._formDisabled = disabled\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n if (typeof state === 'string') this.value = state\n }\n\n private _syncValidity() {\n const input = this.shadowRoot?.querySelector('input')\n if (!this._internals || !input || typeof this._internals.setValidity !== 'function') return\n if (this._isDisabled || input.validity.valid) {\n this._internals.setValidity({})\n return\n }\n\n const flags: ValidityStateFlags = {}\n if (input.validity.valueMissing) flags.valueMissing = true\n if (input.validity.typeMismatch) flags.typeMismatch = true\n if (input.validity.patternMismatch) flags.patternMismatch = true\n if (input.validity.tooLong) flags.tooLong = true\n if (input.validity.tooShort) flags.tooShort = true\n this._internals.setValidity(flags, input.validationMessage, input)\n }\n\n private _onSlotChange(e: Event) {\n if (!(e.target instanceof HTMLSlotElement)) return\n const slot = e.target\n const hasContent = slot.assignedElements().length > 0\n if (slot.name === 'prefix') this._hasPrefix = hasContent\n if (slot.name === 'suffix') this._hasSuffix = hasContent\n }\n\n private handleInput(e: Event) {\n if (!(e.target instanceof HTMLInputElement)) return\n this._value = e.target.value\n this._internals?.setFormValue?.(this._value)\n this._syncValidity()\n }\n\n private handleFocus() {\n if (!this._isDisabled) this._focused = true\n }\n\n private handleBlur() {\n this._focused = false\n }\n\n private handleClear() {\n if (this._isDisabled) return\n this._value = ''\n this._internals?.setFormValue?.('')\n this._syncValidity()\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }))\n }\n\n private preventMouseDownBlur(e: Event) {\n e.preventDefault()\n }\n\n private focusInput() {\n if (this._isDisabled) return\n this.shadowRoot?.querySelector('input')?.focus()\n }\n\n override render() {\n const showClear = this.clearable && this._value\n\n return html`\n <div class=\"wui-glass wui-input-inner\" @click=${this.focusInput}>\n <slot name=\"prefix\" class=${classMap({ empty: !this._hasPrefix })} @slotchange=${this._onSlotChange}></slot>\n <input\n type=${this.type}\n placeholder=${this.placeholder}\n name=${this.name}\n ?disabled=${this._isDisabled}\n ?required=${this.required}\n .value=${this._value}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${showClear\n ? html`<span class=\"clear\" @pointerdown=${this.preventMouseDownBlur} @click=${this.handleClear}>\n <web-ui-icon .icon=${jamCloseCircleF}></web-ui-icon>\n </span>`\n : ''}\n <slot name=\"suffix\" class=${classMap({ empty: !this._hasSuffix })} @slotchange=${this._onSlotChange}></slot>\n </div>\n `\n }\n\n declare readonly $events: {\n input: Event\n change: Event\n focus: FocusEvent\n blur: FocusEvent\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-input': WebUiInput\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/input/style.css?inline
2
+ var e = "*,:before,:after{box-sizing:border-box}:host{display:inline-block}:host([disabled]){cursor:not-allowed;opacity:.4}.wui-input-inner{box-sizing:border-box;width:var(--wui-input-width,200px);min-width:var(--wui-button-size,40px);height:var(--wui-button-size,40px);border-radius:2147483647px;align-items:center;gap:8px;padding:0 16px;display:flex;position:relative}:host([full]){display:block}:host([full]) .wui-input-inner{width:100%}:host([borderless]) .wui-input-inner{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:none;padding:0}:host([focused]) .wui-input-inner{--wui-glass-shadow:var(--wui-shadow-glass,0 2px 16px #0000000f), 0 0 0 3px var(--wui-focus-ring,#08f6);border-color:var(--wui-color-border-strong,#006ee680)}:host([borderless][focused]) .wui-input-inner{box-shadow:none;border-color:#0000}input{min-width:0;height:100%;font-size:var(--wui-font-size,14px);color:var(--wui-color-text,#1b1b1b);background:0 0;border:none;outline:none;flex:1}input::placeholder{color:var(--wui-color-text-muted,#6a6a6a)}input:disabled{cursor:not-allowed;opacity:.4}slot{font-size:var(--wui-font-size,14px);color:var(--wui-color-text-muted,#6a6a6a);flex-shrink:0;align-items:center;display:flex}slot.empty{display:none}.clear{cursor:pointer;color:var(--wui-color-text-muted,#6a6a6a);flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:flex}.clear:hover{color:var(--wui-color-text-muted,#6a6a6a)}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","names":[],"sources":["../../../src/components/input/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n display: inline-block;\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wui-input-inner {\n position: relative;\n\n display: flex;\n gap: 8px;\n align-items: center;\n\n box-sizing: border-box;\n width: var(--wui-input-width, 200px);\n min-width: var(--wui-button-size, 40px);\n height: var(--wui-button-size, 40px);\n padding: 0 16px;\n border-radius: calc(infinity * 1px);\n}\n\n:host([full]) {\n display: block;\n}\n\n:host([full]) .wui-input-inner {\n width: 100%;\n}\n\n/* ===== Borderless ===== */\n\n:host([borderless]) .wui-input-inner {\n padding: 0;\n border: none;\n\n background: transparent;\n backdrop-filter: none;\n box-shadow: none;\n}\n\n:host([focused]) .wui-input-inner {\n --wui-glass-shadow:\n var(--wui-shadow-glass, 0 2px 16px rgb(0 0 0 / 0.06)), 0 0 0 3px var(--wui-focus-ring, rgb(0 136 255 / 0.4));\n border-color: var(--wui-color-border-strong, rgb(0 110 230 / 0.5));\n}\n\n:host([borderless][focused]) .wui-input-inner {\n border-color: transparent;\n box-shadow: none;\n}\n\n/* ===== Input ===== */\n\ninput {\n flex: 1;\n\n min-width: 0;\n height: 100%;\n border: none;\n\n font-size: var(--wui-font-size, 14px);\n color: var(--wui-color-text, #1b1b1b);\n\n background: transparent;\n outline: none;\n\n &::placeholder {\n color: var(--wui-color-text-muted, #6a6a6a);\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n/* ===== Prefix / Suffix ===== */\n\nslot {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n\n font-size: var(--wui-font-size, 14px);\n color: var(--wui-color-text-muted, #6a6a6a);\n}\n\n/* slot 无 slotted 内容时折叠 */\nslot.empty {\n display: none;\n}\n\n/* ===== Clear button ===== */\n\n.clear {\n cursor: pointer;\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n align-self: stretch;\n justify-content: center;\n\n color: var(--wui-color-text-muted, #6a6a6a);\n\n &:hover {\n color: var(--wui-color-text-muted, #6a6a6a);\n }\n}\n\n/* ===== Disabled ===== */\n"],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class WebUiInputNumber extends LitElement {
3
+ static formAssociated: boolean;
4
+ static styles: import('lit').CSSResult[];
5
+ placeholder: string;
6
+ name: string;
7
+ disabled: boolean;
8
+ required: boolean;
9
+ get precision(): number;
10
+ set precision(v: number);
11
+ private _value;
12
+ private _min;
13
+ private _max;
14
+ private _step;
15
+ private _formDisabled;
16
+ private _precision;
17
+ private _internals?;
18
+ get value(): number;
19
+ set value(v: number);
20
+ private get _isDisabled();
21
+ get min(): number;
22
+ set min(v: unknown);
23
+ get max(): number;
24
+ set max(v: unknown);
25
+ get step(): number;
26
+ set step(v: unknown);
27
+ private get _effectiveStep();
28
+ private get atMin();
29
+ private get atMax();
30
+ connectedCallback(): void;
31
+ formResetCallback(): void;
32
+ formDisabledCallback(disabled: boolean): void;
33
+ formStateRestoreCallback(state: string | File | FormData | null): void;
34
+ updated(): void;
35
+ private _syncValidity;
36
+ private clamp;
37
+ private round;
38
+ private setValueAndNotify;
39
+ private handleStep;
40
+ private handleInput;
41
+ private handleKeydown;
42
+ render(): import('lit').TemplateResult<1>;
43
+ readonly $events: {
44
+ input: Event;
45
+ change: Event;
46
+ };
47
+ }
48
+ declare global {
49
+ interface HTMLElementTagNameMap {
50
+ 'web-ui-input-number': WebUiInputNumber;
51
+ }
52
+ }
@@ -0,0 +1,178 @@
1
+ import e from "../../_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/decorate.js";
2
+ import "../icon/index.js";
3
+ import t from "../../assets/glass.js";
4
+ import n from "../../icons/generated/lucide-plus.js";
5
+ import r from "../../icons/generated/lucide-minus.js";
6
+ import { normalizeNumber as i } from "../../shared/normalize/index.js";
7
+ import a from "./style.js";
8
+ import { LitElement as o, html as s, unsafeCSS as c } from "lit";
9
+ import { customElement as l, property as u, state as d } from "lit/decorators.js";
10
+ //#region src/components/input-number/index.ts
11
+ var f = class extends o {
12
+ constructor(...e) {
13
+ super(...e), this.placeholder = "", this.name = "", this.disabled = !1, this.required = !1, this._value = 0, this._min = 0, this._max = Infinity, this._step = 1, this._formDisabled = !1, this._precision = 0;
14
+ }
15
+ static {
16
+ this.formAssociated = !0;
17
+ }
18
+ static {
19
+ this.styles = [c(t), c(a)];
20
+ }
21
+ get precision() {
22
+ return this._precision;
23
+ }
24
+ set precision(e) {
25
+ let t = this._precision;
26
+ this._precision = e;
27
+ let n = this.clamp(this.round(this._value));
28
+ n !== this._value && (this._value = n, this._internals?.setFormValue?.(String(n))), this.requestUpdate("precision", t);
29
+ }
30
+ get value() {
31
+ return this._value;
32
+ }
33
+ set value(e) {
34
+ let t = this.clamp(this.round(e)), n = this._value;
35
+ this._value = t, this._internals?.setFormValue?.(String(t)), this.requestUpdate("value", n);
36
+ }
37
+ get _isDisabled() {
38
+ return this.disabled || this._formDisabled;
39
+ }
40
+ get min() {
41
+ return this._min;
42
+ }
43
+ set min(e) {
44
+ this._min = i(e, -Infinity, Infinity, 0);
45
+ }
46
+ get max() {
47
+ return this._max;
48
+ }
49
+ set max(e) {
50
+ this._max = i(e, -Infinity, Infinity, Infinity);
51
+ }
52
+ get step() {
53
+ return this._step;
54
+ }
55
+ set step(e) {
56
+ this._step = i(e, 0, Infinity, 1);
57
+ }
58
+ get _effectiveStep() {
59
+ return this._step;
60
+ }
61
+ get atMin() {
62
+ return this._value <= this._min;
63
+ }
64
+ get atMax() {
65
+ return this._value >= this._max;
66
+ }
67
+ connectedCallback() {
68
+ super.connectedCallback(), this._internals ||= this.attachInternals(), this._internals.setFormValue?.(String(this._value));
69
+ }
70
+ formResetCallback() {
71
+ let e = this.getAttribute("value");
72
+ this.value = e === null ? 0 : Number(e);
73
+ }
74
+ formDisabledCallback(e) {
75
+ this._formDisabled = e;
76
+ }
77
+ formStateRestoreCallback(e) {
78
+ typeof e == "string" && (this.value = Number(e));
79
+ }
80
+ updated() {
81
+ this._syncValidity();
82
+ }
83
+ _syncValidity() {
84
+ let e = this.shadowRoot?.querySelector("input");
85
+ if (!this._internals || !e || typeof this._internals.setValidity != "function") return;
86
+ if (this._isDisabled || e.validity.valid) {
87
+ this._internals.setValidity({});
88
+ return;
89
+ }
90
+ let t = {};
91
+ e.validity.valueMissing && (t.valueMissing = !0), e.validity.rangeUnderflow && (t.rangeUnderflow = !0), e.validity.rangeOverflow && (t.rangeOverflow = !0), e.validity.stepMismatch && (t.stepMismatch = !0), this._internals.setValidity(t, e.validationMessage, e);
92
+ }
93
+ clamp(e) {
94
+ return Math.min(this._max, Math.max(this._min, e));
95
+ }
96
+ round(e) {
97
+ let t = 10 ** this.precision;
98
+ return Math.round(e * t) / t;
99
+ }
100
+ setValueAndNotify(e) {
101
+ this.value = this.clamp(this.round(e)), this.dispatchEvent(new Event("input", {
102
+ bubbles: !0,
103
+ composed: !0
104
+ }));
105
+ }
106
+ handleStep(e) {
107
+ this._isDisabled || this.setValueAndNotify(this._value + e * this._effectiveStep);
108
+ }
109
+ handleInput(e) {
110
+ if (!(e.target instanceof HTMLInputElement)) return;
111
+ let t = e.target.value;
112
+ t !== "" && t !== "-" && (this._value = this.clamp(this.round(Number(t))), this._internals?.setFormValue?.(String(this._value)), this._syncValidity());
113
+ }
114
+ handleKeydown(e) {
115
+ this._isDisabled || (e.key === "ArrowUp" ? (e.preventDefault(), this.setValueAndNotify(this._value + this._effectiveStep), this.dispatchEvent(new Event("change", {
116
+ bubbles: !0,
117
+ composed: !0
118
+ }))) : e.key === "ArrowDown" && (e.preventDefault(), this.setValueAndNotify(this._value - this._effectiveStep), this.dispatchEvent(new Event("change", {
119
+ bubbles: !0,
120
+ composed: !0
121
+ }))));
122
+ }
123
+ render() {
124
+ return s`
125
+ <div class="wui-glass wui-input-inner">
126
+ <button
127
+ class="num-btn"
128
+ aria-label="Decrease"
129
+ ?disabled=${this._isDisabled || this.atMin}
130
+ @click=${() => this.handleStep(-1)}
131
+ >
132
+ <web-ui-icon .icon=${r}></web-ui-icon>
133
+ </button>
134
+ <input
135
+ type="number"
136
+ placeholder=${this.placeholder}
137
+ name=${this.name}
138
+ .value=${String(this._value)}
139
+ ?disabled=${this._isDisabled}
140
+ ?required=${this.required}
141
+ @input=${this.handleInput}
142
+ @keydown=${this.handleKeydown}
143
+ />
144
+ <button
145
+ class="num-btn"
146
+ aria-label="Increase"
147
+ ?disabled=${this._isDisabled || this.atMax}
148
+ @click=${() => this.handleStep(1)}
149
+ >
150
+ <web-ui-icon .icon=${n}></web-ui-icon>
151
+ </button>
152
+ </div>
153
+ `;
154
+ }
155
+ };
156
+ e([u({
157
+ type: String,
158
+ reflect: !0
159
+ })], f.prototype, "placeholder", void 0), e([u({
160
+ type: String,
161
+ reflect: !0
162
+ })], f.prototype, "name", void 0), e([u({
163
+ type: Boolean,
164
+ reflect: !0
165
+ })], f.prototype, "disabled", void 0), e([u({
166
+ type: Boolean,
167
+ reflect: !0
168
+ })], f.prototype, "required", void 0), e([u({
169
+ type: Number,
170
+ reflect: !0
171
+ })], f.prototype, "precision", null), e([d()], f.prototype, "_value", void 0), e([d()], f.prototype, "_min", void 0), e([d()], f.prototype, "_max", void 0), e([d()], f.prototype, "_step", void 0), e([d()], f.prototype, "_formDisabled", void 0), e([u({
172
+ type: Number,
173
+ reflect: !0
174
+ })], f.prototype, "value", null), e([u({ type: Number })], f.prototype, "min", null), e([u({ type: Number })], f.prototype, "max", null), e([u({ type: Number })], f.prototype, "step", null), f = e([l("web-ui-input-number")], f);
175
+ //#endregion
176
+ export { f as WebUiInputNumber };
177
+
178
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/input-number/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\n// web-ui-icon 必须注册(Rolldown tree-shake 副作用 import,引用类名阻止删除)\nimport '@/components/icon'\nimport glass from '@/assets/glass.css?inline'\nimport { lucideMinus, lucidePlus } from '@/icons'\nimport { normalizeNumber } from '@/shared/normalize'\n\nimport style from './style.css?inline'\n\n@customElement('web-ui-input-number')\nexport class WebUiInputNumber extends LitElement {\n static formAssociated = true\n static override styles = [unsafeCSS(glass), unsafeCSS(style)]\n\n @property({ type: String, reflect: true }) placeholder = ''\n @property({ type: String, reflect: true }) name = ''\n @property({ type: Boolean, reflect: true }) disabled = false\n @property({ type: Boolean, reflect: true }) required = false\n @property({ type: Number, reflect: true })\n get precision(): number {\n return this._precision\n }\n // 精度变化时重算现有值,避免浮点累积误差\n set precision(v: number) {\n const old = this._precision\n this._precision = v\n const current = this.clamp(this.round(this._value))\n if (current !== this._value) {\n this._value = current\n this._internals?.setFormValue?.(String(current))\n }\n this.requestUpdate('precision', old)\n }\n\n @state() private _value = 0\n @state() private _min = 0\n @state() private _max = Infinity\n @state() private _step = 1\n @state() private _formDisabled = false\n private _precision = 0\n\n private _internals?: ElementInternals\n\n @property({ type: Number, reflect: true })\n get value(): number {\n return this._value\n }\n\n set value(v: number) {\n const clamped = this.clamp(this.round(v))\n const old = this._value\n this._value = clamped\n this._internals?.setFormValue?.(String(clamped))\n this.requestUpdate('value', old)\n }\n\n private get _isDisabled(): boolean {\n return this.disabled || this._formDisabled\n }\n\n @property({ type: Number })\n get min(): number {\n return this._min\n }\n\n set min(v: unknown) {\n this._min = normalizeNumber(v, -Infinity, Infinity, 0)\n }\n\n @property({ type: Number })\n get max(): number {\n return this._max\n }\n\n set max(v: unknown) {\n this._max = normalizeNumber(v, -Infinity, Infinity, Infinity)\n }\n\n @property({ type: Number })\n get step(): number {\n return this._step\n }\n\n // 步进值,默认 1;若声明了 precision 则以 precision 退化步进\n set step(v: unknown) {\n this._step = normalizeNumber(v, 0, Infinity, 1)\n }\n\n private get _effectiveStep(): number {\n return this._step\n }\n\n private get atMin(): boolean {\n return this._value <= this._min\n }\n\n private get atMax(): boolean {\n return this._value >= this._max\n }\n\n override connectedCallback() {\n super.connectedCallback()\n if (!this._internals) {\n this._internals = this.attachInternals()\n }\n this._internals.setFormValue?.(String(this._value))\n }\n\n formResetCallback() {\n const attr = this.getAttribute('value')\n this.value = attr !== null ? Number(attr) : 0\n }\n\n formDisabledCallback(disabled: boolean) {\n this._formDisabled = disabled\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n if (typeof state === 'string') this.value = Number(state)\n }\n\n override updated() {\n this._syncValidity()\n }\n\n private _syncValidity() {\n const input = this.shadowRoot?.querySelector('input')\n if (!this._internals || !input || typeof this._internals.setValidity !== 'function') return\n if (this._isDisabled || input.validity.valid) {\n this._internals.setValidity({})\n return\n }\n const flags: ValidityStateFlags = {}\n if (input.validity.valueMissing) flags.valueMissing = true\n if (input.validity.rangeUnderflow) flags.rangeUnderflow = true\n if (input.validity.rangeOverflow) flags.rangeOverflow = true\n if (input.validity.stepMismatch) flags.stepMismatch = true\n this._internals.setValidity(flags, input.validationMessage, input)\n }\n\n private clamp(v: number): number {\n return Math.min(this._max, Math.max(this._min, v))\n }\n\n private round(v: number): number {\n const f = 10 ** this.precision\n return Math.round(v * f) / f\n }\n\n private setValueAndNotify(v: number) {\n this.value = this.clamp(this.round(v))\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }))\n }\n\n private handleStep(direction: 1 | -1) {\n if (this._isDisabled) return\n this.setValueAndNotify(this._value + direction * this._effectiveStep)\n }\n\n private handleInput(e: Event) {\n if (!(e.target instanceof HTMLInputElement)) return\n const raw = e.target.value\n if (raw === '' || raw === '-') return\n this._value = this.clamp(this.round(Number(raw)))\n this._internals?.setFormValue?.(String(this._value))\n this._syncValidity()\n }\n\n private handleKeydown(e: KeyboardEvent) {\n if (this._isDisabled) return\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n this.setValueAndNotify(this._value + this._effectiveStep)\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }))\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n this.setValueAndNotify(this._value - this._effectiveStep)\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }))\n }\n }\n\n override render() {\n return html`\n <div class=\"wui-glass wui-input-inner\">\n <button\n class=\"num-btn\"\n aria-label=\"Decrease\"\n ?disabled=${this._isDisabled || this.atMin}\n @click=${() => this.handleStep(-1)}\n >\n <web-ui-icon .icon=${lucideMinus}></web-ui-icon>\n </button>\n <input\n type=\"number\"\n placeholder=${this.placeholder}\n name=${this.name}\n .value=${String(this._value)}\n ?disabled=${this._isDisabled}\n ?required=${this.required}\n @input=${this.handleInput}\n @keydown=${this.handleKeydown}\n />\n <button\n class=\"num-btn\"\n aria-label=\"Increase\"\n ?disabled=${this._isDisabled || this.atMax}\n @click=${() => this.handleStep(1)}\n >\n <web-ui-icon .icon=${lucidePlus}></web-ui-icon>\n </button>\n </div>\n `\n }\n\n declare readonly $events: {\n input: Event\n change: Event\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-input-number': WebUiInputNumber\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/input-number/style.css?inline
2
+ var e = "*,:before,:after{box-sizing:border-box}:host{display:inline-block}:host([disabled]){cursor:not-allowed;opacity:.4}.wui-input-inner{box-sizing:border-box;width:var(--wui-input-width,200px);min-width:var(--wui-button-size,40px);height:var(--wui-button-size,40px);border-radius:2147483647px;align-items:center;gap:4px;padding:0 4px;display:flex;position:relative}.wui-input-inner:focus-within{border-color:var(--wui-color-border-strong,#006ee680);box-shadow:0 0 0 3px #08f3,inset -1px -1px .5px -.5px #ffffffe6,inset 1px 1px .5px -.5px #ffffffe6,inset -3px -3px .5px -3px #ffffff8c,inset 3px 3px .5px -3px #ffffff8c,inset 0 0 1px #000c,0 2px 16px #0000000f}input{min-width:48px;height:100%;font-size:var(--wui-font-size,14px);color:var(--wui-color-text,#1b1b1b);text-align:center;background:0 0;border:none;outline:none;flex:1}input::-webkit-inner-spin-button{appearance:none;margin:0}input::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{appearance:textfield}input:disabled{cursor:not-allowed;opacity:.4}.num-btn{cursor:pointer;width:32px;height:32px;color:var(--wui-color-text-muted,#6a6a6a);transition:transform var(--wui-duration-press,.12s) var(--wui-ease-out,cubic-bezier(.23, 1, .32, 1)), background-color var(--wui-duration-fast,.16s) ease;background:0 0;border:none;border-radius:2147483647px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.num-btn:disabled{cursor:not-allowed;opacity:.4}.num-btn:focus-visible{outline:3px solid var(--wui-focus-ring,#08f6);outline-offset:2px}.num-btn:active:not(:disabled){transform:scale(var(--wui-scale-press,.97));background:var(--wui-color-border,#0000001a)}@media (hover:hover) and (pointer:fine){.num-btn:hover:not(:disabled){background:color-mix(in srgb, var(--wui-color-text,#1b1b1b) 6%, transparent)}}@media (prefers-reduced-motion:reduce){.num-btn{transition:background-color var(--wui-duration-fast,.16s) ease}.num-btn:active:not(:disabled){transform:none}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","names":[],"sources":["../../../src/components/input-number/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n display: inline-block;\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wui-input-inner {\n position: relative;\n\n display: flex;\n gap: 4px;\n align-items: center;\n\n box-sizing: border-box;\n width: var(--wui-input-width, 200px);\n min-width: var(--wui-button-size, 40px);\n height: var(--wui-button-size, 40px);\n padding: 0 4px;\n border-radius: calc(infinity * 1px);\n\n &:focus-within {\n border-color: var(--wui-color-border-strong, rgb(0 110 230 / 0.5));\n box-shadow:\n 0 0 0 3px rgb(0 136 255 / 0.2),\n inset -1px -1px 0.5px -0.5px rgb(255 255 255 / 0.9),\n inset 1px 1px 0.5px -0.5px rgb(255 255 255 / 0.9),\n inset -3px -3px 0.5px -3px rgb(255 255 255 / 0.55),\n inset 3px 3px 0.5px -3px rgb(255 255 255 / 0.55),\n inset 0 0 1px rgb(0 0 0 / 0.8),\n 0 2px 16px rgb(0 0 0 / 0.06);\n }\n}\n\ninput {\n flex: 1;\n\n min-width: 48px;\n height: 100%;\n border: none;\n\n font-size: var(--wui-font-size, 14px);\n color: var(--wui-color-text, #1b1b1b);\n text-align: center;\n\n background: transparent;\n outline: none;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n margin: 0;\n appearance: none;\n }\n\n &[type='number'] {\n appearance: textfield;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.num-btn {\n cursor: pointer;\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 32px;\n height: 32px;\n border: none;\n border-radius: calc(infinity * 1px);\n\n color: var(--wui-color-text-muted, #6a6a6a);\n\n background: transparent;\n\n transition:\n transform var(--wui-duration-press, 120ms) var(--wui-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n background-color var(--wui-duration-fast, 160ms) ease;\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n &:focus-visible {\n outline: 3px solid var(--wui-focus-ring, rgb(0 136 255 / 0.4));\n outline-offset: 2px;\n }\n\n &:active:not(:disabled) {\n transform: scale(var(--wui-scale-press, 0.97));\n background: var(--wui-color-border, rgb(0 0 0 / 0.1));\n }\n}\n\n@media (hover: hover) and (pointer: fine) {\n .num-btn:hover:not(:disabled) {\n background: color-mix(in srgb, var(--wui-color-text, #1b1b1b) 6%, transparent);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .num-btn {\n transition: background-color var(--wui-duration-fast, 160ms) ease;\n }\n\n .num-btn:active:not(:disabled) {\n transform: none;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,11 @@
1
1
  import { LitElement } from 'lit';
2
2
  export declare class WebUiLayout extends LitElement {
3
- static styles: import('lit').CSSResult;
3
+ static styles: import('lit').CSSResult[];
4
4
  render(): import('lit').TemplateResult<1>;
5
+ readonly $events: Record<string, never>;
6
+ }
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ 'web-ui-layout': WebUiLayout;
10
+ }
5
11
  }
@@ -1,31 +1,34 @@
1
- import e from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
2
- import t from "./style.js";
3
- import { LitElement as n, html as r, unsafeCSS as i } from "lit";
4
- import { customElement as a } from "lit/decorators.js";
1
+ import e from "../../_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/decorate.js";
2
+ import t from "../../assets/glass.js";
3
+ import n from "./style.js";
4
+ import { LitElement as r, html as i, unsafeCSS as a } from "lit";
5
+ import { customElement as o } from "lit/decorators.js";
5
6
  //#region src/components/layout/index.ts
6
- var o = class extends n {
7
+ var s = class extends r {
7
8
  static {
8
- this.styles = i(t);
9
+ this.styles = [a(t), a(n)];
9
10
  }
10
11
  render() {
11
- return r`
12
- <header>
13
- <slot name="header"></slot>
14
- </header>
15
- <main>
16
- <slot></slot>
17
- </main>
18
- <aside>
19
- <div class="menu"><slot name="sidebar"></slot></div>
20
- </aside>
21
- <footer>
22
- <slot name="tabbar"></slot>
23
- </footer>
12
+ return i`
13
+ <div class="layout-grid">
14
+ <header>
15
+ <slot name="header"></slot>
16
+ </header>
17
+ <main>
18
+ <slot></slot>
19
+ </main>
20
+ <aside>
21
+ <div class="menu wui-glass"><slot name="sidebar"></slot></div>
22
+ </aside>
23
+ <footer>
24
+ <slot name="tabbar"></slot>
25
+ </footer>
26
+ </div>
24
27
  `;
25
28
  }
26
29
  };
27
- o = e([a("web-ui-layout")], o);
30
+ s = e([o("web-ui-layout")], s);
28
31
  //#endregion
29
- export { o as WebUiLayout };
32
+ export { s as WebUiLayout };
30
33
 
31
34
  //# sourceMappingURL=index.js.map