@zerodep-dev/vue-tsx-pro-ui 0.0.0-stage → 0.2.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 (1129) 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/code-editor/CodeEditor.d.ts +18 -0
  153. package/dist/code-editor/CodeEditor.js +57 -0
  154. package/dist/code-editor/CodeEditor.js.map +1 -0
  155. package/dist/code-editor/editor.d.ts +52 -0
  156. package/dist/code-editor/editor.js +225 -0
  157. package/dist/code-editor/editor.js.map +1 -0
  158. package/dist/code-editor/index.d.ts +9 -0
  159. package/dist/code-editor/index.js +3 -0
  160. package/dist/config/Provider.d.ts +52 -0
  161. package/dist/config/Provider.js +111 -0
  162. package/dist/config/Provider.js.map +1 -0
  163. package/dist/config/context.d.ts +90 -0
  164. package/dist/config/context.js +58 -0
  165. package/dist/config/context.js.map +1 -0
  166. package/dist/config/createUi.d.ts +52 -0
  167. package/dist/config/createUi.js +96 -0
  168. package/dist/config/createUi.js.map +1 -0
  169. package/dist/config/defaults.d.ts +71 -0
  170. package/dist/config/defaults.js +45 -0
  171. package/dist/config/defaults.js.map +1 -0
  172. package/dist/config/lang/en-US.d.ts +3 -0
  173. package/dist/config/lang/en-US.js +404 -0
  174. package/dist/config/lang/en-US.js.map +1 -0
  175. package/dist/config/lang/format.d.ts +51 -0
  176. package/dist/config/lang/format.js +120 -0
  177. package/dist/config/lang/format.js.map +1 -0
  178. package/dist/config/lang/lang.d.ts +666 -0
  179. package/dist/config/lang/lang.js +31 -0
  180. package/dist/config/lang/lang.js.map +1 -0
  181. package/dist/config/lang/messages.d.ts +12 -0
  182. package/dist/config/lang/messages.js +36 -0
  183. package/dist/config/lang/messages.js.map +1 -0
  184. package/dist/config/lang/zh-CN.d.ts +3 -0
  185. package/dist/config/lang/zh-CN.js +404 -0
  186. package/dist/config/lang/zh-CN.js.map +1 -0
  187. package/dist/config/pinyin.d.ts +3 -0
  188. package/dist/config/pinyin.js +26 -0
  189. package/dist/config/pinyin.js.map +1 -0
  190. package/dist/config/query-state.d.ts +61 -0
  191. package/dist/config/query-state.js +113 -0
  192. package/dist/config/query-state.js.map +1 -0
  193. package/dist/config/shiki.d.ts +13 -0
  194. package/dist/config/shiki.js +97 -0
  195. package/dist/config/shiki.js.map +1 -0
  196. package/dist/config/styles.d.ts +108 -0
  197. package/dist/config/styles.js +59 -0
  198. package/dist/config/styles.js.map +1 -0
  199. package/dist/config/theme/boot.d.ts +97 -0
  200. package/dist/config/theme/boot.js +90 -0
  201. package/dist/config/theme/boot.js.map +1 -0
  202. package/dist/config/theme/builtin.d.ts +21 -0
  203. package/dist/config/theme/builtin.js +58 -0
  204. package/dist/config/theme/builtin.js.map +1 -0
  205. package/dist/config/theme/coffee.d.ts +84 -0
  206. package/dist/config/theme/coffee.js +102 -0
  207. package/dist/config/theme/coffee.js.map +1 -0
  208. package/dist/config/theme/cyberpunk.d.ts +110 -0
  209. package/dist/config/theme/cyberpunk.js +125 -0
  210. package/dist/config/theme/cyberpunk.js.map +1 -0
  211. package/dist/config/theme/dark.d.ts +90 -0
  212. package/dist/config/theme/dark.js +106 -0
  213. package/dist/config/theme/dark.js.map +1 -0
  214. package/dist/config/theme/festive.d.ts +93 -0
  215. package/dist/config/theme/festive.js +110 -0
  216. package/dist/config/theme/festive.js.map +1 -0
  217. package/dist/config/theme/forest.d.ts +93 -0
  218. package/dist/config/theme/forest.js +109 -0
  219. package/dist/config/theme/forest.js.map +1 -0
  220. package/dist/config/theme/high-contrast.d.ts +103 -0
  221. package/dist/config/theme/high-contrast.js +119 -0
  222. package/dist/config/theme/high-contrast.js.map +1 -0
  223. package/dist/config/theme/lemon.d.ts +103 -0
  224. package/dist/config/theme/lemon.js +119 -0
  225. package/dist/config/theme/lemon.js.map +1 -0
  226. package/dist/config/theme/light.d.ts +107 -0
  227. package/dist/config/theme/light.js +122 -0
  228. package/dist/config/theme/light.js.map +1 -0
  229. package/dist/config/theme/midnight.d.ts +86 -0
  230. package/dist/config/theme/midnight.js +103 -0
  231. package/dist/config/theme/midnight.js.map +1 -0
  232. package/dist/config/theme/ocean.d.ts +103 -0
  233. package/dist/config/theme/ocean.js +119 -0
  234. package/dist/config/theme/ocean.js.map +1 -0
  235. package/dist/config/theme/paper.d.ts +101 -0
  236. package/dist/config/theme/paper.js +117 -0
  237. package/dist/config/theme/paper.js.map +1 -0
  238. package/dist/config/theme/preference.d.ts +34 -0
  239. package/dist/config/theme/preference.js +67 -0
  240. package/dist/config/theme/preference.js.map +1 -0
  241. package/dist/config/theme/sakura.d.ts +103 -0
  242. package/dist/config/theme/sakura.js +119 -0
  243. package/dist/config/theme/sakura.js.map +1 -0
  244. package/dist/config/theme/theme.d.ts +59 -0
  245. package/dist/config/theme/theme.js +68 -0
  246. package/dist/config/theme/theme.js.map +1 -0
  247. package/dist/config/theme/token-names.d.ts +1897 -0
  248. package/dist/config/theme/tokens.d.ts +833 -0
  249. package/dist/config/theme/tokens.js +480 -0
  250. package/dist/config/theme/tokens.js.map +1 -0
  251. package/dist/config/vue-router.d.ts +67 -0
  252. package/dist/config/vue-router.js +143 -0
  253. package/dist/config/vue-router.js.map +1 -0
  254. package/dist/date/Calendar.d.ts +36 -0
  255. package/dist/date/Calendar.js +83 -0
  256. package/dist/date/Calendar.js.map +1 -0
  257. package/dist/date/CalendarBoard.d.ts +79 -0
  258. package/dist/date/CalendarBoard.js +403 -0
  259. package/dist/date/CalendarBoard.js.map +1 -0
  260. package/dist/date/CalendarView.d.ts +86 -0
  261. package/dist/date/CalendarView.js +427 -0
  262. package/dist/date/CalendarView.js.map +1 -0
  263. package/dist/date/Countdown.d.ts +45 -0
  264. package/dist/date/Countdown.js +75 -0
  265. package/dist/date/Countdown.js.map +1 -0
  266. package/dist/date/DateField.d.ts +34 -0
  267. package/dist/date/DateField.js +124 -0
  268. package/dist/date/DateField.js.map +1 -0
  269. package/dist/date/DatePicker.d.ts +41 -0
  270. package/dist/date/DatePicker.js +272 -0
  271. package/dist/date/DatePicker.js.map +1 -0
  272. package/dist/date/DateRangePicker.d.ts +71 -0
  273. package/dist/date/DateRangePicker.js +411 -0
  274. package/dist/date/DateRangePicker.js.map +1 -0
  275. package/dist/date/DateSegmentGroup.d.ts +38 -0
  276. package/dist/date/DateSegmentGroup.js +176 -0
  277. package/dist/date/DateSegmentGroup.js.map +1 -0
  278. package/dist/date/DateTime.d.ts +21 -0
  279. package/dist/date/DateTime.js +39 -0
  280. package/dist/date/DateTime.js.map +1 -0
  281. package/dist/date/QuarterCalendar.d.ts +22 -0
  282. package/dist/date/QuarterCalendar.js +231 -0
  283. package/dist/date/QuarterCalendar.js.map +1 -0
  284. package/dist/date/RangeCalendar.d.ts +24 -0
  285. package/dist/date/RangeCalendar.js +89 -0
  286. package/dist/date/RangeCalendar.js.map +1 -0
  287. package/dist/date/RelativeTime.d.ts +16 -0
  288. package/dist/date/RelativeTime.js +61 -0
  289. package/dist/date/RelativeTime.js.map +1 -0
  290. package/dist/date/SegmentedField.d.ts +60 -0
  291. package/dist/date/SegmentedField.js +175 -0
  292. package/dist/date/SegmentedField.js.map +1 -0
  293. package/dist/date/TimeField.d.ts +36 -0
  294. package/dist/date/TimeField.js +56 -0
  295. package/dist/date/TimeField.js.map +1 -0
  296. package/dist/date/TimePicker.d.ts +25 -0
  297. package/dist/date/TimePicker.js +206 -0
  298. package/dist/date/TimePicker.js.map +1 -0
  299. package/dist/date/calendar-state.d.ts +119 -0
  300. package/dist/date/calendar-state.js +267 -0
  301. package/dist/date/calendar-state.js.map +1 -0
  302. package/dist/date/clock.d.ts +11 -0
  303. package/dist/date/clock.js +37 -0
  304. package/dist/date/clock.js.map +1 -0
  305. package/dist/date/date-locale.d.ts +67 -0
  306. package/dist/date/date-locale.js +89 -0
  307. package/dist/date/date-locale.js.map +1 -0
  308. package/dist/date/date-segments.d.ts +132 -0
  309. package/dist/date/date-segments.js +410 -0
  310. package/dist/date/date-segments.js.map +1 -0
  311. package/dist/date/picker-popover.d.ts +88 -0
  312. package/dist/date/picker-popover.js +126 -0
  313. package/dist/date/picker-popover.js.map +1 -0
  314. package/dist/diagram/Diagram.d.ts +223 -0
  315. package/dist/diagram/Diagram.js +1121 -0
  316. package/dist/diagram/Diagram.js.map +1 -0
  317. package/dist/diagram/DiagramControls.d.ts +35 -0
  318. package/dist/diagram/DiagramControls.js +114 -0
  319. package/dist/diagram/DiagramControls.js.map +1 -0
  320. package/dist/diagram/DiagramLanes.d.ts +49 -0
  321. package/dist/diagram/DiagramLanes.js +92 -0
  322. package/dist/diagram/DiagramLanes.js.map +1 -0
  323. package/dist/diagram/DiagramMinimap.d.ts +39 -0
  324. package/dist/diagram/DiagramMinimap.js +133 -0
  325. package/dist/diagram/DiagramMinimap.js.map +1 -0
  326. package/dist/diagram/DiagramNode.d.ts +65 -0
  327. package/dist/diagram/DiagramNode.js +142 -0
  328. package/dist/diagram/DiagramNode.js.map +1 -0
  329. package/dist/diagram/controller.d.ts +68 -0
  330. package/dist/diagram/controller.js +117 -0
  331. package/dist/diagram/controller.js.map +1 -0
  332. package/dist/diagram/export.d.ts +14 -0
  333. package/dist/diagram/export.js +115 -0
  334. package/dist/diagram/export.js.map +1 -0
  335. package/dist/diagram/geometry.d.ts +65 -0
  336. package/dist/diagram/geometry.js +219 -0
  337. package/dist/diagram/geometry.js.map +1 -0
  338. package/dist/diagram/index.d.ts +20 -0
  339. package/dist/diagram/index.js +12 -0
  340. package/dist/diagram/layout.d.ts +57 -0
  341. package/dist/diagram/layout.js +50 -0
  342. package/dist/diagram/layout.js.map +1 -0
  343. package/dist/diagram/messages.d.ts +28 -0
  344. package/dist/diagram/messages.js +30 -0
  345. package/dist/diagram/messages.js.map +1 -0
  346. package/dist/diagram/route.d.ts +81 -0
  347. package/dist/diagram/route.js +327 -0
  348. package/dist/diagram/route.js.map +1 -0
  349. package/dist/display/Accordion.d.ts +71 -0
  350. package/dist/display/Accordion.js +219 -0
  351. package/dist/display/Accordion.js.map +1 -0
  352. package/dist/display/AnimatedNumber.d.ts +44 -0
  353. package/dist/display/AnimatedNumber.js +97 -0
  354. package/dist/display/AnimatedNumber.js.map +1 -0
  355. package/dist/display/Avatar.d.ts +74 -0
  356. package/dist/display/Avatar.js +158 -0
  357. package/dist/display/Avatar.js.map +1 -0
  358. package/dist/display/AvatarGroup.d.ts +29 -0
  359. package/dist/display/AvatarGroup.js +67 -0
  360. package/dist/display/AvatarGroup.js.map +1 -0
  361. package/dist/display/Card.d.ts +219 -0
  362. package/dist/display/Card.js +319 -0
  363. package/dist/display/Card.js.map +1 -0
  364. package/dist/display/Checklist.d.ts +93 -0
  365. package/dist/display/Checklist.js +260 -0
  366. package/dist/display/Checklist.js.map +1 -0
  367. package/dist/display/Collapse.d.ts +24 -0
  368. package/dist/display/Collapse.js +65 -0
  369. package/dist/display/Collapse.js.map +1 -0
  370. package/dist/display/Collapsible.d.ts +12 -0
  371. package/dist/display/Collapsible.js +41 -0
  372. package/dist/display/Collapsible.js.map +1 -0
  373. package/dist/display/Descriptions.d.ts +88 -0
  374. package/dist/display/Descriptions.js +185 -0
  375. package/dist/display/Descriptions.js.map +1 -0
  376. package/dist/display/Ellipsis.d.ts +29 -0
  377. package/dist/display/Ellipsis.js +111 -0
  378. package/dist/display/Ellipsis.js.map +1 -0
  379. package/dist/display/FieldCompare.d.ts +58 -0
  380. package/dist/display/FieldCompare.js +205 -0
  381. package/dist/display/FieldCompare.js.map +1 -0
  382. package/dist/display/Gauge.d.ts +60 -0
  383. package/dist/display/Gauge.js +215 -0
  384. package/dist/display/Gauge.js.map +1 -0
  385. package/dist/display/Image.d.ts +87 -0
  386. package/dist/display/Image.js +212 -0
  387. package/dist/display/Image.js.map +1 -0
  388. package/dist/display/ItemList.d.ts +69 -0
  389. package/dist/display/ItemList.js +147 -0
  390. package/dist/display/ItemList.js.map +1 -0
  391. package/dist/display/Marquee.d.ts +59 -0
  392. package/dist/display/Marquee.js +155 -0
  393. package/dist/display/Marquee.js.map +1 -0
  394. package/dist/display/ProportionBar.d.ts +55 -0
  395. package/dist/display/ProportionBar.js +99 -0
  396. package/dist/display/ProportionBar.js.map +1 -0
  397. package/dist/display/Sortable.d.ts +43 -0
  398. package/dist/display/Sortable.js +163 -0
  399. package/dist/display/Sortable.js.map +1 -0
  400. package/dist/display/Sparkline.d.ts +48 -0
  401. package/dist/display/Sparkline.js +130 -0
  402. package/dist/display/Sparkline.js.map +1 -0
  403. package/dist/display/Stat.d.ts +105 -0
  404. package/dist/display/Stat.js +268 -0
  405. package/dist/display/Stat.js.map +1 -0
  406. package/dist/display/Timeline.d.ts +106 -0
  407. package/dist/display/Timeline.js +257 -0
  408. package/dist/display/Timeline.js.map +1 -0
  409. package/dist/display/Tree.d.ts +132 -0
  410. package/dist/display/Tree.js +645 -0
  411. package/dist/display/Tree.js.map +1 -0
  412. package/dist/display/VirtualList.d.ts +80 -0
  413. package/dist/display/VirtualList.js +166 -0
  414. package/dist/display/VirtualList.js.map +1 -0
  415. package/dist/display/Watermark.d.ts +39 -0
  416. package/dist/display/Watermark.js +130 -0
  417. package/dist/display/Watermark.js.map +1 -0
  418. package/dist/docs-kit/CodeGroup.d.ts +29 -0
  419. package/dist/docs-kit/CodeGroup.js +81 -0
  420. package/dist/docs-kit/CodeGroup.js.map +1 -0
  421. package/dist/docs-kit/CodePreview.d.ts +60 -0
  422. package/dist/docs-kit/CodePreview.js +183 -0
  423. package/dist/docs-kit/CodePreview.js.map +1 -0
  424. package/dist/docs-kit/ColorSwatch.d.ts +28 -0
  425. package/dist/docs-kit/ColorSwatch.js +85 -0
  426. package/dist/docs-kit/ColorSwatch.js.map +1 -0
  427. package/dist/docs-kit/PropsTable.d.ts +73 -0
  428. package/dist/docs-kit/PropsTable.js +122 -0
  429. package/dist/docs-kit/PropsTable.js.map +1 -0
  430. package/dist/docs-kit/index.d.ts +13 -0
  431. package/dist/docs-kit/index.js +6 -0
  432. package/dist/docs-kit/messages.d.ts +25 -0
  433. package/dist/docs-kit/messages.js +30 -0
  434. package/dist/docs-kit/messages.js.map +1 -0
  435. package/dist/feedback/Alert.d.ts +83 -0
  436. package/dist/feedback/Alert.js +179 -0
  437. package/dist/feedback/Alert.js.map +1 -0
  438. package/dist/feedback/Banner.d.ts +60 -0
  439. package/dist/feedback/Banner.js +122 -0
  440. package/dist/feedback/Banner.js.map +1 -0
  441. package/dist/feedback/Empty.d.ts +38 -0
  442. package/dist/feedback/Empty.js +114 -0
  443. package/dist/feedback/Empty.js.map +1 -0
  444. package/dist/feedback/LoadingBar.d.ts +45 -0
  445. package/dist/feedback/LoadingBar.js +124 -0
  446. package/dist/feedback/LoadingBar.js.map +1 -0
  447. package/dist/feedback/LoadingOverlay.d.ts +29 -0
  448. package/dist/feedback/LoadingOverlay.js +70 -0
  449. package/dist/feedback/LoadingOverlay.js.map +1 -0
  450. package/dist/feedback/Progress.d.ts +215 -0
  451. package/dist/feedback/Progress.js +437 -0
  452. package/dist/feedback/Progress.js.map +1 -0
  453. package/dist/feedback/Result.d.ts +69 -0
  454. package/dist/feedback/Result.js +165 -0
  455. package/dist/feedback/Result.js.map +1 -0
  456. package/dist/feedback/Skeleton.d.ts +50 -0
  457. package/dist/feedback/Skeleton.js +100 -0
  458. package/dist/feedback/Skeleton.js.map +1 -0
  459. package/dist/feedback/SkeletonText.d.ts +25 -0
  460. package/dist/feedback/SkeletonText.js +40 -0
  461. package/dist/feedback/SkeletonText.js.map +1 -0
  462. package/dist/feedback/Toast.d.ts +204 -0
  463. package/dist/feedback/Toast.js +572 -0
  464. package/dist/feedback/Toast.js.map +1 -0
  465. package/dist/form/Field.d.ts +165 -0
  466. package/dist/form/Field.js +338 -0
  467. package/dist/form/Field.js.map +1 -0
  468. package/dist/form/Form.d.ts +14 -0
  469. package/dist/form/Form.js +66 -0
  470. package/dist/form/Form.js.map +1 -0
  471. package/dist/form/FormErrorSummary.d.ts +23 -0
  472. package/dist/form/FormErrorSummary.js +102 -0
  473. package/dist/form/FormErrorSummary.js.map +1 -0
  474. package/dist/form/FormSection.d.ts +66 -0
  475. package/dist/form/FormSection.js +227 -0
  476. package/dist/form/FormSection.js.map +1 -0
  477. package/dist/form/FormValue.d.ts +17 -0
  478. package/dist/form/FormValue.js +40 -0
  479. package/dist/form/FormValue.js.map +1 -0
  480. package/dist/form/field-layout.d.ts +34 -0
  481. package/dist/form/field-layout.js +39 -0
  482. package/dist/form/field-layout.js.map +1 -0
  483. package/dist/form/form-constraints.d.ts +38 -0
  484. package/dist/form/form-constraints.js +131 -0
  485. package/dist/form/form-constraints.js.map +1 -0
  486. package/dist/form/leave-confirmation.d.ts +9 -0
  487. package/dist/form/leave-confirmation.js +31 -0
  488. package/dist/form/leave-confirmation.js.map +1 -0
  489. package/dist/form/schemas.d.ts +52 -0
  490. package/dist/form/schemas.js +97 -0
  491. package/dist/form/schemas.js.map +1 -0
  492. package/dist/form/useForm.d.ts +195 -0
  493. package/dist/form/useForm.js +416 -0
  494. package/dist/form/useForm.js.map +1 -0
  495. package/dist/index.d.ts +285 -0
  496. package/dist/index.js +285 -0
  497. package/dist/input/Autocomplete.d.ts +14 -0
  498. package/dist/input/Autocomplete.js +35 -0
  499. package/dist/input/Autocomplete.js.map +1 -0
  500. package/dist/input/Cascader.d.ts +86 -0
  501. package/dist/input/Cascader.js +593 -0
  502. package/dist/input/Cascader.js.map +1 -0
  503. package/dist/input/CharacterCount.d.ts +21 -0
  504. package/dist/input/CharacterCount.js +47 -0
  505. package/dist/input/CharacterCount.js.map +1 -0
  506. package/dist/input/Checkbox.d.ts +93 -0
  507. package/dist/input/Checkbox.js +250 -0
  508. package/dist/input/Checkbox.js.map +1 -0
  509. package/dist/input/ColorField.d.ts +37 -0
  510. package/dist/input/ColorField.js +143 -0
  511. package/dist/input/ColorField.js.map +1 -0
  512. package/dist/input/Combobox.d.ts +75 -0
  513. package/dist/input/Combobox.js +321 -0
  514. package/dist/input/Combobox.js.map +1 -0
  515. package/dist/input/ConditionBuilder.d.ts +55 -0
  516. package/dist/input/ConditionBuilder.js +471 -0
  517. package/dist/input/ConditionBuilder.js.map +1 -0
  518. package/dist/input/ControlGroup.d.ts +26 -0
  519. package/dist/input/ControlGroup.js +50 -0
  520. package/dist/input/ControlGroup.js.map +1 -0
  521. package/dist/input/FileDrop.d.ts +49 -0
  522. package/dist/input/FileDrop.js +201 -0
  523. package/dist/input/FileDrop.js.map +1 -0
  524. package/dist/input/ListPopover.d.ts +39 -0
  525. package/dist/input/ListPopover.js +81 -0
  526. package/dist/input/ListPopover.js.map +1 -0
  527. package/dist/input/Listbox.d.ts +91 -0
  528. package/dist/input/Listbox.js +408 -0
  529. package/dist/input/Listbox.js.map +1 -0
  530. package/dist/input/Mentions.d.ts +74 -0
  531. package/dist/input/Mentions.js +287 -0
  532. package/dist/input/Mentions.js.map +1 -0
  533. package/dist/input/NumberField.d.ts +64 -0
  534. package/dist/input/NumberField.js +288 -0
  535. package/dist/input/NumberField.js.map +1 -0
  536. package/dist/input/NumberRangeField.d.ts +58 -0
  537. package/dist/input/NumberRangeField.js +157 -0
  538. package/dist/input/NumberRangeField.js.map +1 -0
  539. package/dist/input/OtpField.d.ts +58 -0
  540. package/dist/input/OtpField.js +200 -0
  541. package/dist/input/OtpField.js.map +1 -0
  542. package/dist/input/PeoplePicker.d.ts +42 -0
  543. package/dist/input/PeoplePicker.js +185 -0
  544. package/dist/input/PeoplePicker.js.map +1 -0
  545. package/dist/input/PeoplePickerPanel.d.ts +42 -0
  546. package/dist/input/PeoplePickerPanel.js +357 -0
  547. package/dist/input/PeoplePickerPanel.js.map +1 -0
  548. package/dist/input/Radio.d.ts +90 -0
  549. package/dist/input/Radio.js +211 -0
  550. package/dist/input/Radio.js.map +1 -0
  551. package/dist/input/Rating.d.ts +62 -0
  552. package/dist/input/Rating.js +225 -0
  553. package/dist/input/Rating.js.map +1 -0
  554. package/dist/input/Select.d.ts +97 -0
  555. package/dist/input/Select.js +455 -0
  556. package/dist/input/Select.js.map +1 -0
  557. package/dist/input/SelectedTags.d.ts +28 -0
  558. package/dist/input/SelectedTags.js +81 -0
  559. package/dist/input/SelectedTags.js.map +1 -0
  560. package/dist/input/Slider.d.ts +99 -0
  561. package/dist/input/Slider.js +343 -0
  562. package/dist/input/Slider.js.map +1 -0
  563. package/dist/input/Switch.d.ts +63 -0
  564. package/dist/input/Switch.js +198 -0
  565. package/dist/input/Switch.js.map +1 -0
  566. package/dist/input/TagsInput.d.ts +70 -0
  567. package/dist/input/TagsInput.js +314 -0
  568. package/dist/input/TagsInput.js.map +1 -0
  569. package/dist/input/TextField.d.ts +51 -0
  570. package/dist/input/TextField.js +185 -0
  571. package/dist/input/TextField.js.map +1 -0
  572. package/dist/input/Textarea.d.ts +50 -0
  573. package/dist/input/Textarea.js +146 -0
  574. package/dist/input/Textarea.js.map +1 -0
  575. package/dist/input/ToggleGroup.d.ts +82 -0
  576. package/dist/input/ToggleGroup.js +211 -0
  577. package/dist/input/ToggleGroup.js.map +1 -0
  578. package/dist/input/Transfer.d.ts +67 -0
  579. package/dist/input/Transfer.js +407 -0
  580. package/dist/input/Transfer.js.map +1 -0
  581. package/dist/input/TreeSelect.d.ts +94 -0
  582. package/dist/input/TreeSelect.js +412 -0
  583. package/dist/input/TreeSelect.js.map +1 -0
  584. package/dist/input/Upload.d.ts +143 -0
  585. package/dist/input/Upload.js +598 -0
  586. package/dist/input/Upload.js.map +1 -0
  587. package/dist/input/choice-styles.d.ts +117 -0
  588. package/dist/input/choice-styles.js +176 -0
  589. package/dist/input/choice-styles.js.map +1 -0
  590. package/dist/input/condition.d.ts +153 -0
  591. package/dist/input/condition.js +187 -0
  592. package/dist/input/condition.js.map +1 -0
  593. package/dist/input/control.d.ts +160 -0
  594. package/dist/input/control.js +236 -0
  595. package/dist/input/control.js.map +1 -0
  596. package/dist/input/list-state.d.ts +118 -0
  597. package/dist/input/list-state.js +186 -0
  598. package/dist/input/list-state.js.map +1 -0
  599. package/dist/input/people.d.ts +66 -0
  600. package/dist/input/people.js +47 -0
  601. package/dist/input/people.js.map +1 -0
  602. package/dist/input/remote-items.d.ts +22 -0
  603. package/dist/input/remote-items.js +41 -0
  604. package/dist/input/remote-items.js.map +1 -0
  605. package/dist/input/text-format.d.ts +46 -0
  606. package/dist/input/text-format.js +64 -0
  607. package/dist/input/text-format.js.map +1 -0
  608. package/dist/layout/Affix.d.ts +32 -0
  609. package/dist/layout/Affix.js +81 -0
  610. package/dist/layout/Affix.js.map +1 -0
  611. package/dist/layout/AsideLayout.d.ts +45 -0
  612. package/dist/layout/AsideLayout.js +69 -0
  613. package/dist/layout/AsideLayout.js.map +1 -0
  614. package/dist/layout/BackTop.d.ts +16 -0
  615. package/dist/layout/BackTop.js +83 -0
  616. package/dist/layout/BackTop.js.map +1 -0
  617. package/dist/layout/Container.d.ts +60 -0
  618. package/dist/layout/Container.js +62 -0
  619. package/dist/layout/Container.js.map +1 -0
  620. package/dist/layout/Flex.d.ts +116 -0
  621. package/dist/layout/Flex.js +109 -0
  622. package/dist/layout/Flex.js.map +1 -0
  623. package/dist/layout/Grid.d.ts +139 -0
  624. package/dist/layout/Grid.js +168 -0
  625. package/dist/layout/Grid.js.map +1 -0
  626. package/dist/layout/PageScrollbar.d.ts +20 -0
  627. package/dist/layout/PageScrollbar.js +49 -0
  628. package/dist/layout/PageScrollbar.js.map +1 -0
  629. package/dist/layout/Prose.d.ts +19 -0
  630. package/dist/layout/Prose.js +37 -0
  631. package/dist/layout/Prose.js.map +1 -0
  632. package/dist/layout/ResizeHandle.d.ts +28 -0
  633. package/dist/layout/ResizeHandle.js +94 -0
  634. package/dist/layout/ResizeHandle.js.map +1 -0
  635. package/dist/layout/ScrollArea.d.ts +99 -0
  636. package/dist/layout/ScrollArea.js +344 -0
  637. package/dist/layout/ScrollArea.js.map +1 -0
  638. package/dist/layout/Separator.d.ts +47 -0
  639. package/dist/layout/Separator.js +96 -0
  640. package/dist/layout/Separator.js.map +1 -0
  641. package/dist/layout/Splitter.d.ts +75 -0
  642. package/dist/layout/Splitter.js +236 -0
  643. package/dist/layout/Splitter.js.map +1 -0
  644. package/dist/layout/ViewportFill.d.ts +26 -0
  645. package/dist/layout/ViewportFill.js +59 -0
  646. package/dist/layout/ViewportFill.js.map +1 -0
  647. package/dist/navigation/Breadcrumbs.d.ts +59 -0
  648. package/dist/navigation/Breadcrumbs.js +150 -0
  649. package/dist/navigation/Breadcrumbs.js.map +1 -0
  650. package/dist/navigation/NavBar.d.ts +35 -0
  651. package/dist/navigation/NavBar.js +182 -0
  652. package/dist/navigation/NavBar.js.map +1 -0
  653. package/dist/navigation/NavList.d.ts +112 -0
  654. package/dist/navigation/NavList.js +375 -0
  655. package/dist/navigation/NavList.js.map +1 -0
  656. package/dist/navigation/PageJump.d.ts +27 -0
  657. package/dist/navigation/PageJump.js +77 -0
  658. package/dist/navigation/PageJump.js.map +1 -0
  659. package/dist/navigation/PageSizeSelect.d.ts +19 -0
  660. package/dist/navigation/PageSizeSelect.js +65 -0
  661. package/dist/navigation/PageSizeSelect.js.map +1 -0
  662. package/dist/navigation/Pager.d.ts +30 -0
  663. package/dist/navigation/Pager.js +111 -0
  664. package/dist/navigation/Pager.js.map +1 -0
  665. package/dist/navigation/Pagination.d.ts +51 -0
  666. package/dist/navigation/Pagination.js +157 -0
  667. package/dist/navigation/Pagination.js.map +1 -0
  668. package/dist/navigation/PaginationBar.d.ts +54 -0
  669. package/dist/navigation/PaginationBar.js +125 -0
  670. package/dist/navigation/PaginationBar.js.map +1 -0
  671. package/dist/navigation/SkipLink.d.ts +16 -0
  672. package/dist/navigation/SkipLink.js +58 -0
  673. package/dist/navigation/SkipLink.js.map +1 -0
  674. package/dist/navigation/Steps.d.ts +93 -0
  675. package/dist/navigation/Steps.js +198 -0
  676. package/dist/navigation/Steps.js.map +1 -0
  677. package/dist/navigation/TableOfContents.d.ts +32 -0
  678. package/dist/navigation/TableOfContents.js +119 -0
  679. package/dist/navigation/TableOfContents.js.map +1 -0
  680. package/dist/navigation/Tabs.d.ts +208 -0
  681. package/dist/navigation/Tabs.js +626 -0
  682. package/dist/navigation/Tabs.js.map +1 -0
  683. package/dist/navigation/Toolbar.d.ts +39 -0
  684. package/dist/navigation/Toolbar.js +67 -0
  685. package/dist/navigation/Toolbar.js.map +1 -0
  686. package/dist/overlay/AlertDialog.d.ts +43 -0
  687. package/dist/overlay/AlertDialog.js +106 -0
  688. package/dist/overlay/AlertDialog.js.map +1 -0
  689. package/dist/overlay/CommandPalette.d.ts +64 -0
  690. package/dist/overlay/CommandPalette.js +250 -0
  691. package/dist/overlay/CommandPalette.js.map +1 -0
  692. package/dist/overlay/ContextMenu.d.ts +21 -0
  693. package/dist/overlay/ContextMenu.js +76 -0
  694. package/dist/overlay/ContextMenu.js.map +1 -0
  695. package/dist/overlay/Dialog.d.ts +70 -0
  696. package/dist/overlay/Dialog.js +91 -0
  697. package/dist/overlay/Dialog.js.map +1 -0
  698. package/dist/overlay/Drawer.d.ts +186 -0
  699. package/dist/overlay/Drawer.js +214 -0
  700. package/dist/overlay/Drawer.js.map +1 -0
  701. package/dist/overlay/HoverCard.d.ts +48 -0
  702. package/dist/overlay/HoverCard.js +86 -0
  703. package/dist/overlay/HoverCard.js.map +1 -0
  704. package/dist/overlay/Lightbox.d.ts +57 -0
  705. package/dist/overlay/Lightbox.js +374 -0
  706. package/dist/overlay/Lightbox.js.map +1 -0
  707. package/dist/overlay/Menu.d.ts +218 -0
  708. package/dist/overlay/Menu.js +816 -0
  709. package/dist/overlay/Menu.js.map +1 -0
  710. package/dist/overlay/ModalCore.d.ts +132 -0
  711. package/dist/overlay/ModalCore.js +274 -0
  712. package/dist/overlay/ModalCore.js.map +1 -0
  713. package/dist/overlay/Popconfirm.d.ts +49 -0
  714. package/dist/overlay/Popconfirm.js +167 -0
  715. package/dist/overlay/Popconfirm.js.map +1 -0
  716. package/dist/overlay/Popover.d.ts +40 -0
  717. package/dist/overlay/Popover.js +96 -0
  718. package/dist/overlay/Popover.js.map +1 -0
  719. package/dist/overlay/Tooltip.d.ts +47 -0
  720. package/dist/overlay/Tooltip.js +86 -0
  721. package/dist/overlay/Tooltip.js.map +1 -0
  722. package/dist/overlay/Tour.d.ts +74 -0
  723. package/dist/overlay/Tour.js +309 -0
  724. package/dist/overlay/Tour.js.map +1 -0
  725. package/dist/overlay/detached.d.ts +40 -0
  726. package/dist/overlay/detached.js +109 -0
  727. package/dist/overlay/detached.js.map +1 -0
  728. package/dist/patterns/ActionBar.d.ts +29 -0
  729. package/dist/patterns/ActionBar.js +75 -0
  730. package/dist/patterns/ActionBar.js.map +1 -0
  731. package/dist/patterns/AppShell.d.ts +168 -0
  732. package/dist/patterns/AppShell.js +620 -0
  733. package/dist/patterns/AppShell.js.map +1 -0
  734. package/dist/patterns/CommentThread.d.ts +128 -0
  735. package/dist/patterns/CommentThread.js +386 -0
  736. package/dist/patterns/CommentThread.js.map +1 -0
  737. package/dist/patterns/DataImport.d.ts +72 -0
  738. package/dist/patterns/DataImport.js +486 -0
  739. package/dist/patterns/DataImport.js.map +1 -0
  740. package/dist/patterns/DeadlineBadge.d.ts +21 -0
  741. package/dist/patterns/DeadlineBadge.js +76 -0
  742. package/dist/patterns/DeadlineBadge.js.map +1 -0
  743. package/dist/patterns/FilterBar.d.ts +66 -0
  744. package/dist/patterns/FilterBar.js +254 -0
  745. package/dist/patterns/FilterBar.js.map +1 -0
  746. package/dist/patterns/KanbanBoard.d.ts +79 -0
  747. package/dist/patterns/KanbanBoard.js +294 -0
  748. package/dist/patterns/KanbanBoard.js.map +1 -0
  749. package/dist/patterns/NotificationCenter.d.ts +110 -0
  750. package/dist/patterns/NotificationCenter.js +342 -0
  751. package/dist/patterns/NotificationCenter.js.map +1 -0
  752. package/dist/patterns/PageTabs.d.ts +30 -0
  753. package/dist/patterns/PageTabs.js +97 -0
  754. package/dist/patterns/PageTabs.js.map +1 -0
  755. package/dist/patterns/QueryTable.d.ts +67 -0
  756. package/dist/patterns/QueryTable.js +301 -0
  757. package/dist/patterns/QueryTable.js.map +1 -0
  758. package/dist/patterns/StepsForm.d.ts +49 -0
  759. package/dist/patterns/StepsForm.js +130 -0
  760. package/dist/patterns/StepsForm.js.map +1 -0
  761. package/dist/patterns/ThemeSwitcher.d.ts +20 -0
  762. package/dist/patterns/ThemeSwitcher.js +102 -0
  763. package/dist/patterns/ThemeSwitcher.js.map +1 -0
  764. package/dist/patterns/form-dialog.d.ts +62 -0
  765. package/dist/patterns/form-dialog.js +143 -0
  766. package/dist/patterns/form-dialog.js.map +1 -0
  767. package/dist/patterns/index.d.ts +24 -0
  768. package/dist/patterns/index.js +15 -0
  769. package/dist/patterns/messages.d.ts +174 -0
  770. package/dist/patterns/messages.js +186 -0
  771. package/dist/patterns/messages.js.map +1 -0
  772. package/dist/table/ColumnHeaderActions.d.ts +71 -0
  773. package/dist/table/ColumnHeaderActions.js +247 -0
  774. package/dist/table/ColumnHeaderActions.js.map +1 -0
  775. package/dist/table/ColumnResizer.d.ts +12 -0
  776. package/dist/table/ColumnResizer.js +32 -0
  777. package/dist/table/ColumnResizer.js.map +1 -0
  778. package/dist/table/ColumnSettings.d.ts +34 -0
  779. package/dist/table/ColumnSettings.js +136 -0
  780. package/dist/table/ColumnSettings.js.map +1 -0
  781. package/dist/table/ColumnTable.d.ts +51 -0
  782. package/dist/table/ColumnTable.js +140 -0
  783. package/dist/table/ColumnTable.js.map +1 -0
  784. package/dist/table/DataTable.d.ts +44 -0
  785. package/dist/table/DataTable.js +453 -0
  786. package/dist/table/DataTable.js.map +1 -0
  787. package/dist/table/DataTableView.d.ts +328 -0
  788. package/dist/table/DataTableView.js +963 -0
  789. package/dist/table/DataTableView.js.map +1 -0
  790. package/dist/table/PivotTable.d.ts +66 -0
  791. package/dist/table/PivotTable.js +122 -0
  792. package/dist/table/PivotTable.js.map +1 -0
  793. package/dist/table/SelectionBar.d.ts +29 -0
  794. package/dist/table/SelectionBar.js +86 -0
  795. package/dist/table/SelectionBar.js.map +1 -0
  796. package/dist/table/Table.d.ts +169 -0
  797. package/dist/table/Table.js +304 -0
  798. package/dist/table/Table.js.map +1 -0
  799. package/dist/table/TreeDataTable.d.ts +36 -0
  800. package/dist/table/TreeDataTable.js +168 -0
  801. package/dist/table/TreeDataTable.js.map +1 -0
  802. package/dist/table/column-display.d.ts +20 -0
  803. package/dist/table/column-display.js +43 -0
  804. package/dist/table/column-display.js.map +1 -0
  805. package/dist/table/columns.d.ts +244 -0
  806. package/dist/table/columns.js +271 -0
  807. package/dist/table/columns.js.map +1 -0
  808. package/dist/table/csv.d.ts +24 -0
  809. package/dist/table/csv.js +35 -0
  810. package/dist/table/csv.js.map +1 -0
  811. package/dist/table/pivot.d.ts +66 -0
  812. package/dist/table/pivot.js +85 -0
  813. package/dist/table/pivot.js.map +1 -0
  814. package/dist/table/sheet.d.ts +44 -0
  815. package/dist/table/sheet.js +78 -0
  816. package/dist/table/sheet.js.map +1 -0
  817. package/dist/table/table-styles.d.ts +136 -0
  818. package/dist/table/table-styles.js +403 -0
  819. package/dist/table/table-styles.js.map +1 -0
  820. package/dist/table/use-table-query.d.ts +89 -0
  821. package/dist/table/use-table-query.js +194 -0
  822. package/dist/table/use-table-query.js.map +1 -0
  823. package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
  824. package/dist/theme-customize/ThemeCustomizer.js +361 -0
  825. package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
  826. package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
  827. package/dist/theme-customize/ThemeThumbnail.js +82 -0
  828. package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
  829. package/dist/theme-customize/contrast.d.ts +27 -0
  830. package/dist/theme-customize/contrast.js +251 -0
  831. package/dist/theme-customize/contrast.js.map +1 -0
  832. package/dist/theme-customize/customize.d.ts +65 -0
  833. package/dist/theme-customize/customize.js +105 -0
  834. package/dist/theme-customize/customize.js.map +1 -0
  835. package/dist/theme-customize/design-tokens.d.ts +31 -0
  836. package/dist/theme-customize/design-tokens.js +183 -0
  837. package/dist/theme-customize/design-tokens.js.map +1 -0
  838. package/dist/theme-customize/index.d.ts +20 -0
  839. package/dist/theme-customize/index.js +9 -0
  840. package/dist/theme-customize/messages.d.ts +74 -0
  841. package/dist/theme-customize/messages.js +142 -0
  842. package/dist/theme-customize/messages.js.map +1 -0
  843. package/dist/theme-customize/palette.d.ts +898 -0
  844. package/dist/theme-customize/palette.js +111 -0
  845. package/dist/theme-customize/palette.js.map +1 -0
  846. package/dist/theme-customize/token-catalog.d.ts +20 -0
  847. package/dist/theme-customize/token-catalog.js +836 -0
  848. package/dist/theme-customize/token-catalog.js.map +1 -0
  849. package/dist/three/background/AuroraBackground.d.ts +30 -0
  850. package/dist/three/background/AuroraBackground.js +80 -0
  851. package/dist/three/background/AuroraBackground.js.map +1 -0
  852. package/dist/three/background/MeshGradient.d.ts +28 -0
  853. package/dist/three/background/MeshGradient.js +76 -0
  854. package/dist/three/background/MeshGradient.js.map +1 -0
  855. package/dist/three/background/ShaderBackground.d.ts +25 -0
  856. package/dist/three/background/ShaderBackground.js +107 -0
  857. package/dist/three/background/ShaderBackground.js.map +1 -0
  858. package/dist/three/core/EffectSurface.d.ts +41 -0
  859. package/dist/three/core/EffectSurface.js +62 -0
  860. package/dist/three/core/EffectSurface.js.map +1 -0
  861. package/dist/three/core/ThreeCanvas.d.ts +39 -0
  862. package/dist/three/core/ThreeCanvas.js +77 -0
  863. package/dist/three/core/ThreeCanvas.js.map +1 -0
  864. package/dist/three/core/dispose.d.ts +9 -0
  865. package/dist/three/core/dispose.js +26 -0
  866. package/dist/three/core/dispose.js.map +1 -0
  867. package/dist/three/core/orbit.d.ts +31 -0
  868. package/dist/three/core/orbit.js +83 -0
  869. package/dist/three/core/orbit.js.map +1 -0
  870. package/dist/three/core/quality.d.ts +59 -0
  871. package/dist/three/core/quality.js +80 -0
  872. package/dist/three/core/quality.js.map +1 -0
  873. package/dist/three/core/renderer.d.ts +110 -0
  874. package/dist/three/core/renderer.js +303 -0
  875. package/dist/three/core/renderer.js.map +1 -0
  876. package/dist/three/core/shaders.d.ts +19 -0
  877. package/dist/three/core/shaders.js +100 -0
  878. package/dist/three/core/shaders.js.map +1 -0
  879. package/dist/three/core/theme-colors.d.ts +30 -0
  880. package/dist/three/core/theme-colors.js +113 -0
  881. package/dist/three/core/theme-colors.js.map +1 -0
  882. package/dist/three/effects/Confetti.d.ts +62 -0
  883. package/dist/three/effects/Confetti.js +242 -0
  884. package/dist/three/effects/Confetti.js.map +1 -0
  885. package/dist/three/effects/ParticleField.d.ts +39 -0
  886. package/dist/three/effects/ParticleField.js +266 -0
  887. package/dist/three/effects/ParticleField.js.map +1 -0
  888. package/dist/three/effects/WaveGrid.d.ts +37 -0
  889. package/dist/three/effects/WaveGrid.js +130 -0
  890. package/dist/three/effects/WaveGrid.js.map +1 -0
  891. package/dist/three/globe/Globe.d.ts +70 -0
  892. package/dist/three/globe/Globe.js +337 -0
  893. package/dist/three/globe/Globe.js.map +1 -0
  894. package/dist/three/globe/land.d.ts +9 -0
  895. package/dist/three/globe/land.js +14 -0
  896. package/dist/three/globe/land.js.map +1 -0
  897. package/dist/three/index.d.ts +24 -0
  898. package/dist/three/index.js +18 -0
  899. package/dist/three/model/ModelViewer.d.ts +63 -0
  900. package/dist/three/model/ModelViewer.js +193 -0
  901. package/dist/three/model/ModelViewer.js.map +1 -0
  902. package/dist/utils/data/clone.d.ts +8 -0
  903. package/dist/utils/data/clone.js +21 -0
  904. package/dist/utils/data/clone.js.map +1 -0
  905. package/dist/utils/data/collation.d.ts +36 -0
  906. package/dist/utils/data/collation.js +69 -0
  907. package/dist/utils/data/collation.js.map +1 -0
  908. package/dist/utils/data/color.d.ts +32 -0
  909. package/dist/utils/data/color.js +90 -0
  910. package/dist/utils/data/color.js.map +1 -0
  911. package/dist/utils/data/date.d.ts +196 -0
  912. package/dist/utils/data/date.js +421 -0
  913. package/dist/utils/data/date.js.map +1 -0
  914. package/dist/utils/data/diff.d.ts +21 -0
  915. package/dist/utils/data/diff.js +43 -0
  916. package/dist/utils/data/diff.js.map +1 -0
  917. package/dist/utils/data/equality.d.ts +5 -0
  918. package/dist/utils/data/equality.js +24 -0
  919. package/dist/utils/data/equality.js.map +1 -0
  920. package/dist/utils/data/history.d.ts +59 -0
  921. package/dist/utils/data/history.js +132 -0
  922. package/dist/utils/data/history.js.map +1 -0
  923. package/dist/utils/data/intl-cache.d.ts +8 -0
  924. package/dist/utils/data/intl-cache.js +19 -0
  925. package/dist/utils/data/intl-cache.js.map +1 -0
  926. package/dist/utils/data/number-parse.d.ts +7 -0
  927. package/dist/utils/data/number-parse.js +45 -0
  928. package/dist/utils/data/number-parse.js.map +1 -0
  929. package/dist/utils/data/number.d.ts +10 -0
  930. package/dist/utils/data/number.js +28 -0
  931. package/dist/utils/data/number.js.map +1 -0
  932. package/dist/utils/data/numeric.d.ts +62 -0
  933. package/dist/utils/data/numeric.js +178 -0
  934. package/dist/utils/data/numeric.js.map +1 -0
  935. package/dist/utils/data/pagination.d.ts +21 -0
  936. package/dist/utils/data/pagination.js +22 -0
  937. package/dist/utils/data/pagination.js.map +1 -0
  938. package/dist/utils/data/selection.d.ts +41 -0
  939. package/dist/utils/data/selection.js +21 -0
  940. package/dist/utils/data/selection.js.map +1 -0
  941. package/dist/utils/data/status.d.ts +43 -0
  942. package/dist/utils/data/status.js +27 -0
  943. package/dist/utils/data/status.js.map +1 -0
  944. package/dist/utils/data/text.d.ts +12 -0
  945. package/dist/utils/data/text.js +30 -0
  946. package/dist/utils/data/text.js.map +1 -0
  947. package/dist/utils/data/tree.d.ts +140 -0
  948. package/dist/utils/data/tree.js +273 -0
  949. package/dist/utils/data/tree.js.map +1 -0
  950. package/dist/utils/data/workdays.d.ts +67 -0
  951. package/dist/utils/data/workdays.js +67 -0
  952. package/dist/utils/data/workdays.js.map +1 -0
  953. package/dist/utils/dom/announcer.d.ts +11 -0
  954. package/dist/utils/dom/announcer.js +53 -0
  955. package/dist/utils/dom/announcer.js.map +1 -0
  956. package/dist/utils/dom/caret.d.ts +14 -0
  957. package/dist/utils/dom/caret.js +72 -0
  958. package/dist/utils/dom/caret.js.map +1 -0
  959. package/dist/utils/dom/clipboard.d.ts +16 -0
  960. package/dist/utils/dom/clipboard.js +66 -0
  961. package/dist/utils/dom/clipboard.js.map +1 -0
  962. package/dist/utils/dom/direction.d.ts +12 -0
  963. package/dist/utils/dom/direction.js +20 -0
  964. package/dist/utils/dom/direction.js.map +1 -0
  965. package/dist/utils/dom/download.d.ts +14 -0
  966. package/dist/utils/dom/download.js +36 -0
  967. package/dist/utils/dom/download.js.map +1 -0
  968. package/dist/utils/dom/element.d.ts +3 -0
  969. package/dist/utils/dom/element.js +12 -0
  970. package/dist/utils/dom/element.js.map +1 -0
  971. package/dist/utils/dom/event-listener.d.ts +8 -0
  972. package/dist/utils/dom/event-listener.js +35 -0
  973. package/dist/utils/dom/event-listener.js.map +1 -0
  974. package/dist/utils/dom/floating.d.ts +149 -0
  975. package/dist/utils/dom/floating.js +262 -0
  976. package/dist/utils/dom/floating.js.map +1 -0
  977. package/dist/utils/dom/focus.d.ts +28 -0
  978. package/dist/utils/dom/focus.js +105 -0
  979. package/dist/utils/dom/focus.js.map +1 -0
  980. package/dist/utils/dom/fullscreen.d.ts +11 -0
  981. package/dist/utils/dom/fullscreen.js +43 -0
  982. package/dist/utils/dom/fullscreen.js.map +1 -0
  983. package/dist/utils/dom/hotkeys.d.ts +43 -0
  984. package/dist/utils/dom/hotkeys.js +174 -0
  985. package/dist/utils/dom/hotkeys.js.map +1 -0
  986. package/dist/utils/dom/hover-intent.d.ts +47 -0
  987. package/dist/utils/dom/hover-intent.js +72 -0
  988. package/dist/utils/dom/hover-intent.js.map +1 -0
  989. package/dist/utils/dom/hover-layer.d.ts +36 -0
  990. package/dist/utils/dom/hover-layer.js +74 -0
  991. package/dist/utils/dom/hover-layer.js.map +1 -0
  992. package/dist/utils/dom/intersection.d.ts +13 -0
  993. package/dist/utils/dom/intersection.js +36 -0
  994. package/dist/utils/dom/intersection.js.map +1 -0
  995. package/dist/utils/dom/layout-batch.d.ts +14 -0
  996. package/dist/utils/dom/layout-batch.js +26 -0
  997. package/dist/utils/dom/layout-batch.js.map +1 -0
  998. package/dist/utils/dom/link.d.ts +18 -0
  999. package/dist/utils/dom/link.js +44 -0
  1000. package/dist/utils/dom/link.js.map +1 -0
  1001. package/dist/utils/dom/media-query.d.ts +18 -0
  1002. package/dist/utils/dom/media-query.js +36 -0
  1003. package/dist/utils/dom/media-query.js.map +1 -0
  1004. package/dist/utils/dom/move.d.ts +47 -0
  1005. package/dist/utils/dom/move.js +69 -0
  1006. package/dist/utils/dom/move.js.map +1 -0
  1007. package/dist/utils/dom/open-change.d.ts +51 -0
  1008. package/dist/utils/dom/open-change.js +21 -0
  1009. package/dist/utils/dom/open-change.js.map +1 -0
  1010. package/dist/utils/dom/overflow.d.ts +29 -0
  1011. package/dist/utils/dom/overflow.js +108 -0
  1012. package/dist/utils/dom/overflow.js.map +1 -0
  1013. package/dist/utils/dom/overlay.d.ts +35 -0
  1014. package/dist/utils/dom/overlay.js +104 -0
  1015. package/dist/utils/dom/overlay.js.map +1 -0
  1016. package/dist/utils/dom/page-visibility.d.ts +10 -0
  1017. package/dist/utils/dom/page-visibility.js +22 -0
  1018. package/dist/utils/dom/page-visibility.js.map +1 -0
  1019. package/dist/utils/dom/pan-zoom.d.ts +109 -0
  1020. package/dist/utils/dom/pan-zoom.js +257 -0
  1021. package/dist/utils/dom/pan-zoom.js.map +1 -0
  1022. package/dist/utils/dom/rasterize.d.ts +18 -0
  1023. package/dist/utils/dom/rasterize.js +41 -0
  1024. package/dist/utils/dom/rasterize.js.map +1 -0
  1025. package/dist/utils/dom/resize.d.ts +4 -0
  1026. package/dist/utils/dom/resize.js +65 -0
  1027. package/dist/utils/dom/resize.js.map +1 -0
  1028. package/dist/utils/dom/ripple.d.ts +40 -0
  1029. package/dist/utils/dom/ripple.js +96 -0
  1030. package/dist/utils/dom/ripple.js.map +1 -0
  1031. package/dist/utils/dom/roving-focus.d.ts +44 -0
  1032. package/dist/utils/dom/roving-focus.js +184 -0
  1033. package/dist/utils/dom/roving-focus.js.map +1 -0
  1034. package/dist/utils/dom/scroll-spy.d.ts +30 -0
  1035. package/dist/utils/dom/scroll-spy.js +55 -0
  1036. package/dist/utils/dom/scroll-spy.js.map +1 -0
  1037. package/dist/utils/dom/sortable.d.ts +82 -0
  1038. package/dist/utils/dom/sortable.js +437 -0
  1039. package/dist/utils/dom/sortable.js.map +1 -0
  1040. package/dist/utils/dom/storage.d.ts +21 -0
  1041. package/dist/utils/dom/storage.js +66 -0
  1042. package/dist/utils/dom/storage.js.map +1 -0
  1043. package/dist/utils/dom/typeahead.d.ts +15 -0
  1044. package/dist/utils/dom/typeahead.js +26 -0
  1045. package/dist/utils/dom/typeahead.js.map +1 -0
  1046. package/dist/utils/motion/active-indicator.d.ts +24 -0
  1047. package/dist/utils/motion/active-indicator.js +58 -0
  1048. package/dist/utils/motion/active-indicator.js.map +1 -0
  1049. package/dist/utils/motion/animation.d.ts +58 -0
  1050. package/dist/utils/motion/animation.js +83 -0
  1051. package/dist/utils/motion/animation.js.map +1 -0
  1052. package/dist/utils/motion/delayed-loading.d.ts +18 -0
  1053. package/dist/utils/motion/delayed-loading.js +38 -0
  1054. package/dist/utils/motion/delayed-loading.js.map +1 -0
  1055. package/dist/utils/motion/layout.d.ts +17 -0
  1056. package/dist/utils/motion/layout.js +43 -0
  1057. package/dist/utils/motion/layout.js.map +1 -0
  1058. package/dist/utils/motion/pointer.d.ts +14 -0
  1059. package/dist/utils/motion/pointer.js +72 -0
  1060. package/dist/utils/motion/pointer.js.map +1 -0
  1061. package/dist/utils/motion/presence.d.ts +57 -0
  1062. package/dist/utils/motion/presence.js +100 -0
  1063. package/dist/utils/motion/presence.js.map +1 -0
  1064. package/dist/utils/motion/reveal.d.ts +9 -0
  1065. package/dist/utils/motion/reveal.js +68 -0
  1066. package/dist/utils/motion/reveal.js.map +1 -0
  1067. package/dist/utils/motion/tween.d.ts +34 -0
  1068. package/dist/utils/motion/tween.js +50 -0
  1069. package/dist/utils/motion/tween.js.map +1 -0
  1070. package/dist/utils/props.d.ts +84 -0
  1071. package/dist/utils/props.js +189 -0
  1072. package/dist/utils/props.js.map +1 -0
  1073. package/dist/utils/request/error-message.d.ts +17 -0
  1074. package/dist/utils/request/error-message.js +50 -0
  1075. package/dist/utils/request/error-message.js.map +1 -0
  1076. package/dist/utils/request/http.d.ts +165 -0
  1077. package/dist/utils/request/http.js +247 -0
  1078. package/dist/utils/request/http.js.map +1 -0
  1079. package/dist/utils/request/use-autosave.d.ts +35 -0
  1080. package/dist/utils/request/use-autosave.js +69 -0
  1081. package/dist/utils/request/use-autosave.js.map +1 -0
  1082. package/dist/utils/request/use-request.d.ts +37 -0
  1083. package/dist/utils/request/use-request.js +90 -0
  1084. package/dist/utils/request/use-request.js.map +1 -0
  1085. package/dist/utils/request/wire.d.ts +48 -0
  1086. package/dist/utils/request/wire.js +208 -0
  1087. package/dist/utils/request/wire.js.map +1 -0
  1088. package/dist/utils/style/attached.d.ts +25 -0
  1089. package/dist/utils/style/attached.js +82 -0
  1090. package/dist/utils/style/attached.js.map +1 -0
  1091. package/dist/utils/style/item-styles.d.ts +18 -0
  1092. package/dist/utils/style/item-styles.js +79 -0
  1093. package/dist/utils/style/item-styles.js.map +1 -0
  1094. package/dist/utils/style/markers.d.ts +6 -0
  1095. package/dist/utils/style/markers.js +11 -0
  1096. package/dist/utils/style/markers.js.map +1 -0
  1097. package/dist/utils/style/shimmer.d.ts +20 -0
  1098. package/dist/utils/style/shimmer.js +58 -0
  1099. package/dist/utils/style/shimmer.js.map +1 -0
  1100. package/dist/utils/style/styles.d.ts +118 -0
  1101. package/dist/utils/style/styles.js +114 -0
  1102. package/dist/utils/style/styles.js.map +1 -0
  1103. package/dist/utils/style/swatch-styles.d.ts +10 -0
  1104. package/dist/utils/style/swatch-styles.js +19 -0
  1105. package/dist/utils/style/swatch-styles.js.map +1 -0
  1106. package/dist/utils/style/tone-styles.d.ts +58 -0
  1107. package/dist/utils/style/tone-styles.js +180 -0
  1108. package/dist/utils/style/tone-styles.js.map +1 -0
  1109. package/dist/utils/style/transitions.d.ts +43 -0
  1110. package/dist/utils/style/transitions.js +118 -0
  1111. package/dist/utils/style/transitions.js.map +1 -0
  1112. package/dist/utils/style/typography.d.ts +155 -0
  1113. package/dist/utils/style/typography.js +80 -0
  1114. package/dist/utils/style/typography.js.map +1 -0
  1115. package/dist/utils/style/vars.d.ts +18 -0
  1116. package/dist/utils/style/vars.js +21 -0
  1117. package/dist/utils/style/vars.js.map +1 -0
  1118. package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
  1119. package/dist/utils/virtual/use-virtualizer.js +94 -0
  1120. package/dist/utils/virtual/use-virtualizer.js.map +1 -0
  1121. package/dist/utils/virtual/virtualizer.d.ts +145 -0
  1122. package/dist/utils/virtual/virtualizer.js +316 -0
  1123. package/dist/utils/virtual/virtualizer.js.map +1 -0
  1124. package/dist/xlsx/index.d.ts +7 -0
  1125. package/dist/xlsx/index.js +1 -0
  1126. package/dist/xlsx/workbook.d.ts +33 -0
  1127. package/dist/xlsx/workbook.js +195 -0
  1128. package/dist/xlsx/workbook.js.map +1 -0
  1129. package/package.json +258 -3
