@zerodep-dev/vue-tsx-pro-ui 0.0.0-stage → 0.1.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 (1109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/dist/base/Badge.d.ts +28 -0
  4. package/dist/base/Badge.js +72 -0
  5. package/dist/base/Badge.js.map +1 -0
  6. package/dist/base/Blockquote.d.ts +13 -0
  7. package/dist/base/Blockquote.js +26 -0
  8. package/dist/base/Blockquote.js.map +1 -0
  9. package/dist/base/Button.d.ts +18 -0
  10. package/dist/base/Button.js +86 -0
  11. package/dist/base/Button.js.map +1 -0
  12. package/dist/base/ButtonBase.d.ts +21 -0
  13. package/dist/base/ButtonBase.js +51 -0
  14. package/dist/base/ButtonBase.js.map +1 -0
  15. package/dist/base/ButtonGroup.d.ts +24 -0
  16. package/dist/base/ButtonGroup.js +52 -0
  17. package/dist/base/ButtonGroup.js.map +1 -0
  18. package/dist/base/CloseButton.d.ts +15 -0
  19. package/dist/base/CloseButton.js +38 -0
  20. package/dist/base/CloseButton.js.map +1 -0
  21. package/dist/base/Code.d.ts +13 -0
  22. package/dist/base/Code.js +27 -0
  23. package/dist/base/Code.js.map +1 -0
  24. package/dist/base/CodeBlock.d.ts +89 -0
  25. package/dist/base/CodeBlock.js +265 -0
  26. package/dist/base/CodeBlock.js.map +1 -0
  27. package/dist/base/CopyButton.d.ts +40 -0
  28. package/dist/base/CopyButton.js +113 -0
  29. package/dist/base/CopyButton.js.map +1 -0
  30. package/dist/base/Heading.d.ts +49 -0
  31. package/dist/base/Heading.js +122 -0
  32. package/dist/base/Heading.js.map +1 -0
  33. package/dist/base/Icon.d.ts +48 -0
  34. package/dist/base/Icon.js +110 -0
  35. package/dist/base/Icon.js.map +1 -0
  36. package/dist/base/IconButton.d.ts +34 -0
  37. package/dist/base/IconButton.js +81 -0
  38. package/dist/base/IconButton.js.map +1 -0
  39. package/dist/base/IconLinkButton.d.ts +34 -0
  40. package/dist/base/IconLinkButton.js +81 -0
  41. package/dist/base/IconLinkButton.js.map +1 -0
  42. package/dist/base/Indicator.d.ts +126 -0
  43. package/dist/base/Indicator.js +158 -0
  44. package/dist/base/Indicator.js.map +1 -0
  45. package/dist/base/Kbd.d.ts +13 -0
  46. package/dist/base/Kbd.js +34 -0
  47. package/dist/base/Kbd.js.map +1 -0
  48. package/dist/base/Link.d.ts +61 -0
  49. package/dist/base/Link.js +114 -0
  50. package/dist/base/Link.js.map +1 -0
  51. package/dist/base/LinkButton.d.ts +18 -0
  52. package/dist/base/LinkButton.js +109 -0
  53. package/dist/base/LinkButton.js.map +1 -0
  54. package/dist/base/List.d.ts +61 -0
  55. package/dist/base/List.js +116 -0
  56. package/dist/base/List.js.map +1 -0
  57. package/dist/base/Mark.d.ts +13 -0
  58. package/dist/base/Mark.js +23 -0
  59. package/dist/base/Mark.js.map +1 -0
  60. package/dist/base/Spinner.d.ts +20 -0
  61. package/dist/base/Spinner.js +59 -0
  62. package/dist/base/Spinner.js.map +1 -0
  63. package/dist/base/StatusDot.d.ts +48 -0
  64. package/dist/base/StatusDot.js +62 -0
  65. package/dist/base/StatusDot.js.map +1 -0
  66. package/dist/base/Tag.d.ts +29 -0
  67. package/dist/base/Tag.js +92 -0
  68. package/dist/base/Tag.js.map +1 -0
  69. package/dist/base/Text.d.ts +57 -0
  70. package/dist/base/Text.js +74 -0
  71. package/dist/base/Text.js.map +1 -0
  72. package/dist/base/VisuallyHidden.d.ts +13 -0
  73. package/dist/base/VisuallyHidden.js +28 -0
  74. package/dist/base/VisuallyHidden.js.map +1 -0
  75. package/dist/base/badge-styles.d.ts +57 -0
  76. package/dist/base/badge-styles.js +329 -0
  77. package/dist/base/badge-styles.js.map +1 -0
  78. package/dist/base/button-core.d.ts +191 -0
  79. package/dist/base/button-core.js +660 -0
  80. package/dist/base/button-core.js.map +1 -0
  81. package/dist/charts/AreaChart.d.ts +18 -0
  82. package/dist/charts/AreaChart.js +90 -0
  83. package/dist/charts/AreaChart.js.map +1 -0
  84. package/dist/charts/BarChart.d.ts +19 -0
  85. package/dist/charts/BarChart.js +88 -0
  86. package/dist/charts/BarChart.js.map +1 -0
  87. package/dist/charts/ChordChart.d.ts +48 -0
  88. package/dist/charts/ChordChart.js +149 -0
  89. package/dist/charts/ChordChart.js.map +1 -0
  90. package/dist/charts/ComboChart.d.ts +30 -0
  91. package/dist/charts/ComboChart.js +157 -0
  92. package/dist/charts/ComboChart.js.map +1 -0
  93. package/dist/charts/DonutChart.d.ts +65 -0
  94. package/dist/charts/DonutChart.js +162 -0
  95. package/dist/charts/DonutChart.js.map +1 -0
  96. package/dist/charts/FunnelChart.d.ts +69 -0
  97. package/dist/charts/FunnelChart.js +181 -0
  98. package/dist/charts/FunnelChart.js.map +1 -0
  99. package/dist/charts/GraphChart.d.ts +135 -0
  100. package/dist/charts/GraphChart.js +274 -0
  101. package/dist/charts/GraphChart.js.map +1 -0
  102. package/dist/charts/LineChart.d.ts +50 -0
  103. package/dist/charts/LineChart.js +94 -0
  104. package/dist/charts/LineChart.js.map +1 -0
  105. package/dist/charts/MapChart.d.ts +167 -0
  106. package/dist/charts/MapChart.js +627 -0
  107. package/dist/charts/MapChart.js.map +1 -0
  108. package/dist/charts/RadarChart.d.ts +60 -0
  109. package/dist/charts/RadarChart.js +224 -0
  110. package/dist/charts/RadarChart.js.map +1 -0
  111. package/dist/charts/SankeyChart.d.ts +57 -0
  112. package/dist/charts/SankeyChart.js +150 -0
  113. package/dist/charts/SankeyChart.js.map +1 -0
  114. package/dist/charts/ScatterChart.d.ts +18 -0
  115. package/dist/charts/ScatterChart.js +82 -0
  116. package/dist/charts/ScatterChart.js.map +1 -0
  117. package/dist/charts/TimelineChart.d.ts +71 -0
  118. package/dist/charts/TimelineChart.js +267 -0
  119. package/dist/charts/TimelineChart.js.map +1 -0
  120. package/dist/charts/TreemapChart.d.ts +40 -0
  121. package/dist/charts/TreemapChart.js +155 -0
  122. package/dist/charts/TreemapChart.js.map +1 -0
  123. package/dist/charts/WaterfallChart.d.ts +61 -0
  124. package/dist/charts/WaterfallChart.js +167 -0
  125. package/dist/charts/WaterfallChart.js.map +1 -0
  126. package/dist/charts/XYChart.d.ts +206 -0
  127. package/dist/charts/XYChart.js +520 -0
  128. package/dist/charts/XYChart.js.map +1 -0
  129. package/dist/charts/axis-ticks.d.ts +23 -0
  130. package/dist/charts/axis-ticks.js +59 -0
  131. package/dist/charts/axis-ticks.js.map +1 -0
  132. package/dist/charts/export.d.ts +17 -0
  133. package/dist/charts/export.js +65 -0
  134. package/dist/charts/export.js.map +1 -0
  135. package/dist/charts/flow.d.ts +53 -0
  136. package/dist/charts/flow.js +29 -0
  137. package/dist/charts/flow.js.map +1 -0
  138. package/dist/charts/frame.d.ts +147 -0
  139. package/dist/charts/frame.js +358 -0
  140. package/dist/charts/frame.js.map +1 -0
  141. package/dist/charts/index.d.ts +30 -0
  142. package/dist/charts/index.js +24 -0
  143. package/dist/charts/label-layout.d.ts +59 -0
  144. package/dist/charts/label-layout.js +64 -0
  145. package/dist/charts/label-layout.js.map +1 -0
  146. package/dist/charts/series.d.ts +36 -0
  147. package/dist/charts/series.js +60 -0
  148. package/dist/charts/series.js.map +1 -0
  149. package/dist/charts/single.d.ts +41 -0
  150. package/dist/charts/single.js +65 -0
  151. package/dist/charts/single.js.map +1 -0
  152. package/dist/config/Provider.d.ts +52 -0
  153. package/dist/config/Provider.js +111 -0
  154. package/dist/config/Provider.js.map +1 -0
  155. package/dist/config/context.d.ts +90 -0
  156. package/dist/config/context.js +58 -0
  157. package/dist/config/context.js.map +1 -0
  158. package/dist/config/createUi.d.ts +52 -0
  159. package/dist/config/createUi.js +96 -0
  160. package/dist/config/createUi.js.map +1 -0
  161. package/dist/config/defaults.d.ts +71 -0
  162. package/dist/config/defaults.js +45 -0
  163. package/dist/config/defaults.js.map +1 -0
  164. package/dist/config/lang/en-US.d.ts +3 -0
  165. package/dist/config/lang/en-US.js +386 -0
  166. package/dist/config/lang/en-US.js.map +1 -0
  167. package/dist/config/lang/format.d.ts +50 -0
  168. package/dist/config/lang/format.js +113 -0
  169. package/dist/config/lang/format.js.map +1 -0
  170. package/dist/config/lang/lang.d.ts +653 -0
  171. package/dist/config/lang/lang.js +22 -0
  172. package/dist/config/lang/lang.js.map +1 -0
  173. package/dist/config/lang/messages.d.ts +12 -0
  174. package/dist/config/lang/messages.js +36 -0
  175. package/dist/config/lang/messages.js.map +1 -0
  176. package/dist/config/lang/zh-CN.d.ts +3 -0
  177. package/dist/config/lang/zh-CN.js +386 -0
  178. package/dist/config/lang/zh-CN.js.map +1 -0
  179. package/dist/config/pinyin.d.ts +3 -0
  180. package/dist/config/pinyin.js +26 -0
  181. package/dist/config/pinyin.js.map +1 -0
  182. package/dist/config/query-state.d.ts +61 -0
  183. package/dist/config/query-state.js +113 -0
  184. package/dist/config/query-state.js.map +1 -0
  185. package/dist/config/shiki.d.ts +13 -0
  186. package/dist/config/shiki.js +97 -0
  187. package/dist/config/shiki.js.map +1 -0
  188. package/dist/config/styles.d.ts +108 -0
  189. package/dist/config/styles.js +59 -0
  190. package/dist/config/styles.js.map +1 -0
  191. package/dist/config/theme/boot.d.ts +97 -0
  192. package/dist/config/theme/boot.js +90 -0
  193. package/dist/config/theme/boot.js.map +1 -0
  194. package/dist/config/theme/builtin.d.ts +21 -0
  195. package/dist/config/theme/builtin.js +58 -0
  196. package/dist/config/theme/builtin.js.map +1 -0
  197. package/dist/config/theme/coffee.d.ts +84 -0
  198. package/dist/config/theme/coffee.js +102 -0
  199. package/dist/config/theme/coffee.js.map +1 -0
  200. package/dist/config/theme/cyberpunk.d.ts +110 -0
  201. package/dist/config/theme/cyberpunk.js +125 -0
  202. package/dist/config/theme/cyberpunk.js.map +1 -0
  203. package/dist/config/theme/dark.d.ts +90 -0
  204. package/dist/config/theme/dark.js +106 -0
  205. package/dist/config/theme/dark.js.map +1 -0
  206. package/dist/config/theme/festive.d.ts +93 -0
  207. package/dist/config/theme/festive.js +110 -0
  208. package/dist/config/theme/festive.js.map +1 -0
  209. package/dist/config/theme/forest.d.ts +93 -0
  210. package/dist/config/theme/forest.js +109 -0
  211. package/dist/config/theme/forest.js.map +1 -0
  212. package/dist/config/theme/high-contrast.d.ts +103 -0
  213. package/dist/config/theme/high-contrast.js +119 -0
  214. package/dist/config/theme/high-contrast.js.map +1 -0
  215. package/dist/config/theme/lemon.d.ts +103 -0
  216. package/dist/config/theme/lemon.js +119 -0
  217. package/dist/config/theme/lemon.js.map +1 -0
  218. package/dist/config/theme/light.d.ts +107 -0
  219. package/dist/config/theme/light.js +122 -0
  220. package/dist/config/theme/light.js.map +1 -0
  221. package/dist/config/theme/midnight.d.ts +86 -0
  222. package/dist/config/theme/midnight.js +103 -0
  223. package/dist/config/theme/midnight.js.map +1 -0
  224. package/dist/config/theme/ocean.d.ts +103 -0
  225. package/dist/config/theme/ocean.js +119 -0
  226. package/dist/config/theme/ocean.js.map +1 -0
  227. package/dist/config/theme/paper.d.ts +101 -0
  228. package/dist/config/theme/paper.js +117 -0
  229. package/dist/config/theme/paper.js.map +1 -0
  230. package/dist/config/theme/preference.d.ts +34 -0
  231. package/dist/config/theme/preference.js +67 -0
  232. package/dist/config/theme/preference.js.map +1 -0
  233. package/dist/config/theme/sakura.d.ts +103 -0
  234. package/dist/config/theme/sakura.js +119 -0
  235. package/dist/config/theme/sakura.js.map +1 -0
  236. package/dist/config/theme/theme.d.ts +59 -0
  237. package/dist/config/theme/theme.js +68 -0
  238. package/dist/config/theme/theme.js.map +1 -0
  239. package/dist/config/theme/token-names.d.ts +1897 -0
  240. package/dist/config/theme/tokens.d.ts +833 -0
  241. package/dist/config/theme/tokens.js +480 -0
  242. package/dist/config/theme/tokens.js.map +1 -0
  243. package/dist/config/vue-router.d.ts +67 -0
  244. package/dist/config/vue-router.js +143 -0
  245. package/dist/config/vue-router.js.map +1 -0
  246. package/dist/date/Calendar.d.ts +36 -0
  247. package/dist/date/Calendar.js +83 -0
  248. package/dist/date/Calendar.js.map +1 -0
  249. package/dist/date/CalendarBoard.d.ts +79 -0
  250. package/dist/date/CalendarBoard.js +403 -0
  251. package/dist/date/CalendarBoard.js.map +1 -0
  252. package/dist/date/CalendarView.d.ts +86 -0
  253. package/dist/date/CalendarView.js +427 -0
  254. package/dist/date/CalendarView.js.map +1 -0
  255. package/dist/date/Countdown.d.ts +45 -0
  256. package/dist/date/Countdown.js +75 -0
  257. package/dist/date/Countdown.js.map +1 -0
  258. package/dist/date/DateField.d.ts +34 -0
  259. package/dist/date/DateField.js +124 -0
  260. package/dist/date/DateField.js.map +1 -0
  261. package/dist/date/DatePicker.d.ts +41 -0
  262. package/dist/date/DatePicker.js +272 -0
  263. package/dist/date/DatePicker.js.map +1 -0
  264. package/dist/date/DateRangePicker.d.ts +71 -0
  265. package/dist/date/DateRangePicker.js +411 -0
  266. package/dist/date/DateRangePicker.js.map +1 -0
  267. package/dist/date/DateSegmentGroup.d.ts +38 -0
  268. package/dist/date/DateSegmentGroup.js +176 -0
  269. package/dist/date/DateSegmentGroup.js.map +1 -0
  270. package/dist/date/DateTime.d.ts +21 -0
  271. package/dist/date/DateTime.js +39 -0
  272. package/dist/date/DateTime.js.map +1 -0
  273. package/dist/date/QuarterCalendar.d.ts +22 -0
  274. package/dist/date/QuarterCalendar.js +231 -0
  275. package/dist/date/QuarterCalendar.js.map +1 -0
  276. package/dist/date/RangeCalendar.d.ts +24 -0
  277. package/dist/date/RangeCalendar.js +89 -0
  278. package/dist/date/RangeCalendar.js.map +1 -0
  279. package/dist/date/RelativeTime.d.ts +16 -0
  280. package/dist/date/RelativeTime.js +61 -0
  281. package/dist/date/RelativeTime.js.map +1 -0
  282. package/dist/date/SegmentedField.d.ts +60 -0
  283. package/dist/date/SegmentedField.js +175 -0
  284. package/dist/date/SegmentedField.js.map +1 -0
  285. package/dist/date/TimeField.d.ts +36 -0
  286. package/dist/date/TimeField.js +56 -0
  287. package/dist/date/TimeField.js.map +1 -0
  288. package/dist/date/TimePicker.d.ts +25 -0
  289. package/dist/date/TimePicker.js +206 -0
  290. package/dist/date/TimePicker.js.map +1 -0
  291. package/dist/date/calendar-state.d.ts +119 -0
  292. package/dist/date/calendar-state.js +267 -0
  293. package/dist/date/calendar-state.js.map +1 -0
  294. package/dist/date/clock.d.ts +11 -0
  295. package/dist/date/clock.js +37 -0
  296. package/dist/date/clock.js.map +1 -0
  297. package/dist/date/date-locale.d.ts +67 -0
  298. package/dist/date/date-locale.js +89 -0
  299. package/dist/date/date-locale.js.map +1 -0
  300. package/dist/date/date-segments.d.ts +132 -0
  301. package/dist/date/date-segments.js +410 -0
  302. package/dist/date/date-segments.js.map +1 -0
  303. package/dist/date/picker-popover.d.ts +88 -0
  304. package/dist/date/picker-popover.js +126 -0
  305. package/dist/date/picker-popover.js.map +1 -0
  306. package/dist/diagram/Diagram.d.ts +223 -0
  307. package/dist/diagram/Diagram.js +1121 -0
  308. package/dist/diagram/Diagram.js.map +1 -0
  309. package/dist/diagram/DiagramControls.d.ts +35 -0
  310. package/dist/diagram/DiagramControls.js +114 -0
  311. package/dist/diagram/DiagramControls.js.map +1 -0
  312. package/dist/diagram/DiagramLanes.d.ts +49 -0
  313. package/dist/diagram/DiagramLanes.js +92 -0
  314. package/dist/diagram/DiagramLanes.js.map +1 -0
  315. package/dist/diagram/DiagramMinimap.d.ts +39 -0
  316. package/dist/diagram/DiagramMinimap.js +133 -0
  317. package/dist/diagram/DiagramMinimap.js.map +1 -0
  318. package/dist/diagram/DiagramNode.d.ts +65 -0
  319. package/dist/diagram/DiagramNode.js +142 -0
  320. package/dist/diagram/DiagramNode.js.map +1 -0
  321. package/dist/diagram/controller.d.ts +68 -0
  322. package/dist/diagram/controller.js +117 -0
  323. package/dist/diagram/controller.js.map +1 -0
  324. package/dist/diagram/export.d.ts +14 -0
  325. package/dist/diagram/export.js +115 -0
  326. package/dist/diagram/export.js.map +1 -0
  327. package/dist/diagram/geometry.d.ts +65 -0
  328. package/dist/diagram/geometry.js +219 -0
  329. package/dist/diagram/geometry.js.map +1 -0
  330. package/dist/diagram/index.d.ts +19 -0
  331. package/dist/diagram/index.js +11 -0
  332. package/dist/diagram/messages.d.ts +28 -0
  333. package/dist/diagram/messages.js +30 -0
  334. package/dist/diagram/messages.js.map +1 -0
  335. package/dist/diagram/route.d.ts +81 -0
  336. package/dist/diagram/route.js +327 -0
  337. package/dist/diagram/route.js.map +1 -0
  338. package/dist/display/Accordion.d.ts +71 -0
  339. package/dist/display/Accordion.js +219 -0
  340. package/dist/display/Accordion.js.map +1 -0
  341. package/dist/display/AnimatedNumber.d.ts +44 -0
  342. package/dist/display/AnimatedNumber.js +97 -0
  343. package/dist/display/AnimatedNumber.js.map +1 -0
  344. package/dist/display/Avatar.d.ts +74 -0
  345. package/dist/display/Avatar.js +158 -0
  346. package/dist/display/Avatar.js.map +1 -0
  347. package/dist/display/AvatarGroup.d.ts +29 -0
  348. package/dist/display/AvatarGroup.js +67 -0
  349. package/dist/display/AvatarGroup.js.map +1 -0
  350. package/dist/display/Card.d.ts +219 -0
  351. package/dist/display/Card.js +319 -0
  352. package/dist/display/Card.js.map +1 -0
  353. package/dist/display/Checklist.d.ts +93 -0
  354. package/dist/display/Checklist.js +260 -0
  355. package/dist/display/Checklist.js.map +1 -0
  356. package/dist/display/Collapse.d.ts +24 -0
  357. package/dist/display/Collapse.js +65 -0
  358. package/dist/display/Collapse.js.map +1 -0
  359. package/dist/display/Collapsible.d.ts +12 -0
  360. package/dist/display/Collapsible.js +41 -0
  361. package/dist/display/Collapsible.js.map +1 -0
  362. package/dist/display/Descriptions.d.ts +88 -0
  363. package/dist/display/Descriptions.js +185 -0
  364. package/dist/display/Descriptions.js.map +1 -0
  365. package/dist/display/Ellipsis.d.ts +29 -0
  366. package/dist/display/Ellipsis.js +111 -0
  367. package/dist/display/Ellipsis.js.map +1 -0
  368. package/dist/display/FieldCompare.d.ts +58 -0
  369. package/dist/display/FieldCompare.js +205 -0
  370. package/dist/display/FieldCompare.js.map +1 -0
  371. package/dist/display/Gauge.d.ts +60 -0
  372. package/dist/display/Gauge.js +215 -0
  373. package/dist/display/Gauge.js.map +1 -0
  374. package/dist/display/Image.d.ts +87 -0
  375. package/dist/display/Image.js +212 -0
  376. package/dist/display/Image.js.map +1 -0
  377. package/dist/display/ItemList.d.ts +69 -0
  378. package/dist/display/ItemList.js +147 -0
  379. package/dist/display/ItemList.js.map +1 -0
  380. package/dist/display/Marquee.d.ts +59 -0
  381. package/dist/display/Marquee.js +155 -0
  382. package/dist/display/Marquee.js.map +1 -0
  383. package/dist/display/ProportionBar.d.ts +55 -0
  384. package/dist/display/ProportionBar.js +99 -0
  385. package/dist/display/ProportionBar.js.map +1 -0
  386. package/dist/display/Sortable.d.ts +43 -0
  387. package/dist/display/Sortable.js +163 -0
  388. package/dist/display/Sortable.js.map +1 -0
  389. package/dist/display/Sparkline.d.ts +48 -0
  390. package/dist/display/Sparkline.js +130 -0
  391. package/dist/display/Sparkline.js.map +1 -0
  392. package/dist/display/Stat.d.ts +105 -0
  393. package/dist/display/Stat.js +268 -0
  394. package/dist/display/Stat.js.map +1 -0
  395. package/dist/display/Timeline.d.ts +106 -0
  396. package/dist/display/Timeline.js +257 -0
  397. package/dist/display/Timeline.js.map +1 -0
  398. package/dist/display/Tree.d.ts +132 -0
  399. package/dist/display/Tree.js +645 -0
  400. package/dist/display/Tree.js.map +1 -0
  401. package/dist/display/VirtualList.d.ts +80 -0
  402. package/dist/display/VirtualList.js +166 -0
  403. package/dist/display/VirtualList.js.map +1 -0
  404. package/dist/display/Watermark.d.ts +39 -0
  405. package/dist/display/Watermark.js +130 -0
  406. package/dist/display/Watermark.js.map +1 -0
  407. package/dist/docs-kit/CodeGroup.d.ts +29 -0
  408. package/dist/docs-kit/CodeGroup.js +81 -0
  409. package/dist/docs-kit/CodeGroup.js.map +1 -0
  410. package/dist/docs-kit/CodePreview.d.ts +60 -0
  411. package/dist/docs-kit/CodePreview.js +183 -0
  412. package/dist/docs-kit/CodePreview.js.map +1 -0
  413. package/dist/docs-kit/ColorSwatch.d.ts +28 -0
  414. package/dist/docs-kit/ColorSwatch.js +85 -0
  415. package/dist/docs-kit/ColorSwatch.js.map +1 -0
  416. package/dist/docs-kit/PropsTable.d.ts +73 -0
  417. package/dist/docs-kit/PropsTable.js +122 -0
  418. package/dist/docs-kit/PropsTable.js.map +1 -0
  419. package/dist/docs-kit/index.d.ts +13 -0
  420. package/dist/docs-kit/index.js +6 -0
  421. package/dist/docs-kit/messages.d.ts +25 -0
  422. package/dist/docs-kit/messages.js +30 -0
  423. package/dist/docs-kit/messages.js.map +1 -0
  424. package/dist/feedback/Alert.d.ts +83 -0
  425. package/dist/feedback/Alert.js +179 -0
  426. package/dist/feedback/Alert.js.map +1 -0
  427. package/dist/feedback/Banner.d.ts +60 -0
  428. package/dist/feedback/Banner.js +122 -0
  429. package/dist/feedback/Banner.js.map +1 -0
  430. package/dist/feedback/Empty.d.ts +38 -0
  431. package/dist/feedback/Empty.js +114 -0
  432. package/dist/feedback/Empty.js.map +1 -0
  433. package/dist/feedback/LoadingBar.d.ts +45 -0
  434. package/dist/feedback/LoadingBar.js +124 -0
  435. package/dist/feedback/LoadingBar.js.map +1 -0
  436. package/dist/feedback/LoadingOverlay.d.ts +29 -0
  437. package/dist/feedback/LoadingOverlay.js +70 -0
  438. package/dist/feedback/LoadingOverlay.js.map +1 -0
  439. package/dist/feedback/Progress.d.ts +215 -0
  440. package/dist/feedback/Progress.js +437 -0
  441. package/dist/feedback/Progress.js.map +1 -0
  442. package/dist/feedback/Result.d.ts +69 -0
  443. package/dist/feedback/Result.js +165 -0
  444. package/dist/feedback/Result.js.map +1 -0
  445. package/dist/feedback/Skeleton.d.ts +50 -0
  446. package/dist/feedback/Skeleton.js +100 -0
  447. package/dist/feedback/Skeleton.js.map +1 -0
  448. package/dist/feedback/SkeletonText.d.ts +25 -0
  449. package/dist/feedback/SkeletonText.js +40 -0
  450. package/dist/feedback/SkeletonText.js.map +1 -0
  451. package/dist/feedback/Toast.d.ts +204 -0
  452. package/dist/feedback/Toast.js +572 -0
  453. package/dist/feedback/Toast.js.map +1 -0
  454. package/dist/form/Field.d.ts +158 -0
  455. package/dist/form/Field.js +327 -0
  456. package/dist/form/Field.js.map +1 -0
  457. package/dist/form/Form.d.ts +14 -0
  458. package/dist/form/Form.js +66 -0
  459. package/dist/form/Form.js.map +1 -0
  460. package/dist/form/FormErrorSummary.d.ts +23 -0
  461. package/dist/form/FormErrorSummary.js +102 -0
  462. package/dist/form/FormErrorSummary.js.map +1 -0
  463. package/dist/form/FormSection.d.ts +66 -0
  464. package/dist/form/FormSection.js +227 -0
  465. package/dist/form/FormSection.js.map +1 -0
  466. package/dist/form/FormValue.d.ts +17 -0
  467. package/dist/form/FormValue.js +40 -0
  468. package/dist/form/FormValue.js.map +1 -0
  469. package/dist/form/field-layout.d.ts +34 -0
  470. package/dist/form/field-layout.js +39 -0
  471. package/dist/form/field-layout.js.map +1 -0
  472. package/dist/form/form-constraints.d.ts +38 -0
  473. package/dist/form/form-constraints.js +131 -0
  474. package/dist/form/form-constraints.js.map +1 -0
  475. package/dist/form/leave-confirmation.d.ts +9 -0
  476. package/dist/form/leave-confirmation.js +31 -0
  477. package/dist/form/leave-confirmation.js.map +1 -0
  478. package/dist/form/schemas.d.ts +52 -0
  479. package/dist/form/schemas.js +97 -0
  480. package/dist/form/schemas.js.map +1 -0
  481. package/dist/form/useForm.d.ts +192 -0
  482. package/dist/form/useForm.js +394 -0
  483. package/dist/form/useForm.js.map +1 -0
  484. package/dist/index.d.ts +282 -0
  485. package/dist/index.js +282 -0
  486. package/dist/input/Autocomplete.d.ts +14 -0
  487. package/dist/input/Autocomplete.js +35 -0
  488. package/dist/input/Autocomplete.js.map +1 -0
  489. package/dist/input/Cascader.d.ts +86 -0
  490. package/dist/input/Cascader.js +593 -0
  491. package/dist/input/Cascader.js.map +1 -0
  492. package/dist/input/CharacterCount.d.ts +21 -0
  493. package/dist/input/CharacterCount.js +47 -0
  494. package/dist/input/CharacterCount.js.map +1 -0
  495. package/dist/input/Checkbox.d.ts +93 -0
  496. package/dist/input/Checkbox.js +250 -0
  497. package/dist/input/Checkbox.js.map +1 -0
  498. package/dist/input/ColorField.d.ts +37 -0
  499. package/dist/input/ColorField.js +143 -0
  500. package/dist/input/ColorField.js.map +1 -0
  501. package/dist/input/Combobox.d.ts +75 -0
  502. package/dist/input/Combobox.js +321 -0
  503. package/dist/input/Combobox.js.map +1 -0
  504. package/dist/input/ConditionBuilder.d.ts +55 -0
  505. package/dist/input/ConditionBuilder.js +471 -0
  506. package/dist/input/ConditionBuilder.js.map +1 -0
  507. package/dist/input/ControlGroup.d.ts +26 -0
  508. package/dist/input/ControlGroup.js +50 -0
  509. package/dist/input/ControlGroup.js.map +1 -0
  510. package/dist/input/FileDrop.d.ts +49 -0
  511. package/dist/input/FileDrop.js +201 -0
  512. package/dist/input/FileDrop.js.map +1 -0
  513. package/dist/input/ListPopover.d.ts +39 -0
  514. package/dist/input/ListPopover.js +81 -0
  515. package/dist/input/ListPopover.js.map +1 -0
  516. package/dist/input/Listbox.d.ts +91 -0
  517. package/dist/input/Listbox.js +408 -0
  518. package/dist/input/Listbox.js.map +1 -0
  519. package/dist/input/Mentions.d.ts +74 -0
  520. package/dist/input/Mentions.js +287 -0
  521. package/dist/input/Mentions.js.map +1 -0
  522. package/dist/input/NumberField.d.ts +64 -0
  523. package/dist/input/NumberField.js +288 -0
  524. package/dist/input/NumberField.js.map +1 -0
  525. package/dist/input/NumberRangeField.d.ts +58 -0
  526. package/dist/input/NumberRangeField.js +157 -0
  527. package/dist/input/NumberRangeField.js.map +1 -0
  528. package/dist/input/OtpField.d.ts +58 -0
  529. package/dist/input/OtpField.js +200 -0
  530. package/dist/input/OtpField.js.map +1 -0
  531. package/dist/input/PeoplePicker.d.ts +42 -0
  532. package/dist/input/PeoplePicker.js +185 -0
  533. package/dist/input/PeoplePicker.js.map +1 -0
  534. package/dist/input/PeoplePickerPanel.d.ts +42 -0
  535. package/dist/input/PeoplePickerPanel.js +357 -0
  536. package/dist/input/PeoplePickerPanel.js.map +1 -0
  537. package/dist/input/Radio.d.ts +90 -0
  538. package/dist/input/Radio.js +211 -0
  539. package/dist/input/Radio.js.map +1 -0
  540. package/dist/input/Rating.d.ts +62 -0
  541. package/dist/input/Rating.js +225 -0
  542. package/dist/input/Rating.js.map +1 -0
  543. package/dist/input/Select.d.ts +97 -0
  544. package/dist/input/Select.js +455 -0
  545. package/dist/input/Select.js.map +1 -0
  546. package/dist/input/SelectedTags.d.ts +28 -0
  547. package/dist/input/SelectedTags.js +81 -0
  548. package/dist/input/SelectedTags.js.map +1 -0
  549. package/dist/input/Slider.d.ts +99 -0
  550. package/dist/input/Slider.js +343 -0
  551. package/dist/input/Slider.js.map +1 -0
  552. package/dist/input/Switch.d.ts +63 -0
  553. package/dist/input/Switch.js +198 -0
  554. package/dist/input/Switch.js.map +1 -0
  555. package/dist/input/TagsInput.d.ts +70 -0
  556. package/dist/input/TagsInput.js +314 -0
  557. package/dist/input/TagsInput.js.map +1 -0
  558. package/dist/input/TextField.d.ts +51 -0
  559. package/dist/input/TextField.js +185 -0
  560. package/dist/input/TextField.js.map +1 -0
  561. package/dist/input/Textarea.d.ts +50 -0
  562. package/dist/input/Textarea.js +146 -0
  563. package/dist/input/Textarea.js.map +1 -0
  564. package/dist/input/ToggleGroup.d.ts +82 -0
  565. package/dist/input/ToggleGroup.js +211 -0
  566. package/dist/input/ToggleGroup.js.map +1 -0
  567. package/dist/input/Transfer.d.ts +67 -0
  568. package/dist/input/Transfer.js +407 -0
  569. package/dist/input/Transfer.js.map +1 -0
  570. package/dist/input/TreeSelect.d.ts +94 -0
  571. package/dist/input/TreeSelect.js +412 -0
  572. package/dist/input/TreeSelect.js.map +1 -0
  573. package/dist/input/Upload.d.ts +143 -0
  574. package/dist/input/Upload.js +597 -0
  575. package/dist/input/Upload.js.map +1 -0
  576. package/dist/input/choice-styles.d.ts +117 -0
  577. package/dist/input/choice-styles.js +176 -0
  578. package/dist/input/choice-styles.js.map +1 -0
  579. package/dist/input/condition.d.ts +153 -0
  580. package/dist/input/condition.js +169 -0
  581. package/dist/input/condition.js.map +1 -0
  582. package/dist/input/control.d.ts +160 -0
  583. package/dist/input/control.js +236 -0
  584. package/dist/input/control.js.map +1 -0
  585. package/dist/input/list-state.d.ts +118 -0
  586. package/dist/input/list-state.js +186 -0
  587. package/dist/input/list-state.js.map +1 -0
  588. package/dist/input/people.d.ts +65 -0
  589. package/dist/input/people.js +47 -0
  590. package/dist/input/people.js.map +1 -0
  591. package/dist/input/remote-items.d.ts +20 -0
  592. package/dist/input/remote-items.js +36 -0
  593. package/dist/input/remote-items.js.map +1 -0
  594. package/dist/input/text-format.d.ts +46 -0
  595. package/dist/input/text-format.js +64 -0
  596. package/dist/input/text-format.js.map +1 -0
  597. package/dist/layout/Affix.d.ts +32 -0
  598. package/dist/layout/Affix.js +81 -0
  599. package/dist/layout/Affix.js.map +1 -0
  600. package/dist/layout/AsideLayout.d.ts +45 -0
  601. package/dist/layout/AsideLayout.js +69 -0
  602. package/dist/layout/AsideLayout.js.map +1 -0
  603. package/dist/layout/BackTop.d.ts +16 -0
  604. package/dist/layout/BackTop.js +83 -0
  605. package/dist/layout/BackTop.js.map +1 -0
  606. package/dist/layout/Container.d.ts +60 -0
  607. package/dist/layout/Container.js +62 -0
  608. package/dist/layout/Container.js.map +1 -0
  609. package/dist/layout/Flex.d.ts +116 -0
  610. package/dist/layout/Flex.js +109 -0
  611. package/dist/layout/Flex.js.map +1 -0
  612. package/dist/layout/Grid.d.ts +139 -0
  613. package/dist/layout/Grid.js +168 -0
  614. package/dist/layout/Grid.js.map +1 -0
  615. package/dist/layout/PageScrollbar.d.ts +20 -0
  616. package/dist/layout/PageScrollbar.js +49 -0
  617. package/dist/layout/PageScrollbar.js.map +1 -0
  618. package/dist/layout/Prose.d.ts +19 -0
  619. package/dist/layout/Prose.js +37 -0
  620. package/dist/layout/Prose.js.map +1 -0
  621. package/dist/layout/ResizeHandle.d.ts +28 -0
  622. package/dist/layout/ResizeHandle.js +94 -0
  623. package/dist/layout/ResizeHandle.js.map +1 -0
  624. package/dist/layout/ScrollArea.d.ts +99 -0
  625. package/dist/layout/ScrollArea.js +344 -0
  626. package/dist/layout/ScrollArea.js.map +1 -0
  627. package/dist/layout/Separator.d.ts +47 -0
  628. package/dist/layout/Separator.js +96 -0
  629. package/dist/layout/Separator.js.map +1 -0
  630. package/dist/layout/Splitter.d.ts +75 -0
  631. package/dist/layout/Splitter.js +236 -0
  632. package/dist/layout/Splitter.js.map +1 -0
  633. package/dist/layout/ViewportFill.d.ts +26 -0
  634. package/dist/layout/ViewportFill.js +59 -0
  635. package/dist/layout/ViewportFill.js.map +1 -0
  636. package/dist/navigation/Breadcrumbs.d.ts +59 -0
  637. package/dist/navigation/Breadcrumbs.js +150 -0
  638. package/dist/navigation/Breadcrumbs.js.map +1 -0
  639. package/dist/navigation/NavBar.d.ts +35 -0
  640. package/dist/navigation/NavBar.js +182 -0
  641. package/dist/navigation/NavBar.js.map +1 -0
  642. package/dist/navigation/NavList.d.ts +112 -0
  643. package/dist/navigation/NavList.js +375 -0
  644. package/dist/navigation/NavList.js.map +1 -0
  645. package/dist/navigation/PageJump.d.ts +27 -0
  646. package/dist/navigation/PageJump.js +77 -0
  647. package/dist/navigation/PageJump.js.map +1 -0
  648. package/dist/navigation/PageSizeSelect.d.ts +19 -0
  649. package/dist/navigation/PageSizeSelect.js +65 -0
  650. package/dist/navigation/PageSizeSelect.js.map +1 -0
  651. package/dist/navigation/Pager.d.ts +30 -0
  652. package/dist/navigation/Pager.js +111 -0
  653. package/dist/navigation/Pager.js.map +1 -0
  654. package/dist/navigation/Pagination.d.ts +51 -0
  655. package/dist/navigation/Pagination.js +157 -0
  656. package/dist/navigation/Pagination.js.map +1 -0
  657. package/dist/navigation/PaginationBar.d.ts +54 -0
  658. package/dist/navigation/PaginationBar.js +125 -0
  659. package/dist/navigation/PaginationBar.js.map +1 -0
  660. package/dist/navigation/SkipLink.d.ts +16 -0
  661. package/dist/navigation/SkipLink.js +58 -0
  662. package/dist/navigation/SkipLink.js.map +1 -0
  663. package/dist/navigation/Steps.d.ts +93 -0
  664. package/dist/navigation/Steps.js +198 -0
  665. package/dist/navigation/Steps.js.map +1 -0
  666. package/dist/navigation/TableOfContents.d.ts +32 -0
  667. package/dist/navigation/TableOfContents.js +119 -0
  668. package/dist/navigation/TableOfContents.js.map +1 -0
  669. package/dist/navigation/Tabs.d.ts +208 -0
  670. package/dist/navigation/Tabs.js +626 -0
  671. package/dist/navigation/Tabs.js.map +1 -0
  672. package/dist/navigation/Toolbar.d.ts +39 -0
  673. package/dist/navigation/Toolbar.js +67 -0
  674. package/dist/navigation/Toolbar.js.map +1 -0
  675. package/dist/overlay/AlertDialog.d.ts +43 -0
  676. package/dist/overlay/AlertDialog.js +106 -0
  677. package/dist/overlay/AlertDialog.js.map +1 -0
  678. package/dist/overlay/CommandPalette.d.ts +64 -0
  679. package/dist/overlay/CommandPalette.js +250 -0
  680. package/dist/overlay/CommandPalette.js.map +1 -0
  681. package/dist/overlay/ContextMenu.d.ts +21 -0
  682. package/dist/overlay/ContextMenu.js +76 -0
  683. package/dist/overlay/ContextMenu.js.map +1 -0
  684. package/dist/overlay/Dialog.d.ts +70 -0
  685. package/dist/overlay/Dialog.js +91 -0
  686. package/dist/overlay/Dialog.js.map +1 -0
  687. package/dist/overlay/Drawer.d.ts +186 -0
  688. package/dist/overlay/Drawer.js +214 -0
  689. package/dist/overlay/Drawer.js.map +1 -0
  690. package/dist/overlay/HoverCard.d.ts +48 -0
  691. package/dist/overlay/HoverCard.js +86 -0
  692. package/dist/overlay/HoverCard.js.map +1 -0
  693. package/dist/overlay/Lightbox.d.ts +57 -0
  694. package/dist/overlay/Lightbox.js +374 -0
  695. package/dist/overlay/Lightbox.js.map +1 -0
  696. package/dist/overlay/Menu.d.ts +218 -0
  697. package/dist/overlay/Menu.js +816 -0
  698. package/dist/overlay/Menu.js.map +1 -0
  699. package/dist/overlay/ModalCore.d.ts +132 -0
  700. package/dist/overlay/ModalCore.js +274 -0
  701. package/dist/overlay/ModalCore.js.map +1 -0
  702. package/dist/overlay/Popconfirm.d.ts +49 -0
  703. package/dist/overlay/Popconfirm.js +167 -0
  704. package/dist/overlay/Popconfirm.js.map +1 -0
  705. package/dist/overlay/Popover.d.ts +40 -0
  706. package/dist/overlay/Popover.js +96 -0
  707. package/dist/overlay/Popover.js.map +1 -0
  708. package/dist/overlay/Tooltip.d.ts +47 -0
  709. package/dist/overlay/Tooltip.js +86 -0
  710. package/dist/overlay/Tooltip.js.map +1 -0
  711. package/dist/overlay/Tour.d.ts +74 -0
  712. package/dist/overlay/Tour.js +309 -0
  713. package/dist/overlay/Tour.js.map +1 -0
  714. package/dist/overlay/detached.d.ts +40 -0
  715. package/dist/overlay/detached.js +109 -0
  716. package/dist/overlay/detached.js.map +1 -0
  717. package/dist/patterns/ActionBar.d.ts +29 -0
  718. package/dist/patterns/ActionBar.js +75 -0
  719. package/dist/patterns/ActionBar.js.map +1 -0
  720. package/dist/patterns/AppShell.d.ts +168 -0
  721. package/dist/patterns/AppShell.js +620 -0
  722. package/dist/patterns/AppShell.js.map +1 -0
  723. package/dist/patterns/CommentThread.d.ts +128 -0
  724. package/dist/patterns/CommentThread.js +386 -0
  725. package/dist/patterns/CommentThread.js.map +1 -0
  726. package/dist/patterns/DataImport.d.ts +72 -0
  727. package/dist/patterns/DataImport.js +486 -0
  728. package/dist/patterns/DataImport.js.map +1 -0
  729. package/dist/patterns/DeadlineBadge.d.ts +21 -0
  730. package/dist/patterns/DeadlineBadge.js +76 -0
  731. package/dist/patterns/DeadlineBadge.js.map +1 -0
  732. package/dist/patterns/FilterBar.d.ts +66 -0
  733. package/dist/patterns/FilterBar.js +254 -0
  734. package/dist/patterns/FilterBar.js.map +1 -0
  735. package/dist/patterns/KanbanBoard.d.ts +79 -0
  736. package/dist/patterns/KanbanBoard.js +294 -0
  737. package/dist/patterns/KanbanBoard.js.map +1 -0
  738. package/dist/patterns/NotificationCenter.d.ts +110 -0
  739. package/dist/patterns/NotificationCenter.js +342 -0
  740. package/dist/patterns/NotificationCenter.js.map +1 -0
  741. package/dist/patterns/PageTabs.d.ts +30 -0
  742. package/dist/patterns/PageTabs.js +97 -0
  743. package/dist/patterns/PageTabs.js.map +1 -0
  744. package/dist/patterns/QueryTable.d.ts +64 -0
  745. package/dist/patterns/QueryTable.js +276 -0
  746. package/dist/patterns/QueryTable.js.map +1 -0
  747. package/dist/patterns/StepsForm.d.ts +49 -0
  748. package/dist/patterns/StepsForm.js +130 -0
  749. package/dist/patterns/StepsForm.js.map +1 -0
  750. package/dist/patterns/ThemeSwitcher.d.ts +20 -0
  751. package/dist/patterns/ThemeSwitcher.js +102 -0
  752. package/dist/patterns/ThemeSwitcher.js.map +1 -0
  753. package/dist/patterns/form-dialog.d.ts +62 -0
  754. package/dist/patterns/form-dialog.js +143 -0
  755. package/dist/patterns/form-dialog.js.map +1 -0
  756. package/dist/patterns/index.d.ts +24 -0
  757. package/dist/patterns/index.js +15 -0
  758. package/dist/patterns/messages.d.ts +172 -0
  759. package/dist/patterns/messages.js +184 -0
  760. package/dist/patterns/messages.js.map +1 -0
  761. package/dist/table/ColumnHeaderActions.d.ts +71 -0
  762. package/dist/table/ColumnHeaderActions.js +247 -0
  763. package/dist/table/ColumnHeaderActions.js.map +1 -0
  764. package/dist/table/ColumnResizer.d.ts +12 -0
  765. package/dist/table/ColumnResizer.js +32 -0
  766. package/dist/table/ColumnResizer.js.map +1 -0
  767. package/dist/table/ColumnSettings.d.ts +34 -0
  768. package/dist/table/ColumnSettings.js +136 -0
  769. package/dist/table/ColumnSettings.js.map +1 -0
  770. package/dist/table/ColumnTable.d.ts +51 -0
  771. package/dist/table/ColumnTable.js +140 -0
  772. package/dist/table/ColumnTable.js.map +1 -0
  773. package/dist/table/DataTable.d.ts +44 -0
  774. package/dist/table/DataTable.js +453 -0
  775. package/dist/table/DataTable.js.map +1 -0
  776. package/dist/table/DataTableView.d.ts +328 -0
  777. package/dist/table/DataTableView.js +963 -0
  778. package/dist/table/DataTableView.js.map +1 -0
  779. package/dist/table/PivotTable.d.ts +66 -0
  780. package/dist/table/PivotTable.js +122 -0
  781. package/dist/table/PivotTable.js.map +1 -0
  782. package/dist/table/SelectionBar.d.ts +29 -0
  783. package/dist/table/SelectionBar.js +86 -0
  784. package/dist/table/SelectionBar.js.map +1 -0
  785. package/dist/table/Table.d.ts +169 -0
  786. package/dist/table/Table.js +304 -0
  787. package/dist/table/Table.js.map +1 -0
  788. package/dist/table/TreeDataTable.d.ts +36 -0
  789. package/dist/table/TreeDataTable.js +168 -0
  790. package/dist/table/TreeDataTable.js.map +1 -0
  791. package/dist/table/column-display.d.ts +20 -0
  792. package/dist/table/column-display.js +43 -0
  793. package/dist/table/column-display.js.map +1 -0
  794. package/dist/table/columns.d.ts +244 -0
  795. package/dist/table/columns.js +271 -0
  796. package/dist/table/columns.js.map +1 -0
  797. package/dist/table/csv.d.ts +24 -0
  798. package/dist/table/csv.js +35 -0
  799. package/dist/table/csv.js.map +1 -0
  800. package/dist/table/pivot.d.ts +66 -0
  801. package/dist/table/pivot.js +85 -0
  802. package/dist/table/pivot.js.map +1 -0
  803. package/dist/table/sheet.d.ts +44 -0
  804. package/dist/table/sheet.js +78 -0
  805. package/dist/table/sheet.js.map +1 -0
  806. package/dist/table/table-styles.d.ts +136 -0
  807. package/dist/table/table-styles.js +403 -0
  808. package/dist/table/table-styles.js.map +1 -0
  809. package/dist/table/use-table-query.d.ts +89 -0
  810. package/dist/table/use-table-query.js +194 -0
  811. package/dist/table/use-table-query.js.map +1 -0
  812. package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
  813. package/dist/theme-customize/ThemeCustomizer.js +361 -0
  814. package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
  815. package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
  816. package/dist/theme-customize/ThemeThumbnail.js +82 -0
  817. package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
  818. package/dist/theme-customize/contrast.d.ts +27 -0
  819. package/dist/theme-customize/contrast.js +251 -0
  820. package/dist/theme-customize/contrast.js.map +1 -0
  821. package/dist/theme-customize/customize.d.ts +65 -0
  822. package/dist/theme-customize/customize.js +105 -0
  823. package/dist/theme-customize/customize.js.map +1 -0
  824. package/dist/theme-customize/design-tokens.d.ts +31 -0
  825. package/dist/theme-customize/design-tokens.js +183 -0
  826. package/dist/theme-customize/design-tokens.js.map +1 -0
  827. package/dist/theme-customize/index.d.ts +20 -0
  828. package/dist/theme-customize/index.js +9 -0
  829. package/dist/theme-customize/messages.d.ts +74 -0
  830. package/dist/theme-customize/messages.js +142 -0
  831. package/dist/theme-customize/messages.js.map +1 -0
  832. package/dist/theme-customize/palette.d.ts +898 -0
  833. package/dist/theme-customize/palette.js +111 -0
  834. package/dist/theme-customize/palette.js.map +1 -0
  835. package/dist/theme-customize/token-catalog.d.ts +20 -0
  836. package/dist/theme-customize/token-catalog.js +836 -0
  837. package/dist/theme-customize/token-catalog.js.map +1 -0
  838. package/dist/three/background/AuroraBackground.d.ts +30 -0
  839. package/dist/three/background/AuroraBackground.js +80 -0
  840. package/dist/three/background/AuroraBackground.js.map +1 -0
  841. package/dist/three/background/MeshGradient.d.ts +28 -0
  842. package/dist/three/background/MeshGradient.js +76 -0
  843. package/dist/three/background/MeshGradient.js.map +1 -0
  844. package/dist/three/background/ShaderBackground.d.ts +25 -0
  845. package/dist/three/background/ShaderBackground.js +107 -0
  846. package/dist/three/background/ShaderBackground.js.map +1 -0
  847. package/dist/three/core/EffectSurface.d.ts +41 -0
  848. package/dist/three/core/EffectSurface.js +62 -0
  849. package/dist/three/core/EffectSurface.js.map +1 -0
  850. package/dist/three/core/ThreeCanvas.d.ts +39 -0
  851. package/dist/three/core/ThreeCanvas.js +77 -0
  852. package/dist/three/core/ThreeCanvas.js.map +1 -0
  853. package/dist/three/core/dispose.d.ts +9 -0
  854. package/dist/three/core/dispose.js +26 -0
  855. package/dist/three/core/dispose.js.map +1 -0
  856. package/dist/three/core/orbit.d.ts +31 -0
  857. package/dist/three/core/orbit.js +83 -0
  858. package/dist/three/core/orbit.js.map +1 -0
  859. package/dist/three/core/quality.d.ts +59 -0
  860. package/dist/three/core/quality.js +80 -0
  861. package/dist/three/core/quality.js.map +1 -0
  862. package/dist/three/core/renderer.d.ts +110 -0
  863. package/dist/three/core/renderer.js +303 -0
  864. package/dist/three/core/renderer.js.map +1 -0
  865. package/dist/three/core/shaders.d.ts +19 -0
  866. package/dist/three/core/shaders.js +100 -0
  867. package/dist/three/core/shaders.js.map +1 -0
  868. package/dist/three/core/theme-colors.d.ts +30 -0
  869. package/dist/three/core/theme-colors.js +113 -0
  870. package/dist/three/core/theme-colors.js.map +1 -0
  871. package/dist/three/effects/Confetti.d.ts +62 -0
  872. package/dist/three/effects/Confetti.js +242 -0
  873. package/dist/three/effects/Confetti.js.map +1 -0
  874. package/dist/three/effects/ParticleField.d.ts +39 -0
  875. package/dist/three/effects/ParticleField.js +266 -0
  876. package/dist/three/effects/ParticleField.js.map +1 -0
  877. package/dist/three/effects/WaveGrid.d.ts +37 -0
  878. package/dist/three/effects/WaveGrid.js +130 -0
  879. package/dist/three/effects/WaveGrid.js.map +1 -0
  880. package/dist/three/globe/Globe.d.ts +70 -0
  881. package/dist/three/globe/Globe.js +337 -0
  882. package/dist/three/globe/Globe.js.map +1 -0
  883. package/dist/three/globe/land.d.ts +9 -0
  884. package/dist/three/globe/land.js +14 -0
  885. package/dist/three/globe/land.js.map +1 -0
  886. package/dist/three/index.d.ts +24 -0
  887. package/dist/three/index.js +18 -0
  888. package/dist/three/model/ModelViewer.d.ts +63 -0
  889. package/dist/three/model/ModelViewer.js +193 -0
  890. package/dist/three/model/ModelViewer.js.map +1 -0
  891. package/dist/utils/data/collation.d.ts +36 -0
  892. package/dist/utils/data/collation.js +69 -0
  893. package/dist/utils/data/collation.js.map +1 -0
  894. package/dist/utils/data/color.d.ts +32 -0
  895. package/dist/utils/data/color.js +90 -0
  896. package/dist/utils/data/color.js.map +1 -0
  897. package/dist/utils/data/date.d.ts +186 -0
  898. package/dist/utils/data/date.js +409 -0
  899. package/dist/utils/data/date.js.map +1 -0
  900. package/dist/utils/data/diff.d.ts +21 -0
  901. package/dist/utils/data/diff.js +43 -0
  902. package/dist/utils/data/diff.js.map +1 -0
  903. package/dist/utils/data/equality.d.ts +5 -0
  904. package/dist/utils/data/equality.js +24 -0
  905. package/dist/utils/data/equality.js.map +1 -0
  906. package/dist/utils/data/history.d.ts +59 -0
  907. package/dist/utils/data/history.js +132 -0
  908. package/dist/utils/data/history.js.map +1 -0
  909. package/dist/utils/data/intl-cache.d.ts +8 -0
  910. package/dist/utils/data/intl-cache.js +19 -0
  911. package/dist/utils/data/intl-cache.js.map +1 -0
  912. package/dist/utils/data/number-parse.d.ts +7 -0
  913. package/dist/utils/data/number-parse.js +45 -0
  914. package/dist/utils/data/number-parse.js.map +1 -0
  915. package/dist/utils/data/number.d.ts +10 -0
  916. package/dist/utils/data/number.js +28 -0
  917. package/dist/utils/data/number.js.map +1 -0
  918. package/dist/utils/data/numeric.d.ts +55 -0
  919. package/dist/utils/data/numeric.js +133 -0
  920. package/dist/utils/data/numeric.js.map +1 -0
  921. package/dist/utils/data/pagination.d.ts +21 -0
  922. package/dist/utils/data/pagination.js +22 -0
  923. package/dist/utils/data/pagination.js.map +1 -0
  924. package/dist/utils/data/selection.d.ts +41 -0
  925. package/dist/utils/data/selection.js +21 -0
  926. package/dist/utils/data/selection.js.map +1 -0
  927. package/dist/utils/data/status.d.ts +43 -0
  928. package/dist/utils/data/status.js +27 -0
  929. package/dist/utils/data/status.js.map +1 -0
  930. package/dist/utils/data/text.d.ts +12 -0
  931. package/dist/utils/data/text.js +30 -0
  932. package/dist/utils/data/text.js.map +1 -0
  933. package/dist/utils/data/tree.d.ts +140 -0
  934. package/dist/utils/data/tree.js +273 -0
  935. package/dist/utils/data/tree.js.map +1 -0
  936. package/dist/utils/data/workdays.d.ts +67 -0
  937. package/dist/utils/data/workdays.js +67 -0
  938. package/dist/utils/data/workdays.js.map +1 -0
  939. package/dist/utils/dom/announcer.d.ts +11 -0
  940. package/dist/utils/dom/announcer.js +53 -0
  941. package/dist/utils/dom/announcer.js.map +1 -0
  942. package/dist/utils/dom/caret.d.ts +14 -0
  943. package/dist/utils/dom/caret.js +72 -0
  944. package/dist/utils/dom/caret.js.map +1 -0
  945. package/dist/utils/dom/clipboard.d.ts +16 -0
  946. package/dist/utils/dom/clipboard.js +66 -0
  947. package/dist/utils/dom/clipboard.js.map +1 -0
  948. package/dist/utils/dom/direction.d.ts +12 -0
  949. package/dist/utils/dom/direction.js +20 -0
  950. package/dist/utils/dom/direction.js.map +1 -0
  951. package/dist/utils/dom/download.d.ts +7 -0
  952. package/dist/utils/dom/download.js +19 -0
  953. package/dist/utils/dom/download.js.map +1 -0
  954. package/dist/utils/dom/element.d.ts +3 -0
  955. package/dist/utils/dom/element.js +12 -0
  956. package/dist/utils/dom/element.js.map +1 -0
  957. package/dist/utils/dom/event-listener.d.ts +8 -0
  958. package/dist/utils/dom/event-listener.js +35 -0
  959. package/dist/utils/dom/event-listener.js.map +1 -0
  960. package/dist/utils/dom/floating.d.ts +149 -0
  961. package/dist/utils/dom/floating.js +262 -0
  962. package/dist/utils/dom/floating.js.map +1 -0
  963. package/dist/utils/dom/focus.d.ts +28 -0
  964. package/dist/utils/dom/focus.js +105 -0
  965. package/dist/utils/dom/focus.js.map +1 -0
  966. package/dist/utils/dom/fullscreen.d.ts +11 -0
  967. package/dist/utils/dom/fullscreen.js +43 -0
  968. package/dist/utils/dom/fullscreen.js.map +1 -0
  969. package/dist/utils/dom/hotkeys.d.ts +43 -0
  970. package/dist/utils/dom/hotkeys.js +174 -0
  971. package/dist/utils/dom/hotkeys.js.map +1 -0
  972. package/dist/utils/dom/hover-intent.d.ts +47 -0
  973. package/dist/utils/dom/hover-intent.js +72 -0
  974. package/dist/utils/dom/hover-intent.js.map +1 -0
  975. package/dist/utils/dom/hover-layer.d.ts +36 -0
  976. package/dist/utils/dom/hover-layer.js +74 -0
  977. package/dist/utils/dom/hover-layer.js.map +1 -0
  978. package/dist/utils/dom/intersection.d.ts +13 -0
  979. package/dist/utils/dom/intersection.js +36 -0
  980. package/dist/utils/dom/intersection.js.map +1 -0
  981. package/dist/utils/dom/layout-batch.d.ts +14 -0
  982. package/dist/utils/dom/layout-batch.js +26 -0
  983. package/dist/utils/dom/layout-batch.js.map +1 -0
  984. package/dist/utils/dom/link.d.ts +18 -0
  985. package/dist/utils/dom/link.js +44 -0
  986. package/dist/utils/dom/link.js.map +1 -0
  987. package/dist/utils/dom/media-query.d.ts +18 -0
  988. package/dist/utils/dom/media-query.js +36 -0
  989. package/dist/utils/dom/media-query.js.map +1 -0
  990. package/dist/utils/dom/move.d.ts +47 -0
  991. package/dist/utils/dom/move.js +69 -0
  992. package/dist/utils/dom/move.js.map +1 -0
  993. package/dist/utils/dom/open-change.d.ts +51 -0
  994. package/dist/utils/dom/open-change.js +21 -0
  995. package/dist/utils/dom/open-change.js.map +1 -0
  996. package/dist/utils/dom/overflow.d.ts +29 -0
  997. package/dist/utils/dom/overflow.js +108 -0
  998. package/dist/utils/dom/overflow.js.map +1 -0
  999. package/dist/utils/dom/overlay.d.ts +35 -0
  1000. package/dist/utils/dom/overlay.js +104 -0
  1001. package/dist/utils/dom/overlay.js.map +1 -0
  1002. package/dist/utils/dom/page-visibility.d.ts +10 -0
  1003. package/dist/utils/dom/page-visibility.js +22 -0
  1004. package/dist/utils/dom/page-visibility.js.map +1 -0
  1005. package/dist/utils/dom/pan-zoom.d.ts +109 -0
  1006. package/dist/utils/dom/pan-zoom.js +257 -0
  1007. package/dist/utils/dom/pan-zoom.js.map +1 -0
  1008. package/dist/utils/dom/rasterize.d.ts +18 -0
  1009. package/dist/utils/dom/rasterize.js +41 -0
  1010. package/dist/utils/dom/rasterize.js.map +1 -0
  1011. package/dist/utils/dom/resize.d.ts +4 -0
  1012. package/dist/utils/dom/resize.js +65 -0
  1013. package/dist/utils/dom/resize.js.map +1 -0
  1014. package/dist/utils/dom/ripple.d.ts +40 -0
  1015. package/dist/utils/dom/ripple.js +96 -0
  1016. package/dist/utils/dom/ripple.js.map +1 -0
  1017. package/dist/utils/dom/roving-focus.d.ts +44 -0
  1018. package/dist/utils/dom/roving-focus.js +184 -0
  1019. package/dist/utils/dom/roving-focus.js.map +1 -0
  1020. package/dist/utils/dom/scroll-spy.d.ts +30 -0
  1021. package/dist/utils/dom/scroll-spy.js +55 -0
  1022. package/dist/utils/dom/scroll-spy.js.map +1 -0
  1023. package/dist/utils/dom/sortable.d.ts +82 -0
  1024. package/dist/utils/dom/sortable.js +437 -0
  1025. package/dist/utils/dom/sortable.js.map +1 -0
  1026. package/dist/utils/dom/storage.d.ts +21 -0
  1027. package/dist/utils/dom/storage.js +66 -0
  1028. package/dist/utils/dom/storage.js.map +1 -0
  1029. package/dist/utils/dom/typeahead.d.ts +15 -0
  1030. package/dist/utils/dom/typeahead.js +26 -0
  1031. package/dist/utils/dom/typeahead.js.map +1 -0
  1032. package/dist/utils/motion/active-indicator.d.ts +24 -0
  1033. package/dist/utils/motion/active-indicator.js +58 -0
  1034. package/dist/utils/motion/active-indicator.js.map +1 -0
  1035. package/dist/utils/motion/animation.d.ts +58 -0
  1036. package/dist/utils/motion/animation.js +83 -0
  1037. package/dist/utils/motion/animation.js.map +1 -0
  1038. package/dist/utils/motion/delayed-loading.d.ts +18 -0
  1039. package/dist/utils/motion/delayed-loading.js +38 -0
  1040. package/dist/utils/motion/delayed-loading.js.map +1 -0
  1041. package/dist/utils/motion/layout.d.ts +17 -0
  1042. package/dist/utils/motion/layout.js +43 -0
  1043. package/dist/utils/motion/layout.js.map +1 -0
  1044. package/dist/utils/motion/pointer.d.ts +14 -0
  1045. package/dist/utils/motion/pointer.js +72 -0
  1046. package/dist/utils/motion/pointer.js.map +1 -0
  1047. package/dist/utils/motion/presence.d.ts +57 -0
  1048. package/dist/utils/motion/presence.js +100 -0
  1049. package/dist/utils/motion/presence.js.map +1 -0
  1050. package/dist/utils/motion/reveal.d.ts +9 -0
  1051. package/dist/utils/motion/reveal.js +68 -0
  1052. package/dist/utils/motion/reveal.js.map +1 -0
  1053. package/dist/utils/motion/tween.d.ts +34 -0
  1054. package/dist/utils/motion/tween.js +50 -0
  1055. package/dist/utils/motion/tween.js.map +1 -0
  1056. package/dist/utils/props.d.ts +84 -0
  1057. package/dist/utils/props.js +189 -0
  1058. package/dist/utils/props.js.map +1 -0
  1059. package/dist/utils/request/http.d.ts +101 -0
  1060. package/dist/utils/request/http.js +154 -0
  1061. package/dist/utils/request/http.js.map +1 -0
  1062. package/dist/utils/request/use-request.d.ts +37 -0
  1063. package/dist/utils/request/use-request.js +90 -0
  1064. package/dist/utils/request/use-request.js.map +1 -0
  1065. package/dist/utils/request/wire.d.ts +48 -0
  1066. package/dist/utils/request/wire.js +208 -0
  1067. package/dist/utils/request/wire.js.map +1 -0
  1068. package/dist/utils/style/attached.d.ts +25 -0
  1069. package/dist/utils/style/attached.js +82 -0
  1070. package/dist/utils/style/attached.js.map +1 -0
  1071. package/dist/utils/style/item-styles.d.ts +18 -0
  1072. package/dist/utils/style/item-styles.js +79 -0
  1073. package/dist/utils/style/item-styles.js.map +1 -0
  1074. package/dist/utils/style/markers.d.ts +6 -0
  1075. package/dist/utils/style/markers.js +11 -0
  1076. package/dist/utils/style/markers.js.map +1 -0
  1077. package/dist/utils/style/shimmer.d.ts +20 -0
  1078. package/dist/utils/style/shimmer.js +58 -0
  1079. package/dist/utils/style/shimmer.js.map +1 -0
  1080. package/dist/utils/style/styles.d.ts +118 -0
  1081. package/dist/utils/style/styles.js +114 -0
  1082. package/dist/utils/style/styles.js.map +1 -0
  1083. package/dist/utils/style/swatch-styles.d.ts +10 -0
  1084. package/dist/utils/style/swatch-styles.js +19 -0
  1085. package/dist/utils/style/swatch-styles.js.map +1 -0
  1086. package/dist/utils/style/tone-styles.d.ts +58 -0
  1087. package/dist/utils/style/tone-styles.js +180 -0
  1088. package/dist/utils/style/tone-styles.js.map +1 -0
  1089. package/dist/utils/style/transitions.d.ts +43 -0
  1090. package/dist/utils/style/transitions.js +118 -0
  1091. package/dist/utils/style/transitions.js.map +1 -0
  1092. package/dist/utils/style/typography.d.ts +155 -0
  1093. package/dist/utils/style/typography.js +80 -0
  1094. package/dist/utils/style/typography.js.map +1 -0
  1095. package/dist/utils/style/vars.d.ts +18 -0
  1096. package/dist/utils/style/vars.js +21 -0
  1097. package/dist/utils/style/vars.js.map +1 -0
  1098. package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
  1099. package/dist/utils/virtual/use-virtualizer.js +94 -0
  1100. package/dist/utils/virtual/use-virtualizer.js.map +1 -0
  1101. package/dist/utils/virtual/virtualizer.d.ts +145 -0
  1102. package/dist/utils/virtual/virtualizer.js +316 -0
  1103. package/dist/utils/virtual/virtualizer.js.map +1 -0
  1104. package/dist/xlsx/index.d.ts +7 -0
  1105. package/dist/xlsx/index.js +1 -0
  1106. package/dist/xlsx/workbook.d.ts +33 -0
  1107. package/dist/xlsx/workbook.js +195 -0
  1108. package/dist/xlsx/workbook.js.map +1 -0
  1109. package/package.json +205 -3
@@ -0,0 +1,67 @@
1
+ /** 工作日历:哪天上班 */
2
+ export interface WorkCalendar {
3
+ /** 这一天(ISO 日期)上不上班 */
4
+ isWorkday(iso: string): boolean;
5
+ }
6
+ /** createWorkCalendar 的选项 */
7
+ export interface WorkCalendarOptions {
8
+ /** 休息的星期几(0 周日 … 6 周六),默认周六、周日 */
9
+ weekend?: readonly number[];
10
+ /** 放假的日子:ISO 日期,或 [开始, 结束](含两端) */
11
+ holidays?: readonly (string | readonly [string, string])[];
12
+ /** 调休上班的日子(落在周末的补班) */
13
+ workdays?: readonly string[];
14
+ }
15
+ /** 按周末、节假日与调休生成工作日历 */
16
+ export declare function createWorkCalendar({ weekend, holidays, workdays, }?: WorkCalendarOptions): WorkCalendar;
17
+ /** 只按周末(周六、周日)算的工作日历:没配置 workCalendar 时用它 */
18
+ export declare const weekdayCalendar: WorkCalendar;
19
+ /**
20
+ * from 之后到 to(含)有几个工作日:周五到下周一是 1;to 在 from 之前时为负数(两端对调再取负,同 date-fns 的方向)
21
+ */
22
+ export declare function workdaysBetween(from: string, to: string, calendar?: WorkCalendar): number;
23
+ /** 从 from 起数 count 个工作日后的那一天(count 为负往前数,为 0 时原样) */
24
+ export declare function addWorkdays(from: string, count: number, calendar?: WorkCalendar): string;
25
+ /** 时限的状态 */
26
+ export interface DeadlineStates {
27
+ /** 还早 */
28
+ pending: unknown;
29
+ /** 快到期:剩下的工作日不多于 soon */
30
+ soon: unknown;
31
+ /** 今天到期 */
32
+ due: unknown;
33
+ /** 超期 */
34
+ overdue: unknown;
35
+ /** 已完成(按完成那天算剩余或超期) */
36
+ done: unknown;
37
+ }
38
+ /** 时限:截止日直接给出,或开始日加几个工作日 */
39
+ export type DeadlineInput = ({
40
+ due: string;
41
+ start?: never;
42
+ workdays?: never;
43
+ } | {
44
+ start: string;
45
+ workdays: number;
46
+ due?: never;
47
+ }) & {
48
+ /** 完成的日期;完成了状态是 done */
49
+ done?: string | null;
50
+ /** 今天,默认按浏览器时区的今天 */
51
+ today?: string;
52
+ /** 剩下几个工作日以内算快到期,默认 2 */
53
+ soon?: number;
54
+ };
55
+ /** 时限的结果 */
56
+ export interface Deadline {
57
+ /** 截止日 */
58
+ due: string;
59
+ /** 离截止还有几个工作日:截止当天为 0,超期为负;完成了按完成那天算 */
60
+ remaining: number;
61
+ /** 状态 */
62
+ state: keyof DeadlineStates;
63
+ }
64
+ /** 算时限:截止日、还剩几个工作日、状态 */
65
+ export declare function deadlineOf(input: DeadlineInput, calendar?: WorkCalendar): Deadline;
66
+ /** 当前配置的工作日历(createUi / Provider 的 workCalendar;都没给时只按周末) */
67
+ export declare function useWorkCalendar(): WorkCalendar;
@@ -0,0 +1,67 @@
1
+ import { useConfig } from "../../config/context.js";
2
+ import { isoDayOfWeek, shiftIsoDate, todayIso } from "./date.js";
3
+ //#region src/utils/data/workdays.ts
4
+ /**
5
+ * 工作日与时限(参考 date-fns 的 addBusinessDays、differenceInBusinessDays):周末、法定节假日与调休补班。
6
+ * 节假日每年发布一次,组件库不内置:应用把数据交给 createUi / Provider 的 workCalendar,组件经 useWorkCalendar 取用。
7
+ *
8
+ * const workCalendar = createWorkCalendar({
9
+ * holidays: [['2026-10-01', '2026-10-08']], // 放假(单日或区间)
10
+ * workdays: ['2026-09-27', '2026-10-10'], // 调休上班的周末
11
+ * });
12
+ * createUi({ workCalendar });
13
+ *
14
+ * const calendar = useWorkCalendar();
15
+ * deadlineOf({ start: verifiedOn, workdays: 10 }, calendar) // → { due, remaining, state }
16
+ */
17
+ /** 按周末、节假日与调休生成工作日历 */
18
+ function createWorkCalendar({ weekend = [0, 6], holidays = [], workdays = [] } = {}) {
19
+ const off = /* @__PURE__ */ new Set();
20
+ for (const entry of holidays) if (typeof entry === "string") off.add(entry);
21
+ else for (let day = entry[0]; day <= entry[1]; day = shiftIsoDate(day, { days: 1 })) off.add(day);
22
+ const on = new Set(workdays);
23
+ return { isWorkday: (iso) => on.has(iso) || !off.has(iso) && !weekend.includes(isoDayOfWeek(iso)) };
24
+ }
25
+ /** 只按周末(周六、周日)算的工作日历:没配置 workCalendar 时用它 */
26
+ var weekdayCalendar = createWorkCalendar();
27
+ /**
28
+ * from 之后到 to(含)有几个工作日:周五到下周一是 1;to 在 from 之前时为负数(两端对调再取负,同 date-fns 的方向)
29
+ */
30
+ function workdaysBetween(from, to, calendar = weekdayCalendar) {
31
+ if (to < from) return 0 - workdaysBetween(to, from, calendar);
32
+ let count = 0;
33
+ for (let day = from; day < to;) {
34
+ day = shiftIsoDate(day, { days: 1 });
35
+ if (calendar.isWorkday(day)) count++;
36
+ }
37
+ return count;
38
+ }
39
+ /** 从 from 起数 count 个工作日后的那一天(count 为负往前数,为 0 时原样) */
40
+ function addWorkdays(from, count, calendar = weekdayCalendar) {
41
+ const step = count >= 0 ? 1 : -1;
42
+ let day = from;
43
+ for (let left = Math.abs(count); left > 0;) {
44
+ day = shiftIsoDate(day, { days: step });
45
+ if (calendar.isWorkday(day)) left--;
46
+ }
47
+ return day;
48
+ }
49
+ /** 算时限:截止日、还剩几个工作日、状态 */
50
+ function deadlineOf(input, calendar = weekdayCalendar) {
51
+ const due = input.due ?? addWorkdays(input.start, input.workdays, calendar);
52
+ const at = input.done ?? input.today ?? todayIso();
53
+ const remaining = workdaysBetween(at, due, calendar);
54
+ return {
55
+ due,
56
+ remaining,
57
+ state: input.done ? "done" : at > due ? "overdue" : at === due ? "due" : remaining <= (input.soon ?? 2) ? "soon" : "pending"
58
+ };
59
+ }
60
+ /** 当前配置的工作日历(createUi / Provider 的 workCalendar;都没给时只按周末) */
61
+ function useWorkCalendar() {
62
+ return useConfig().workCalendar ?? weekdayCalendar;
63
+ }
64
+ //#endregion
65
+ export { addWorkdays, createWorkCalendar, deadlineOf, useWorkCalendar, weekdayCalendar, workdaysBetween };
66
+
67
+ //# sourceMappingURL=workdays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workdays.js","names":[],"sources":["../../../src/utils/data/workdays.ts"],"sourcesContent":["/**\n * 工作日与时限(参考 date-fns 的 addBusinessDays、differenceInBusinessDays):周末、法定节假日与调休补班。\n * 节假日每年发布一次,组件库不内置:应用把数据交给 createUi / Provider 的 workCalendar,组件经 useWorkCalendar 取用。\n *\n * const workCalendar = createWorkCalendar({\n * holidays: [['2026-10-01', '2026-10-08']], // 放假(单日或区间)\n * workdays: ['2026-09-27', '2026-10-10'], // 调休上班的周末\n * });\n * createUi({ workCalendar });\n *\n * const calendar = useWorkCalendar();\n * deadlineOf({ start: verifiedOn, workdays: 10 }, calendar) // → { due, remaining, state }\n */\nimport { useConfig } from '../../config/context';\nimport { isoDayOfWeek, shiftIsoDate, todayIso } from './date';\n\n/** 工作日历:哪天上班 */\nexport interface WorkCalendar {\n /** 这一天(ISO 日期)上不上班 */\n isWorkday(iso: string): boolean;\n}\n\n/** createWorkCalendar 的选项 */\nexport interface WorkCalendarOptions {\n /** 休息的星期几(0 周日 … 6 周六),默认周六、周日 */\n weekend?: readonly number[];\n /** 放假的日子:ISO 日期,或 [开始, 结束](含两端) */\n holidays?: readonly (string | readonly [string, string])[];\n /** 调休上班的日子(落在周末的补班) */\n workdays?: readonly string[];\n}\n\n/** 按周末、节假日与调休生成工作日历 */\nexport function createWorkCalendar({\n weekend = [0, 6],\n holidays = [],\n workdays = [],\n}: WorkCalendarOptions = {}): WorkCalendar {\n const off = new Set<string>();\n for (const entry of holidays) {\n if (typeof entry === 'string') off.add(entry);\n else\n for (let day = entry[0]; day <= entry[1]; day = shiftIsoDate(day, { days: 1 })) off.add(day);\n }\n const on = new Set(workdays);\n return {\n isWorkday: (iso) => on.has(iso) || (!off.has(iso) && !weekend.includes(isoDayOfWeek(iso))),\n };\n}\n\n/** 只按周末(周六、周日)算的工作日历:没配置 workCalendar 时用它 */\nexport const weekdayCalendar: WorkCalendar = createWorkCalendar();\n\n/**\n * from 之后到 to(含)有几个工作日:周五到下周一是 1;to 在 from 之前时为负数(两端对调再取负,同 date-fns 的方向)\n */\nexport function workdaysBetween(from: string, to: string, calendar = weekdayCalendar): number {\n // 0 - x 而不是 -x:相差 0 个工作日时得 0,不是 -0\n if (to < from) return 0 - workdaysBetween(to, from, calendar);\n let count = 0;\n for (let day = from; day < to;) {\n day = shiftIsoDate(day, { days: 1 });\n if (calendar.isWorkday(day)) count++;\n }\n return count;\n}\n\n/** 从 from 起数 count 个工作日后的那一天(count 为负往前数,为 0 时原样) */\nexport function addWorkdays(from: string, count: number, calendar = weekdayCalendar): string {\n const step = count >= 0 ? 1 : -1;\n let day = from;\n for (let left = Math.abs(count); left > 0;) {\n day = shiftIsoDate(day, { days: step });\n if (calendar.isWorkday(day)) left--;\n }\n return day;\n}\n\n/** 时限的状态 */\nexport interface DeadlineStates {\n /** 还早 */\n pending: unknown;\n /** 快到期:剩下的工作日不多于 soon */\n soon: unknown;\n /** 今天到期 */\n due: unknown;\n /** 超期 */\n overdue: unknown;\n /** 已完成(按完成那天算剩余或超期) */\n done: unknown;\n}\n\n/** 时限:截止日直接给出,或开始日加几个工作日 */\nexport type DeadlineInput = (\n | { due: string; start?: never; workdays?: never }\n | { start: string; workdays: number; due?: never }\n) & {\n /** 完成的日期;完成了状态是 done */\n done?: string | null;\n /** 今天,默认按浏览器时区的今天 */\n today?: string;\n /** 剩下几个工作日以内算快到期,默认 2 */\n soon?: number;\n};\n\n/** 时限的结果 */\nexport interface Deadline {\n /** 截止日 */\n due: string;\n /** 离截止还有几个工作日:截止当天为 0,超期为负;完成了按完成那天算 */\n remaining: number;\n /** 状态 */\n state: keyof DeadlineStates;\n}\n\n/** 算时限:截止日、还剩几个工作日、状态 */\nexport function deadlineOf(input: DeadlineInput, calendar = weekdayCalendar): Deadline {\n const due = input.due ?? addWorkdays(input.start, input.workdays, calendar);\n const at = input.done ?? input.today ?? todayIso();\n const remaining = workdaysBetween(at, due, calendar);\n // 是否过期按日期比:周五截止、周六还没完成也算超期(虽然中间没有工作日)\n const state: keyof DeadlineStates = input.done\n ? 'done'\n : at > due\n ? 'overdue'\n : at === due\n ? 'due'\n : remaining <= (input.soon ?? 2)\n ? 'soon'\n : 'pending';\n return { due, remaining, state };\n}\n\n/** 当前配置的工作日历(createUi / Provider 的 workCalendar;都没给时只按周末) */\nexport function useWorkCalendar(): WorkCalendar {\n return useConfig().workCalendar ?? weekdayCalendar;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiCA,SAAgB,mBAAmB,EACjC,UAAU,CAAC,GAAG,CAAC,GACf,WAAW,CAAC,GACZ,WAAW,CAAC,MACW,CAAC,GAAiB;CACzC,MAAM,sBAAM,IAAI,IAAY;CAC5B,KAAK,MAAM,SAAS,UAClB,IAAI,OAAO,UAAU,UAAU,IAAI,IAAI,KAAK;MAE1C,KAAK,IAAI,MAAM,MAAM,IAAI,OAAO,MAAM,IAAI,MAAM,aAAa,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG;CAE/F,MAAM,KAAK,IAAI,IAAI,QAAQ;CAC3B,OAAO,EACL,YAAY,QAAQ,GAAG,IAAI,GAAG,KAAM,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,SAAS,aAAa,GAAG,CAAC,EAC1F;AACF;;AAGA,IAAa,kBAAgC,mBAAmB;;;;AAKhE,SAAgB,gBAAgB,MAAc,IAAY,WAAW,iBAAyB;CAE5F,IAAI,KAAK,MAAM,OAAO,IAAI,gBAAgB,IAAI,MAAM,QAAQ;CAC5D,IAAI,QAAQ;CACZ,KAAK,IAAI,MAAM,MAAM,MAAM,KAAK;EAC9B,MAAM,aAAa,KAAK,EAAE,MAAM,EAAE,CAAC;EACnC,IAAI,SAAS,UAAU,GAAG,GAAG;CAC/B;CACA,OAAO;AACT;;AAGA,SAAgB,YAAY,MAAc,OAAe,WAAW,iBAAyB;CAC3F,MAAM,OAAO,SAAS,IAAI,IAAI;CAC9B,IAAI,MAAM;CACV,KAAK,IAAI,OAAO,KAAK,IAAI,KAAK,GAAG,OAAO,IAAI;EAC1C,MAAM,aAAa,KAAK,EAAE,MAAM,KAAK,CAAC;EACtC,IAAI,SAAS,UAAU,GAAG,GAAG;CAC/B;CACA,OAAO;AACT;;AAwCA,SAAgB,WAAW,OAAsB,WAAW,iBAA2B;CACrF,MAAM,MAAM,MAAM,OAAO,YAAY,MAAM,OAAO,MAAM,UAAU,QAAQ;CAC1E,MAAM,KAAK,MAAM,QAAQ,MAAM,SAAS,SAAS;CACjD,MAAM,YAAY,gBAAgB,IAAI,KAAK,QAAQ;CAWnD,OAAO;EAAE;EAAK;EAAW,OATW,MAAM,OACtC,SACA,KAAK,MACH,YACA,OAAO,MACL,QACA,cAAc,MAAM,QAAQ,KAC1B,SACA;CACqB;AACjC;;AAGA,SAAgB,kBAAgC;CAC9C,OAAO,UAAU,CAAC,CAAC,gBAAgB;AACrC"}
@@ -0,0 +1,11 @@
1
+ /** 播报的紧迫程度 */
2
+ export interface Politenesses {
3
+ /** 等读屏念完当前的内容再念(默认):选中条数、搜索结果、已复制 */
4
+ polite: unknown;
5
+ /** 打断当前的朗读:出错、操作失败 */
6
+ assertive: unknown;
7
+ }
8
+ /** 播报的紧迫程度 */
9
+ export type Politeness = keyof Politenesses;
10
+ /** 让读屏念出一句话;同一句话连说两次也会念(先清空,稍后再写入)。没有 document(服务端)时什么也不做 */
11
+ export declare function announce(message: string, politeness?: Politeness): void;
@@ -0,0 +1,53 @@
1
+ import { topModal } from "./overlay.js";
2
+ //#region src/utils/dom/announcer.ts
3
+ /**
4
+ * 读屏播报(参考 React Aria 的 LiveAnnouncer):整页共用两个常驻的 aria-live 区域(polite 与 assertive),
5
+ * 组件不再各自挂播报区。读屏只念已经存在的区域里的变化,随内容一起插入的 aria-live 区域常常不念,第一句就丢了。
6
+ *
7
+ * announce(lang.tableSelectedCount(3));
8
+ * announce('保存失败', 'assertive');
9
+ *
10
+ * 有模态对话框打开时区域挂进最上层的对话框:showModal 让对话框外面的内容对读屏失效。
11
+ */
12
+ /** 只给读屏的区域:视觉上隐藏(同 VisuallyHidden;这里是命令式创建的元素,直接写行内样式) */
13
+ var SR_ONLY = {
14
+ position: "absolute",
15
+ width: "1px",
16
+ height: "1px",
17
+ margin: "-1px",
18
+ padding: "0",
19
+ overflow: "hidden",
20
+ clipPath: "inset(50%)",
21
+ whiteSpace: "nowrap",
22
+ border: "0"
23
+ };
24
+ /** 清空与写入之间隔多久(毫秒):同一帧里改两次,读屏只看到最后的结果,重复的话就不念了 */
25
+ var REPEAT_DELAY = 100;
26
+ var regions = /* @__PURE__ */ new Map();
27
+ var timers = /* @__PURE__ */ new Map();
28
+ function region(politeness) {
29
+ let element = regions.get(politeness);
30
+ if (!element) {
31
+ element = document.createElement("div");
32
+ element.setAttribute("aria-live", politeness);
33
+ element.setAttribute("aria-atomic", "true");
34
+ element.dataset.liveAnnouncer = politeness;
35
+ Object.assign(element.style, SR_ONLY);
36
+ regions.set(politeness, element);
37
+ }
38
+ const host = topModal() ?? document.body;
39
+ if (element.parentElement !== host) host.append(element);
40
+ return element;
41
+ }
42
+ /** 让读屏念出一句话;同一句话连说两次也会念(先清空,稍后再写入)。没有 document(服务端)时什么也不做 */
43
+ function announce(message, politeness = "polite") {
44
+ if (typeof document === "undefined" || !message) return;
45
+ const element = region(politeness);
46
+ element.textContent = "";
47
+ clearTimeout(timers.get(politeness));
48
+ timers.set(politeness, setTimeout(() => element.textContent = message, REPEAT_DELAY));
49
+ }
50
+ //#endregion
51
+ export { announce };
52
+
53
+ //# sourceMappingURL=announcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcer.js","names":[],"sources":["../../../src/utils/dom/announcer.ts"],"sourcesContent":["/**\n * 读屏播报(参考 React Aria 的 LiveAnnouncer):整页共用两个常驻的 aria-live 区域(polite 与 assertive),\n * 组件不再各自挂播报区。读屏只念已经存在的区域里的变化,随内容一起插入的 aria-live 区域常常不念,第一句就丢了。\n *\n * announce(lang.tableSelectedCount(3));\n * announce('保存失败', 'assertive');\n *\n * 有模态对话框打开时区域挂进最上层的对话框:showModal 让对话框外面的内容对读屏失效。\n */\nimport { topModal } from './overlay';\n\n/** 播报的紧迫程度 */\nexport interface Politenesses {\n /** 等读屏念完当前的内容再念(默认):选中条数、搜索结果、已复制 */\n polite: unknown;\n /** 打断当前的朗读:出错、操作失败 */\n assertive: unknown;\n}\n\n/** 播报的紧迫程度 */\nexport type Politeness = keyof Politenesses;\n\n/** 只给读屏的区域:视觉上隐藏(同 VisuallyHidden;这里是命令式创建的元素,直接写行内样式) */\nconst SR_ONLY: Partial<CSSStyleDeclaration> = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n padding: '0',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n border: '0',\n};\n\n/** 清空与写入之间隔多久(毫秒):同一帧里改两次,读屏只看到最后的结果,重复的话就不念了 */\nconst REPEAT_DELAY = 100;\n\nconst regions = new Map<Politeness, HTMLElement>();\nconst timers = new Map<Politeness, ReturnType<typeof setTimeout>>();\n\nfunction region(politeness: Politeness): HTMLElement {\n let element = regions.get(politeness);\n if (!element) {\n element = document.createElement('div');\n element.setAttribute('aria-live', politeness);\n element.setAttribute('aria-atomic', 'true');\n element.dataset.liveAnnouncer = politeness;\n Object.assign(element.style, SR_ONLY);\n regions.set(politeness, element);\n }\n const host = topModal() ?? document.body;\n if (element.parentElement !== host) host.append(element);\n return element;\n}\n\n/** 让读屏念出一句话;同一句话连说两次也会念(先清空,稍后再写入)。没有 document(服务端)时什么也不做 */\nexport function announce(message: string, politeness: Politeness = 'polite'): void {\n if (typeof document === 'undefined' || !message) return;\n const element = region(politeness);\n element.textContent = '';\n clearTimeout(timers.get(politeness));\n timers.set(\n politeness,\n setTimeout(() => (element.textContent = message), REPEAT_DELAY),\n );\n}\n"],"mappings":";;;;;;;;;;;;AAuBA,IAAM,UAAwC;CAC5C,UAAU;CACV,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,UAAU;CACV,UAAU;CACV,YAAY;CACZ,QAAQ;AACV;;AAGA,IAAM,eAAe;AAErB,IAAM,0BAAU,IAAI,IAA6B;AACjD,IAAM,yBAAS,IAAI,IAA+C;AAElE,SAAS,OAAO,YAAqC;CACnD,IAAI,UAAU,QAAQ,IAAI,UAAU;CACpC,IAAI,CAAC,SAAS;EACZ,UAAU,SAAS,cAAc,KAAK;EACtC,QAAQ,aAAa,aAAa,UAAU;EAC5C,QAAQ,aAAa,eAAe,MAAM;EAC1C,QAAQ,QAAQ,gBAAgB;EAChC,OAAO,OAAO,QAAQ,OAAO,OAAO;EACpC,QAAQ,IAAI,YAAY,OAAO;CACjC;CACA,MAAM,OAAO,SAAS,KAAK,SAAS;CACpC,IAAI,QAAQ,kBAAkB,MAAM,KAAK,OAAO,OAAO;CACvD,OAAO;AACT;;AAGA,SAAgB,SAAS,SAAiB,aAAyB,UAAgB;CACjF,IAAI,OAAO,aAAa,eAAe,CAAC,SAAS;CACjD,MAAM,UAAU,OAAO,UAAU;CACjC,QAAQ,cAAc;CACtB,aAAa,OAAO,IAAI,UAAU,CAAC;CACnC,OAAO,IACL,YACA,iBAAkB,QAAQ,cAAc,SAAU,YAAY,CAChE;AACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 文本框里某个字符位置在视口中的坐标:@ 提及、斜杠命令这类跟着光标弹出的列表用它定位。
3
+ *
4
+ * const anchor = caretAnchor(textarea, () => textarea.selectionStart);
5
+ * anchorFloating(anchor, panel, { placement: 'bottom-start' });
6
+ *
7
+ * 做法同 textarea-caret-position(component/textarea-caret):在页面外放一个镜像 div,复制影响排版的样式,
8
+ * 写入位置之前的文字和一个标记 span,量标记的位置,再减去文本框的滚动。input 不换行,textarea 按 pre-wrap 换行。
9
+ */
10
+ import type { VirtualElement } from '@floating-ui/dom';
11
+ /** 文本框里第 index 个字符之前(光标在那里时)的位置:视口坐标,宽 0、高一行 */
12
+ export declare function caretRect(element: HTMLTextAreaElement | HTMLInputElement, index: number): DOMRect;
13
+ /** 跟着光标的锚点(给 anchorFloating / useAnchoredPopover):每次定位时按 index() 重新测量,文本框滚动时跟着更新 */
14
+ export declare function caretAnchor(element: HTMLTextAreaElement | HTMLInputElement, index: () => number): VirtualElement;
@@ -0,0 +1,72 @@
1
+ //#region src/utils/dom/caret.ts
2
+ /** 影响文字排版的样式:镜像 div 照抄 */
3
+ var MIRRORED = [
4
+ "direction",
5
+ "boxSizing",
6
+ "width",
7
+ "height",
8
+ "overflowX",
9
+ "overflowY",
10
+ "borderTopWidth",
11
+ "borderRightWidth",
12
+ "borderBottomWidth",
13
+ "borderLeftWidth",
14
+ "borderStyle",
15
+ "paddingTop",
16
+ "paddingRight",
17
+ "paddingBottom",
18
+ "paddingLeft",
19
+ "fontStyle",
20
+ "fontVariant",
21
+ "fontWeight",
22
+ "fontStretch",
23
+ "fontSize",
24
+ "fontSizeAdjust",
25
+ "lineHeight",
26
+ "fontFamily",
27
+ "fontFeatureSettings",
28
+ "textAlign",
29
+ "textTransform",
30
+ "textIndent",
31
+ "textDecoration",
32
+ "letterSpacing",
33
+ "wordSpacing",
34
+ "tabSize"
35
+ ];
36
+ /** 文本框里第 index 个字符之前(光标在那里时)的位置:视口坐标,宽 0、高一行 */
37
+ function caretRect(element, index) {
38
+ const style = getComputedStyle(element);
39
+ const mirror = document.createElement("div");
40
+ for (const property of MIRRORED) mirror.style[property] = style[property];
41
+ Object.assign(mirror.style, {
42
+ position: "absolute",
43
+ visibility: "hidden",
44
+ top: "0",
45
+ left: "-9999px",
46
+ overflow: "hidden",
47
+ whiteSpace: element instanceof HTMLTextAreaElement ? "pre-wrap" : "pre",
48
+ overflowWrap: "break-word"
49
+ });
50
+ mirror.textContent = element.value.slice(0, index);
51
+ const marker = document.createElement("span");
52
+ marker.textContent = element.value.slice(index) || ".";
53
+ mirror.append(marker);
54
+ document.body.append(mirror);
55
+ const lineHeight = parseFloat(style.lineHeight) || parseFloat(style.fontSize) * 1.2;
56
+ const top = marker.offsetTop + parseFloat(style.borderTopWidth) - element.scrollTop;
57
+ const left = marker.offsetLeft + parseFloat(style.borderLeftWidth) - element.scrollLeft;
58
+ mirror.remove();
59
+ const box = element.getBoundingClientRect();
60
+ return new DOMRect(box.left + left, box.top + top, 0, lineHeight);
61
+ }
62
+ /** 跟着光标的锚点(给 anchorFloating / useAnchoredPopover):每次定位时按 index() 重新测量,文本框滚动时跟着更新 */
63
+ function caretAnchor(element, index) {
64
+ return {
65
+ getBoundingClientRect: () => caretRect(element, index()),
66
+ contextElement: element
67
+ };
68
+ }
69
+ //#endregion
70
+ export { caretAnchor, caretRect };
71
+
72
+ //# sourceMappingURL=caret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caret.js","names":[],"sources":["../../../src/utils/dom/caret.ts"],"sourcesContent":["/**\n * 文本框里某个字符位置在视口中的坐标:@ 提及、斜杠命令这类跟着光标弹出的列表用它定位。\n *\n * const anchor = caretAnchor(textarea, () => textarea.selectionStart);\n * anchorFloating(anchor, panel, { placement: 'bottom-start' });\n *\n * 做法同 textarea-caret-position(component/textarea-caret):在页面外放一个镜像 div,复制影响排版的样式,\n * 写入位置之前的文字和一个标记 span,量标记的位置,再减去文本框的滚动。input 不换行,textarea 按 pre-wrap 换行。\n */\nimport type { VirtualElement } from '@floating-ui/dom';\n\n/** 影响文字排版的样式:镜像 div 照抄 */\nconst MIRRORED = [\n 'direction',\n 'boxSizing',\n 'width',\n 'height',\n 'overflowX',\n 'overflowY',\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n 'fontFeatureSettings',\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration',\n 'letterSpacing',\n 'wordSpacing',\n 'tabSize',\n] as const;\n\n/** 文本框里第 index 个字符之前(光标在那里时)的位置:视口坐标,宽 0、高一行 */\nexport function caretRect(element: HTMLTextAreaElement | HTMLInputElement, index: number): DOMRect {\n const style = getComputedStyle(element);\n const mirror = document.createElement('div');\n for (const property of MIRRORED) mirror.style[property] = style[property];\n Object.assign(mirror.style, {\n position: 'absolute',\n visibility: 'hidden',\n top: '0',\n left: '-9999px',\n overflow: 'hidden',\n whiteSpace: element instanceof HTMLTextAreaElement ? 'pre-wrap' : 'pre',\n overflowWrap: 'break-word',\n });\n mirror.textContent = element.value.slice(0, index);\n const marker = document.createElement('span');\n // 标记里放后面的文字(至少一个字符):行末的光标按下一个字的位置换行\n marker.textContent = element.value.slice(index) || '.';\n mirror.append(marker);\n document.body.append(mirror);\n const lineHeight = parseFloat(style.lineHeight) || parseFloat(style.fontSize) * 1.2;\n const top = marker.offsetTop + parseFloat(style.borderTopWidth) - element.scrollTop;\n const left = marker.offsetLeft + parseFloat(style.borderLeftWidth) - element.scrollLeft;\n mirror.remove();\n const box = element.getBoundingClientRect();\n return new DOMRect(box.left + left, box.top + top, 0, lineHeight);\n}\n\n/** 跟着光标的锚点(给 anchorFloating / useAnchoredPopover):每次定位时按 index() 重新测量,文本框滚动时跟着更新 */\nexport function caretAnchor(\n element: HTMLTextAreaElement | HTMLInputElement,\n index: () => number,\n): VirtualElement {\n return { getBoundingClientRect: () => caretRect(element, index()), contextElement: element };\n}\n"],"mappings":";;AAYA,IAAM,WAAW;CACf;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;AAGA,SAAgB,UAAU,SAAiD,OAAwB;CACjG,MAAM,QAAQ,iBAAiB,OAAO;CACtC,MAAM,SAAS,SAAS,cAAc,KAAK;CAC3C,KAAK,MAAM,YAAY,UAAU,OAAO,MAAM,YAAY,MAAM;CAChE,OAAO,OAAO,OAAO,OAAO;EAC1B,UAAU;EACV,YAAY;EACZ,KAAK;EACL,MAAM;EACN,UAAU;EACV,YAAY,mBAAmB,sBAAsB,aAAa;EAClE,cAAc;CAChB,CAAC;CACD,OAAO,cAAc,QAAQ,MAAM,MAAM,GAAG,KAAK;CACjD,MAAM,SAAS,SAAS,cAAc,MAAM;CAE5C,OAAO,cAAc,QAAQ,MAAM,MAAM,KAAK,KAAK;CACnD,OAAO,OAAO,MAAM;CACpB,SAAS,KAAK,OAAO,MAAM;CAC3B,MAAM,aAAa,WAAW,MAAM,UAAU,KAAK,WAAW,MAAM,QAAQ,IAAI;CAChF,MAAM,MAAM,OAAO,YAAY,WAAW,MAAM,cAAc,IAAI,QAAQ;CAC1E,MAAM,OAAO,OAAO,aAAa,WAAW,MAAM,eAAe,IAAI,QAAQ;CAC7E,OAAO,OAAO;CACd,MAAM,MAAM,QAAQ,sBAAsB;CAC1C,OAAO,IAAI,QAAQ,IAAI,OAAO,MAAM,IAAI,MAAM,KAAK,GAAG,UAAU;AAClE;;AAGA,SAAgB,YACd,SACA,OACgB;CAChB,OAAO;EAAE,6BAA6B,UAAU,SAAS,MAAM,CAAC;EAAG,gBAAgB;CAAQ;AAC7F"}
@@ -0,0 +1,16 @@
1
+ /** useClipboard 的选项 */
2
+ export interface ClipboardOptions {
3
+ /** copied 保持多久(毫秒)后复原,默认 2000 */
4
+ timeout?: number;
5
+ }
6
+ /** useClipboard 的返回值 */
7
+ export interface ClipboardState {
8
+ /** 刚复制成功,timeout 后复原 */
9
+ readonly copied: boolean;
10
+ /** 上一次复制失败的原因(不安全的上下文、用户拒绝了权限);成功后清空 */
11
+ readonly error: unknown;
12
+ /** 复制文字,返回是否成功 */
13
+ copy(text: string): Promise<boolean>;
14
+ }
15
+ /** 复制与复制状态(在 setup 里调用) */
16
+ export declare function useClipboard({ timeout }?: ClipboardOptions): ClipboardState;
@@ -0,0 +1,66 @@
1
+ import { onScopeDispose, shallowRef } from "vue";
2
+ //#region src/utils/dom/clipboard.ts
3
+ /**
4
+ * 复制到剪贴板,带“刚复制过”的状态(按钮显示对勾、读屏播报“已复制”),过一会儿自动复原。
5
+ *
6
+ * const clipboard = useClipboard();
7
+ * <IconButton icon={clipboard.copied ? Check : Copy} onClick={() => void clipboard.copy(code)} />
8
+ */
9
+ /** 复制与复制状态(在 setup 里调用) */
10
+ function useClipboard({ timeout = 2e3 } = {}) {
11
+ const copied = shallowRef(false);
12
+ const error = shallowRef(void 0);
13
+ let timer;
14
+ onScopeDispose(() => clearTimeout(timer));
15
+ return {
16
+ get copied() {
17
+ return copied.value;
18
+ },
19
+ get error() {
20
+ return error.value;
21
+ },
22
+ async copy(text) {
23
+ clearTimeout(timer);
24
+ try {
25
+ await writeText(text);
26
+ } catch (reason) {
27
+ copied.value = false;
28
+ error.value = reason;
29
+ return false;
30
+ }
31
+ error.value = void 0;
32
+ copied.value = true;
33
+ timer = setTimeout(() => copied.value = false, timeout);
34
+ return true;
35
+ }
36
+ };
37
+ }
38
+ /**
39
+ * 写入剪贴板。Clipboard API 只在安全上下文(https、localhost)里有:内网常见的 http 部署没有它,
40
+ * 这时退回 execCommand('copy')(已废弃,但各浏览器仍支持;同 VueUse useClipboard 的 legacy)
41
+ */
42
+ async function writeText(text) {
43
+ if (navigator.clipboard) return navigator.clipboard.writeText(text);
44
+ if (!copyBySelection(text)) throw new Error("浏览器不允许复制:不是安全上下文,execCommand 也失败了");
45
+ }
46
+ /** 选中一个看不见的 textarea 再执行复制;之后焦点还给原来的元素(复制按钮) */
47
+ function copyBySelection(text) {
48
+ const active = document.activeElement;
49
+ const textarea = document.createElement("textarea");
50
+ textarea.value = text;
51
+ textarea.readOnly = true;
52
+ textarea.style.cssText = "position:fixed;inset-block-start:0;opacity:0;pointer-events:none";
53
+ (active?.closest("dialog, [popover]") ?? document.body).append(textarea);
54
+ textarea.focus({ preventScroll: true });
55
+ textarea.select();
56
+ try {
57
+ return document.execCommand("copy");
58
+ } finally {
59
+ textarea.remove();
60
+ active?.focus({ preventScroll: true });
61
+ }
62
+ }
63
+ //#endregion
64
+ export { useClipboard };
65
+
66
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","names":[],"sources":["../../../src/utils/dom/clipboard.ts"],"sourcesContent":["/**\n * 复制到剪贴板,带“刚复制过”的状态(按钮显示对勾、读屏播报“已复制”),过一会儿自动复原。\n *\n * const clipboard = useClipboard();\n * <IconButton icon={clipboard.copied ? Check : Copy} onClick={() => void clipboard.copy(code)} />\n */\nimport { onScopeDispose, shallowRef } from 'vue';\n\n/** useClipboard 的选项 */\nexport interface ClipboardOptions {\n /** copied 保持多久(毫秒)后复原,默认 2000 */\n timeout?: number;\n}\n\n/** useClipboard 的返回值 */\nexport interface ClipboardState {\n /** 刚复制成功,timeout 后复原 */\n readonly copied: boolean;\n /** 上一次复制失败的原因(不安全的上下文、用户拒绝了权限);成功后清空 */\n readonly error: unknown;\n /** 复制文字,返回是否成功 */\n copy(text: string): Promise<boolean>;\n}\n\n/** 复制与复制状态(在 setup 里调用) */\nexport function useClipboard({ timeout = 2000 }: ClipboardOptions = {}): ClipboardState {\n const copied = shallowRef(false);\n const error = shallowRef<unknown>(undefined);\n let timer: ReturnType<typeof setTimeout> | undefined;\n onScopeDispose(() => clearTimeout(timer));\n\n return {\n get copied() {\n return copied.value;\n },\n get error() {\n return error.value;\n },\n async copy(text) {\n clearTimeout(timer);\n try {\n await writeText(text);\n } catch (reason) {\n copied.value = false;\n error.value = reason;\n return false;\n }\n error.value = undefined;\n copied.value = true;\n timer = setTimeout(() => (copied.value = false), timeout);\n return true;\n },\n };\n}\n\n/**\n * 写入剪贴板。Clipboard API 只在安全上下文(https、localhost)里有:内网常见的 http 部署没有它,\n * 这时退回 execCommand('copy')(已废弃,但各浏览器仍支持;同 VueUse useClipboard 的 legacy)\n */\nasync function writeText(text: string) {\n if (navigator.clipboard) return navigator.clipboard.writeText(text);\n if (!copyBySelection(text))\n throw new Error('浏览器不允许复制:不是安全上下文,execCommand 也失败了');\n}\n\n/** 选中一个看不见的 textarea 再执行复制;之后焦点还给原来的元素(复制按钮) */\nfunction copyBySelection(text: string): boolean {\n const active = document.activeElement as HTMLElement | null;\n const textarea = document.createElement('textarea');\n textarea.value = text;\n textarea.readOnly = true;\n textarea.style.cssText = 'position:fixed;inset-block-start:0;opacity:0;pointer-events:none';\n // 模态对话框打开时页面其余部分是 inert 的,放在 body 上选不中:放进焦点所在的对话框、弹层里\n (active?.closest('dialog, [popover]') ?? document.body).append(textarea);\n // select() 不一定把焦点移过去(MDN),先聚焦,复制的才是它的选区\n textarea.focus({ preventScroll: true });\n textarea.select();\n try {\n return document.execCommand('copy');\n } finally {\n textarea.remove();\n active?.focus({ preventScroll: true });\n }\n}\n"],"mappings":";;;;;;;;;AAyBA,SAAgB,aAAa,EAAE,UAAU,QAA2B,CAAC,GAAmB;CACtF,MAAM,SAAS,WAAW,KAAK;CAC/B,MAAM,QAAQ,WAAoB,KAAA,CAAS;CAC3C,IAAI;CACJ,qBAAqB,aAAa,KAAK,CAAC;CAExC,OAAO;EACL,IAAI,SAAS;GACX,OAAO,OAAO;EAChB;EACA,IAAI,QAAQ;GACV,OAAO,MAAM;EACf;EACA,MAAM,KAAK,MAAM;GACf,aAAa,KAAK;GAClB,IAAI;IACF,MAAM,UAAU,IAAI;GACtB,SAAS,QAAQ;IACf,OAAO,QAAQ;IACf,MAAM,QAAQ;IACd,OAAO;GACT;GACA,MAAM,QAAQ,KAAA;GACd,OAAO,QAAQ;GACf,QAAQ,iBAAkB,OAAO,QAAQ,OAAQ,OAAO;GACxD,OAAO;EACT;CACF;AACF;;;;;AAMA,eAAe,UAAU,MAAc;CACrC,IAAI,UAAU,WAAW,OAAO,UAAU,UAAU,UAAU,IAAI;CAClE,IAAI,CAAC,gBAAgB,IAAI,GACvB,MAAM,IAAI,MAAM,mCAAmC;AACvD;;AAGA,SAAS,gBAAgB,MAAuB;CAC9C,MAAM,SAAS,SAAS;CACxB,MAAM,WAAW,SAAS,cAAc,UAAU;CAClD,SAAS,QAAQ;CACjB,SAAS,WAAW;CACpB,SAAS,MAAM,UAAU;CAEzB,CAAC,QAAQ,QAAQ,mBAAmB,KAAK,SAAS,KAAA,CAAM,OAAO,QAAQ;CAEvE,SAAS,MAAM,EAAE,eAAe,KAAK,CAAC;CACtC,SAAS,OAAO;CAChB,IAAI;EACF,OAAO,SAAS,YAAY,MAAM;CACpC,UAAU;EACR,SAAS,OAAO;EAChB,QAAQ,MAAM,EAAE,eAAe,KAAK,CAAC;CACvC;AACF"}
@@ -0,0 +1,12 @@
1
+ /** 排版方向:从右到左时方向键、拖动、滚动位置要换边 */
2
+ /** 元素是否处在从右到左排版里(按计算后的 direction,跟随 dir 属性与 CSS) */
3
+ export declare function isRtl(element: Element): boolean;
4
+ /** 行内方向的左右键 */
5
+ export interface InlineArrows {
6
+ /** 朝行尾:从左到右时是 →,从右到左时是 ← */
7
+ readonly forward: 'ArrowRight' | 'ArrowLeft';
8
+ /** 朝行首:从左到右时是 ←,从右到左时是 → */
9
+ readonly backward: 'ArrowRight' | 'ArrowLeft';
10
+ }
11
+ /** 按排版方向取行内的前进、后退键:`const { forward, backward } = inlineArrows(isRtl(root))` */
12
+ export declare const inlineArrows: (rtl: boolean) => InlineArrows;
@@ -0,0 +1,20 @@
1
+ //#region src/utils/dom/direction.ts
2
+ /** 排版方向:从右到左时方向键、拖动、滚动位置要换边 */
3
+ /** 元素是否处在从右到左排版里(按计算后的 direction,跟随 dir 属性与 CSS) */
4
+ function isRtl(element) {
5
+ return getComputedStyle(element).direction === "rtl";
6
+ }
7
+ var LTR_ARROWS = {
8
+ forward: "ArrowRight",
9
+ backward: "ArrowLeft"
10
+ };
11
+ var RTL_ARROWS = {
12
+ forward: "ArrowLeft",
13
+ backward: "ArrowRight"
14
+ };
15
+ /** 按排版方向取行内的前进、后退键:`const { forward, backward } = inlineArrows(isRtl(root))` */
16
+ var inlineArrows = (rtl) => rtl ? RTL_ARROWS : LTR_ARROWS;
17
+ //#endregion
18
+ export { inlineArrows, isRtl };
19
+
20
+ //# sourceMappingURL=direction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.js","names":[],"sources":["../../../src/utils/dom/direction.ts"],"sourcesContent":["/** 排版方向:从右到左时方向键、拖动、滚动位置要换边 */\n\n/** 元素是否处在从右到左排版里(按计算后的 direction,跟随 dir 属性与 CSS) */\nexport function isRtl(element: Element): boolean {\n return getComputedStyle(element).direction === 'rtl';\n}\n\n/** 行内方向的左右键 */\nexport interface InlineArrows {\n /** 朝行尾:从左到右时是 →,从右到左时是 ← */\n readonly forward: 'ArrowRight' | 'ArrowLeft';\n /** 朝行首:从左到右时是 ←,从右到左时是 → */\n readonly backward: 'ArrowRight' | 'ArrowLeft';\n}\n\nconst LTR_ARROWS: InlineArrows = { forward: 'ArrowRight', backward: 'ArrowLeft' };\nconst RTL_ARROWS: InlineArrows = { forward: 'ArrowLeft', backward: 'ArrowRight' };\n\n/** 按排版方向取行内的前进、后退键:`const { forward, backward } = inlineArrows(isRtl(root))` */\nexport const inlineArrows = (rtl: boolean): InlineArrows => (rtl ? RTL_ARROWS : LTR_ARROWS);\n"],"mappings":";;;AAGA,SAAgB,MAAM,SAA2B;CAC/C,OAAO,iBAAiB,OAAO,CAAC,CAAC,cAAc;AACjD;AAUA,IAAM,aAA2B;CAAE,SAAS;CAAc,UAAU;AAAY;AAChF,IAAM,aAA2B;CAAE,SAAS;CAAa,UAAU;AAAa;;AAGhF,IAAa,gBAAgB,QAAgC,MAAM,aAAa"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 把一段文字存成文件(浏览器下载):导出代码、CSV、SVG。
3
+ * 内容原样写入:给 Excel 打开的 CSV 要由调用方在开头加 BOM(`'\uFEFF' + csv`),中文才不乱码。
4
+ *
5
+ * downloadFile('theme.ts', code, 'text/typescript');
6
+ */
7
+ export declare function downloadFile(name: string, content: BlobPart, type: string): void;
@@ -0,0 +1,19 @@
1
+ //#region src/utils/dom/download.ts
2
+ /**
3
+ * 把一段文字存成文件(浏览器下载):导出代码、CSV、SVG。
4
+ * 内容原样写入:给 Excel 打开的 CSV 要由调用方在开头加 BOM(`'\uFEFF' + csv`),中文才不乱码。
5
+ *
6
+ * downloadFile('theme.ts', code, 'text/typescript');
7
+ */
8
+ function downloadFile(name, content, type) {
9
+ const url = URL.createObjectURL(new Blob([content], { type }));
10
+ Object.assign(document.createElement("a"), {
11
+ href: url,
12
+ download: name
13
+ }).click();
14
+ setTimeout(() => URL.revokeObjectURL(url), 4e4);
15
+ }
16
+ //#endregion
17
+ export { downloadFile };
18
+
19
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","names":[],"sources":["../../../src/utils/dom/download.ts"],"sourcesContent":["/**\n * 把一段文字存成文件(浏览器下载):导出代码、CSV、SVG。\n * 内容原样写入:给 Excel 打开的 CSV 要由调用方在开头加 BOM(`'\\uFEFF' + csv`),中文才不乱码。\n *\n * downloadFile('theme.ts', code, 'text/typescript');\n */\nexport function downloadFile(name: string, content: BlobPart, type: string): void {\n const url = URL.createObjectURL(new Blob([content], { type }));\n const link = Object.assign(document.createElement('a'), { href: url, download: name });\n link.click();\n // 点击后浏览器才开始读这个地址:Safari、Firefox 里立即回收会让下载失败,过一会儿再回收(同 FileSaver.js)\n setTimeout(() => URL.revokeObjectURL(url), 40_000);\n}\n"],"mappings":";;;;;;;AAMA,SAAgB,aAAa,MAAc,SAAmB,MAAoB;CAChF,MAAM,MAAM,IAAI,gBAAgB,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;CAE7D,OADoB,OAAO,SAAS,cAAc,GAAG,GAAG;EAAE,MAAM;EAAK,UAAU;CAAK,CACpF,CAAA,CAAK,MAAM;CAEX,iBAAiB,IAAI,gBAAgB,GAAG,GAAG,GAAM;AACnD"}
@@ -0,0 +1,3 @@
1
+ /** 模板 ref 的取值换成 DOM 元素 */
2
+ /** ref 落在组件上拿到的是组件实例,取它的根元素;本来就是元素时原样返回 */
3
+ export declare function toElement(value: unknown): HTMLElement | null;
@@ -0,0 +1,12 @@
1
+ //#region src/utils/dom/element.ts
2
+ /** 模板 ref 的取值换成 DOM 元素 */
3
+ /** ref 落在组件上拿到的是组件实例,取它的根元素;本来就是元素时原样返回 */
4
+ function toElement(value) {
5
+ if (value instanceof HTMLElement) return value;
6
+ const root = value?.$el;
7
+ return root instanceof HTMLElement ? root : null;
8
+ }
9
+ //#endregion
10
+ export { toElement };
11
+
12
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","names":[],"sources":["../../../src/utils/dom/element.ts"],"sourcesContent":["/** 模板 ref 的取值换成 DOM 元素 */\n\n/** ref 落在组件上拿到的是组件实例,取它的根元素;本来就是元素时原样返回 */\nexport function toElement(value: unknown): HTMLElement | null {\n if (value instanceof HTMLElement) return value;\n const root = (value as { $el?: unknown } | null)?.$el;\n return root instanceof HTMLElement ? root : null;\n}\n"],"mappings":";;;AAGA,SAAgB,UAAU,OAAoC;CAC5D,IAAI,iBAAiB,aAAa,OAAO;CACzC,MAAM,OAAQ,OAAoC;CAClD,OAAO,gBAAgB,cAAc,OAAO;AAC9C"}
@@ -0,0 +1,8 @@
1
+ /** 监听的目标:window、document、元素,或返回它们的 getter(返回 null、undefined 时不监听) */
2
+ export type ListenerTarget = EventTarget | (() => EventTarget | null | undefined);
3
+ /** 监听 window 的事件(见文件开头) */
4
+ export declare function useEventListener<K extends keyof WindowEventMap>(target: Window | (() => Window | null | undefined), type: K, listener: (event: WindowEventMap[K]) => void, options?: AddEventListenerOptions): () => void;
5
+ /** 监听 document 的事件 */
6
+ export declare function useEventListener<K extends keyof DocumentEventMap>(target: Document | (() => Document | null | undefined), type: K, listener: (event: DocumentEventMap[K]) => void, options?: AddEventListenerOptions): () => void;
7
+ /** 监听元素(或 getter 给出的目标)的事件 */
8
+ export declare function useEventListener<K extends keyof HTMLElementEventMap>(target: ListenerTarget, type: K, listener: (event: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions): () => void;
@@ -0,0 +1,35 @@
1
+ import { getCurrentScope, onScopeDispose, watch } from "vue";
2
+ //#region src/utils/dom/event-listener.ts
3
+ /**
4
+ * 事件监听,跟着作用域(组件)一起移除(参考 VueUse 的 useEventListener):
5
+ *
6
+ * useEventListener(document, 'visibilitychange', update);
7
+ * useEventListener(() => scroller, 'scroll', onScroll, { passive: true }); 目标是 getter:变了换绑,null 时不监听
8
+ *
9
+ * getter 在 DOM 更新之后读(模板 ref 已经有值);服务端渲染时什么都不做。返回立即移除的函数。
10
+ */
11
+ function useEventListener(target, type, listener, options) {
12
+ if (typeof window === "undefined") return () => {};
13
+ let remove = () => {};
14
+ const bind = (element) => {
15
+ remove();
16
+ remove = () => {};
17
+ if (!element) return;
18
+ element.addEventListener(type, listener, options);
19
+ remove = () => element.removeEventListener(type, listener, options);
20
+ };
21
+ const stopWatch = typeof target === "function" ? watch(target, bind, {
22
+ immediate: true,
23
+ flush: "post"
24
+ }) : (bind(target), void 0);
25
+ const stop = () => {
26
+ stopWatch?.();
27
+ remove();
28
+ };
29
+ if (getCurrentScope()) onScopeDispose(stop);
30
+ return stop;
31
+ }
32
+ //#endregion
33
+ export { useEventListener };
34
+
35
+ //# sourceMappingURL=event-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-listener.js","names":[],"sources":["../../../src/utils/dom/event-listener.ts"],"sourcesContent":["/**\n * 事件监听,跟着作用域(组件)一起移除(参考 VueUse 的 useEventListener):\n *\n * useEventListener(document, 'visibilitychange', update);\n * useEventListener(() => scroller, 'scroll', onScroll, { passive: true }); 目标是 getter:变了换绑,null 时不监听\n *\n * getter 在 DOM 更新之后读(模板 ref 已经有值);服务端渲染时什么都不做。返回立即移除的函数。\n */\nimport { getCurrentScope, onScopeDispose, watch } from 'vue';\n\n/** 监听的目标:window、document、元素,或返回它们的 getter(返回 null、undefined 时不监听) */\nexport type ListenerTarget = EventTarget | (() => EventTarget | null | undefined);\n\n/** 监听 window 的事件(见文件开头) */\nexport function useEventListener<K extends keyof WindowEventMap>(\n target: Window | (() => Window | null | undefined),\n type: K,\n listener: (event: WindowEventMap[K]) => void,\n options?: AddEventListenerOptions,\n): () => void;\n/** 监听 document 的事件 */\nexport function useEventListener<K extends keyof DocumentEventMap>(\n target: Document | (() => Document | null | undefined),\n type: K,\n listener: (event: DocumentEventMap[K]) => void,\n options?: AddEventListenerOptions,\n): () => void;\n/** 监听元素(或 getter 给出的目标)的事件 */\nexport function useEventListener<K extends keyof HTMLElementEventMap>(\n target: ListenerTarget,\n type: K,\n listener: (event: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions,\n): () => void;\nexport function useEventListener(\n target: ListenerTarget,\n type: string,\n listener: (event: Event) => void,\n options?: AddEventListenerOptions,\n): () => void {\n if (typeof window === 'undefined') return () => {};\n let remove = () => {};\n const bind = (element: EventTarget | null | undefined) => {\n remove();\n remove = () => {};\n if (!element) return;\n element.addEventListener(type, listener, options);\n remove = () => element.removeEventListener(type, listener, options);\n };\n const stopWatch =\n typeof target === 'function'\n ? watch(target, bind, { immediate: true, flush: 'post' })\n : (bind(target), undefined);\n const stop = () => {\n stopWatch?.();\n remove();\n };\n if (getCurrentScope()) onScopeDispose(stop);\n return stop;\n}\n"],"mappings":";;;;;;;;;;AAkCA,SAAgB,iBACd,QACA,MACA,UACA,SACY;CACZ,IAAI,OAAO,WAAW,aAAa,aAAa,CAAC;CACjD,IAAI,eAAe,CAAC;CACpB,MAAM,QAAQ,YAA4C;EACxD,OAAO;EACP,eAAe,CAAC;EAChB,IAAI,CAAC,SAAS;EACd,QAAQ,iBAAiB,MAAM,UAAU,OAAO;EAChD,eAAe,QAAQ,oBAAoB,MAAM,UAAU,OAAO;CACpE;CACA,MAAM,YACJ,OAAO,WAAW,aACd,MAAM,QAAQ,MAAM;EAAE,WAAW;EAAM,OAAO;CAAO,CAAC,KACrD,KAAK,MAAM,GAAG,KAAA;CACrB,MAAM,aAAa;EACjB,YAAY;EACZ,OAAO;CACT;CACA,IAAI,gBAAgB,GAAG,eAAe,IAAI;CAC1C,OAAO;AACT"}