@@ -0,0 +1,100 @@
1
+ import { afterTransitions } from "../style/transitions.js";
2
+ import { focusAfterRemoval } from "../dom/focus.js";
3
+ import { toElement } from "../dom/element.js";
4
+ import { computed, nextTick, onScopeDispose, shallowRef, watch } from "vue";
5
+ //#region src/utils/motion/presence.ts
6
+ /**
7
+ * 离场动画的统一流程:关闭后先保持挂载、写 data-state="closed",等离场(CSS 过渡或 Anime.js)结束再卸载。
8
+ *
9
+ * const presence = usePresence(() => open, { onExited: () => emit('removed') });
10
+ * return () => presence.mounted && <div ref={presence.ref} data-state={presence.state} … />;
11
+ * // 样式里按 state 写离场的终值与过渡:presence.state === 'closed' && styles.leaving
12
+ *
13
+ * 离场中又打开了就停在打开状态,不卸载、不调用 onExited。元素自己决定是否卸载时(Toast、Tag)只用 state 与 onExited。
14
+ */
15
+ /** 关闭后等离场结束再卸载(在 setup 里调用) */
16
+ function usePresence(read, { onExited, exit } = {}) {
17
+ const open = computed(read);
18
+ const mounted = shallowRef(open.value);
19
+ let element = null;
20
+ let generation = 0;
21
+ onScopeDispose(() => generation++);
22
+ watch(open, async (value) => {
23
+ const current = ++generation;
24
+ if (value) {
25
+ mounted.value = true;
26
+ return;
27
+ }
28
+ await nextTick();
29
+ if (element) {
30
+ await exit?.(element);
31
+ await afterTransitions(element);
32
+ }
33
+ if (current !== generation) return;
34
+ mounted.value = false;
35
+ onExited?.();
36
+ });
37
+ return {
38
+ get mounted() {
39
+ return mounted.value;
40
+ },
41
+ get state() {
42
+ return open.value ? "open" : "closed";
43
+ },
44
+ ref: (value) => element = toElement(value)
45
+ };
46
+ }
47
+ /**
48
+ * 先离场再移除:可关闭的标签、提示条、横幅共用(Tag、Alert、Banner)。数据由使用方控制:
49
+ * 离场结束才调用 onDismiss,使用方移除了就消失;没移除(如拒绝删除)时复位,元素重新出现。在 setup 里调用
50
+ *
51
+ * const dismissible = useDismissible(() => onClose?.());
52
+ * <div ref={dismissible.ref} data-state={dismissible.state} {...css.attrs(dismissible.dismissing && styles.leaving)}>
53
+ * <CloseButton onClick={dismissible.dismiss} />
54
+ */
55
+ function useDismissible(onDismiss) {
56
+ const dismissing = shallowRef(false);
57
+ let element = null;
58
+ const presence = usePresence(() => !dismissing.value, { onExited: () => {
59
+ dismissing.value = false;
60
+ onDismiss();
61
+ } });
62
+ return {
63
+ get dismissing() {
64
+ return dismissing.value;
65
+ },
66
+ get state() {
67
+ return presence.state;
68
+ },
69
+ ref: (value) => {
70
+ element = toElement(value);
71
+ presence.ref(value);
72
+ },
73
+ dismiss: () => {
74
+ if (dismissing.value) return;
75
+ if (element) focusAfterRemoval(element);
76
+ dismissing.value = true;
77
+ }
78
+ };
79
+ }
80
+ /**
81
+ * 内容延迟渲染:lazy 时第一次打开前不渲染,打开过之后一直保留(再次打开、离场过渡都不必重建)。
82
+ * 在 setup 里调用,返回的函数在渲染时调用;渲染本来就读 open,打开时会重新渲染,所以不需要响应式状态。
83
+ *
84
+ * const showContent = useLazyContent(() => open, () => lazy);
85
+ * <div popover>{showContent() && children}</div>
86
+ *
87
+ * 浮层(Popover、HoverCard、Menu、对话框与抽屉)默认延迟:一百个关闭的菜单挂载 118ms → 12ms;
88
+ * Collapse、Tabs 默认不延迟(收起的内容页内搜索要找得到)。Tooltip 不延迟:它被触发器的 aria-describedby 引用。
89
+ */
90
+ function useLazyContent(open, lazy) {
91
+ let opened = false;
92
+ return () => {
93
+ if (open()) opened = true;
94
+ return opened || !lazy();
95
+ };
96
+ }
97
+ //#endregion
98
+ export { useDismissible, useLazyContent, usePresence };
99
+
100
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","names":[],"sources":["../../../src/utils/motion/presence.ts"],"sourcesContent":["/**\n * 离场动画的统一流程:关闭后先保持挂载、写 data-state=\"closed\",等离场(CSS 过渡或 Anime.js)结束再卸载。\n *\n * const presence = usePresence(() => open, { onExited: () => emit('removed') });\n * return () => presence.mounted && <div ref={presence.ref} data-state={presence.state} … />;\n * // 样式里按 state 写离场的终值与过渡:presence.state === 'closed' && styles.leaving\n *\n * 离场中又打开了就停在打开状态,不卸载、不调用 onExited。元素自己决定是否卸载时(Toast、Tag)只用 state 与 onExited。\n */\nimport { computed, nextTick, onScopeDispose, shallowRef, watch } from 'vue';\nimport { toElement } from '../dom/element';\nimport { focusAfterRemoval } from '../dom/focus';\nimport { afterTransitions } from '../style/transitions';\n\n/** usePresence 的返回值 */\nexport interface Presence {\n /** 是否渲染:打开时,以及关闭后离场还没结束时 */\n readonly mounted: boolean;\n /** 打开还是正在离场(写到 data-state) */\n readonly state: 'open' | 'closed';\n /** 离场过渡所在的元素(或组件)的 ref:等它与子元素上的过渡结束 */\n ref: (element: unknown) => void;\n}\n\n/** usePresence 的选项 */\nexport interface PresenceOptions {\n /** 离场结束、mounted 变为 false 之后调用 */\n onExited?: () => void;\n /** JS 离场动画(如 Anime.js):关闭状态渲染后调用,等它结束;CSS 过渡不用写,会自动等 */\n exit?: (element: HTMLElement) => PromiseLike<unknown> | void;\n}\n\n/** 关闭后等离场结束再卸载(在 setup 里调用) */\nexport function usePresence(\n read: () => boolean,\n { onExited, exit }: PresenceOptions = {},\n): Presence {\n const open = computed(read);\n const mounted = shallowRef(open.value);\n let element: HTMLElement | null = null;\n // 每次开关换一个编号:离场途中又打开(或组件卸载)时,旧的离场流程作废\n let generation = 0;\n onScopeDispose(() => generation++);\n\n watch(open, async (value) => {\n const current = ++generation;\n if (value) {\n mounted.value = true;\n return;\n }\n // 等关闭状态写进 DOM,过渡才开始\n await nextTick();\n if (element) {\n await exit?.(element);\n await afterTransitions(element);\n }\n if (current !== generation) return;\n mounted.value = false;\n onExited?.();\n });\n\n return {\n get mounted() {\n return mounted.value;\n },\n get state() {\n return open.value ? 'open' : 'closed';\n },\n ref: (value) => (element = toElement(value)),\n };\n}\n\n/** useDismissible 的返回值 */\nexport interface Dismissible {\n /** 正在离场:样式里写离场的终值与过渡 */\n readonly dismissing: boolean;\n /** 打开还是正在离场(写到 data-state) */\n readonly state: 'open' | 'closed';\n /** 根元素(或组件)的 ref */\n ref: (element: unknown) => void;\n /** 开始离场:焦点先移到相邻的可聚焦元素上(关闭按钮随它一起消失),离场结束调用 onDismiss;正在离场时什么也不做 */\n readonly dismiss: () => void;\n}\n\n/**\n * 先离场再移除:可关闭的标签、提示条、横幅共用(Tag、Alert、Banner)。数据由使用方控制:\n * 离场结束才调用 onDismiss,使用方移除了就消失;没移除(如拒绝删除)时复位,元素重新出现。在 setup 里调用\n *\n * const dismissible = useDismissible(() => onClose?.());\n * <div ref={dismissible.ref} data-state={dismissible.state} {...css.attrs(dismissible.dismissing && styles.leaving)}>\n * <CloseButton onClick={dismissible.dismiss} />\n */\nexport function useDismissible(onDismiss: () => void): Dismissible {\n const dismissing = shallowRef(false);\n let element: HTMLElement | null = null;\n const presence = usePresence(() => !dismissing.value, {\n onExited: () => {\n dismissing.value = false;\n onDismiss();\n },\n });\n return {\n get dismissing() {\n return dismissing.value;\n },\n get state() {\n return presence.state;\n },\n ref: (value) => {\n element = toElement(value);\n presence.ref(value);\n },\n dismiss: () => {\n if (dismissing.value) return;\n if (element) focusAfterRemoval(element);\n dismissing.value = true;\n },\n };\n}\n\n/**\n * 内容延迟渲染:lazy 时第一次打开前不渲染,打开过之后一直保留(再次打开、离场过渡都不必重建)。\n * 在 setup 里调用,返回的函数在渲染时调用;渲染本来就读 open,打开时会重新渲染,所以不需要响应式状态。\n *\n * const showContent = useLazyContent(() => open, () => lazy);\n * <div popover>{showContent() && children}</div>\n *\n * 浮层(Popover、HoverCard、Menu、对话框与抽屉)默认延迟:一百个关闭的菜单挂载 118ms → 12ms;\n * Collapse、Tabs 默认不延迟(收起的内容页内搜索要找得到)。Tooltip 不延迟:它被触发器的 aria-describedby 引用。\n */\nexport function useLazyContent(open: () => boolean, lazy: () => boolean): () => boolean {\n let opened = false;\n return () => {\n if (open()) opened = true;\n return opened || !lazy();\n };\n}\n\n/** 浮层的内容延迟渲染(Popover、HoverCard、Menu、对话框与抽屉共用) */\nexport interface LazyContentOptions {\n /**\n * 第一次打开前不渲染内容,打开过后保留,默认 true。\n * 内容要一直在 DOM 里(页内搜索、关闭时也要查询其中的元素)时设为 false\n */\n lazy?: boolean;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,SAAgB,YACd,MACA,EAAE,UAAU,SAA0B,CAAC,GAC7B;CACV,MAAM,OAAO,SAAS,IAAI;CAC1B,MAAM,UAAU,WAAW,KAAK,KAAK;CACrC,IAAI,UAA8B;CAElC,IAAI,aAAa;CACjB,qBAAqB,YAAY;CAEjC,MAAM,MAAM,OAAO,UAAU;EAC3B,MAAM,UAAU,EAAE;EAClB,IAAI,OAAO;GACT,QAAQ,QAAQ;GAChB;EACF;EAEA,MAAM,SAAS;EACf,IAAI,SAAS;GACX,MAAM,OAAO,OAAO;GACpB,MAAM,iBAAiB,OAAO;EAChC;EACA,IAAI,YAAY,YAAY;EAC5B,QAAQ,QAAQ;EAChB,WAAW;CACb,CAAC;CAED,OAAO;EACL,IAAI,UAAU;GACZ,OAAO,QAAQ;EACjB;EACA,IAAI,QAAQ;GACV,OAAO,KAAK,QAAQ,SAAS;EAC/B;EACA,MAAM,UAAW,UAAU,UAAU,KAAK;CAC5C;AACF;;;;;;;;;AAsBA,SAAgB,eAAe,WAAoC;CACjE,MAAM,aAAa,WAAW,KAAK;CACnC,IAAI,UAA8B;CAClC,MAAM,WAAW,kBAAkB,CAAC,WAAW,OAAO,EACpD,gBAAgB;EACd,WAAW,QAAQ;EACnB,UAAU;CACZ,EACF,CAAC;CACD,OAAO;EACL,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,IAAI,QAAQ;GACV,OAAO,SAAS;EAClB;EACA,MAAM,UAAU;GACd,UAAU,UAAU,KAAK;GACzB,SAAS,IAAI,KAAK;EACpB;EACA,eAAe;GACb,IAAI,WAAW,OAAO;GACtB,IAAI,SAAS,kBAAkB,OAAO;GACtC,WAAW,QAAQ;EACrB;CACF;AACF;;;;;;;;;;;AAYA,SAAgB,eAAe,MAAqB,MAAoC;CACtF,IAAI,SAAS;CACb,aAAa;EACX,IAAI,KAAK,GAAG,SAAS;EACrB,OAAO,UAAU,CAAC,KAAK;CACzB;AACF"}
@@ -0,0 +1,9 @@
1
+ /** 圆形展开的起点(视口坐标,px) */
2
+ export interface RevealOrigin {
3
+ /** 横坐标 */
4
+ x: number;
5
+ /** 纵坐标 */
6
+ y: number;
7
+ }
8
+ /** 执行 update(改主题、换页面),能过渡时从 origin 圆形展开新画面;返回过渡开始后兑现的 Promise */
9
+ export declare function revealTransition(update: () => void, origin?: RevealOrigin): Promise<void>;
@@ -0,0 +1,68 @@
1
+ import { durations, easings } from "../../config/theme/tokens.js";
2
+ import { readToken } from "../../config/theme/theme.js";
3
+ import { parseDuration } from "./animation.js";
4
+ import { nextTick } from "vue";
5
+ //#region src/utils/motion/reveal.ts
6
+ /**
7
+ * 整页切换的过渡(View Transitions API):从一个点圆形展开新画面,用于切换主题这类整页变化。
8
+ *
9
+ * revealTransition(() => (theme = next), { x: event.clientX, y: event.clientY });
10
+ *
11
+ * 浏览器不支持 View Transitions、或开启了“减少动态效果”时直接更新;没给起点时是浏览器默认的淡入淡出。
12
+ * 时长与缓动取主题 tokens(durations.lg、easings.standard)。
13
+ */
14
+ /**
15
+ * 圆形展开时去掉浏览器默认的淡入淡出:只插入一次,只对带 data-vtp-reveal 的根元素生效(转场期间才带),
16
+ * 不影响宿主自己的 View Transitions
17
+ */
18
+ var styleInserted = false;
19
+ function insertRevealStyle() {
20
+ if (styleInserted) return;
21
+ styleInserted = true;
22
+ const style = document.createElement("style");
23
+ style.dataset.vtpReveal = "";
24
+ style.textContent = ":root[data-vtp-reveal]::view-transition-old(root),:root[data-vtp-reveal]::view-transition-new(root){animation:none;mix-blend-mode:normal}";
25
+ document.head.append(style);
26
+ }
27
+ /** 执行 update(改主题、换页面),能过渡时从 origin 圆形展开新画面;返回过渡开始后兑现的 Promise */
28
+ async function revealTransition(update, origin) {
29
+ const doc = typeof document === "undefined" ? void 0 : document;
30
+ const reduced = globalThis.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
31
+ if (!doc?.startViewTransition || reduced) {
32
+ update();
33
+ return;
34
+ }
35
+ const root = doc.documentElement;
36
+ if (origin) {
37
+ insertRevealStyle();
38
+ root.dataset.vtpReveal = "";
39
+ }
40
+ let failed = false;
41
+ const transition = doc.startViewTransition(async () => {
42
+ try {
43
+ update();
44
+ } catch (error) {
45
+ failed = true;
46
+ throw error;
47
+ }
48
+ await nextTick();
49
+ });
50
+ transition.finished.finally(() => delete root.dataset.vtpReveal).catch(() => {});
51
+ try {
52
+ await transition.ready;
53
+ } catch (error) {
54
+ if (failed) throw error;
55
+ return;
56
+ }
57
+ if (!origin) return;
58
+ const radius = Math.hypot(Math.max(origin.x, innerWidth - origin.x), Math.max(origin.y, innerHeight - origin.y));
59
+ root.animate({ clipPath: [`circle(0px at ${origin.x}px ${origin.y}px)`, `circle(${radius}px at ${origin.x}px ${origin.y}px)`] }, {
60
+ duration: parseDuration(readToken(root, durations.lg)),
61
+ easing: readToken(root, easings.standard),
62
+ pseudoElement: "::view-transition-new(root)"
63
+ });
64
+ }
65
+ //#endregion
66
+ export { revealTransition };
67
+
68
+ //# sourceMappingURL=reveal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reveal.js","names":[],"sources":["../../../src/utils/motion/reveal.ts"],"sourcesContent":["/**\n * 整页切换的过渡(View Transitions API):从一个点圆形展开新画面,用于切换主题这类整页变化。\n *\n * revealTransition(() => (theme = next), { x: event.clientX, y: event.clientY });\n *\n * 浏览器不支持 View Transitions、或开启了“减少动态效果”时直接更新;没给起点时是浏览器默认的淡入淡出。\n * 时长与缓动取主题 tokens(durations.lg、easings.standard)。\n */\nimport { nextTick } from 'vue';\nimport { durations, easings } from '../../config/theme/tokens';\nimport { readToken } from '../../config/theme/theme';\nimport { parseDuration } from './animation';\n\n/** 圆形展开的起点(视口坐标,px) */\nexport interface RevealOrigin {\n /** 横坐标 */\n x: number;\n /** 纵坐标 */\n y: number;\n}\n\ntype ViewTransitionDocument = Document & {\n startViewTransition?: (update: () => Promise<void>) => {\n ready: Promise<void>;\n finished: Promise<void>;\n };\n};\n\n/**\n * 圆形展开时去掉浏览器默认的淡入淡出:只插入一次,只对带 data-vtp-reveal 的根元素生效(转场期间才带),\n * 不影响宿主自己的 View Transitions\n */\nlet styleInserted = false;\nfunction insertRevealStyle() {\n if (styleInserted) return;\n styleInserted = true;\n const style = document.createElement('style');\n style.dataset.vtpReveal = '';\n style.textContent =\n ':root[data-vtp-reveal]::view-transition-old(root),:root[data-vtp-reveal]::view-transition-new(root){animation:none;mix-blend-mode:normal}';\n document.head.append(style);\n}\n\n/** 执行 update(改主题、换页面),能过渡时从 origin 圆形展开新画面;返回过渡开始后兑现的 Promise */\nexport async function revealTransition(update: () => void, origin?: RevealOrigin): Promise<void> {\n const doc = typeof document === 'undefined' ? undefined : (document as ViewTransitionDocument);\n const reduced = globalThis.matchMedia?.('(prefers-reduced-motion: reduce)').matches;\n if (!doc?.startViewTransition || reduced) {\n update();\n return;\n }\n const root = doc.documentElement;\n if (origin) {\n insertRevealStyle();\n root.dataset.vtpReveal = '';\n }\n let failed = false;\n const transition = doc.startViewTransition(async () => {\n try {\n update();\n } catch (error) {\n failed = true;\n throw error;\n }\n // 等 Vue 把新主题写进 DOM,浏览器才截到新画面\n await nextTick();\n });\n void transition.finished.finally(() => delete root.dataset.vtpReveal).catch(() => {});\n try {\n await transition.ready;\n } catch (error) {\n // update 出错照常抛给调用方;转场被跳过(又开始了一个)时没有动画可做,不算错误\n if (failed) throw error;\n return;\n }\n if (!origin) return;\n const radius = Math.hypot(\n Math.max(origin.x, innerWidth - origin.x),\n Math.max(origin.y, innerHeight - origin.y),\n );\n root.animate(\n {\n clipPath: [\n `circle(0px at ${origin.x}px ${origin.y}px)`,\n `circle(${radius}px at ${origin.x}px ${origin.y}px)`,\n ],\n },\n {\n duration: parseDuration(readToken(root, durations.lg)),\n easing: readToken(root, easings.standard),\n pseudoElement: '::view-transition-new(root)',\n },\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,IAAI,gBAAgB;AACpB,SAAS,oBAAoB;CAC3B,IAAI,eAAe;CACnB,gBAAgB;CAChB,MAAM,QAAQ,SAAS,cAAc,OAAO;CAC5C,MAAM,QAAQ,YAAY;CAC1B,MAAM,cACJ;CACF,SAAS,KAAK,OAAO,KAAK;AAC5B;;AAGA,eAAsB,iBAAiB,QAAoB,QAAsC;CAC/F,MAAM,MAAM,OAAO,aAAa,cAAc,KAAA,IAAa;CAC3D,MAAM,UAAU,WAAW,aAAa,kCAAkC,CAAC,CAAC;CAC5E,IAAI,CAAC,KAAK,uBAAuB,SAAS;EACxC,OAAO;EACP;CACF;CACA,MAAM,OAAO,IAAI;CACjB,IAAI,QAAQ;EACV,kBAAkB;EAClB,KAAK,QAAQ,YAAY;CAC3B;CACA,IAAI,SAAS;CACb,MAAM,aAAa,IAAI,oBAAoB,YAAY;EACrD,IAAI;GACF,OAAO;EACT,SAAS,OAAO;GACd,SAAS;GACT,MAAM;EACR;EAEA,MAAM,SAAS;CACjB,CAAC;CACD,WAAgB,SAAS,cAAc,OAAO,KAAK,QAAQ,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;CACpF,IAAI;EACF,MAAM,WAAW;CACnB,SAAS,OAAO;EAEd,IAAI,QAAQ,MAAM;EAClB;CACF;CACA,IAAI,CAAC,QAAQ;CACb,MAAM,SAAS,KAAK,MAClB,KAAK,IAAI,OAAO,GAAG,aAAa,OAAO,CAAC,GACxC,KAAK,IAAI,OAAO,GAAG,cAAc,OAAO,CAAC,CAC3C;CACA,KAAK,QACH,EACE,UAAU,CACR,iBAAiB,OAAO,EAAE,KAAK,OAAO,EAAE,MACxC,UAAU,OAAO,QAAQ,OAAO,EAAE,KAAK,OAAO,EAAE,IAClD,EACF,GACA;EACE,UAAU,cAAc,UAAU,MAAM,UAAU,EAAE,CAAC;EACrD,QAAQ,UAAU,MAAM,QAAQ,QAAQ;EACxC,eAAe;CACjB,CACF;AACF"}
@@ -0,0 +1,34 @@
1
+ import { type ThemeTransitionOptions } from './animation';
2
+ /** useTween / useSpring 的返回值 */
3
+ export interface Tweened {
4
+ /** 当前值:过渡中逐帧变化,响应式 */
5
+ readonly current: number;
6
+ /** 目标值:read 的最新结果 */
7
+ readonly target: number;
8
+ }
9
+ /** useTween 的选项 */
10
+ export interface TweenOptions {
11
+ /** 时长档位,默认 md */
12
+ duration?: ThemeTransitionOptions['duration'];
13
+ /** 缓动曲线,默认 standard */
14
+ ease?: ThemeTransitionOptions['ease'];
15
+ /** 挂载时从这个值过渡到第一个目标;不给时第一个目标直接显示 */
16
+ from?: number;
17
+ /** 读哪个元素上的主题时长(子树里覆盖了主题时),默认根元素 */
18
+ scope?: () => Element | null | undefined;
19
+ }
20
+ /** useSpring 的选项 */
21
+ export interface SpringOptions {
22
+ /** 回弹程度(0 不回弹,越大越弹,建议不超过 0.5),默认 0.25 */
23
+ bounce?: number;
24
+ /** 弹簧的感知时长档位,默认 md */
25
+ duration?: ThemeTransitionOptions['duration'];
26
+ /** 挂载时从这个值过渡到第一个目标;不给时第一个目标直接显示 */
27
+ from?: number;
28
+ /** 读哪个元素上的主题时长,默认根元素 */
29
+ scope?: () => Element | null | undefined;
30
+ }
31
+ /** 数值变化时按主题时长与缓动过渡(在 setup 里调用) */
32
+ export declare function useTween(read: () => number, { from, scope, ...transition }?: TweenOptions): Tweened;
33
+ /** 数值变化时用弹簧过渡(在 setup 里调用) */
34
+ export declare function useSpring(read: () => number, { from, bounce, duration, scope }?: SpringOptions): Tweened;
@@ -0,0 +1,50 @@
1
+ import { useAnimate } from "./animation.js";
2
+ import { computed, shallowRef, watch } from "vue";
3
+ //#region src/utils/motion/tween.ts
4
+ /**
5
+ * 跟随数值的过渡(对标 Svelte 5 的 Tween / Spring):read 的结果变化时,current 从当前值过渡到新值。
6
+ *
7
+ * const shown = useTween(() => value, { duration: 'lg' }); // 渲染里读 shown.current
8
+ * const scale = useSpring(() => (pressed ? 0.95 : 1));
9
+ *
10
+ * 用 Anime.js 驱动一个普通对象,逐帧写进 shallowRef;时长、缓动、弹簧取主题(useAnimate),
11
+ * 减少动态效果时当场到位。过渡中目标又变了,从当时的值接着过渡到新目标。
12
+ */
13
+ /** 数值变化时按主题时长与缓动过渡(在 setup 里调用) */
14
+ function useTween(read, { from, scope, ...transition } = {}) {
15
+ return useTweened(read, from, transition, scope);
16
+ }
17
+ /** 数值变化时用弹簧过渡(在 setup 里调用) */
18
+ function useSpring(read, { from, bounce = .25, duration, scope } = {}) {
19
+ return useTweened(read, from, {
20
+ bounce,
21
+ duration
22
+ }, scope);
23
+ }
24
+ function useTweened(read, from, transition, scope) {
25
+ const animate = useAnimate();
26
+ const target = computed(read);
27
+ const state = { value: from ?? target.value };
28
+ const current = shallowRef(state.value);
29
+ watch(target, (value) => {
30
+ animate(state, {
31
+ value,
32
+ onUpdate: () => current.value = state.value
33
+ }, {
34
+ ...transition,
35
+ scope: scope?.() ?? void 0
36
+ });
37
+ }, { immediate: from != null });
38
+ return {
39
+ get current() {
40
+ return current.value;
41
+ },
42
+ get target() {
43
+ return target.value;
44
+ }
45
+ };
46
+ }
47
+ //#endregion
48
+ export { useSpring, useTween };
49
+
50
+ //# sourceMappingURL=tween.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tween.js","names":[],"sources":["../../../src/utils/motion/tween.ts"],"sourcesContent":["/**\n * 跟随数值的过渡(对标 Svelte 5 的 Tween / Spring):read 的结果变化时,current 从当前值过渡到新值。\n *\n * const shown = useTween(() => value, { duration: 'lg' }); // 渲染里读 shown.current\n * const scale = useSpring(() => (pressed ? 0.95 : 1));\n *\n * 用 Anime.js 驱动一个普通对象,逐帧写进 shallowRef;时长、缓动、弹簧取主题(useAnimate),\n * 减少动态效果时当场到位。过渡中目标又变了,从当时的值接着过渡到新目标。\n */\nimport { computed, shallowRef, watch } from 'vue';\nimport { useAnimate, type ThemeTransitionOptions } from './animation';\n\n/** useTween / useSpring 的返回值 */\nexport interface Tweened {\n /** 当前值:过渡中逐帧变化,响应式 */\n readonly current: number;\n /** 目标值:read 的最新结果 */\n readonly target: number;\n}\n\n/** useTween 的选项 */\nexport interface TweenOptions {\n /** 时长档位,默认 md */\n duration?: ThemeTransitionOptions['duration'];\n /** 缓动曲线,默认 standard */\n ease?: ThemeTransitionOptions['ease'];\n /** 挂载时从这个值过渡到第一个目标;不给时第一个目标直接显示 */\n from?: number;\n /** 读哪个元素上的主题时长(子树里覆盖了主题时),默认根元素 */\n scope?: () => Element | null | undefined;\n}\n\n/** useSpring 的选项 */\nexport interface SpringOptions {\n /** 回弹程度(0 不回弹,越大越弹,建议不超过 0.5),默认 0.25 */\n bounce?: number;\n /** 弹簧的感知时长档位,默认 md */\n duration?: ThemeTransitionOptions['duration'];\n /** 挂载时从这个值过渡到第一个目标;不给时第一个目标直接显示 */\n from?: number;\n /** 读哪个元素上的主题时长,默认根元素 */\n scope?: () => Element | null | undefined;\n}\n\n/** 数值变化时按主题时长与缓动过渡(在 setup 里调用) */\nexport function useTween(\n read: () => number,\n { from, scope, ...transition }: TweenOptions = {},\n): Tweened {\n return useTweened(read, from, transition, scope);\n}\n\n/** 数值变化时用弹簧过渡(在 setup 里调用) */\nexport function useSpring(\n read: () => number,\n { from, bounce = 0.25, duration, scope }: SpringOptions = {},\n): Tweened {\n return useTweened(read, from, { bounce, duration }, scope);\n}\n\nfunction useTweened(\n read: () => number,\n from: number | undefined,\n transition: ThemeTransitionOptions,\n scope?: () => Element | null | undefined,\n): Tweened {\n const animate = useAnimate();\n const target = computed(read);\n // Anime.js 改的是这个普通对象,每帧再同步给响应式的 current\n const state = { value: from ?? target.value };\n const current = shallowRef(state.value);\n watch(\n target,\n (value) => {\n void animate(\n state,\n { value, onUpdate: () => (current.value = state.value) },\n { ...transition, scope: scope?.() ?? undefined },\n );\n },\n { immediate: from != null },\n );\n return {\n get current() {\n return current.value;\n },\n get target() {\n return target.value;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;AA6CA,SAAgB,SACd,MACA,EAAE,MAAM,OAAO,GAAG,eAA6B,CAAC,GACvC;CACT,OAAO,WAAW,MAAM,MAAM,YAAY,KAAK;AACjD;;AAGA,SAAgB,UACd,MACA,EAAE,MAAM,SAAS,KAAM,UAAU,UAAyB,CAAC,GAClD;CACT,OAAO,WAAW,MAAM,MAAM;EAAE;EAAQ;CAAS,GAAG,KAAK;AAC3D;AAEA,SAAS,WACP,MACA,MACA,YACA,OACS;CACT,MAAM,UAAU,WAAW;CAC3B,MAAM,SAAS,SAAS,IAAI;CAE5B,MAAM,QAAQ,EAAE,OAAO,QAAQ,OAAO,MAAM;CAC5C,MAAM,UAAU,WAAW,MAAM,KAAK;CACtC,MACE,SACC,UAAU;EACT,QACE,OACA;GAAE;GAAO,gBAAiB,QAAQ,QAAQ,MAAM;EAAO,GACvD;GAAE,GAAG;GAAY,OAAO,QAAQ,KAAK,KAAA;EAAU,CACjD;CACF,GACA,EAAE,WAAW,QAAQ,KAAK,CAC5B;CACA,OAAO;EACL,IAAI,UAAU;GACZ,OAAO,QAAQ;EACjB;EACA,IAAI,SAAS;GACX,OAAO,OAAO;EAChB;CACF;AACF"}
@@ -0,0 +1,84 @@
1
+ import type { IntrinsicProps, JSX } from '@zerodep-dev/vue-tsx-pro-tsx/jsx-runtime';
2
+ import '../config/theme/tokens';
3
+ import type { StyleAttrs, SxStyles } from '@zerodep-dev/vue-tsx-pro-tsx/styles';
4
+ import type { VNodeChild } from 'vue';
5
+ /**
6
+ * 原生元素部件的 props:该元素的属性加上 sx;去掉组件管理的属性与 children(内容走组件自己的 prop)。
7
+ * 形如 `propsInput?: PartProps<'input', 'value' | 'aria-invalid'>`。
8
+ */
9
+ export type PartProps<Tag extends keyof JSX.IntrinsicElements, Managed extends string = never> = Omit<IntrinsicProps<Tag>, Managed | 'children'> & {
10
+ sx?: SxStyles;
11
+ };
12
+ /**
13
+ * 展开收起类组件(Collapsible、Popover)交给触发器的属性:展开到任意可聚焦元素上,
14
+ * 形如 `trigger={(props) => <Button {...props}>更多</Button>}`。弹层另外加上 id、ref、aria-haspopup。
15
+ */
16
+ export interface TriggerProps {
17
+ /** 切换展开与收起 */
18
+ onClick: (event: MouseEvent) => void;
19
+ /** 当前是否展开,读屏据此播报“已展开 / 已折叠” */
20
+ 'aria-expanded': boolean;
21
+ /** 被控制的内容区的 id */
22
+ 'aria-controls': string;
23
+ /** 不可用:组件设了 disabled 时为 true,展开到按钮上就是原生的 disabled */
24
+ disabled?: boolean;
25
+ }
26
+ /**
27
+ * data-* 属性写进对象字面量(部件属性、mergeAttrs 的各层):元素的属性类型不收 data-* 键,
28
+ * 用它包一层再展开。JSX 上直接写 data-* 不需要它。
29
+ *
30
+ * mergeAttrs<'td'>(defaults, user, { role: 'gridcell', ...dataAttrs({ 'data-in-range': inRange || undefined }) })
31
+ */
32
+ export declare const dataAttrs: (attrs: Record<`data-${string}`, string | number | boolean | undefined>) => Record<`data-${string}`, string | number | boolean | undefined>;
33
+ type Props = Record<string, unknown>;
34
+ /**
35
+ * 一层属性:Target 是标签名('svg')时为该元素的属性加 sx,是 props 类型(IconProps)时就是它。
36
+ * 标签名的联合('h1' | 'h2',一个工厂生成的几个组件共用实现时)取这些标签共有的属性,所以这里不按联合分配
37
+ */
38
+ type PropsLayer<Target> = Partial<[
39
+ Target
40
+ ] extends [keyof JSX.IntrinsicElements] ? PartProps<Target> : Target>;
41
+ /**
42
+ * 合并部件的三层属性:组件默认、使用方传入、组件受管,规则见文件开头。
43
+ * 用类型参数写明属性落到哪里,三层的对象字面量才有补全、悬停说明与类型检查:
44
+ * mergeProps<IconProps>({ sx: … }, propsIcon);原生元素用 mergeAttrs<'svg'>(默认, rest, 受管)
45
+ *
46
+ * 渲染里每个部件每次都要合并,按最常见的情况走捷径:只有默认层时原样返回;
47
+ * 只有两层以上都给了同名事件时才包一层回调。
48
+ */
49
+ export declare function mergeProps<Target = Props>(defaults: PropsLayer<Target>, user?: PropsLayer<Target>, managed?: PropsLayer<Target>): PropsLayer<Target>;
50
+ /**
51
+ * 子组件部件的合并:mergeProps 的规则,但默认层要写齐子组件的必填 props(如 Icon 的 icon),
52
+ * 返回完整的 props 类型,展开到子组件上不必再断言:
53
+ * <Icon {...mergePartProps<IconProps>({ icon: X, sx: styles.icon }, propsIcon)} />
54
+ */
55
+ export declare function mergePartProps<P extends object>(defaults: P, user?: Partial<P>, managed?: Partial<P>): P;
56
+ /**
57
+ * 原生元素部件的合并:mergeProps 的规则,再把 sx 换成 class 与 style(elementProps),结果直接展开到元素上:
58
+ * <svg {...mergeAttrs<'svg'>({ sx: styles.icon }, rest, { 'aria-hidden': true })} />
59
+ */
60
+ export declare function mergeAttrs<Tag extends keyof JSX.IntrinsicElements>(defaults: PropsLayer<Tag>, user?: PropsLayer<Tag>, managed?: PropsLayer<Tag>): Omit<PropsLayer<Tag>, 'sx' | 'children'>;
61
+ /**
62
+ * 原生元素部件:把 sx 换成样式引擎生成的 class 与 style,再与已有的 class、style 合并。
63
+ * 去掉 children:它是内容不是元素属性(组件的 ...rest 里带着它,转交给子组件时要用)。
64
+ */
65
+ export declare function elementProps<P extends object>(props: P): Omit<P, 'sx' | 'children'>;
66
+ /**
67
+ * 默认的 aria-labelledby(Field 的标签、弹层的触发器):使用方写的 aria-labelledby 优先;使用方写了 aria-label 时
68
+ * 不加默认的(aria-labelledby 会盖过 aria-label,使用方写的名称就白写了)
69
+ */
70
+ export declare function defaultLabelledBy(attrs: {
71
+ 'aria-label'?: string;
72
+ 'aria-labelledby'?: string;
73
+ }, fallback: string | undefined): string | undefined;
74
+ /**
75
+ * 内容(插槽、标题、说明、错误这类 VNodeChild)有没有东西:null、undefined、空字符串与布尔都算没有。
76
+ * 使用方常写 `error={cond && '…'}`、`aside={wide && <Panel />}`,条件不成立时是 false,不该渲染出空的外层
77
+ */
78
+ export declare function hasContent(node: VNodeChild): boolean;
79
+ /**
80
+ * 把 css.attrs 的结果写到命令式创建的元素上(波纹、量取主题的探针):class 与行内样式,
81
+ * 自定义属性(动态样式的变量)名字原样、用 setProperty
82
+ */
83
+ export declare function applyStyleAttrs(element: HTMLElement, { class: className, style }: StyleAttrs): void;
84
+ export {};
@@ -0,0 +1,189 @@
1
+ import "../config/theme/tokens.js";
2
+ import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
3
+ //#region src/utils/props.ts
4
+ /**
5
+ * 部件 props 的类型与合并规则(COMPONENTS.md §2)。
6
+ *
7
+ * 组件给部件的属性分两层:可被使用方覆盖的默认属性(defaults),以及组件状态决定、
8
+ * 不允许覆盖的受管属性(managed,如 role、aria-expanded)。合并规则:
9
+ * - sx:默认在前、使用方其次、受管最后,后者覆盖前者
10
+ * - class、style:依次排列成数组,交给 Vue 统一处理(它们也可能是数组或对象)
11
+ * - 事件 onXxx:使用方先执行,调用了 event.preventDefault() 就跳过组件自己的处理
12
+ * - ref:各方都拿到元素
13
+ * - 其他属性:受管 > 使用方 > 默认
14
+ */
15
+ /**
16
+ * data-* 属性写进对象字面量(部件属性、mergeAttrs 的各层):元素的属性类型不收 data-* 键,
17
+ * 用它包一层再展开。JSX 上直接写 data-* 不需要它。
18
+ *
19
+ * mergeAttrs<'td'>(defaults, user, { role: 'gridcell', ...dataAttrs({ 'data-in-range': inRange || undefined }) })
20
+ */
21
+ var dataAttrs = (attrs) => attrs;
22
+ /**
23
+ * 合并部件的三层属性:组件默认、使用方传入、组件受管,规则见文件开头。
24
+ * 用类型参数写明属性落到哪里,三层的对象字面量才有补全、悬停说明与类型检查:
25
+ * mergeProps<IconProps>({ sx: … }, propsIcon);原生元素用 mergeAttrs<'svg'>(默认, rest, 受管)
26
+ *
27
+ * 渲染里每个部件每次都要合并,按最常见的情况走捷径:只有默认层时原样返回;
28
+ * 只有两层以上都给了同名事件时才包一层回调。
29
+ */
30
+ function mergeProps(defaults, user, managed) {
31
+ const base = defaults;
32
+ const own = hasKeys(user) ? user : void 0;
33
+ const fixed = hasKeys(managed) ? managed : void 0;
34
+ if (!own && !fixed) return defaults;
35
+ const merged = {
36
+ ...base,
37
+ ...own,
38
+ ...fixed
39
+ };
40
+ for (const key of LISTED_KEYS) {
41
+ const values = present3(base[key], own?.[key], fixed?.[key]);
42
+ if (values) merged[key] = values;
43
+ }
44
+ const refs = present3(base.ref, own?.ref, fixed?.ref);
45
+ if (refs && refs.length > 1) merged.ref = (element) => refs.forEach((ref) => setRef(ref, element));
46
+ if (own) for (const key in own) {
47
+ if (!isHandlerKey(key)) continue;
48
+ if (base[key] == null && fixed?.[key] == null) {
49
+ merged[key] = own[key];
50
+ continue;
51
+ }
52
+ merged[key] = mergeHandlers(own[key], [base[key], fixed?.[key]]) ?? fixed?.[key] ?? base[key];
53
+ }
54
+ if (fixed) for (const key in fixed) {
55
+ if (!isHandlerKey(key) || base[key] == null || own && key in own) continue;
56
+ const handler = mergeHandlers(void 0, [base[key], fixed[key]]);
57
+ if (handler) merged[key] = handler;
58
+ }
59
+ return merged;
60
+ }
61
+ /**
62
+ * 子组件部件的合并:mergeProps 的规则,但默认层要写齐子组件的必填 props(如 Icon 的 icon),
63
+ * 返回完整的 props 类型,展开到子组件上不必再断言:
64
+ * <Icon {...mergePartProps<IconProps>({ icon: X, sx: styles.icon }, propsIcon)} />
65
+ */
66
+ function mergePartProps(defaults, user, managed) {
67
+ return mergeProps(defaults, user, managed);
68
+ }
69
+ /**
70
+ * 原生元素部件的合并:mergeProps 的规则,再把 sx 换成 class 与 style(elementProps),结果直接展开到元素上:
71
+ * <svg {...mergeAttrs<'svg'>({ sx: styles.icon }, rest, { 'aria-hidden': true })} />
72
+ */
73
+ function mergeAttrs(defaults, user, managed) {
74
+ return elementProps(mergeProps(defaults, user, managed));
75
+ }
76
+ /**
77
+ * 原生元素部件:把 sx 换成样式引擎生成的 class 与 style,再与已有的 class、style 合并。
78
+ * 去掉 children:它是内容不是元素属性(组件的 ...rest 里带着它,转交给子组件时要用)。
79
+ */
80
+ function elementProps(props) {
81
+ const { sx, children: _children, ...rest } = props;
82
+ if (sx == null) return rest;
83
+ const compiled = compileSx(sx);
84
+ const element = rest;
85
+ if (compiled.ref && element.ref != null) {
86
+ const own = element.ref;
87
+ const bound = compiled.ref;
88
+ element.ref = (target) => {
89
+ setRef(own, target);
90
+ bound(target);
91
+ };
92
+ } else if (compiled.ref) element.ref = compiled.ref;
93
+ if (rest.class == null && rest.style == null) {
94
+ if (compiled.class != null) element.class = compiled.class;
95
+ if (compiled.style != null) element.style = compiled.style;
96
+ return rest;
97
+ }
98
+ element.class = present3(rest.class, compiled.class) ?? [];
99
+ element.style = present3(compiled.style, rest.style) ?? [];
100
+ return rest;
101
+ }
102
+ /**
103
+ * 编译好的样式是不变的常量:单个样式(不是数组)按对象缓存 css.attrs 的结果,
104
+ * 根元素、图标这类每次渲染都是同一个样式的部件不必重复合并
105
+ */
106
+ var compiledCache = /* @__PURE__ */ new WeakMap();
107
+ function compileSx(sx) {
108
+ if (Array.isArray(sx) || typeof sx !== "object" || sx === null) return css.attrs(sx);
109
+ let compiled = compiledCache.get(sx);
110
+ if (!compiled) compiledCache.set(sx, compiled = css.attrs(sx));
111
+ return compiled;
112
+ }
113
+ /** onClick、onUpdate:_value:on 后面跟大写字母 */
114
+ function isHandlerKey(key) {
115
+ const third = key.charCodeAt(2);
116
+ return key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && third >= 65 && third <= 90;
117
+ }
118
+ function hasKeys(layer) {
119
+ if (!layer) return false;
120
+ for (const _ in layer) return true;
121
+ return false;
122
+ }
123
+ /**
124
+ * 使用方的回调先执行,它调用了 event.preventDefault() 就跳过组件自己的回调。
125
+ * 只有一方提供回调时返回 undefined,保留展开合并的结果即可。
126
+ */
127
+ function mergeHandlers(user, internal) {
128
+ const own = present(internal);
129
+ if (own.length + (user ? 1 : 0) < 2) return void 0;
130
+ return (...args) => {
131
+ user?.(...args);
132
+ const event = args[0];
133
+ if (event instanceof Event && event.defaultPrevented) return;
134
+ own.forEach((handler) => handler(...args));
135
+ };
136
+ }
137
+ function setRef(ref, element) {
138
+ if (typeof ref === "function") ref(element);
139
+ else ref.value = element;
140
+ }
141
+ var present = (values) => values.filter((value) => value != null);
142
+ /** 按层排列、要合并成数组的属性 */
143
+ var LISTED_KEYS = [
144
+ "sx",
145
+ "class",
146
+ "style"
147
+ ];
148
+ /** 最多三个值里不为空的那些,按原顺序成数组;都为空时返回 undefined。渲染路径上用,不建中间数组 */
149
+ function present3(a, b, c) {
150
+ if (a == null) {
151
+ if (b == null) return c == null ? void 0 : [c];
152
+ return c == null ? [b] : [b, c];
153
+ }
154
+ if (b == null) return c == null ? [a] : [a, c];
155
+ return c == null ? [a, b] : [
156
+ a,
157
+ b,
158
+ c
159
+ ];
160
+ }
161
+ /**
162
+ * 默认的 aria-labelledby(Field 的标签、弹层的触发器):使用方写的 aria-labelledby 优先;使用方写了 aria-label 时
163
+ * 不加默认的(aria-labelledby 会盖过 aria-label,使用方写的名称就白写了)
164
+ */
165
+ function defaultLabelledBy(attrs, fallback) {
166
+ return attrs["aria-labelledby"] ?? (attrs["aria-label"] == null ? fallback : void 0);
167
+ }
168
+ /**
169
+ * 内容(插槽、标题、说明、错误这类 VNodeChild)有没有东西:null、undefined、空字符串与布尔都算没有。
170
+ * 使用方常写 `error={cond && '…'}`、`aside={wide && <Panel />}`,条件不成立时是 false,不该渲染出空的外层
171
+ */
172
+ function hasContent(node) {
173
+ return node != null && typeof node !== "boolean" && node !== "";
174
+ }
175
+ /**
176
+ * 把 css.attrs 的结果写到命令式创建的元素上(波纹、量取主题的探针):class 与行内样式,
177
+ * 自定义属性(动态样式的变量)名字原样、用 setProperty
178
+ */
179
+ function applyStyleAttrs(element, { class: className, style }) {
180
+ element.className = className ?? "";
181
+ for (const [name, value] of Object.entries(style ?? {})) {
182
+ const property = name.startsWith("--") ? name : name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
183
+ element.style.setProperty(property, String(value));
184
+ }
185
+ }
186
+ //#endregion
187
+ export { applyStyleAttrs, dataAttrs, defaultLabelledBy, elementProps, hasContent, mergeAttrs, mergePartProps, mergeProps };
188
+
189
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","names":[],"sources":["../../src/utils/props.ts"],"sourcesContent":["/**\n * 部件 props 的类型与合并规则(COMPONENTS.md §2)。\n *\n * 组件给部件的属性分两层:可被使用方覆盖的默认属性(defaults),以及组件状态决定、\n * 不允许覆盖的受管属性(managed,如 role、aria-expanded)。合并规则:\n * - sx:默认在前、使用方其次、受管最后,后者覆盖前者\n * - class、style:依次排列成数组,交给 Vue 统一处理(它们也可能是数组或对象)\n * - 事件 onXxx:使用方先执行,调用了 event.preventDefault() 就跳过组件自己的处理\n * - ref:各方都拿到元素\n * - 其他属性:受管 > 使用方 > 默认\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport type { IntrinsicProps, JSX } from '@zerodep-dev/vue-tsx-pro-tsx/jsx-runtime';\n// 登记主题 tokens(样式里的 '_md' 靠它):每个组件都经过这里合并属性,渲染之前一定登记过\nimport '../config/theme/tokens';\nimport type { StyleAttrs, SxStyles } from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport type { Ref, VNodeChild } from 'vue';\n\n/**\n * 原生元素部件的 props:该元素的属性加上 sx;去掉组件管理的属性与 children(内容走组件自己的 prop)。\n * 形如 `propsInput?: PartProps<'input', 'value' | 'aria-invalid'>`。\n */\nexport type PartProps<\n Tag extends keyof JSX.IntrinsicElements,\n Managed extends string = never,\n> = Omit<IntrinsicProps<Tag>, Managed | 'children'> & { sx?: SxStyles };\n\n/**\n * 展开收起类组件(Collapsible、Popover)交给触发器的属性:展开到任意可聚焦元素上,\n * 形如 `trigger={(props) => <Button {...props}>更多</Button>}`。弹层另外加上 id、ref、aria-haspopup。\n */\nexport interface TriggerProps {\n /** 切换展开与收起 */\n onClick: (event: MouseEvent) => void;\n /** 当前是否展开,读屏据此播报“已展开 / 已折叠” */\n 'aria-expanded': boolean;\n /** 被控制的内容区的 id */\n 'aria-controls': string;\n /** 不可用:组件设了 disabled 时为 true,展开到按钮上就是原生的 disabled */\n disabled?: boolean;\n}\n\n/**\n * data-* 属性写进对象字面量(部件属性、mergeAttrs 的各层):元素的属性类型不收 data-* 键,\n * 用它包一层再展开。JSX 上直接写 data-* 不需要它。\n *\n * mergeAttrs<'td'>(defaults, user, { role: 'gridcell', ...dataAttrs({ 'data-in-range': inRange || undefined }) })\n */\nexport const dataAttrs = (attrs: Record<`data-${string}`, string | number | boolean | undefined>) =>\n attrs;\n\ntype Props = Record<string, unknown>;\ntype Handler = (...args: unknown[]) => unknown;\ntype RefSetter = ((element: unknown) => void) | Ref<unknown>;\n\n/**\n * 一层属性:Target 是标签名('svg')时为该元素的属性加 sx,是 props 类型(IconProps)时就是它。\n * 标签名的联合('h1' | 'h2',一个工厂生成的几个组件共用实现时)取这些标签共有的属性,所以这里不按联合分配\n */\ntype PropsLayer<Target> = Partial<\n [Target] extends [keyof JSX.IntrinsicElements] ? PartProps<Target> : Target\n>;\n\n/**\n * 合并部件的三层属性:组件默认、使用方传入、组件受管,规则见文件开头。\n * 用类型参数写明属性落到哪里,三层的对象字面量才有补全、悬停说明与类型检查:\n * mergeProps<IconProps>({ sx: … }, propsIcon);原生元素用 mergeAttrs<'svg'>(默认, rest, 受管)\n *\n * 渲染里每个部件每次都要合并,按最常见的情况走捷径:只有默认层时原样返回;\n * 只有两层以上都给了同名事件时才包一层回调。\n */\nexport function mergeProps<Target = Props>(\n defaults: PropsLayer<Target>,\n user?: PropsLayer<Target>,\n managed?: PropsLayer<Target>,\n): PropsLayer<Target> {\n const base = defaults as Props;\n const own = hasKeys(user) ? (user as Props) : undefined;\n const fixed = hasKeys(managed) ? (managed as Props) : undefined;\n if (!own && !fixed) return defaults;\n const merged: Props = { ...base, ...own, ...fixed };\n\n for (const key of LISTED_KEYS) {\n const values = present3(base[key], own?.[key], fixed?.[key]);\n if (values) merged[key] = values;\n }\n\n const refs = present3(base.ref, own?.ref, fixed?.ref) as RefSetter[] | undefined;\n if (refs && refs.length > 1) {\n merged.ref = (element: unknown) => refs.forEach((ref) => setRef(ref, element));\n }\n\n // 同名事件:使用方的与组件的(默认层、受管层)合并;只有组件两层都有时也要合并\n if (own) {\n for (const key in own) {\n if (!isHandlerKey(key)) continue;\n if (base[key] == null && fixed?.[key] == null) {\n // 受管层写了 onXxx: undefined(这时没有自己的处理)也不盖掉使用方的事件\n merged[key] = own[key];\n continue;\n }\n // 使用方传了 undefined(onClick={cond ? fn : undefined})时也保留组件自己的\n merged[key] =\n mergeHandlers(own[key] as Handler | undefined, [base[key], fixed?.[key]]) ??\n fixed?.[key] ??\n base[key];\n }\n }\n if (fixed) {\n for (const key in fixed) {\n if (!isHandlerKey(key) || base[key] == null || (own && key in own)) continue;\n const handler = mergeHandlers(undefined, [base[key], fixed[key]]);\n if (handler) merged[key] = handler;\n }\n }\n return merged as PropsLayer<Target>;\n}\n\n/**\n * 子组件部件的合并:mergeProps 的规则,但默认层要写齐子组件的必填 props(如 Icon 的 icon),\n * 返回完整的 props 类型,展开到子组件上不必再断言:\n * <Icon {...mergePartProps<IconProps>({ icon: X, sx: styles.icon }, propsIcon)} />\n */\nexport function mergePartProps<P extends object>(\n defaults: P,\n user?: Partial<P>,\n managed?: Partial<P>,\n): P {\n // P 是组件 props 类型,不是标签名:按对象合并,结果的类型就是 P\n return mergeProps(\n defaults as Props,\n user as Props | undefined,\n managed as Props | undefined,\n ) as P;\n}\n\n/**\n * 原生元素部件的合并:mergeProps 的规则,再把 sx 换成 class 与 style(elementProps),结果直接展开到元素上:\n * <svg {...mergeAttrs<'svg'>({ sx: styles.icon }, rest, { 'aria-hidden': true })} />\n */\nexport function mergeAttrs<Tag extends keyof JSX.IntrinsicElements>(\n defaults: PropsLayer<Tag>,\n user?: PropsLayer<Tag>,\n managed?: PropsLayer<Tag>,\n): Omit<PropsLayer<Tag>, 'sx' | 'children'> {\n return elementProps(mergeProps<Tag>(defaults, user, managed));\n}\n\n/**\n * 原生元素部件:把 sx 换成样式引擎生成的 class 与 style,再与已有的 class、style 合并。\n * 去掉 children:它是内容不是元素属性(组件的 ...rest 里带着它,转交给子组件时要用)。\n */\nexport function elementProps<P extends object>(props: P): Omit<P, 'sx' | 'children'> {\n // 解构出的 rest 是新对象:之后直接往上写,不再复制一次(每个元素每次渲染都要走这里)\n const { sx, children: _children, ...rest } = props as P & Props;\n if (sx == null) return rest as Omit<P, 'sx' | 'children'>;\n const compiled = compileSx(sx as SxStyles);\n const element = rest as Props;\n // 响应式绑定的 ref(元素挂上后改变量)与使用方的 ref 都要拿到元素\n if (compiled.ref && element.ref != null) {\n const own = element.ref as RefSetter;\n const bound = compiled.ref;\n element.ref = (target: unknown) => {\n setRef(own, target);\n bound(target);\n };\n } else if (compiled.ref) element.ref = compiled.ref;\n if (rest.class == null && rest.style == null) {\n if (compiled.class != null) element.class = compiled.class;\n if (compiled.style != null) element.style = compiled.style;\n return rest as Omit<P, 'sx' | 'children'>;\n }\n element.class = present3(rest.class, compiled.class) ?? [];\n element.style = present3(compiled.style, rest.style) ?? [];\n return rest as Omit<P, 'sx' | 'children'>;\n}\n\n/**\n * 编译好的样式是不变的常量:单个样式(不是数组)按对象缓存 css.attrs 的结果,\n * 根元素、图标这类每次渲染都是同一个样式的部件不必重复合并\n */\nconst compiledCache = new WeakMap<object, ReturnType<typeof css.attrs>>();\nfunction compileSx(sx: SxStyles) {\n if (Array.isArray(sx) || typeof sx !== 'object' || sx === null) return css.attrs(sx);\n let compiled = compiledCache.get(sx);\n if (!compiled) compiledCache.set(sx, (compiled = css.attrs(sx)));\n return compiled;\n}\n\n/** onClick、onUpdate:_value:on 后面跟大写字母 */\nfunction isHandlerKey(key: string) {\n const third = key.charCodeAt(2);\n return key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && third >= 65 && third <= 90;\n}\n\nfunction hasKeys(layer: object | undefined): boolean {\n if (!layer) return false;\n for (const _ in layer) return true;\n return false;\n}\n\n/**\n * 使用方的回调先执行,它调用了 event.preventDefault() 就跳过组件自己的回调。\n * 只有一方提供回调时返回 undefined,保留展开合并的结果即可。\n */\nfunction mergeHandlers(user: Handler | undefined, internal: unknown[]): Handler | undefined {\n const own = present(internal) as Handler[];\n if (own.length + (user ? 1 : 0) < 2) return undefined;\n return (...args) => {\n user?.(...args);\n const event = args[0];\n if (event instanceof Event && event.defaultPrevented) return;\n own.forEach((handler) => handler(...args));\n };\n}\n\nfunction setRef(ref: RefSetter, element: unknown) {\n if (typeof ref === 'function') ref(element);\n else ref.value = element;\n}\n\nconst present = <T>(values: readonly (T | null | undefined)[]) =>\n values.filter((value): value is T => value != null);\n\n/** 按层排列、要合并成数组的属性 */\nconst LISTED_KEYS = ['sx', 'class', 'style'] as const;\n\n/** 最多三个值里不为空的那些,按原顺序成数组;都为空时返回 undefined。渲染路径上用,不建中间数组 */\nfunction present3(a: unknown, b: unknown, c?: unknown): unknown[] | undefined {\n if (a == null) {\n if (b == null) return c == null ? undefined : [c];\n return c == null ? [b] : [b, c];\n }\n if (b == null) return c == null ? [a] : [a, c];\n return c == null ? [a, b] : [a, b, c];\n}\n\n/**\n * 默认的 aria-labelledby(Field 的标签、弹层的触发器):使用方写的 aria-labelledby 优先;使用方写了 aria-label 时\n * 不加默认的(aria-labelledby 会盖过 aria-label,使用方写的名称就白写了)\n */\nexport function defaultLabelledBy(\n attrs: { 'aria-label'?: string; 'aria-labelledby'?: string },\n fallback: string | undefined,\n): string | undefined {\n return attrs['aria-labelledby'] ?? (attrs['aria-label'] == null ? fallback : undefined);\n}\n\n/**\n * 内容(插槽、标题、说明、错误这类 VNodeChild)有没有东西:null、undefined、空字符串与布尔都算没有。\n * 使用方常写 `error={cond && '…'}`、`aside={wide && <Panel />}`,条件不成立时是 false,不该渲染出空的外层\n */\nexport function hasContent(node: VNodeChild): boolean {\n return node != null && typeof node !== 'boolean' && node !== '';\n}\n\n/**\n * 把 css.attrs 的结果写到命令式创建的元素上(波纹、量取主题的探针):class 与行内样式,\n * 自定义属性(动态样式的变量)名字原样、用 setProperty\n */\nexport function applyStyleAttrs(element: HTMLElement, { class: className, style }: StyleAttrs) {\n element.className = className ?? '';\n for (const [name, value] of Object.entries(style ?? {})) {\n const property = name.startsWith('--')\n ? name\n : name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);\n element.style.setProperty(property, String(value));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgDA,IAAa,aAAa,UACxB;;;;;;;;;AAsBF,SAAgB,WACd,UACA,MACA,SACoB;CACpB,MAAM,OAAO;CACb,MAAM,MAAM,QAAQ,IAAI,IAAK,OAAiB,KAAA;CAC9C,MAAM,QAAQ,QAAQ,OAAO,IAAK,UAAoB,KAAA;CACtD,IAAI,CAAC,OAAO,CAAC,OAAO,OAAO;CAC3B,MAAM,SAAgB;EAAE,GAAG;EAAM,GAAG;EAAK,GAAG;CAAM;CAElD,KAAK,MAAM,OAAO,aAAa;EAC7B,MAAM,SAAS,SAAS,KAAK,MAAM,MAAM,MAAM,QAAQ,IAAI;EAC3D,IAAI,QAAQ,OAAO,OAAO;CAC5B;CAEA,MAAM,OAAO,SAAS,KAAK,KAAK,KAAK,KAAK,OAAO,GAAG;CACpD,IAAI,QAAQ,KAAK,SAAS,GACxB,OAAO,OAAO,YAAqB,KAAK,SAAS,QAAQ,OAAO,KAAK,OAAO,CAAC;CAI/E,IAAI,KACF,KAAK,MAAM,OAAO,KAAK;EACrB,IAAI,CAAC,aAAa,GAAG,GAAG;EACxB,IAAI,KAAK,QAAQ,QAAQ,QAAQ,QAAQ,MAAM;GAE7C,OAAO,OAAO,IAAI;GAClB;EACF;EAEA,OAAO,OACL,cAAc,IAAI,MAA6B,CAAC,KAAK,MAAM,QAAQ,IAAI,CAAC,KACxE,QAAQ,QACR,KAAK;CACT;CAEF,IAAI,OACF,KAAK,MAAM,OAAO,OAAO;EACvB,IAAI,CAAC,aAAa,GAAG,KAAK,KAAK,QAAQ,QAAS,OAAO,OAAO,KAAM;EACpE,MAAM,UAAU,cAAc,KAAA,GAAW,CAAC,KAAK,MAAM,MAAM,IAAI,CAAC;EAChE,IAAI,SAAS,OAAO,OAAO;CAC7B;CAEF,OAAO;AACT;;;;;;AAOA,SAAgB,eACd,UACA,MACA,SACG;CAEH,OAAO,WACL,UACA,MACA,OACF;AACF;;;;;AAMA,SAAgB,WACd,UACA,MACA,SAC0C;CAC1C,OAAO,aAAa,WAAgB,UAAU,MAAM,OAAO,CAAC;AAC9D;;;;;AAMA,SAAgB,aAA+B,OAAsC;CAEnF,MAAM,EAAE,IAAI,UAAU,WAAW,GAAG,SAAS;CAC7C,IAAI,MAAM,MAAM,OAAO;CACvB,MAAM,WAAW,UAAU,EAAc;CACzC,MAAM,UAAU;CAEhB,IAAI,SAAS,OAAO,QAAQ,OAAO,MAAM;EACvC,MAAM,MAAM,QAAQ;EACpB,MAAM,QAAQ,SAAS;EACvB,QAAQ,OAAO,WAAoB;GACjC,OAAO,KAAK,MAAM;GAClB,MAAM,MAAM;EACd;CACF,OAAO,IAAI,SAAS,KAAK,QAAQ,MAAM,SAAS;CAChD,IAAI,KAAK,SAAS,QAAQ,KAAK,SAAS,MAAM;EAC5C,IAAI,SAAS,SAAS,MAAM,QAAQ,QAAQ,SAAS;EACrD,IAAI,SAAS,SAAS,MAAM,QAAQ,QAAQ,SAAS;EACrD,OAAO;CACT;CACA,QAAQ,QAAQ,SAAS,KAAK,OAAO,SAAS,KAAK,KAAK,CAAC;CACzD,QAAQ,QAAQ,SAAS,SAAS,OAAO,KAAK,KAAK,KAAK,CAAC;CACzD,OAAO;AACT;;;;;AAMA,IAAM,gCAAgB,IAAI,QAA8C;AACxE,SAAS,UAAU,IAAc;CAC/B,IAAI,MAAM,QAAQ,EAAE,KAAK,OAAO,OAAO,YAAY,OAAO,MAAM,OAAO,IAAI,MAAM,EAAE;CACnF,IAAI,WAAW,cAAc,IAAI,EAAE;CACnC,IAAI,CAAC,UAAU,cAAc,IAAI,IAAK,WAAW,IAAI,MAAM,EAAE,CAAE;CAC/D,OAAO;AACT;;AAGA,SAAS,aAAa,KAAa;CACjC,MAAM,QAAQ,IAAI,WAAW,CAAC;CAC9B,OAAO,IAAI,WAAW,CAAC,MAAM,OAAO,IAAI,WAAW,CAAC,MAAM,OAAO,SAAS,MAAM,SAAS;AAC3F;AAEA,SAAS,QAAQ,OAAoC;CACnD,IAAI,CAAC,OAAO,OAAO;CACnB,KAAK,MAAM,KAAK,OAAO,OAAO;CAC9B,OAAO;AACT;;;;;AAMA,SAAS,cAAc,MAA2B,UAA0C;CAC1F,MAAM,MAAM,QAAQ,QAAQ;CAC5B,IAAI,IAAI,UAAU,OAAO,IAAI,KAAK,GAAG,OAAO,KAAA;CAC5C,QAAQ,GAAG,SAAS;EAClB,OAAO,GAAG,IAAI;EACd,MAAM,QAAQ,KAAK;EACnB,IAAI,iBAAiB,SAAS,MAAM,kBAAkB;EACtD,IAAI,SAAS,YAAY,QAAQ,GAAG,IAAI,CAAC;CAC3C;AACF;AAEA,SAAS,OAAO,KAAgB,SAAkB;CAChD,IAAI,OAAO,QAAQ,YAAY,IAAI,OAAO;MACrC,IAAI,QAAQ;AACnB;AAEA,IAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,SAAS,IAAI;;AAGpD,IAAM,cAAc;CAAC;CAAM;CAAS;AAAO;;AAG3C,SAAS,SAAS,GAAY,GAAY,GAAoC;CAC5E,IAAI,KAAK,MAAM;EACb,IAAI,KAAK,MAAM,OAAO,KAAK,OAAO,KAAA,IAAY,CAAC,CAAC;EAChD,OAAO,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;CAChC;CACA,IAAI,KAAK,MAAM,OAAO,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;CAC7C,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI;EAAC;EAAG;EAAG;CAAC;AACtC;;;;;AAMA,SAAgB,kBACd,OACA,UACoB;CACpB,OAAO,MAAM,uBAAuB,MAAM,iBAAiB,OAAO,WAAW,KAAA;AAC/E;;;;;AAMA,SAAgB,WAAW,MAA2B;CACpD,OAAO,QAAQ,QAAQ,OAAO,SAAS,aAAa,SAAS;AAC/D;;;;;AAMA,SAAgB,gBAAgB,SAAsB,EAAE,OAAO,WAAW,SAAqB;CAC7F,QAAQ,YAAY,aAAa;CACjC,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,SAAS,CAAC,CAAC,GAAG;EACvD,MAAM,WAAW,KAAK,WAAW,IAAI,IACjC,OACA,KAAK,QAAQ,WAAW,MAAM,IAAI,EAAE,YAAY,GAAG;EACvD,QAAQ,MAAM,YAAY,UAAU,OAAO,KAAK,CAAC;CACnD;AACF"}
@@ -0,0 +1,17 @@
1
+ import type { Lang } from '../../config/lang/lang';
2
+ /** 错误上的业务错误码;认不出时为 undefined */
3
+ export declare function errorCodeOf(error: unknown): string | undefined;
4
+ /**
5
+ * 给人看的错误文案:码在 lang.errorCodes 里有文案时用它(params 填进去);没有时用错误自己的 message(后端给的兜底、
6
+ * 应用的上传函数抛的说明),再没有用 lang.requestFailed
7
+ */
8
+ export declare function errorMessage(error: unknown, lang: Lang): string;
9
+ /**
10
+ * 只按码取的文案;错误没有码、码没有文案时为 undefined。组件有自己的笼统提示时用它
11
+ * (远程选项:`errorCodeText(error, lang) ?? lang.listLoadFailed`),不把底层的英文说明露给用户
12
+ */
13
+ export declare function errorCodeText(error: unknown, lang: Lang): string | undefined;
14
+ /** 一个码的文案(也用于 errors 明细里按字段的码);语言包里没有时为 undefined */
15
+ export declare function codeText(code: string, params: Readonly<Record<string, unknown>> | undefined, lang: Lang): string | undefined;
16
+ /** 当前语言下的 errorMessage(在 setup 里调用);返回的函数随 Provider 切换语言 */
17
+ export declare function useErrorMessage(): (error: unknown) => string;