@zerodep-dev/vue-tsx-pro-ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/dist/base/Badge.d.ts +28 -0
  4. package/dist/base/Badge.js +72 -0
  5. package/dist/base/Badge.js.map +1 -0
  6. package/dist/base/Blockquote.d.ts +13 -0
  7. package/dist/base/Blockquote.js +26 -0
  8. package/dist/base/Blockquote.js.map +1 -0
  9. package/dist/base/Button.d.ts +18 -0
  10. package/dist/base/Button.js +86 -0
  11. package/dist/base/Button.js.map +1 -0
  12. package/dist/base/ButtonBase.d.ts +21 -0
  13. package/dist/base/ButtonBase.js +51 -0
  14. package/dist/base/ButtonBase.js.map +1 -0
  15. package/dist/base/ButtonGroup.d.ts +24 -0
  16. package/dist/base/ButtonGroup.js +52 -0
  17. package/dist/base/ButtonGroup.js.map +1 -0
  18. package/dist/base/CloseButton.d.ts +15 -0
  19. package/dist/base/CloseButton.js +38 -0
  20. package/dist/base/CloseButton.js.map +1 -0
  21. package/dist/base/Code.d.ts +13 -0
  22. package/dist/base/Code.js +27 -0
  23. package/dist/base/Code.js.map +1 -0
  24. package/dist/base/CodeBlock.d.ts +89 -0
  25. package/dist/base/CodeBlock.js +265 -0
  26. package/dist/base/CodeBlock.js.map +1 -0
  27. package/dist/base/CopyButton.d.ts +40 -0
  28. package/dist/base/CopyButton.js +113 -0
  29. package/dist/base/CopyButton.js.map +1 -0
  30. package/dist/base/Heading.d.ts +49 -0
  31. package/dist/base/Heading.js +122 -0
  32. package/dist/base/Heading.js.map +1 -0
  33. package/dist/base/Icon.d.ts +48 -0
  34. package/dist/base/Icon.js +110 -0
  35. package/dist/base/Icon.js.map +1 -0
  36. package/dist/base/IconButton.d.ts +34 -0
  37. package/dist/base/IconButton.js +81 -0
  38. package/dist/base/IconButton.js.map +1 -0
  39. package/dist/base/IconLinkButton.d.ts +34 -0
  40. package/dist/base/IconLinkButton.js +81 -0
  41. package/dist/base/IconLinkButton.js.map +1 -0
  42. package/dist/base/Indicator.d.ts +126 -0
  43. package/dist/base/Indicator.js +158 -0
  44. package/dist/base/Indicator.js.map +1 -0
  45. package/dist/base/Kbd.d.ts +13 -0
  46. package/dist/base/Kbd.js +34 -0
  47. package/dist/base/Kbd.js.map +1 -0
  48. package/dist/base/Link.d.ts +61 -0
  49. package/dist/base/Link.js +114 -0
  50. package/dist/base/Link.js.map +1 -0
  51. package/dist/base/LinkButton.d.ts +18 -0
  52. package/dist/base/LinkButton.js +109 -0
  53. package/dist/base/LinkButton.js.map +1 -0
  54. package/dist/base/List.d.ts +61 -0
  55. package/dist/base/List.js +116 -0
  56. package/dist/base/List.js.map +1 -0
  57. package/dist/base/Mark.d.ts +13 -0
  58. package/dist/base/Mark.js +23 -0
  59. package/dist/base/Mark.js.map +1 -0
  60. package/dist/base/Spinner.d.ts +20 -0
  61. package/dist/base/Spinner.js +59 -0
  62. package/dist/base/Spinner.js.map +1 -0
  63. package/dist/base/StatusDot.d.ts +48 -0
  64. package/dist/base/StatusDot.js +62 -0
  65. package/dist/base/StatusDot.js.map +1 -0
  66. package/dist/base/Tag.d.ts +29 -0
  67. package/dist/base/Tag.js +92 -0
  68. package/dist/base/Tag.js.map +1 -0
  69. package/dist/base/Text.d.ts +57 -0
  70. package/dist/base/Text.js +74 -0
  71. package/dist/base/Text.js.map +1 -0
  72. package/dist/base/VisuallyHidden.d.ts +13 -0
  73. package/dist/base/VisuallyHidden.js +28 -0
  74. package/dist/base/VisuallyHidden.js.map +1 -0
  75. package/dist/base/badge-styles.d.ts +57 -0
  76. package/dist/base/badge-styles.js +329 -0
  77. package/dist/base/badge-styles.js.map +1 -0
  78. package/dist/base/button-core.d.ts +191 -0
  79. package/dist/base/button-core.js +660 -0
  80. package/dist/base/button-core.js.map +1 -0
  81. package/dist/charts/AreaChart.d.ts +18 -0
  82. package/dist/charts/AreaChart.js +90 -0
  83. package/dist/charts/AreaChart.js.map +1 -0
  84. package/dist/charts/BarChart.d.ts +19 -0
  85. package/dist/charts/BarChart.js +88 -0
  86. package/dist/charts/BarChart.js.map +1 -0
  87. package/dist/charts/ChordChart.d.ts +48 -0
  88. package/dist/charts/ChordChart.js +149 -0
  89. package/dist/charts/ChordChart.js.map +1 -0
  90. package/dist/charts/ComboChart.d.ts +30 -0
  91. package/dist/charts/ComboChart.js +157 -0
  92. package/dist/charts/ComboChart.js.map +1 -0
  93. package/dist/charts/DonutChart.d.ts +65 -0
  94. package/dist/charts/DonutChart.js +162 -0
  95. package/dist/charts/DonutChart.js.map +1 -0
  96. package/dist/charts/FunnelChart.d.ts +69 -0
  97. package/dist/charts/FunnelChart.js +181 -0
  98. package/dist/charts/FunnelChart.js.map +1 -0
  99. package/dist/charts/GraphChart.d.ts +135 -0
  100. package/dist/charts/GraphChart.js +274 -0
  101. package/dist/charts/GraphChart.js.map +1 -0
  102. package/dist/charts/LineChart.d.ts +50 -0
  103. package/dist/charts/LineChart.js +94 -0
  104. package/dist/charts/LineChart.js.map +1 -0
  105. package/dist/charts/MapChart.d.ts +167 -0
  106. package/dist/charts/MapChart.js +627 -0
  107. package/dist/charts/MapChart.js.map +1 -0
  108. package/dist/charts/RadarChart.d.ts +60 -0
  109. package/dist/charts/RadarChart.js +224 -0
  110. package/dist/charts/RadarChart.js.map +1 -0
  111. package/dist/charts/SankeyChart.d.ts +57 -0
  112. package/dist/charts/SankeyChart.js +150 -0
  113. package/dist/charts/SankeyChart.js.map +1 -0
  114. package/dist/charts/ScatterChart.d.ts +18 -0
  115. package/dist/charts/ScatterChart.js +82 -0
  116. package/dist/charts/ScatterChart.js.map +1 -0
  117. package/dist/charts/TimelineChart.d.ts +71 -0
  118. package/dist/charts/TimelineChart.js +267 -0
  119. package/dist/charts/TimelineChart.js.map +1 -0
  120. package/dist/charts/TreemapChart.d.ts +40 -0
  121. package/dist/charts/TreemapChart.js +155 -0
  122. package/dist/charts/TreemapChart.js.map +1 -0
  123. package/dist/charts/WaterfallChart.d.ts +61 -0
  124. package/dist/charts/WaterfallChart.js +167 -0
  125. package/dist/charts/WaterfallChart.js.map +1 -0
  126. package/dist/charts/XYChart.d.ts +206 -0
  127. package/dist/charts/XYChart.js +520 -0
  128. package/dist/charts/XYChart.js.map +1 -0
  129. package/dist/charts/axis-ticks.d.ts +23 -0
  130. package/dist/charts/axis-ticks.js +59 -0
  131. package/dist/charts/axis-ticks.js.map +1 -0
  132. package/dist/charts/export.d.ts +17 -0
  133. package/dist/charts/export.js +65 -0
  134. package/dist/charts/export.js.map +1 -0
  135. package/dist/charts/flow.d.ts +53 -0
  136. package/dist/charts/flow.js +29 -0
  137. package/dist/charts/flow.js.map +1 -0
  138. package/dist/charts/frame.d.ts +147 -0
  139. package/dist/charts/frame.js +358 -0
  140. package/dist/charts/frame.js.map +1 -0
  141. package/dist/charts/index.d.ts +30 -0
  142. package/dist/charts/index.js +24 -0
  143. package/dist/charts/label-layout.d.ts +59 -0
  144. package/dist/charts/label-layout.js +64 -0
  145. package/dist/charts/label-layout.js.map +1 -0
  146. package/dist/charts/series.d.ts +36 -0
  147. package/dist/charts/series.js +60 -0
  148. package/dist/charts/series.js.map +1 -0
  149. package/dist/charts/single.d.ts +41 -0
  150. package/dist/charts/single.js +65 -0
  151. package/dist/charts/single.js.map +1 -0
  152. package/dist/config/Provider.d.ts +52 -0
  153. package/dist/config/Provider.js +111 -0
  154. package/dist/config/Provider.js.map +1 -0
  155. package/dist/config/context.d.ts +90 -0
  156. package/dist/config/context.js +58 -0
  157. package/dist/config/context.js.map +1 -0
  158. package/dist/config/createUi.d.ts +52 -0
  159. package/dist/config/createUi.js +96 -0
  160. package/dist/config/createUi.js.map +1 -0
  161. package/dist/config/defaults.d.ts +71 -0
  162. package/dist/config/defaults.js +45 -0
  163. package/dist/config/defaults.js.map +1 -0
  164. package/dist/config/lang/en-US.d.ts +3 -0
  165. package/dist/config/lang/en-US.js +386 -0
  166. package/dist/config/lang/en-US.js.map +1 -0
  167. package/dist/config/lang/format.d.ts +50 -0
  168. package/dist/config/lang/format.js +113 -0
  169. package/dist/config/lang/format.js.map +1 -0
  170. package/dist/config/lang/lang.d.ts +653 -0
  171. package/dist/config/lang/lang.js +22 -0
  172. package/dist/config/lang/lang.js.map +1 -0
  173. package/dist/config/lang/messages.d.ts +12 -0
  174. package/dist/config/lang/messages.js +36 -0
  175. package/dist/config/lang/messages.js.map +1 -0
  176. package/dist/config/lang/zh-CN.d.ts +3 -0
  177. package/dist/config/lang/zh-CN.js +386 -0
  178. package/dist/config/lang/zh-CN.js.map +1 -0
  179. package/dist/config/pinyin.d.ts +3 -0
  180. package/dist/config/pinyin.js +26 -0
  181. package/dist/config/pinyin.js.map +1 -0
  182. package/dist/config/query-state.d.ts +61 -0
  183. package/dist/config/query-state.js +113 -0
  184. package/dist/config/query-state.js.map +1 -0
  185. package/dist/config/shiki.d.ts +13 -0
  186. package/dist/config/shiki.js +97 -0
  187. package/dist/config/shiki.js.map +1 -0
  188. package/dist/config/styles.d.ts +108 -0
  189. package/dist/config/styles.js +59 -0
  190. package/dist/config/styles.js.map +1 -0
  191. package/dist/config/theme/boot.d.ts +97 -0
  192. package/dist/config/theme/boot.js +90 -0
  193. package/dist/config/theme/boot.js.map +1 -0
  194. package/dist/config/theme/builtin.d.ts +21 -0
  195. package/dist/config/theme/builtin.js +58 -0
  196. package/dist/config/theme/builtin.js.map +1 -0
  197. package/dist/config/theme/coffee.d.ts +84 -0
  198. package/dist/config/theme/coffee.js +102 -0
  199. package/dist/config/theme/coffee.js.map +1 -0
  200. package/dist/config/theme/cyberpunk.d.ts +110 -0
  201. package/dist/config/theme/cyberpunk.js +125 -0
  202. package/dist/config/theme/cyberpunk.js.map +1 -0
  203. package/dist/config/theme/dark.d.ts +90 -0
  204. package/dist/config/theme/dark.js +106 -0
  205. package/dist/config/theme/dark.js.map +1 -0
  206. package/dist/config/theme/festive.d.ts +93 -0
  207. package/dist/config/theme/festive.js +110 -0
  208. package/dist/config/theme/festive.js.map +1 -0
  209. package/dist/config/theme/forest.d.ts +93 -0
  210. package/dist/config/theme/forest.js +109 -0
  211. package/dist/config/theme/forest.js.map +1 -0
  212. package/dist/config/theme/high-contrast.d.ts +103 -0
  213. package/dist/config/theme/high-contrast.js +119 -0
  214. package/dist/config/theme/high-contrast.js.map +1 -0
  215. package/dist/config/theme/lemon.d.ts +103 -0
  216. package/dist/config/theme/lemon.js +119 -0
  217. package/dist/config/theme/lemon.js.map +1 -0
  218. package/dist/config/theme/light.d.ts +107 -0
  219. package/dist/config/theme/light.js +122 -0
  220. package/dist/config/theme/light.js.map +1 -0
  221. package/dist/config/theme/midnight.d.ts +86 -0
  222. package/dist/config/theme/midnight.js +103 -0
  223. package/dist/config/theme/midnight.js.map +1 -0
  224. package/dist/config/theme/ocean.d.ts +103 -0
  225. package/dist/config/theme/ocean.js +119 -0
  226. package/dist/config/theme/ocean.js.map +1 -0
  227. package/dist/config/theme/paper.d.ts +101 -0
  228. package/dist/config/theme/paper.js +117 -0
  229. package/dist/config/theme/paper.js.map +1 -0
  230. package/dist/config/theme/preference.d.ts +34 -0
  231. package/dist/config/theme/preference.js +67 -0
  232. package/dist/config/theme/preference.js.map +1 -0
  233. package/dist/config/theme/sakura.d.ts +103 -0
  234. package/dist/config/theme/sakura.js +119 -0
  235. package/dist/config/theme/sakura.js.map +1 -0
  236. package/dist/config/theme/theme.d.ts +59 -0
  237. package/dist/config/theme/theme.js +68 -0
  238. package/dist/config/theme/theme.js.map +1 -0
  239. package/dist/config/theme/token-names.d.ts +1897 -0
  240. package/dist/config/theme/tokens.d.ts +833 -0
  241. package/dist/config/theme/tokens.js +480 -0
  242. package/dist/config/theme/tokens.js.map +1 -0
  243. package/dist/config/vue-router.d.ts +67 -0
  244. package/dist/config/vue-router.js +143 -0
  245. package/dist/config/vue-router.js.map +1 -0
  246. package/dist/date/Calendar.d.ts +36 -0
  247. package/dist/date/Calendar.js +83 -0
  248. package/dist/date/Calendar.js.map +1 -0
  249. package/dist/date/CalendarBoard.d.ts +79 -0
  250. package/dist/date/CalendarBoard.js +403 -0
  251. package/dist/date/CalendarBoard.js.map +1 -0
  252. package/dist/date/CalendarView.d.ts +86 -0
  253. package/dist/date/CalendarView.js +427 -0
  254. package/dist/date/CalendarView.js.map +1 -0
  255. package/dist/date/Countdown.d.ts +45 -0
  256. package/dist/date/Countdown.js +75 -0
  257. package/dist/date/Countdown.js.map +1 -0
  258. package/dist/date/DateField.d.ts +34 -0
  259. package/dist/date/DateField.js +124 -0
  260. package/dist/date/DateField.js.map +1 -0
  261. package/dist/date/DatePicker.d.ts +41 -0
  262. package/dist/date/DatePicker.js +272 -0
  263. package/dist/date/DatePicker.js.map +1 -0
  264. package/dist/date/DateRangePicker.d.ts +71 -0
  265. package/dist/date/DateRangePicker.js +411 -0
  266. package/dist/date/DateRangePicker.js.map +1 -0
  267. package/dist/date/DateSegmentGroup.d.ts +38 -0
  268. package/dist/date/DateSegmentGroup.js +176 -0
  269. package/dist/date/DateSegmentGroup.js.map +1 -0
  270. package/dist/date/DateTime.d.ts +21 -0
  271. package/dist/date/DateTime.js +39 -0
  272. package/dist/date/DateTime.js.map +1 -0
  273. package/dist/date/QuarterCalendar.d.ts +22 -0
  274. package/dist/date/QuarterCalendar.js +231 -0
  275. package/dist/date/QuarterCalendar.js.map +1 -0
  276. package/dist/date/RangeCalendar.d.ts +24 -0
  277. package/dist/date/RangeCalendar.js +89 -0
  278. package/dist/date/RangeCalendar.js.map +1 -0
  279. package/dist/date/RelativeTime.d.ts +16 -0
  280. package/dist/date/RelativeTime.js +61 -0
  281. package/dist/date/RelativeTime.js.map +1 -0
  282. package/dist/date/SegmentedField.d.ts +60 -0
  283. package/dist/date/SegmentedField.js +175 -0
  284. package/dist/date/SegmentedField.js.map +1 -0
  285. package/dist/date/TimeField.d.ts +36 -0
  286. package/dist/date/TimeField.js +56 -0
  287. package/dist/date/TimeField.js.map +1 -0
  288. package/dist/date/TimePicker.d.ts +25 -0
  289. package/dist/date/TimePicker.js +206 -0
  290. package/dist/date/TimePicker.js.map +1 -0
  291. package/dist/date/calendar-state.d.ts +119 -0
  292. package/dist/date/calendar-state.js +267 -0
  293. package/dist/date/calendar-state.js.map +1 -0
  294. package/dist/date/clock.d.ts +11 -0
  295. package/dist/date/clock.js +37 -0
  296. package/dist/date/clock.js.map +1 -0
  297. package/dist/date/date-locale.d.ts +67 -0
  298. package/dist/date/date-locale.js +89 -0
  299. package/dist/date/date-locale.js.map +1 -0
  300. package/dist/date/date-segments.d.ts +132 -0
  301. package/dist/date/date-segments.js +410 -0
  302. package/dist/date/date-segments.js.map +1 -0
  303. package/dist/date/picker-popover.d.ts +88 -0
  304. package/dist/date/picker-popover.js +126 -0
  305. package/dist/date/picker-popover.js.map +1 -0
  306. package/dist/diagram/Diagram.d.ts +223 -0
  307. package/dist/diagram/Diagram.js +1121 -0
  308. package/dist/diagram/Diagram.js.map +1 -0
  309. package/dist/diagram/DiagramControls.d.ts +35 -0
  310. package/dist/diagram/DiagramControls.js +114 -0
  311. package/dist/diagram/DiagramControls.js.map +1 -0
  312. package/dist/diagram/DiagramLanes.d.ts +49 -0
  313. package/dist/diagram/DiagramLanes.js +92 -0
  314. package/dist/diagram/DiagramLanes.js.map +1 -0
  315. package/dist/diagram/DiagramMinimap.d.ts +39 -0
  316. package/dist/diagram/DiagramMinimap.js +133 -0
  317. package/dist/diagram/DiagramMinimap.js.map +1 -0
  318. package/dist/diagram/DiagramNode.d.ts +65 -0
  319. package/dist/diagram/DiagramNode.js +142 -0
  320. package/dist/diagram/DiagramNode.js.map +1 -0
  321. package/dist/diagram/controller.d.ts +68 -0
  322. package/dist/diagram/controller.js +117 -0
  323. package/dist/diagram/controller.js.map +1 -0
  324. package/dist/diagram/export.d.ts +14 -0
  325. package/dist/diagram/export.js +115 -0
  326. package/dist/diagram/export.js.map +1 -0
  327. package/dist/diagram/geometry.d.ts +65 -0
  328. package/dist/diagram/geometry.js +219 -0
  329. package/dist/diagram/geometry.js.map +1 -0
  330. package/dist/diagram/index.d.ts +19 -0
  331. package/dist/diagram/index.js +11 -0
  332. package/dist/diagram/messages.d.ts +28 -0
  333. package/dist/diagram/messages.js +30 -0
  334. package/dist/diagram/messages.js.map +1 -0
  335. package/dist/diagram/route.d.ts +81 -0
  336. package/dist/diagram/route.js +327 -0
  337. package/dist/diagram/route.js.map +1 -0
  338. package/dist/display/Accordion.d.ts +71 -0
  339. package/dist/display/Accordion.js +219 -0
  340. package/dist/display/Accordion.js.map +1 -0
  341. package/dist/display/AnimatedNumber.d.ts +44 -0
  342. package/dist/display/AnimatedNumber.js +97 -0
  343. package/dist/display/AnimatedNumber.js.map +1 -0
  344. package/dist/display/Avatar.d.ts +74 -0
  345. package/dist/display/Avatar.js +158 -0
  346. package/dist/display/Avatar.js.map +1 -0
  347. package/dist/display/AvatarGroup.d.ts +29 -0
  348. package/dist/display/AvatarGroup.js +67 -0
  349. package/dist/display/AvatarGroup.js.map +1 -0
  350. package/dist/display/Card.d.ts +219 -0
  351. package/dist/display/Card.js +319 -0
  352. package/dist/display/Card.js.map +1 -0
  353. package/dist/display/Checklist.d.ts +93 -0
  354. package/dist/display/Checklist.js +260 -0
  355. package/dist/display/Checklist.js.map +1 -0
  356. package/dist/display/Collapse.d.ts +24 -0
  357. package/dist/display/Collapse.js +65 -0
  358. package/dist/display/Collapse.js.map +1 -0
  359. package/dist/display/Collapsible.d.ts +12 -0
  360. package/dist/display/Collapsible.js +41 -0
  361. package/dist/display/Collapsible.js.map +1 -0
  362. package/dist/display/Descriptions.d.ts +88 -0
  363. package/dist/display/Descriptions.js +185 -0
  364. package/dist/display/Descriptions.js.map +1 -0
  365. package/dist/display/Ellipsis.d.ts +29 -0
  366. package/dist/display/Ellipsis.js +111 -0
  367. package/dist/display/Ellipsis.js.map +1 -0
  368. package/dist/display/FieldCompare.d.ts +58 -0
  369. package/dist/display/FieldCompare.js +205 -0
  370. package/dist/display/FieldCompare.js.map +1 -0
  371. package/dist/display/Gauge.d.ts +60 -0
  372. package/dist/display/Gauge.js +215 -0
  373. package/dist/display/Gauge.js.map +1 -0
  374. package/dist/display/Image.d.ts +87 -0
  375. package/dist/display/Image.js +212 -0
  376. package/dist/display/Image.js.map +1 -0
  377. package/dist/display/ItemList.d.ts +69 -0
  378. package/dist/display/ItemList.js +147 -0
  379. package/dist/display/ItemList.js.map +1 -0
  380. package/dist/display/Marquee.d.ts +59 -0
  381. package/dist/display/Marquee.js +155 -0
  382. package/dist/display/Marquee.js.map +1 -0
  383. package/dist/display/ProportionBar.d.ts +55 -0
  384. package/dist/display/ProportionBar.js +99 -0
  385. package/dist/display/ProportionBar.js.map +1 -0
  386. package/dist/display/Sortable.d.ts +43 -0
  387. package/dist/display/Sortable.js +163 -0
  388. package/dist/display/Sortable.js.map +1 -0
  389. package/dist/display/Sparkline.d.ts +48 -0
  390. package/dist/display/Sparkline.js +130 -0
  391. package/dist/display/Sparkline.js.map +1 -0
  392. package/dist/display/Stat.d.ts +105 -0
  393. package/dist/display/Stat.js +268 -0
  394. package/dist/display/Stat.js.map +1 -0
  395. package/dist/display/Timeline.d.ts +106 -0
  396. package/dist/display/Timeline.js +257 -0
  397. package/dist/display/Timeline.js.map +1 -0
  398. package/dist/display/Tree.d.ts +132 -0
  399. package/dist/display/Tree.js +645 -0
  400. package/dist/display/Tree.js.map +1 -0
  401. package/dist/display/VirtualList.d.ts +80 -0
  402. package/dist/display/VirtualList.js +166 -0
  403. package/dist/display/VirtualList.js.map +1 -0
  404. package/dist/display/Watermark.d.ts +39 -0
  405. package/dist/display/Watermark.js +130 -0
  406. package/dist/display/Watermark.js.map +1 -0
  407. package/dist/docs-kit/CodeGroup.d.ts +29 -0
  408. package/dist/docs-kit/CodeGroup.js +81 -0
  409. package/dist/docs-kit/CodeGroup.js.map +1 -0
  410. package/dist/docs-kit/CodePreview.d.ts +60 -0
  411. package/dist/docs-kit/CodePreview.js +183 -0
  412. package/dist/docs-kit/CodePreview.js.map +1 -0
  413. package/dist/docs-kit/ColorSwatch.d.ts +28 -0
  414. package/dist/docs-kit/ColorSwatch.js +85 -0
  415. package/dist/docs-kit/ColorSwatch.js.map +1 -0
  416. package/dist/docs-kit/PropsTable.d.ts +73 -0
  417. package/dist/docs-kit/PropsTable.js +122 -0
  418. package/dist/docs-kit/PropsTable.js.map +1 -0
  419. package/dist/docs-kit/index.d.ts +13 -0
  420. package/dist/docs-kit/index.js +6 -0
  421. package/dist/docs-kit/messages.d.ts +25 -0
  422. package/dist/docs-kit/messages.js +30 -0
  423. package/dist/docs-kit/messages.js.map +1 -0
  424. package/dist/feedback/Alert.d.ts +83 -0
  425. package/dist/feedback/Alert.js +179 -0
  426. package/dist/feedback/Alert.js.map +1 -0
  427. package/dist/feedback/Banner.d.ts +60 -0
  428. package/dist/feedback/Banner.js +122 -0
  429. package/dist/feedback/Banner.js.map +1 -0
  430. package/dist/feedback/Empty.d.ts +38 -0
  431. package/dist/feedback/Empty.js +114 -0
  432. package/dist/feedback/Empty.js.map +1 -0
  433. package/dist/feedback/LoadingBar.d.ts +45 -0
  434. package/dist/feedback/LoadingBar.js +124 -0
  435. package/dist/feedback/LoadingBar.js.map +1 -0
  436. package/dist/feedback/LoadingOverlay.d.ts +29 -0
  437. package/dist/feedback/LoadingOverlay.js +70 -0
  438. package/dist/feedback/LoadingOverlay.js.map +1 -0
  439. package/dist/feedback/Progress.d.ts +215 -0
  440. package/dist/feedback/Progress.js +437 -0
  441. package/dist/feedback/Progress.js.map +1 -0
  442. package/dist/feedback/Result.d.ts +69 -0
  443. package/dist/feedback/Result.js +165 -0
  444. package/dist/feedback/Result.js.map +1 -0
  445. package/dist/feedback/Skeleton.d.ts +50 -0
  446. package/dist/feedback/Skeleton.js +100 -0
  447. package/dist/feedback/Skeleton.js.map +1 -0
  448. package/dist/feedback/SkeletonText.d.ts +25 -0
  449. package/dist/feedback/SkeletonText.js +40 -0
  450. package/dist/feedback/SkeletonText.js.map +1 -0
  451. package/dist/feedback/Toast.d.ts +204 -0
  452. package/dist/feedback/Toast.js +572 -0
  453. package/dist/feedback/Toast.js.map +1 -0
  454. package/dist/form/Field.d.ts +158 -0
  455. package/dist/form/Field.js +327 -0
  456. package/dist/form/Field.js.map +1 -0
  457. package/dist/form/Form.d.ts +14 -0
  458. package/dist/form/Form.js +66 -0
  459. package/dist/form/Form.js.map +1 -0
  460. package/dist/form/FormErrorSummary.d.ts +23 -0
  461. package/dist/form/FormErrorSummary.js +102 -0
  462. package/dist/form/FormErrorSummary.js.map +1 -0
  463. package/dist/form/FormSection.d.ts +66 -0
  464. package/dist/form/FormSection.js +227 -0
  465. package/dist/form/FormSection.js.map +1 -0
  466. package/dist/form/FormValue.d.ts +17 -0
  467. package/dist/form/FormValue.js +40 -0
  468. package/dist/form/FormValue.js.map +1 -0
  469. package/dist/form/field-layout.d.ts +34 -0
  470. package/dist/form/field-layout.js +39 -0
  471. package/dist/form/field-layout.js.map +1 -0
  472. package/dist/form/form-constraints.d.ts +38 -0
  473. package/dist/form/form-constraints.js +131 -0
  474. package/dist/form/form-constraints.js.map +1 -0
  475. package/dist/form/leave-confirmation.d.ts +9 -0
  476. package/dist/form/leave-confirmation.js +31 -0
  477. package/dist/form/leave-confirmation.js.map +1 -0
  478. package/dist/form/schemas.d.ts +52 -0
  479. package/dist/form/schemas.js +97 -0
  480. package/dist/form/schemas.js.map +1 -0
  481. package/dist/form/useForm.d.ts +192 -0
  482. package/dist/form/useForm.js +394 -0
  483. package/dist/form/useForm.js.map +1 -0
  484. package/dist/index.d.ts +282 -0
  485. package/dist/index.js +282 -0
  486. package/dist/input/Autocomplete.d.ts +14 -0
  487. package/dist/input/Autocomplete.js +35 -0
  488. package/dist/input/Autocomplete.js.map +1 -0
  489. package/dist/input/Cascader.d.ts +86 -0
  490. package/dist/input/Cascader.js +593 -0
  491. package/dist/input/Cascader.js.map +1 -0
  492. package/dist/input/CharacterCount.d.ts +21 -0
  493. package/dist/input/CharacterCount.js +47 -0
  494. package/dist/input/CharacterCount.js.map +1 -0
  495. package/dist/input/Checkbox.d.ts +93 -0
  496. package/dist/input/Checkbox.js +250 -0
  497. package/dist/input/Checkbox.js.map +1 -0
  498. package/dist/input/ColorField.d.ts +37 -0
  499. package/dist/input/ColorField.js +143 -0
  500. package/dist/input/ColorField.js.map +1 -0
  501. package/dist/input/Combobox.d.ts +75 -0
  502. package/dist/input/Combobox.js +321 -0
  503. package/dist/input/Combobox.js.map +1 -0
  504. package/dist/input/ConditionBuilder.d.ts +55 -0
  505. package/dist/input/ConditionBuilder.js +471 -0
  506. package/dist/input/ConditionBuilder.js.map +1 -0
  507. package/dist/input/ControlGroup.d.ts +26 -0
  508. package/dist/input/ControlGroup.js +50 -0
  509. package/dist/input/ControlGroup.js.map +1 -0
  510. package/dist/input/FileDrop.d.ts +49 -0
  511. package/dist/input/FileDrop.js +201 -0
  512. package/dist/input/FileDrop.js.map +1 -0
  513. package/dist/input/ListPopover.d.ts +39 -0
  514. package/dist/input/ListPopover.js +81 -0
  515. package/dist/input/ListPopover.js.map +1 -0
  516. package/dist/input/Listbox.d.ts +91 -0
  517. package/dist/input/Listbox.js +408 -0
  518. package/dist/input/Listbox.js.map +1 -0
  519. package/dist/input/Mentions.d.ts +74 -0
  520. package/dist/input/Mentions.js +287 -0
  521. package/dist/input/Mentions.js.map +1 -0
  522. package/dist/input/NumberField.d.ts +64 -0
  523. package/dist/input/NumberField.js +288 -0
  524. package/dist/input/NumberField.js.map +1 -0
  525. package/dist/input/NumberRangeField.d.ts +58 -0
  526. package/dist/input/NumberRangeField.js +157 -0
  527. package/dist/input/NumberRangeField.js.map +1 -0
  528. package/dist/input/OtpField.d.ts +58 -0
  529. package/dist/input/OtpField.js +200 -0
  530. package/dist/input/OtpField.js.map +1 -0
  531. package/dist/input/PeoplePicker.d.ts +42 -0
  532. package/dist/input/PeoplePicker.js +185 -0
  533. package/dist/input/PeoplePicker.js.map +1 -0
  534. package/dist/input/PeoplePickerPanel.d.ts +42 -0
  535. package/dist/input/PeoplePickerPanel.js +357 -0
  536. package/dist/input/PeoplePickerPanel.js.map +1 -0
  537. package/dist/input/Radio.d.ts +90 -0
  538. package/dist/input/Radio.js +211 -0
  539. package/dist/input/Radio.js.map +1 -0
  540. package/dist/input/Rating.d.ts +62 -0
  541. package/dist/input/Rating.js +225 -0
  542. package/dist/input/Rating.js.map +1 -0
  543. package/dist/input/Select.d.ts +97 -0
  544. package/dist/input/Select.js +455 -0
  545. package/dist/input/Select.js.map +1 -0
  546. package/dist/input/SelectedTags.d.ts +28 -0
  547. package/dist/input/SelectedTags.js +81 -0
  548. package/dist/input/SelectedTags.js.map +1 -0
  549. package/dist/input/Slider.d.ts +99 -0
  550. package/dist/input/Slider.js +343 -0
  551. package/dist/input/Slider.js.map +1 -0
  552. package/dist/input/Switch.d.ts +63 -0
  553. package/dist/input/Switch.js +198 -0
  554. package/dist/input/Switch.js.map +1 -0
  555. package/dist/input/TagsInput.d.ts +70 -0
  556. package/dist/input/TagsInput.js +314 -0
  557. package/dist/input/TagsInput.js.map +1 -0
  558. package/dist/input/TextField.d.ts +51 -0
  559. package/dist/input/TextField.js +185 -0
  560. package/dist/input/TextField.js.map +1 -0
  561. package/dist/input/Textarea.d.ts +50 -0
  562. package/dist/input/Textarea.js +146 -0
  563. package/dist/input/Textarea.js.map +1 -0
  564. package/dist/input/ToggleGroup.d.ts +82 -0
  565. package/dist/input/ToggleGroup.js +211 -0
  566. package/dist/input/ToggleGroup.js.map +1 -0
  567. package/dist/input/Transfer.d.ts +67 -0
  568. package/dist/input/Transfer.js +407 -0
  569. package/dist/input/Transfer.js.map +1 -0
  570. package/dist/input/TreeSelect.d.ts +94 -0
  571. package/dist/input/TreeSelect.js +412 -0
  572. package/dist/input/TreeSelect.js.map +1 -0
  573. package/dist/input/Upload.d.ts +143 -0
  574. package/dist/input/Upload.js +597 -0
  575. package/dist/input/Upload.js.map +1 -0
  576. package/dist/input/choice-styles.d.ts +117 -0
  577. package/dist/input/choice-styles.js +176 -0
  578. package/dist/input/choice-styles.js.map +1 -0
  579. package/dist/input/condition.d.ts +153 -0
  580. package/dist/input/condition.js +169 -0
  581. package/dist/input/condition.js.map +1 -0
  582. package/dist/input/control.d.ts +160 -0
  583. package/dist/input/control.js +236 -0
  584. package/dist/input/control.js.map +1 -0
  585. package/dist/input/list-state.d.ts +118 -0
  586. package/dist/input/list-state.js +186 -0
  587. package/dist/input/list-state.js.map +1 -0
  588. package/dist/input/people.d.ts +65 -0
  589. package/dist/input/people.js +47 -0
  590. package/dist/input/people.js.map +1 -0
  591. package/dist/input/remote-items.d.ts +20 -0
  592. package/dist/input/remote-items.js +36 -0
  593. package/dist/input/remote-items.js.map +1 -0
  594. package/dist/input/text-format.d.ts +46 -0
  595. package/dist/input/text-format.js +64 -0
  596. package/dist/input/text-format.js.map +1 -0
  597. package/dist/layout/Affix.d.ts +32 -0
  598. package/dist/layout/Affix.js +81 -0
  599. package/dist/layout/Affix.js.map +1 -0
  600. package/dist/layout/AsideLayout.d.ts +45 -0
  601. package/dist/layout/AsideLayout.js +69 -0
  602. package/dist/layout/AsideLayout.js.map +1 -0
  603. package/dist/layout/BackTop.d.ts +16 -0
  604. package/dist/layout/BackTop.js +83 -0
  605. package/dist/layout/BackTop.js.map +1 -0
  606. package/dist/layout/Container.d.ts +60 -0
  607. package/dist/layout/Container.js +62 -0
  608. package/dist/layout/Container.js.map +1 -0
  609. package/dist/layout/Flex.d.ts +116 -0
  610. package/dist/layout/Flex.js +109 -0
  611. package/dist/layout/Flex.js.map +1 -0
  612. package/dist/layout/Grid.d.ts +139 -0
  613. package/dist/layout/Grid.js +168 -0
  614. package/dist/layout/Grid.js.map +1 -0
  615. package/dist/layout/PageScrollbar.d.ts +20 -0
  616. package/dist/layout/PageScrollbar.js +49 -0
  617. package/dist/layout/PageScrollbar.js.map +1 -0
  618. package/dist/layout/Prose.d.ts +19 -0
  619. package/dist/layout/Prose.js +37 -0
  620. package/dist/layout/Prose.js.map +1 -0
  621. package/dist/layout/ResizeHandle.d.ts +28 -0
  622. package/dist/layout/ResizeHandle.js +94 -0
  623. package/dist/layout/ResizeHandle.js.map +1 -0
  624. package/dist/layout/ScrollArea.d.ts +99 -0
  625. package/dist/layout/ScrollArea.js +344 -0
  626. package/dist/layout/ScrollArea.js.map +1 -0
  627. package/dist/layout/Separator.d.ts +47 -0
  628. package/dist/layout/Separator.js +96 -0
  629. package/dist/layout/Separator.js.map +1 -0
  630. package/dist/layout/Splitter.d.ts +75 -0
  631. package/dist/layout/Splitter.js +236 -0
  632. package/dist/layout/Splitter.js.map +1 -0
  633. package/dist/layout/ViewportFill.d.ts +26 -0
  634. package/dist/layout/ViewportFill.js +59 -0
  635. package/dist/layout/ViewportFill.js.map +1 -0
  636. package/dist/navigation/Breadcrumbs.d.ts +59 -0
  637. package/dist/navigation/Breadcrumbs.js +150 -0
  638. package/dist/navigation/Breadcrumbs.js.map +1 -0
  639. package/dist/navigation/NavBar.d.ts +35 -0
  640. package/dist/navigation/NavBar.js +182 -0
  641. package/dist/navigation/NavBar.js.map +1 -0
  642. package/dist/navigation/NavList.d.ts +112 -0
  643. package/dist/navigation/NavList.js +375 -0
  644. package/dist/navigation/NavList.js.map +1 -0
  645. package/dist/navigation/PageJump.d.ts +27 -0
  646. package/dist/navigation/PageJump.js +77 -0
  647. package/dist/navigation/PageJump.js.map +1 -0
  648. package/dist/navigation/PageSizeSelect.d.ts +19 -0
  649. package/dist/navigation/PageSizeSelect.js +65 -0
  650. package/dist/navigation/PageSizeSelect.js.map +1 -0
  651. package/dist/navigation/Pager.d.ts +30 -0
  652. package/dist/navigation/Pager.js +111 -0
  653. package/dist/navigation/Pager.js.map +1 -0
  654. package/dist/navigation/Pagination.d.ts +51 -0
  655. package/dist/navigation/Pagination.js +157 -0
  656. package/dist/navigation/Pagination.js.map +1 -0
  657. package/dist/navigation/PaginationBar.d.ts +54 -0
  658. package/dist/navigation/PaginationBar.js +125 -0
  659. package/dist/navigation/PaginationBar.js.map +1 -0
  660. package/dist/navigation/SkipLink.d.ts +16 -0
  661. package/dist/navigation/SkipLink.js +58 -0
  662. package/dist/navigation/SkipLink.js.map +1 -0
  663. package/dist/navigation/Steps.d.ts +93 -0
  664. package/dist/navigation/Steps.js +198 -0
  665. package/dist/navigation/Steps.js.map +1 -0
  666. package/dist/navigation/TableOfContents.d.ts +32 -0
  667. package/dist/navigation/TableOfContents.js +119 -0
  668. package/dist/navigation/TableOfContents.js.map +1 -0
  669. package/dist/navigation/Tabs.d.ts +208 -0
  670. package/dist/navigation/Tabs.js +626 -0
  671. package/dist/navigation/Tabs.js.map +1 -0
  672. package/dist/navigation/Toolbar.d.ts +39 -0
  673. package/dist/navigation/Toolbar.js +67 -0
  674. package/dist/navigation/Toolbar.js.map +1 -0
  675. package/dist/overlay/AlertDialog.d.ts +43 -0
  676. package/dist/overlay/AlertDialog.js +106 -0
  677. package/dist/overlay/AlertDialog.js.map +1 -0
  678. package/dist/overlay/CommandPalette.d.ts +64 -0
  679. package/dist/overlay/CommandPalette.js +250 -0
  680. package/dist/overlay/CommandPalette.js.map +1 -0
  681. package/dist/overlay/ContextMenu.d.ts +21 -0
  682. package/dist/overlay/ContextMenu.js +76 -0
  683. package/dist/overlay/ContextMenu.js.map +1 -0
  684. package/dist/overlay/Dialog.d.ts +70 -0
  685. package/dist/overlay/Dialog.js +91 -0
  686. package/dist/overlay/Dialog.js.map +1 -0
  687. package/dist/overlay/Drawer.d.ts +186 -0
  688. package/dist/overlay/Drawer.js +214 -0
  689. package/dist/overlay/Drawer.js.map +1 -0
  690. package/dist/overlay/HoverCard.d.ts +48 -0
  691. package/dist/overlay/HoverCard.js +86 -0
  692. package/dist/overlay/HoverCard.js.map +1 -0
  693. package/dist/overlay/Lightbox.d.ts +57 -0
  694. package/dist/overlay/Lightbox.js +374 -0
  695. package/dist/overlay/Lightbox.js.map +1 -0
  696. package/dist/overlay/Menu.d.ts +218 -0
  697. package/dist/overlay/Menu.js +816 -0
  698. package/dist/overlay/Menu.js.map +1 -0
  699. package/dist/overlay/ModalCore.d.ts +132 -0
  700. package/dist/overlay/ModalCore.js +274 -0
  701. package/dist/overlay/ModalCore.js.map +1 -0
  702. package/dist/overlay/Popconfirm.d.ts +49 -0
  703. package/dist/overlay/Popconfirm.js +167 -0
  704. package/dist/overlay/Popconfirm.js.map +1 -0
  705. package/dist/overlay/Popover.d.ts +40 -0
  706. package/dist/overlay/Popover.js +96 -0
  707. package/dist/overlay/Popover.js.map +1 -0
  708. package/dist/overlay/Tooltip.d.ts +47 -0
  709. package/dist/overlay/Tooltip.js +86 -0
  710. package/dist/overlay/Tooltip.js.map +1 -0
  711. package/dist/overlay/Tour.d.ts +74 -0
  712. package/dist/overlay/Tour.js +309 -0
  713. package/dist/overlay/Tour.js.map +1 -0
  714. package/dist/overlay/detached.d.ts +40 -0
  715. package/dist/overlay/detached.js +109 -0
  716. package/dist/overlay/detached.js.map +1 -0
  717. package/dist/patterns/ActionBar.d.ts +29 -0
  718. package/dist/patterns/ActionBar.js +75 -0
  719. package/dist/patterns/ActionBar.js.map +1 -0
  720. package/dist/patterns/AppShell.d.ts +168 -0
  721. package/dist/patterns/AppShell.js +620 -0
  722. package/dist/patterns/AppShell.js.map +1 -0
  723. package/dist/patterns/CommentThread.d.ts +128 -0
  724. package/dist/patterns/CommentThread.js +386 -0
  725. package/dist/patterns/CommentThread.js.map +1 -0
  726. package/dist/patterns/DataImport.d.ts +72 -0
  727. package/dist/patterns/DataImport.js +486 -0
  728. package/dist/patterns/DataImport.js.map +1 -0
  729. package/dist/patterns/DeadlineBadge.d.ts +21 -0
  730. package/dist/patterns/DeadlineBadge.js +76 -0
  731. package/dist/patterns/DeadlineBadge.js.map +1 -0
  732. package/dist/patterns/FilterBar.d.ts +66 -0
  733. package/dist/patterns/FilterBar.js +254 -0
  734. package/dist/patterns/FilterBar.js.map +1 -0
  735. package/dist/patterns/KanbanBoard.d.ts +79 -0
  736. package/dist/patterns/KanbanBoard.js +294 -0
  737. package/dist/patterns/KanbanBoard.js.map +1 -0
  738. package/dist/patterns/NotificationCenter.d.ts +110 -0
  739. package/dist/patterns/NotificationCenter.js +342 -0
  740. package/dist/patterns/NotificationCenter.js.map +1 -0
  741. package/dist/patterns/PageTabs.d.ts +30 -0
  742. package/dist/patterns/PageTabs.js +97 -0
  743. package/dist/patterns/PageTabs.js.map +1 -0
  744. package/dist/patterns/QueryTable.d.ts +64 -0
  745. package/dist/patterns/QueryTable.js +276 -0
  746. package/dist/patterns/QueryTable.js.map +1 -0
  747. package/dist/patterns/StepsForm.d.ts +49 -0
  748. package/dist/patterns/StepsForm.js +130 -0
  749. package/dist/patterns/StepsForm.js.map +1 -0
  750. package/dist/patterns/ThemeSwitcher.d.ts +20 -0
  751. package/dist/patterns/ThemeSwitcher.js +102 -0
  752. package/dist/patterns/ThemeSwitcher.js.map +1 -0
  753. package/dist/patterns/form-dialog.d.ts +62 -0
  754. package/dist/patterns/form-dialog.js +143 -0
  755. package/dist/patterns/form-dialog.js.map +1 -0
  756. package/dist/patterns/index.d.ts +24 -0
  757. package/dist/patterns/index.js +15 -0
  758. package/dist/patterns/messages.d.ts +172 -0
  759. package/dist/patterns/messages.js +184 -0
  760. package/dist/patterns/messages.js.map +1 -0
  761. package/dist/table/ColumnHeaderActions.d.ts +71 -0
  762. package/dist/table/ColumnHeaderActions.js +247 -0
  763. package/dist/table/ColumnHeaderActions.js.map +1 -0
  764. package/dist/table/ColumnResizer.d.ts +12 -0
  765. package/dist/table/ColumnResizer.js +32 -0
  766. package/dist/table/ColumnResizer.js.map +1 -0
  767. package/dist/table/ColumnSettings.d.ts +34 -0
  768. package/dist/table/ColumnSettings.js +136 -0
  769. package/dist/table/ColumnSettings.js.map +1 -0
  770. package/dist/table/ColumnTable.d.ts +51 -0
  771. package/dist/table/ColumnTable.js +140 -0
  772. package/dist/table/ColumnTable.js.map +1 -0
  773. package/dist/table/DataTable.d.ts +44 -0
  774. package/dist/table/DataTable.js +453 -0
  775. package/dist/table/DataTable.js.map +1 -0
  776. package/dist/table/DataTableView.d.ts +328 -0
  777. package/dist/table/DataTableView.js +963 -0
  778. package/dist/table/DataTableView.js.map +1 -0
  779. package/dist/table/PivotTable.d.ts +66 -0
  780. package/dist/table/PivotTable.js +122 -0
  781. package/dist/table/PivotTable.js.map +1 -0
  782. package/dist/table/SelectionBar.d.ts +29 -0
  783. package/dist/table/SelectionBar.js +86 -0
  784. package/dist/table/SelectionBar.js.map +1 -0
  785. package/dist/table/Table.d.ts +169 -0
  786. package/dist/table/Table.js +304 -0
  787. package/dist/table/Table.js.map +1 -0
  788. package/dist/table/TreeDataTable.d.ts +36 -0
  789. package/dist/table/TreeDataTable.js +168 -0
  790. package/dist/table/TreeDataTable.js.map +1 -0
  791. package/dist/table/column-display.d.ts +20 -0
  792. package/dist/table/column-display.js +43 -0
  793. package/dist/table/column-display.js.map +1 -0
  794. package/dist/table/columns.d.ts +244 -0
  795. package/dist/table/columns.js +271 -0
  796. package/dist/table/columns.js.map +1 -0
  797. package/dist/table/csv.d.ts +24 -0
  798. package/dist/table/csv.js +35 -0
  799. package/dist/table/csv.js.map +1 -0
  800. package/dist/table/pivot.d.ts +66 -0
  801. package/dist/table/pivot.js +85 -0
  802. package/dist/table/pivot.js.map +1 -0
  803. package/dist/table/sheet.d.ts +44 -0
  804. package/dist/table/sheet.js +78 -0
  805. package/dist/table/sheet.js.map +1 -0
  806. package/dist/table/table-styles.d.ts +136 -0
  807. package/dist/table/table-styles.js +403 -0
  808. package/dist/table/table-styles.js.map +1 -0
  809. package/dist/table/use-table-query.d.ts +89 -0
  810. package/dist/table/use-table-query.js +194 -0
  811. package/dist/table/use-table-query.js.map +1 -0
  812. package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
  813. package/dist/theme-customize/ThemeCustomizer.js +361 -0
  814. package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
  815. package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
  816. package/dist/theme-customize/ThemeThumbnail.js +82 -0
  817. package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
  818. package/dist/theme-customize/contrast.d.ts +27 -0
  819. package/dist/theme-customize/contrast.js +251 -0
  820. package/dist/theme-customize/contrast.js.map +1 -0
  821. package/dist/theme-customize/customize.d.ts +65 -0
  822. package/dist/theme-customize/customize.js +105 -0
  823. package/dist/theme-customize/customize.js.map +1 -0
  824. package/dist/theme-customize/design-tokens.d.ts +31 -0
  825. package/dist/theme-customize/design-tokens.js +183 -0
  826. package/dist/theme-customize/design-tokens.js.map +1 -0
  827. package/dist/theme-customize/index.d.ts +20 -0
  828. package/dist/theme-customize/index.js +9 -0
  829. package/dist/theme-customize/messages.d.ts +74 -0
  830. package/dist/theme-customize/messages.js +142 -0
  831. package/dist/theme-customize/messages.js.map +1 -0
  832. package/dist/theme-customize/palette.d.ts +898 -0
  833. package/dist/theme-customize/palette.js +111 -0
  834. package/dist/theme-customize/palette.js.map +1 -0
  835. package/dist/theme-customize/token-catalog.d.ts +20 -0
  836. package/dist/theme-customize/token-catalog.js +836 -0
  837. package/dist/theme-customize/token-catalog.js.map +1 -0
  838. package/dist/three/background/AuroraBackground.d.ts +30 -0
  839. package/dist/three/background/AuroraBackground.js +80 -0
  840. package/dist/three/background/AuroraBackground.js.map +1 -0
  841. package/dist/three/background/MeshGradient.d.ts +28 -0
  842. package/dist/three/background/MeshGradient.js +76 -0
  843. package/dist/three/background/MeshGradient.js.map +1 -0
  844. package/dist/three/background/ShaderBackground.d.ts +25 -0
  845. package/dist/three/background/ShaderBackground.js +107 -0
  846. package/dist/three/background/ShaderBackground.js.map +1 -0
  847. package/dist/three/core/EffectSurface.d.ts +41 -0
  848. package/dist/three/core/EffectSurface.js +62 -0
  849. package/dist/three/core/EffectSurface.js.map +1 -0
  850. package/dist/three/core/ThreeCanvas.d.ts +39 -0
  851. package/dist/three/core/ThreeCanvas.js +77 -0
  852. package/dist/three/core/ThreeCanvas.js.map +1 -0
  853. package/dist/three/core/dispose.d.ts +9 -0
  854. package/dist/three/core/dispose.js +26 -0
  855. package/dist/three/core/dispose.js.map +1 -0
  856. package/dist/three/core/orbit.d.ts +31 -0
  857. package/dist/three/core/orbit.js +83 -0
  858. package/dist/three/core/orbit.js.map +1 -0
  859. package/dist/three/core/quality.d.ts +59 -0
  860. package/dist/three/core/quality.js +80 -0
  861. package/dist/three/core/quality.js.map +1 -0
  862. package/dist/three/core/renderer.d.ts +110 -0
  863. package/dist/three/core/renderer.js +303 -0
  864. package/dist/three/core/renderer.js.map +1 -0
  865. package/dist/three/core/shaders.d.ts +19 -0
  866. package/dist/three/core/shaders.js +100 -0
  867. package/dist/three/core/shaders.js.map +1 -0
  868. package/dist/three/core/theme-colors.d.ts +30 -0
  869. package/dist/three/core/theme-colors.js +113 -0
  870. package/dist/three/core/theme-colors.js.map +1 -0
  871. package/dist/three/effects/Confetti.d.ts +62 -0
  872. package/dist/three/effects/Confetti.js +242 -0
  873. package/dist/three/effects/Confetti.js.map +1 -0
  874. package/dist/three/effects/ParticleField.d.ts +39 -0
  875. package/dist/three/effects/ParticleField.js +266 -0
  876. package/dist/three/effects/ParticleField.js.map +1 -0
  877. package/dist/three/effects/WaveGrid.d.ts +37 -0
  878. package/dist/three/effects/WaveGrid.js +130 -0
  879. package/dist/three/effects/WaveGrid.js.map +1 -0
  880. package/dist/three/globe/Globe.d.ts +70 -0
  881. package/dist/three/globe/Globe.js +337 -0
  882. package/dist/three/globe/Globe.js.map +1 -0
  883. package/dist/three/globe/land.d.ts +9 -0
  884. package/dist/three/globe/land.js +14 -0
  885. package/dist/three/globe/land.js.map +1 -0
  886. package/dist/three/index.d.ts +24 -0
  887. package/dist/three/index.js +18 -0
  888. package/dist/three/model/ModelViewer.d.ts +63 -0
  889. package/dist/three/model/ModelViewer.js +193 -0
  890. package/dist/three/model/ModelViewer.js.map +1 -0
  891. package/dist/utils/data/collation.d.ts +36 -0
  892. package/dist/utils/data/collation.js +69 -0
  893. package/dist/utils/data/collation.js.map +1 -0
  894. package/dist/utils/data/color.d.ts +32 -0
  895. package/dist/utils/data/color.js +90 -0
  896. package/dist/utils/data/color.js.map +1 -0
  897. package/dist/utils/data/date.d.ts +186 -0
  898. package/dist/utils/data/date.js +409 -0
  899. package/dist/utils/data/date.js.map +1 -0
  900. package/dist/utils/data/diff.d.ts +21 -0
  901. package/dist/utils/data/diff.js +43 -0
  902. package/dist/utils/data/diff.js.map +1 -0
  903. package/dist/utils/data/equality.d.ts +5 -0
  904. package/dist/utils/data/equality.js +24 -0
  905. package/dist/utils/data/equality.js.map +1 -0
  906. package/dist/utils/data/history.d.ts +59 -0
  907. package/dist/utils/data/history.js +132 -0
  908. package/dist/utils/data/history.js.map +1 -0
  909. package/dist/utils/data/intl-cache.d.ts +8 -0
  910. package/dist/utils/data/intl-cache.js +19 -0
  911. package/dist/utils/data/intl-cache.js.map +1 -0
  912. package/dist/utils/data/number-parse.d.ts +7 -0
  913. package/dist/utils/data/number-parse.js +45 -0
  914. package/dist/utils/data/number-parse.js.map +1 -0
  915. package/dist/utils/data/number.d.ts +10 -0
  916. package/dist/utils/data/number.js +28 -0
  917. package/dist/utils/data/number.js.map +1 -0
  918. package/dist/utils/data/numeric.d.ts +55 -0
  919. package/dist/utils/data/numeric.js +133 -0
  920. package/dist/utils/data/numeric.js.map +1 -0
  921. package/dist/utils/data/pagination.d.ts +21 -0
  922. package/dist/utils/data/pagination.js +22 -0
  923. package/dist/utils/data/pagination.js.map +1 -0
  924. package/dist/utils/data/selection.d.ts +41 -0
  925. package/dist/utils/data/selection.js +21 -0
  926. package/dist/utils/data/selection.js.map +1 -0
  927. package/dist/utils/data/status.d.ts +43 -0
  928. package/dist/utils/data/status.js +27 -0
  929. package/dist/utils/data/status.js.map +1 -0
  930. package/dist/utils/data/text.d.ts +12 -0
  931. package/dist/utils/data/text.js +30 -0
  932. package/dist/utils/data/text.js.map +1 -0
  933. package/dist/utils/data/tree.d.ts +140 -0
  934. package/dist/utils/data/tree.js +273 -0
  935. package/dist/utils/data/tree.js.map +1 -0
  936. package/dist/utils/data/workdays.d.ts +67 -0
  937. package/dist/utils/data/workdays.js +67 -0
  938. package/dist/utils/data/workdays.js.map +1 -0
  939. package/dist/utils/dom/announcer.d.ts +11 -0
  940. package/dist/utils/dom/announcer.js +53 -0
  941. package/dist/utils/dom/announcer.js.map +1 -0
  942. package/dist/utils/dom/caret.d.ts +14 -0
  943. package/dist/utils/dom/caret.js +72 -0
  944. package/dist/utils/dom/caret.js.map +1 -0
  945. package/dist/utils/dom/clipboard.d.ts +16 -0
  946. package/dist/utils/dom/clipboard.js +66 -0
  947. package/dist/utils/dom/clipboard.js.map +1 -0
  948. package/dist/utils/dom/direction.d.ts +12 -0
  949. package/dist/utils/dom/direction.js +20 -0
  950. package/dist/utils/dom/direction.js.map +1 -0
  951. package/dist/utils/dom/download.d.ts +7 -0
  952. package/dist/utils/dom/download.js +19 -0
  953. package/dist/utils/dom/download.js.map +1 -0
  954. package/dist/utils/dom/element.d.ts +3 -0
  955. package/dist/utils/dom/element.js +12 -0
  956. package/dist/utils/dom/element.js.map +1 -0
  957. package/dist/utils/dom/event-listener.d.ts +8 -0
  958. package/dist/utils/dom/event-listener.js +35 -0
  959. package/dist/utils/dom/event-listener.js.map +1 -0
  960. package/dist/utils/dom/floating.d.ts +149 -0
  961. package/dist/utils/dom/floating.js +262 -0
  962. package/dist/utils/dom/floating.js.map +1 -0
  963. package/dist/utils/dom/focus.d.ts +28 -0
  964. package/dist/utils/dom/focus.js +105 -0
  965. package/dist/utils/dom/focus.js.map +1 -0
  966. package/dist/utils/dom/fullscreen.d.ts +11 -0
  967. package/dist/utils/dom/fullscreen.js +43 -0
  968. package/dist/utils/dom/fullscreen.js.map +1 -0
  969. package/dist/utils/dom/hotkeys.d.ts +43 -0
  970. package/dist/utils/dom/hotkeys.js +174 -0
  971. package/dist/utils/dom/hotkeys.js.map +1 -0
  972. package/dist/utils/dom/hover-intent.d.ts +47 -0
  973. package/dist/utils/dom/hover-intent.js +72 -0
  974. package/dist/utils/dom/hover-intent.js.map +1 -0
  975. package/dist/utils/dom/hover-layer.d.ts +36 -0
  976. package/dist/utils/dom/hover-layer.js +74 -0
  977. package/dist/utils/dom/hover-layer.js.map +1 -0
  978. package/dist/utils/dom/intersection.d.ts +13 -0
  979. package/dist/utils/dom/intersection.js +36 -0
  980. package/dist/utils/dom/intersection.js.map +1 -0
  981. package/dist/utils/dom/layout-batch.d.ts +14 -0
  982. package/dist/utils/dom/layout-batch.js +26 -0
  983. package/dist/utils/dom/layout-batch.js.map +1 -0
  984. package/dist/utils/dom/link.d.ts +18 -0
  985. package/dist/utils/dom/link.js +44 -0
  986. package/dist/utils/dom/link.js.map +1 -0
  987. package/dist/utils/dom/media-query.d.ts +18 -0
  988. package/dist/utils/dom/media-query.js +36 -0
  989. package/dist/utils/dom/media-query.js.map +1 -0
  990. package/dist/utils/dom/move.d.ts +47 -0
  991. package/dist/utils/dom/move.js +69 -0
  992. package/dist/utils/dom/move.js.map +1 -0
  993. package/dist/utils/dom/open-change.d.ts +51 -0
  994. package/dist/utils/dom/open-change.js +21 -0
  995. package/dist/utils/dom/open-change.js.map +1 -0
  996. package/dist/utils/dom/overflow.d.ts +29 -0
  997. package/dist/utils/dom/overflow.js +108 -0
  998. package/dist/utils/dom/overflow.js.map +1 -0
  999. package/dist/utils/dom/overlay.d.ts +35 -0
  1000. package/dist/utils/dom/overlay.js +104 -0
  1001. package/dist/utils/dom/overlay.js.map +1 -0
  1002. package/dist/utils/dom/page-visibility.d.ts +10 -0
  1003. package/dist/utils/dom/page-visibility.js +22 -0
  1004. package/dist/utils/dom/page-visibility.js.map +1 -0
  1005. package/dist/utils/dom/pan-zoom.d.ts +109 -0
  1006. package/dist/utils/dom/pan-zoom.js +257 -0
  1007. package/dist/utils/dom/pan-zoom.js.map +1 -0
  1008. package/dist/utils/dom/rasterize.d.ts +18 -0
  1009. package/dist/utils/dom/rasterize.js +41 -0
  1010. package/dist/utils/dom/rasterize.js.map +1 -0
  1011. package/dist/utils/dom/resize.d.ts +4 -0
  1012. package/dist/utils/dom/resize.js +65 -0
  1013. package/dist/utils/dom/resize.js.map +1 -0
  1014. package/dist/utils/dom/ripple.d.ts +40 -0
  1015. package/dist/utils/dom/ripple.js +96 -0
  1016. package/dist/utils/dom/ripple.js.map +1 -0
  1017. package/dist/utils/dom/roving-focus.d.ts +44 -0
  1018. package/dist/utils/dom/roving-focus.js +184 -0
  1019. package/dist/utils/dom/roving-focus.js.map +1 -0
  1020. package/dist/utils/dom/scroll-spy.d.ts +30 -0
  1021. package/dist/utils/dom/scroll-spy.js +55 -0
  1022. package/dist/utils/dom/scroll-spy.js.map +1 -0
  1023. package/dist/utils/dom/sortable.d.ts +82 -0
  1024. package/dist/utils/dom/sortable.js +437 -0
  1025. package/dist/utils/dom/sortable.js.map +1 -0
  1026. package/dist/utils/dom/storage.d.ts +21 -0
  1027. package/dist/utils/dom/storage.js +66 -0
  1028. package/dist/utils/dom/storage.js.map +1 -0
  1029. package/dist/utils/dom/typeahead.d.ts +15 -0
  1030. package/dist/utils/dom/typeahead.js +26 -0
  1031. package/dist/utils/dom/typeahead.js.map +1 -0
  1032. package/dist/utils/motion/active-indicator.d.ts +24 -0
  1033. package/dist/utils/motion/active-indicator.js +58 -0
  1034. package/dist/utils/motion/active-indicator.js.map +1 -0
  1035. package/dist/utils/motion/animation.d.ts +58 -0
  1036. package/dist/utils/motion/animation.js +83 -0
  1037. package/dist/utils/motion/animation.js.map +1 -0
  1038. package/dist/utils/motion/delayed-loading.d.ts +18 -0
  1039. package/dist/utils/motion/delayed-loading.js +38 -0
  1040. package/dist/utils/motion/delayed-loading.js.map +1 -0
  1041. package/dist/utils/motion/layout.d.ts +17 -0
  1042. package/dist/utils/motion/layout.js +43 -0
  1043. package/dist/utils/motion/layout.js.map +1 -0
  1044. package/dist/utils/motion/pointer.d.ts +14 -0
  1045. package/dist/utils/motion/pointer.js +72 -0
  1046. package/dist/utils/motion/pointer.js.map +1 -0
  1047. package/dist/utils/motion/presence.d.ts +57 -0
  1048. package/dist/utils/motion/presence.js +100 -0
  1049. package/dist/utils/motion/presence.js.map +1 -0
  1050. package/dist/utils/motion/reveal.d.ts +9 -0
  1051. package/dist/utils/motion/reveal.js +68 -0
  1052. package/dist/utils/motion/reveal.js.map +1 -0
  1053. package/dist/utils/motion/tween.d.ts +34 -0
  1054. package/dist/utils/motion/tween.js +50 -0
  1055. package/dist/utils/motion/tween.js.map +1 -0
  1056. package/dist/utils/props.d.ts +84 -0
  1057. package/dist/utils/props.js +189 -0
  1058. package/dist/utils/props.js.map +1 -0
  1059. package/dist/utils/request/http.d.ts +101 -0
  1060. package/dist/utils/request/http.js +154 -0
  1061. package/dist/utils/request/http.js.map +1 -0
  1062. package/dist/utils/request/use-request.d.ts +37 -0
  1063. package/dist/utils/request/use-request.js +90 -0
  1064. package/dist/utils/request/use-request.js.map +1 -0
  1065. package/dist/utils/request/wire.d.ts +48 -0
  1066. package/dist/utils/request/wire.js +208 -0
  1067. package/dist/utils/request/wire.js.map +1 -0
  1068. package/dist/utils/style/attached.d.ts +25 -0
  1069. package/dist/utils/style/attached.js +82 -0
  1070. package/dist/utils/style/attached.js.map +1 -0
  1071. package/dist/utils/style/item-styles.d.ts +18 -0
  1072. package/dist/utils/style/item-styles.js +79 -0
  1073. package/dist/utils/style/item-styles.js.map +1 -0
  1074. package/dist/utils/style/markers.d.ts +6 -0
  1075. package/dist/utils/style/markers.js +11 -0
  1076. package/dist/utils/style/markers.js.map +1 -0
  1077. package/dist/utils/style/shimmer.d.ts +20 -0
  1078. package/dist/utils/style/shimmer.js +58 -0
  1079. package/dist/utils/style/shimmer.js.map +1 -0
  1080. package/dist/utils/style/styles.d.ts +118 -0
  1081. package/dist/utils/style/styles.js +114 -0
  1082. package/dist/utils/style/styles.js.map +1 -0
  1083. package/dist/utils/style/swatch-styles.d.ts +10 -0
  1084. package/dist/utils/style/swatch-styles.js +19 -0
  1085. package/dist/utils/style/swatch-styles.js.map +1 -0
  1086. package/dist/utils/style/tone-styles.d.ts +58 -0
  1087. package/dist/utils/style/tone-styles.js +180 -0
  1088. package/dist/utils/style/tone-styles.js.map +1 -0
  1089. package/dist/utils/style/transitions.d.ts +43 -0
  1090. package/dist/utils/style/transitions.js +118 -0
  1091. package/dist/utils/style/transitions.js.map +1 -0
  1092. package/dist/utils/style/typography.d.ts +155 -0
  1093. package/dist/utils/style/typography.js +80 -0
  1094. package/dist/utils/style/typography.js.map +1 -0
  1095. package/dist/utils/style/vars.d.ts +18 -0
  1096. package/dist/utils/style/vars.js +21 -0
  1097. package/dist/utils/style/vars.js.map +1 -0
  1098. package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
  1099. package/dist/utils/virtual/use-virtualizer.js +94 -0
  1100. package/dist/utils/virtual/use-virtualizer.js.map +1 -0
  1101. package/dist/utils/virtual/virtualizer.d.ts +145 -0
  1102. package/dist/utils/virtual/virtualizer.js +316 -0
  1103. package/dist/utils/virtual/virtualizer.js.map +1 -0
  1104. package/dist/xlsx/index.d.ts +7 -0
  1105. package/dist/xlsx/index.js +1 -0
  1106. package/dist/xlsx/workbook.d.ts +33 -0
  1107. package/dist/xlsx/workbook.js +195 -0
  1108. package/dist/xlsx/workbook.js.map +1 -0
  1109. package/package.json +205 -3
@@ -0,0 +1,26 @@
1
+ import { match } from "pinyin-pro";
2
+ //#region src/config/pinyin.ts
3
+ /**
4
+ * 拼音匹配(子路径 `@zerodep-dev/vue-tsx-pro-ui/pinyin`;pinyin-pro 是可选的 peer 依赖,用到才安装):
5
+ * 选项过滤、命令面板、树的搜索除了按字面匹配,还认全拼、首字母与两者混写(“bj”“beijing”“beij”都能搜到“北京”)。
6
+ *
7
+ * app.use(createUi({ textMatcher: createPinyinMatcher() }))
8
+ *
9
+ * 多音字任一读音都算(“会计”既能搜 kuaiji 也能搜 huiji);拼音要对上连续的几个字(“hanpin”搜不到“汉语拼音”),
10
+ * 不在中间跳字,免得结果太宽。只有输入里都是字母(可带空格)时才按拼音匹配,输入汉字时就是普通的字面匹配。
11
+ * pinyin-pro 的字典约 300 KB:只有用到这个子路径的应用才打包它。
12
+ */
13
+ /** 输入是拼音:只有字母与空格 */
14
+ var PINYIN_QUERY = /^[a-z\s]+$/i;
15
+ /** 拼音匹配器:交给 createUi / Provider 的 textMatcher */
16
+ function createPinyinMatcher() {
17
+ return (text, query) => {
18
+ const input = query.trim();
19
+ if (!input || !PINYIN_QUERY.test(input) || !/[㐀-鿿]/.test(text)) return false;
20
+ return match(text, input.replace(/\s+/g, ""), { continuous: true }) != null;
21
+ };
22
+ }
23
+ //#endregion
24
+ export { createPinyinMatcher };
25
+
26
+ //# sourceMappingURL=pinyin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinyin.js","names":[],"sources":["../../src/config/pinyin.ts"],"sourcesContent":["/**\n * 拼音匹配(子路径 `@zerodep-dev/vue-tsx-pro-ui/pinyin`;pinyin-pro 是可选的 peer 依赖,用到才安装):\n * 选项过滤、命令面板、树的搜索除了按字面匹配,还认全拼、首字母与两者混写(“bj”“beijing”“beij”都能搜到“北京”)。\n *\n * app.use(createUi({ textMatcher: createPinyinMatcher() }))\n *\n * 多音字任一读音都算(“会计”既能搜 kuaiji 也能搜 huiji);拼音要对上连续的几个字(“hanpin”搜不到“汉语拼音”),\n * 不在中间跳字,免得结果太宽。只有输入里都是字母(可带空格)时才按拼音匹配,输入汉字时就是普通的字面匹配。\n * pinyin-pro 的字典约 300 KB:只有用到这个子路径的应用才打包它。\n */\nimport { match } from 'pinyin-pro';\nimport type { TextMatcher } from './context';\n\n/** 输入是拼音:只有字母与空格 */\nconst PINYIN_QUERY = /^[a-z\\s]+$/i;\n\n/** 拼音匹配器:交给 createUi / Provider 的 textMatcher */\nexport function createPinyinMatcher(): TextMatcher {\n return (text, query) => {\n const input = query.trim();\n if (!input || !PINYIN_QUERY.test(input) || !/[㐀-鿿]/.test(text)) return false;\n return match(text, input.replace(/\\s+/g, ''), { continuous: true }) != null;\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAM,eAAe;;AAGrB,SAAgB,sBAAmC;CACjD,QAAQ,MAAM,UAAU;EACtB,MAAM,QAAQ,MAAM,KAAK;EACzB,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,OAAO;EACvE,OAAO,MAAM,MAAM,MAAM,QAAQ,QAAQ,EAAE,GAAG,EAAE,YAAY,KAAK,CAAC,KAAK;CACzE;AACF"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * 放在地址查询参数里的状态(参考 nuqs 的 useQueryState、VueUse 的 useRouteQuery):刷新、分享链接、后退回来都还在。
3
+ *
4
+ * let view = _fromRef(useQueryState('view', 'all')); ?view=mine
5
+ * const filters = useQueryStates({ keyword: '', year: 2026 }); ?keyword=泵&year=2025
6
+ *
7
+ * - 返回的 Ref 是这一页的状态本身:改了立即生效,随后合并写进地址(replace,不加历史记录);
8
+ * 地址变了(后退、点了带参数的链接)跟着变
9
+ * - 等于初始值的键从地址里删掉;地址里的值读不出(格式不对)时用初始值
10
+ * - 读写按初始值的类型(queryCodecs):数字、布尔、字符串数组、对象(JSON),其余按字符串;初始值是 null 时按字符串,
11
+ * 别的类型(数字、日期)写 codec
12
+ * - 路由适配没有 query、replaceQuery(没配路由、服务端渲染)时就是普通的状态
13
+ */
14
+ import { type Ref } from 'vue';
15
+ /** 一个值在地址里的写法 */
16
+ export interface QueryCodec<T> {
17
+ /** 从地址读回;读不出时返回 undefined,用初始值 */
18
+ parse(value: string | readonly string[]): T | undefined;
19
+ /** 写进地址的文字;数组写成同名的多个参数 */
20
+ serialize(value: T): string | readonly string[];
21
+ }
22
+ declare const first: (value: string | readonly string[]) => string;
23
+ /** 常用的写法;useQueryState 按初始值的类型自动选 */
24
+ export declare const queryCodecs: {
25
+ /** 原样 */
26
+ string: {
27
+ parse: typeof first;
28
+ serialize: (value: string | null) => string;
29
+ };
30
+ /** 数字;空着是 null */
31
+ number: {
32
+ parse(value: string | readonly string[]): number | null | undefined;
33
+ serialize: (value: number | null) => string;
34
+ };
35
+ /** true / false */
36
+ boolean: {
37
+ parse: (value: string | readonly string[]) => boolean | undefined;
38
+ serialize: StringConstructor;
39
+ };
40
+ /** 几个固定值之一(页签、类型):别的值读不出,用初始值 */
41
+ oneOf: <const T extends string>(values: readonly T[]) => QueryCodec<T>;
42
+ /** 字符串数组:同名的多个参数(?tag=a&tag=b) */
43
+ strings: {
44
+ parse: (value: string | readonly string[]) => string[];
45
+ serialize: (value: readonly string[]) => readonly string[];
46
+ };
47
+ /** JSON */
48
+ json: {
49
+ parse(value: string | readonly string[]): unknown;
50
+ serialize: (value: unknown) => string;
51
+ };
52
+ };
53
+ /** 各键的写法;没写的按初始值的类型 */
54
+ export type QueryCodecs<T> = {
55
+ [K in keyof T]?: QueryCodec<T[K]>;
56
+ };
57
+ /** 地址里的一个参数 ↔ 一个状态(在 setup 里调用;见文件开头) */
58
+ export declare function useQueryState<T>(key: string, initial: T, codec?: QueryCodec<T>): Ref<T>;
59
+ /** 地址里的几个参数 ↔ 一个对象,键名就是参数名(在 setup 里调用;见文件开头) */
60
+ export declare function useQueryStates<T extends object>(initial: T, codecs?: QueryCodecs<T>): Ref<T>;
61
+ export {};
@@ -0,0 +1,113 @@
1
+ import { useConfig } from "./context.js";
2
+ import { sameValue } from "../utils/data/equality.js";
3
+ import { shallowRef, watch } from "vue";
4
+ //#region src/config/query-state.ts
5
+ /**
6
+ * 放在地址查询参数里的状态(参考 nuqs 的 useQueryState、VueUse 的 useRouteQuery):刷新、分享链接、后退回来都还在。
7
+ *
8
+ * let view = _fromRef(useQueryState('view', 'all')); ?view=mine
9
+ * const filters = useQueryStates({ keyword: '', year: 2026 }); ?keyword=泵&year=2025
10
+ *
11
+ * - 返回的 Ref 是这一页的状态本身:改了立即生效,随后合并写进地址(replace,不加历史记录);
12
+ * 地址变了(后退、点了带参数的链接)跟着变
13
+ * - 等于初始值的键从地址里删掉;地址里的值读不出(格式不对)时用初始值
14
+ * - 读写按初始值的类型(queryCodecs):数字、布尔、字符串数组、对象(JSON),其余按字符串;初始值是 null 时按字符串,
15
+ * 别的类型(数字、日期)写 codec
16
+ * - 路由适配没有 query、replaceQuery(没配路由、服务端渲染)时就是普通的状态
17
+ */
18
+ var first = (value) => typeof value === "string" ? value : value[0] ?? "";
19
+ /** 常用的写法;useQueryState 按初始值的类型自动选 */
20
+ var queryCodecs = {
21
+ /** 原样 */
22
+ string: {
23
+ parse: first,
24
+ serialize: (value) => value ?? ""
25
+ },
26
+ /** 数字;空着是 null */
27
+ number: {
28
+ parse(value) {
29
+ const text = first(value);
30
+ if (text === "") return null;
31
+ const number = Number(text);
32
+ return Number.isFinite(number) ? number : void 0;
33
+ },
34
+ serialize: (value) => value == null ? "" : String(value)
35
+ },
36
+ /** true / false */
37
+ boolean: {
38
+ parse: (value) => first(value) === "true" ? true : first(value) === "false" ? false : void 0,
39
+ serialize: String
40
+ },
41
+ /** 几个固定值之一(页签、类型):别的值读不出,用初始值 */
42
+ oneOf: (values) => ({
43
+ parse: (value) => values.find((item) => item === first(value)),
44
+ serialize: (value) => value
45
+ }),
46
+ /** 字符串数组:同名的多个参数(?tag=a&tag=b) */
47
+ strings: {
48
+ parse: (value) => typeof value === "string" ? [value] : [...value],
49
+ serialize: (value) => value
50
+ },
51
+ /** JSON */
52
+ json: {
53
+ parse(value) {
54
+ try {
55
+ return JSON.parse(first(value));
56
+ } catch {
57
+ return;
58
+ }
59
+ },
60
+ serialize: (value) => JSON.stringify(value)
61
+ }
62
+ };
63
+ /** 按初始值的类型选写法 */
64
+ function codecOf(initial) {
65
+ return typeof initial === "number" ? queryCodecs.number : typeof initial === "boolean" ? queryCodecs.boolean : Array.isArray(initial) ? queryCodecs.strings : typeof initial === "object" && initial !== null ? queryCodecs.json : queryCodecs.string;
66
+ }
67
+ /** 一个参数:读回来(没有、读不出时是 initial),写进去(等于 initial 时删掉) */
68
+ function param(key, initial, codec) {
69
+ return {
70
+ read: (query) => {
71
+ const text = query[key];
72
+ const parsed = text === void 0 ? void 0 : codec.parse(text);
73
+ return parsed === void 0 ? initial : parsed;
74
+ },
75
+ write: (value) => sameValue(value, initial) ? void 0 : codec.serialize(value)
76
+ };
77
+ }
78
+ /** 地址里的一个参数 ↔ 一个状态(在 setup 里调用;见文件开头) */
79
+ function useQueryState(key, initial, codec = codecOf(initial)) {
80
+ const { read, write } = param(key, initial, codec);
81
+ return useQuerySync(initial, read, (value) => ({ [key]: write(value) }));
82
+ }
83
+ /** 地址里的几个参数 ↔ 一个对象,键名就是参数名(在 setup 里调用;见文件开头) */
84
+ function useQueryStates(initial, codecs = {}) {
85
+ const params = Object.keys(initial).map((key) => ({
86
+ key,
87
+ ...param(key, initial[key], codecs[key] ?? codecOf(initial[key]))
88
+ }));
89
+ return useQuerySync(initial, (query) => {
90
+ const value = { ...initial };
91
+ for (const { key, read } of params) value[key] = read(query);
92
+ return value;
93
+ }, (value) => Object.fromEntries(params.map(({ key, write }) => [key, write(value[key])])));
94
+ }
95
+ /** 状态以本地为准,与地址双向同步 */
96
+ function useQuerySync(initial, read, write) {
97
+ const router = useConfig().router;
98
+ const query = router?.query;
99
+ const replaceQuery = router?.replaceQuery;
100
+ const state = shallowRef(query ? read(query()) : initial);
101
+ if (!query || !replaceQuery) return state;
102
+ watch(() => read(query()), (value) => {
103
+ if (!sameValue(value, state.value)) state.value = value;
104
+ });
105
+ watch(state, (value) => {
106
+ if (!sameValue(read(query()), value)) replaceQuery(write(value));
107
+ });
108
+ return state;
109
+ }
110
+ //#endregion
111
+ export { queryCodecs, useQueryState, useQueryStates };
112
+
113
+ //# sourceMappingURL=query-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-state.js","names":[],"sources":["../../src/config/query-state.ts"],"sourcesContent":["/**\n * 放在地址查询参数里的状态(参考 nuqs 的 useQueryState、VueUse 的 useRouteQuery):刷新、分享链接、后退回来都还在。\n *\n * let view = _fromRef(useQueryState('view', 'all')); ?view=mine\n * const filters = useQueryStates({ keyword: '', year: 2026 }); ?keyword=泵&year=2025\n *\n * - 返回的 Ref 是这一页的状态本身:改了立即生效,随后合并写进地址(replace,不加历史记录);\n * 地址变了(后退、点了带参数的链接)跟着变\n * - 等于初始值的键从地址里删掉;地址里的值读不出(格式不对)时用初始值\n * - 读写按初始值的类型(queryCodecs):数字、布尔、字符串数组、对象(JSON),其余按字符串;初始值是 null 时按字符串,\n * 别的类型(数字、日期)写 codec\n * - 路由适配没有 query、replaceQuery(没配路由、服务端渲染)时就是普通的状态\n */\nimport { shallowRef, watch, type Ref } from 'vue';\nimport { sameValue } from '../utils/data/equality';\nimport { useConfig, type QueryPatch, type QueryValues } from './context';\n\n/** 一个值在地址里的写法 */\nexport interface QueryCodec<T> {\n /** 从地址读回;读不出时返回 undefined,用初始值 */\n parse(value: string | readonly string[]): T | undefined;\n /** 写进地址的文字;数组写成同名的多个参数 */\n serialize(value: T): string | readonly string[];\n}\n\nconst first = (value: string | readonly string[]) =>\n typeof value === 'string' ? value : (value[0] ?? '');\n\n/** 常用的写法;useQueryState 按初始值的类型自动选 */\nexport const queryCodecs = {\n /** 原样 */\n string: {\n parse: first,\n serialize: (value) => value ?? '',\n } satisfies QueryCodec<string | null>,\n /** 数字;空着是 null */\n number: {\n parse(value) {\n const text = first(value);\n if (text === '') return null;\n const number = Number(text);\n return Number.isFinite(number) ? number : undefined;\n },\n serialize: (value) => (value == null ? '' : String(value)),\n } satisfies QueryCodec<number | null>,\n /** true / false */\n boolean: {\n parse: (value) =>\n first(value) === 'true' ? true : first(value) === 'false' ? false : undefined,\n serialize: String,\n } satisfies QueryCodec<boolean>,\n /** 几个固定值之一(页签、类型):别的值读不出,用初始值 */\n oneOf: <const T extends string>(values: readonly T[]): QueryCodec<T> => ({\n parse: (value) => values.find((item) => item === first(value)),\n serialize: (value) => value,\n }),\n /** 字符串数组:同名的多个参数(?tag=a&tag=b) */\n strings: {\n parse: (value) => (typeof value === 'string' ? [value] : [...value]),\n serialize: (value) => value,\n } satisfies QueryCodec<readonly string[]>,\n /** JSON */\n json: {\n parse(value) {\n try {\n return JSON.parse(first(value)) as unknown;\n } catch {\n return undefined;\n }\n },\n serialize: (value) => JSON.stringify(value),\n } satisfies QueryCodec<unknown>,\n};\n\n/** 按初始值的类型选写法 */\nfunction codecOf<T>(initial: T): QueryCodec<T> {\n const codec =\n typeof initial === 'number'\n ? queryCodecs.number\n : typeof initial === 'boolean'\n ? queryCodecs.boolean\n : Array.isArray(initial)\n ? queryCodecs.strings\n : typeof initial === 'object' && initial !== null\n ? queryCodecs.json\n : queryCodecs.string;\n return codec as QueryCodec<unknown> as QueryCodec<T>;\n}\n\n/** 各键的写法;没写的按初始值的类型 */\nexport type QueryCodecs<T> = { [K in keyof T]?: QueryCodec<T[K]> };\n\n/** 一个参数:读回来(没有、读不出时是 initial),写进去(等于 initial 时删掉) */\nfunction param<T>(key: string, initial: T, codec: QueryCodec<T>) {\n return {\n read: (query: QueryValues): T => {\n const text = query[key];\n const parsed = text === undefined ? undefined : codec.parse(text);\n return parsed === undefined ? initial : parsed;\n },\n write: (value: T) => (sameValue(value, initial) ? undefined : codec.serialize(value)),\n };\n}\n\n/** 地址里的一个参数 ↔ 一个状态(在 setup 里调用;见文件开头) */\nexport function useQueryState<T>(\n key: string,\n initial: T,\n codec: QueryCodec<T> = codecOf(initial),\n): Ref<T> {\n const { read, write } = param(key, initial, codec);\n return useQuerySync(initial, read, (value) => ({ [key]: write(value) }));\n}\n\n/** 地址里的几个参数 ↔ 一个对象,键名就是参数名(在 setup 里调用;见文件开头) */\nexport function useQueryStates<T extends object>(initial: T, codecs: QueryCodecs<T> = {}): Ref<T> {\n const params = (Object.keys(initial) as (keyof T & string)[]).map((key) => ({\n key,\n ...param(key, initial[key], codecs[key] ?? codecOf(initial[key])),\n }));\n return useQuerySync(\n initial,\n (query) => {\n const value = { ...initial };\n for (const { key, read } of params) value[key] = read(query);\n return value;\n },\n (value) => Object.fromEntries(params.map(({ key, write }) => [key, write(value[key])])),\n );\n}\n\n/** 状态以本地为准,与地址双向同步 */\nfunction useQuerySync<T>(\n initial: T,\n read: (query: QueryValues) => T,\n write: (value: T) => QueryPatch,\n): Ref<T> {\n const router = useConfig().router;\n const query = router?.query;\n const replaceQuery = router?.replaceQuery;\n const state = shallowRef(query ? read(query()) : initial) as Ref<T>;\n if (!query || !replaceQuery) return state;\n // 地址变了:跟着变(自己写进去的那次读回来相等,不再写)\n watch(\n () => read(query()),\n (value) => {\n if (!sameValue(value, state.value)) state.value = value;\n },\n );\n watch(state, (value) => {\n if (!sameValue(read(query()), value)) replaceQuery(write(value));\n });\n return state;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAyBA,IAAM,SAAS,UACb,OAAO,UAAU,WAAW,QAAS,MAAM,MAAM;;AAGnD,IAAa,cAAc;;CAEzB,QAAQ;EACN,OAAO;EACP,YAAY,UAAU,SAAS;CACjC;;CAEA,QAAQ;EACN,MAAM,OAAO;GACX,MAAM,OAAO,MAAM,KAAK;GACxB,IAAI,SAAS,IAAI,OAAO;GACxB,MAAM,SAAS,OAAO,IAAI;GAC1B,OAAO,OAAO,SAAS,MAAM,IAAI,SAAS,KAAA;EAC5C;EACA,YAAY,UAAW,SAAS,OAAO,KAAK,OAAO,KAAK;CAC1D;;CAEA,SAAS;EACP,QAAQ,UACN,MAAM,KAAK,MAAM,SAAS,OAAO,MAAM,KAAK,MAAM,UAAU,QAAQ,KAAA;EACtE,WAAW;CACb;;CAEA,QAAgC,YAAyC;EACvE,QAAQ,UAAU,OAAO,MAAM,SAAS,SAAS,MAAM,KAAK,CAAC;EAC7D,YAAY,UAAU;CACxB;;CAEA,SAAS;EACP,QAAQ,UAAW,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK;EAClE,YAAY,UAAU;CACxB;;CAEA,MAAM;EACJ,MAAM,OAAO;GACX,IAAI;IACF,OAAO,KAAK,MAAM,MAAM,KAAK,CAAC;GAChC,QAAQ;IACN;GACF;EACF;EACA,YAAY,UAAU,KAAK,UAAU,KAAK;CAC5C;AACF;;AAGA,SAAS,QAAW,SAA2B;CAW7C,OATE,OAAO,YAAY,WACf,YAAY,SACZ,OAAO,YAAY,YACjB,YAAY,UACZ,MAAM,QAAQ,OAAO,IACnB,YAAY,UACZ,OAAO,YAAY,YAAY,YAAY,OACzC,YAAY,OACZ,YAAY;AAE1B;;AAMA,SAAS,MAAS,KAAa,SAAY,OAAsB;CAC/D,OAAO;EACL,OAAO,UAA0B;GAC/B,MAAM,OAAO,MAAM;GACnB,MAAM,SAAS,SAAS,KAAA,IAAY,KAAA,IAAY,MAAM,MAAM,IAAI;GAChE,OAAO,WAAW,KAAA,IAAY,UAAU;EAC1C;EACA,QAAQ,UAAc,UAAU,OAAO,OAAO,IAAI,KAAA,IAAY,MAAM,UAAU,KAAK;CACrF;AACF;;AAGA,SAAgB,cACd,KACA,SACA,QAAuB,QAAQ,OAAO,GAC9B;CACR,MAAM,EAAE,MAAM,UAAU,MAAM,KAAK,SAAS,KAAK;CACjD,OAAO,aAAa,SAAS,OAAO,WAAW,GAAG,MAAM,MAAM,KAAK,EAAE,EAAE;AACzE;;AAGA,SAAgB,eAAiC,SAAY,SAAyB,CAAC,GAAW;CAChG,MAAM,SAAU,OAAO,KAAK,OAAO,CAAC,CAA0B,KAAK,SAAS;EAC1E;EACA,GAAG,MAAM,KAAK,QAAQ,MAAM,OAAO,QAAQ,QAAQ,QAAQ,IAAI,CAAC;CAClE,EAAE;CACF,OAAO,aACL,UACC,UAAU;EACT,MAAM,QAAQ,EAAE,GAAG,QAAQ;EAC3B,KAAK,MAAM,EAAE,KAAK,UAAU,QAAQ,MAAM,OAAO,KAAK,KAAK;EAC3D,OAAO;CACT,IACC,UAAU,OAAO,YAAY,OAAO,KAAK,EAAE,KAAK,YAAY,CAAC,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,CACxF;AACF;;AAGA,SAAS,aACP,SACA,MACA,OACQ;CACR,MAAM,SAAS,UAAU,CAAC,CAAC;CAC3B,MAAM,QAAQ,QAAQ;CACtB,MAAM,eAAe,QAAQ;CAC7B,MAAM,QAAQ,WAAW,QAAQ,KAAK,MAAM,CAAC,IAAI,OAAO;CACxD,IAAI,CAAC,SAAS,CAAC,cAAc,OAAO;CAEpC,YACQ,KAAK,MAAM,CAAC,IACjB,UAAU;EACT,IAAI,CAAC,UAAU,OAAO,MAAM,KAAK,GAAG,MAAM,QAAQ;CACpD,CACF;CACA,MAAM,QAAQ,UAAU;EACtB,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,GAAG,KAAK,GAAG,aAAa,MAAM,KAAK,CAAC;CACjE,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,13 @@
1
+ import type { LanguageInput } from 'shiki/types';
2
+ import type { Highlighter } from './context';
3
+ /** createShikiHighlighter 的选项 */
4
+ export interface ShikiHighlighterOptions {
5
+ /**
6
+ * 可用的语言:语言名(含别名,如 ts)→ 加载语法的函数。不传时用 Shiki 自带的全部语言(第一次高亮时才加载这张表),
7
+ * 构建时每种语言单独成块、用到才下载。只用几种语言时传上(Shiki 推荐的细粒度写法),开发服务器不用处理两百多种语法:
8
+ * `{ ts: () => import('@shikijs/langs/typescript'), tsx: () => import('@shikijs/langs/tsx') }`
9
+ */
10
+ languages?: Record<string, () => Promise<LanguageInput>>;
11
+ }
12
+ /** 生成高亮器;Shiki 本身在第一次高亮时才创建,同一个高亮器里的语言只加载一次 */
13
+ export declare function createShikiHighlighter(options?: ShikiHighlighterOptions): Highlighter;
@@ -0,0 +1,97 @@
1
+ import { colors } from "./theme/tokens.js";
2
+ //#region src/config/shiki.ts
3
+ var THEME = "vue-tsx-pro";
4
+ /** 组件库的 Shiki 主题;createCssVariablesTheme 来自按需加载的 shiki/core */
5
+ function theme(createCssVariablesTheme) {
6
+ const base = createCssVariablesTheme({
7
+ name: THEME,
8
+ variableDefaults: {
9
+ foreground: String(colors.text),
10
+ background: "transparent",
11
+ "token-comment": String(colors.codeComment),
12
+ "token-punctuation": String(colors.codeComment),
13
+ "token-keyword": String(colors.codeKeyword),
14
+ "token-link": String(colors.codeKeyword),
15
+ "token-string": String(colors.codeString),
16
+ "token-string-expression": String(colors.codeString),
17
+ "token-constant": String(colors.codeNumber),
18
+ "token-function": String(colors.codeFunction),
19
+ "token-parameter": String(colors.text),
20
+ "token-inserted": String(colors.codeString),
21
+ "token-deleted": String(colors.dangerText),
22
+ "token-changed": String(colors.codeNumber)
23
+ }
24
+ });
25
+ return {
26
+ ...base,
27
+ tokenColors: [...base.tokenColors ?? [], ...extraTokenColors]
28
+ };
29
+ }
30
+ /** Shiki 的 CSS 变量主题不区分类型、标签名、属性名:追加几条规则,同样可以用 --shiki-token-* 覆盖 */
31
+ var extraTokenColors = [
32
+ {
33
+ scope: [
34
+ "entity.name.type",
35
+ "entity.name.class",
36
+ "support.type",
37
+ "support.class",
38
+ "entity.other.inherited-class"
39
+ ],
40
+ settings: { foreground: `var(--shiki-token-type, ${String(colors.codeType)})` }
41
+ },
42
+ {
43
+ scope: ["entity.name.tag", "support.class.component"],
44
+ settings: { foreground: `var(--shiki-token-tag, ${String(colors.codeTag)})` }
45
+ },
46
+ {
47
+ scope: ["entity.other.attribute-name"],
48
+ settings: { foreground: `var(--shiki-token-attribute, ${String(colors.codeAttribute)})` }
49
+ }
50
+ ];
51
+ /** 生成高亮器;Shiki 本身在第一次高亮时才创建,同一个高亮器里的语言只加载一次 */
52
+ function createShikiHighlighter(options = {}) {
53
+ let languages;
54
+ const languageTable = () => languages ??= options.languages ? Promise.resolve(options.languages) : import("shiki/langs").then((module) => module.bundledLanguages);
55
+ let core;
56
+ const loadCore = async () => {
57
+ const [shiki, engine] = await Promise.all([import("shiki/core"), import("shiki/engine/javascript")]);
58
+ return shiki.createHighlighterCore({
59
+ themes: [theme(shiki.createCssVariablesTheme)],
60
+ langs: [],
61
+ engine: engine.createJavaScriptRegexEngine({ forgiving: true })
62
+ });
63
+ };
64
+ const loading = /* @__PURE__ */ new Map();
65
+ /** 加载语言,返回能否高亮;不认识的语言返回 false */
66
+ const ensureLanguage = async (highlighter, lang) => {
67
+ if (highlighter.getLoadedLanguages().includes(lang)) return true;
68
+ const load = (await languageTable())[lang];
69
+ if (!load) return false;
70
+ let pending = loading.get(lang);
71
+ if (!pending) {
72
+ pending = load().then(async (grammar) => {
73
+ await highlighter.loadLanguage(grammar);
74
+ return true;
75
+ }, (error) => {
76
+ loading.delete(lang);
77
+ throw error;
78
+ });
79
+ loading.set(lang, pending);
80
+ }
81
+ return pending;
82
+ };
83
+ return async (code, lang) => {
84
+ const highlighter = await (core ??= loadCore());
85
+ const name = lang.toLowerCase();
86
+ const known = await ensureLanguage(highlighter, name);
87
+ return highlighter.codeToHtml(code, {
88
+ lang: known ? name : "text",
89
+ theme: THEME,
90
+ structure: "inline"
91
+ });
92
+ };
93
+ }
94
+ //#endregion
95
+ export { createShikiHighlighter };
96
+
97
+ //# sourceMappingURL=shiki.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shiki.js","names":[],"sources":["../../src/config/shiki.ts"],"sourcesContent":["/**\n * Shiki 代码高亮器(子路径 `@zerodep-dev/vue-tsx-pro-ui/shiki`;shiki 是可选的 peer 依赖,用到才安装):\n *\n * app.use(createUi({ highlighter: createShikiHighlighter() }))\n *\n * - 正则引擎用 JavaScript 版(不加载 wasm),语法不完全支持的语言尽量高亮而不是报错\n * - 语言按需加载:第一次遇到某种语言时才下载它的语法;不认识的语言按纯文本显示\n * - Shiki 与正则引擎在第一次高亮时才加载:放在入口里的高亮器不会把它们带进首屏(文档站首屏因此少了约 240 KB)\n * - 颜色用 Shiki 的 CSS 变量主题(另加类型、标签名、属性名三类),默认值指向组件库的代码高亮 tokens(colors.code*):\n * 切换主题、覆盖 tokens 都不需要重新高亮;使用方也可以用 --shiki-token-keyword 这类变量单独调整\n */\nimport type { HighlighterCore } from 'shiki/core';\nimport type { LanguageInput } from 'shiki/types';\nimport type { Highlighter } from './context';\nimport { colors } from './theme/tokens';\n\n/** createShikiHighlighter 的选项 */\nexport interface ShikiHighlighterOptions {\n /**\n * 可用的语言:语言名(含别名,如 ts)→ 加载语法的函数。不传时用 Shiki 自带的全部语言(第一次高亮时才加载这张表),\n * 构建时每种语言单独成块、用到才下载。只用几种语言时传上(Shiki 推荐的细粒度写法),开发服务器不用处理两百多种语法:\n * `{ ts: () => import('@shikijs/langs/typescript'), tsx: () => import('@shikijs/langs/tsx') }`\n */\n languages?: Record<string, () => Promise<LanguageInput>>;\n}\n\nconst THEME = 'vue-tsx-pro';\n\n/** 组件库的 Shiki 主题;createCssVariablesTheme 来自按需加载的 shiki/core */\nfunction theme(createCssVariablesTheme: typeof import('shiki/core').createCssVariablesTheme) {\n // colors.x 在运行时是 var(--哈希) 字符串,作为 Shiki 变量的默认值:跟随当前主题\n const base = createCssVariablesTheme({\n name: THEME,\n variableDefaults: {\n foreground: String(colors.text),\n background: 'transparent',\n 'token-comment': String(colors.codeComment),\n 'token-punctuation': String(colors.codeComment),\n 'token-keyword': String(colors.codeKeyword),\n 'token-link': String(colors.codeKeyword),\n 'token-string': String(colors.codeString),\n 'token-string-expression': String(colors.codeString),\n 'token-constant': String(colors.codeNumber),\n 'token-function': String(colors.codeFunction),\n 'token-parameter': String(colors.text),\n 'token-inserted': String(colors.codeString),\n 'token-deleted': String(colors.dangerText),\n 'token-changed': String(colors.codeNumber),\n },\n });\n return { ...base, tokenColors: [...(base.tokenColors ?? []), ...extraTokenColors] };\n}\n\n/** Shiki 的 CSS 变量主题不区分类型、标签名、属性名:追加几条规则,同样可以用 --shiki-token-* 覆盖 */\nconst extraTokenColors = [\n {\n scope: [\n 'entity.name.type',\n 'entity.name.class',\n 'support.type',\n 'support.class',\n 'entity.other.inherited-class',\n ],\n settings: { foreground: `var(--shiki-token-type, ${String(colors.codeType)})` },\n },\n {\n scope: ['entity.name.tag', 'support.class.component'],\n settings: { foreground: `var(--shiki-token-tag, ${String(colors.codeTag)})` },\n },\n {\n scope: ['entity.other.attribute-name'],\n settings: { foreground: `var(--shiki-token-attribute, ${String(colors.codeAttribute)})` },\n },\n];\n\n/** 生成高亮器;Shiki 本身在第一次高亮时才创建,同一个高亮器里的语言只加载一次 */\nexport function createShikiHighlighter(options: ShikiHighlighterOptions = {}): Highlighter {\n // 全部语言的表有两百多项、每项一个动态导入:传了 languages 的应用不加载它\n type LanguageTable = Record<string, () => Promise<LanguageInput>>;\n let languages: Promise<LanguageTable> | undefined;\n const languageTable = (): Promise<LanguageTable> =>\n (languages ??= options.languages\n ? Promise.resolve(options.languages)\n : import('shiki/langs').then((module): LanguageTable => module.bundledLanguages));\n let core: Promise<HighlighterCore> | undefined;\n const loadCore = async () => {\n const [shiki, engine] = await Promise.all([\n import('shiki/core'),\n import('shiki/engine/javascript'),\n ]);\n return shiki.createHighlighterCore({\n themes: [theme(shiki.createCssVariablesTheme)],\n langs: [],\n engine: engine.createJavaScriptRegexEngine({ forgiving: true }),\n });\n };\n const loading = new Map<string, Promise<boolean>>();\n\n /** 加载语言,返回能否高亮;不认识的语言返回 false */\n const ensureLanguage = async (highlighter: HighlighterCore, lang: string) => {\n if (highlighter.getLoadedLanguages().includes(lang)) return true;\n const load = (await languageTable())[lang];\n if (!load) return false;\n let pending = loading.get(lang);\n if (!pending) {\n pending = load().then(\n async (grammar) => {\n await highlighter.loadLanguage(grammar);\n return true;\n },\n (error: unknown) => {\n // 下载失败(如断网)不缓存,下次再试\n loading.delete(lang);\n throw error;\n },\n );\n loading.set(lang, pending);\n }\n return pending;\n };\n\n return async (code, lang) => {\n const highlighter = await (core ??= loadCore());\n const name = lang.toLowerCase();\n const known = await ensureLanguage(highlighter, name);\n return highlighter.codeToHtml(code, {\n lang: known ? name : 'text',\n theme: THEME,\n // 只要行内的 span 与 br,外层的 pre、code 由 CodeBlock 渲染\n structure: 'inline',\n });\n };\n}\n"],"mappings":";;AA0BA,IAAM,QAAQ;;AAGd,SAAS,MAAM,yBAA8E;CAE3F,MAAM,OAAO,wBAAwB;EACnC,MAAM;EACN,kBAAkB;GAChB,YAAY,OAAO,OAAO,IAAI;GAC9B,YAAY;GACZ,iBAAiB,OAAO,OAAO,WAAW;GAC1C,qBAAqB,OAAO,OAAO,WAAW;GAC9C,iBAAiB,OAAO,OAAO,WAAW;GAC1C,cAAc,OAAO,OAAO,WAAW;GACvC,gBAAgB,OAAO,OAAO,UAAU;GACxC,2BAA2B,OAAO,OAAO,UAAU;GACnD,kBAAkB,OAAO,OAAO,UAAU;GAC1C,kBAAkB,OAAO,OAAO,YAAY;GAC5C,mBAAmB,OAAO,OAAO,IAAI;GACrC,kBAAkB,OAAO,OAAO,UAAU;GAC1C,iBAAiB,OAAO,OAAO,UAAU;GACzC,iBAAiB,OAAO,OAAO,UAAU;EAC3C;CACF,CAAC;CACD,OAAO;EAAE,GAAG;EAAM,aAAa,CAAC,GAAI,KAAK,eAAe,CAAC,GAAI,GAAG,gBAAgB;CAAE;AACpF;;AAGA,IAAM,mBAAmB;CACvB;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;EACF;EACA,UAAU,EAAE,YAAY,2BAA2B,OAAO,OAAO,QAAQ,EAAE,GAAG;CAChF;CACA;EACE,OAAO,CAAC,mBAAmB,yBAAyB;EACpD,UAAU,EAAE,YAAY,0BAA0B,OAAO,OAAO,OAAO,EAAE,GAAG;CAC9E;CACA;EACE,OAAO,CAAC,6BAA6B;EACrC,UAAU,EAAE,YAAY,gCAAgC,OAAO,OAAO,aAAa,EAAE,GAAG;CAC1F;AACF;;AAGA,SAAgB,uBAAuB,UAAmC,CAAC,GAAgB;CAGzF,IAAI;CACJ,MAAM,sBACH,cAAc,QAAQ,YACnB,QAAQ,QAAQ,QAAQ,SAAS,IACjC,OAAO,cAAc,CAAC,MAAM,WAA0B,OAAO,gBAAgB;CACnF,IAAI;CACJ,MAAM,WAAW,YAAY;EAC3B,MAAM,CAAC,OAAO,UAAU,MAAM,QAAQ,IAAI,CACxC,OAAO,eACP,OAAO,0BACT,CAAC;EACD,OAAO,MAAM,sBAAsB;GACjC,QAAQ,CAAC,MAAM,MAAM,uBAAuB,CAAC;GAC7C,OAAO,CAAC;GACR,QAAQ,OAAO,4BAA4B,EAAE,WAAW,KAAK,CAAC;EAChE,CAAC;CACH;CACA,MAAM,0BAAU,IAAI,IAA8B;;CAGlD,MAAM,iBAAiB,OAAO,aAA8B,SAAiB;EAC3E,IAAI,YAAY,mBAAmB,CAAC,CAAC,SAAS,IAAI,GAAG,OAAO;EAC5D,MAAM,QAAQ,MAAM,cAAc,EAAA,CAAG;EACrC,IAAI,CAAC,MAAM,OAAO;EAClB,IAAI,UAAU,QAAQ,IAAI,IAAI;EAC9B,IAAI,CAAC,SAAS;GACZ,UAAU,KAAK,CAAC,CAAC,KACf,OAAO,YAAY;IACjB,MAAM,YAAY,aAAa,OAAO;IACtC,OAAO;GACT,IACC,UAAmB;IAElB,QAAQ,OAAO,IAAI;IACnB,MAAM;GACR,CACF;GACA,QAAQ,IAAI,MAAM,OAAO;EAC3B;EACA,OAAO;CACT;CAEA,OAAO,OAAO,MAAM,SAAS;EAC3B,MAAM,cAAc,OAAO,SAAS,SAAS;EAC7C,MAAM,OAAO,KAAK,YAAY;EAC9B,MAAM,QAAQ,MAAM,eAAe,aAAa,IAAI;EACpD,OAAO,YAAY,WAAW,MAAM;GAClC,MAAM,QAAQ,OAAO;GACrB,OAAO;GAEP,WAAW;EACb,CAAC;CACH;AACF"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * 组件的主题定制:应用级 `createUi({ styles })`、局部 `<Provider styles>` 改组件的样式与档位,不必包一层组件
3
+ * (参考 MUI 主题的 styleOverrides / variants、Panda 的配方扩展)。
4
+ *
5
+ * createUi({
6
+ * styles: {
7
+ * Button: {
8
+ * base: { root: { letterSpacing: '0.02em' } }, // 追加在组件自己的样式之后
9
+ * variants: { size: { xl: { root: { fontSize: '_xxl' } } } }, // 新档位:先扩展 ButtonVariants 接口
10
+ * },
11
+ * },
12
+ * })
13
+ *
14
+ * 合并顺序:组件的基础 < 档位 < 组合档位 < createUi 的定制 < 外层 Provider < 内层 Provider < 使用方的 sx。
15
+ * 用配方写的组件(css.recipe 给了 name)才认这里的定制;部件上的 data-scope / data-part 也来自配方(partAttrs)。
16
+ */
17
+ import type { CompiledStyles, Recipe, RecipeExtension } from '@zerodep-dev/vue-tsx-pro-tsx/styles';
18
+ import type { BadgePart } from '../base/badge-styles';
19
+ import type { AlertPart } from '../feedback/Alert';
20
+ import type { ButtonPart } from '../base/button-core';
21
+ import type { TabPart } from '../navigation/Tabs';
22
+ import type { DataTablePart } from '../table/table-styles';
23
+ import type { TablePart } from '../table/Table';
24
+ import type { ChoicePart } from '../input/choice-styles';
25
+ import type { InputPart } from '../input/control';
26
+ import type { IndicatorPart } from '../base/Indicator';
27
+ import type { LinkPart } from '../base/Link';
28
+ import type { AvatarPart } from '../display/Avatar';
29
+ import type { CardPart } from '../display/Card';
30
+ import type { EmptyPart } from '../feedback/Empty';
31
+ import type { ProgressPart } from '../feedback/Progress';
32
+ import type { ResultPart } from '../feedback/Result';
33
+ import type { DialogPart } from '../overlay/Dialog';
34
+ import type { DrawerPart } from '../overlay/Drawer';
35
+ /** 可以定制样式的组件与它们的部件;新的配方组件在这里登记 */
36
+ export interface ComponentStyles {
37
+ /** Button、LinkButton、IconButton、IconLinkButton 共用 */
38
+ Button?: RecipeExtension<ButtonPart>;
39
+ /** Badge、Tag 共用 */
40
+ Badge?: RecipeExtension<BadgePart>;
41
+ /** Alert */
42
+ Alert?: RecipeExtension<AlertPart>;
43
+ /** Tabs 里的标签(Tab) */
44
+ Tab?: RecipeExtension<TabPart>;
45
+ /** Link */
46
+ Link?: RecipeExtension<LinkPart>;
47
+ /** Indicator */
48
+ Indicator?: RecipeExtension<IndicatorPart>;
49
+ /** Avatar(AvatarGroup 的“+N”也取它的外层样式) */
50
+ Avatar?: RecipeExtension<AvatarPart>;
51
+ /** Card */
52
+ Card?: RecipeExtension<CardPart>;
53
+ /** Progress(条形与环形) */
54
+ Progress?: RecipeExtension<ProgressPart>;
55
+ /** Empty */
56
+ Empty?: RecipeExtension<EmptyPart>;
57
+ /** Result */
58
+ Result?: RecipeExtension<ResultPart>;
59
+ /** Dialog、AlertDialog 共用:dialog 元素与标题行、标题、关闭按钮、说明、正文、页脚 */
60
+ Dialog?: RecipeExtension<DialogPart>;
61
+ /** Drawer:同 Dialog 的部件 */
62
+ Drawer?: RecipeExtension<DrawerPart>;
63
+ /** TextField、Textarea、NumberField、Select、Combobox、Cascader、TreeSelect、TagsInput、ColorField 与日期输入框的外壳共用 */
64
+ Input?: RecipeExtension<InputPart>;
65
+ /** Checkbox、Radio、Switch 与复选组、单选组共用 */
66
+ Choice?: RecipeExtension<ChoicePart>;
67
+ /** DataTable、TreeDataTable 共用 */
68
+ DataTable?: RecipeExtension<DataTablePart>;
69
+ /** 静态表格 Table 及其行、单元格 */
70
+ Table?: RecipeExtension<TablePart>;
71
+ }
72
+ /** 各层的定制:外层在前,组件按顺序交给配方(内层排在后面、盖过外层) */
73
+ export type StyleLayers = {
74
+ readonly [Name in keyof ComponentStyles]?: readonly NonNullable<ComponentStyles[Name]>[];
75
+ };
76
+ /** 加上一层定制:按组件逐个追加在外层之后;这一层没写的组件沿用外层的数组(同一个对象,配方的缓存照样命中) */
77
+ export declare function mergeStyles(outer: StyleLayers, inner: ComponentStyles | undefined): StyleLayers;
78
+ /** 一个部件交给 mergeAttrs / mergeProps 的默认层:样式与部件标记 */
79
+ export type PartLayer = Readonly<{
80
+ sx: readonly CompiledStyles[];
81
+ 'data-scope': string;
82
+ 'data-part': string;
83
+ }>;
84
+ /**
85
+ * 配方加上 createUi / Provider 里这个组件的定制:在 setup 里调用,返回的函数在渲染时传档位选择,
86
+ * 得到每个部件的默认层(样式 + data-scope / data-part),直接交给部件的合并:
87
+ *
88
+ * const recipe = useRecipe(alertRecipe);
89
+ * return () => {
90
+ * const s = recipe({ variant });
91
+ * return <div {...mergeAttrs<'div'>(s.root, rest)}><div {...mergeAttrs<'div'>(s.title, propsTitle)} /></div>;
92
+ * };
93
+ *
94
+ * 根元素还要加别的样式时:`{ ...s.root, sx: [s.root.sx, 别的] }`
95
+ */
96
+ export declare function useRecipe<P extends string, V>(recipe: Recipe<P, V>): (selection?: Parameters<Recipe<P, V>>[0]) => Readonly<Record<P, PartLayer>>;
97
+ /** 部件的 data 属性 */
98
+ export type PartAttrs = Readonly<{
99
+ 'data-scope': string;
100
+ 'data-part': string;
101
+ }>;
102
+ /**
103
+ * 部件的标记:`data-scope="button" data-part="icon"`(组件名转成连字符小写)。使用方的全局 CSS、测试
104
+ * 都能稳定地选中部件,不依赖生成的类名(同 Ark UI、Zag 的约定)。同一组合返回同一个对象
105
+ */
106
+ export declare function partAttrs(recipe: {
107
+ readonly name: string | undefined;
108
+ }, part: string): PartAttrs;
@@ -0,0 +1,59 @@
1
+ import { useConfig } from "./context.js";
2
+ //#region src/config/styles.ts
3
+ /** 加上一层定制:按组件逐个追加在外层之后;这一层没写的组件沿用外层的数组(同一个对象,配方的缓存照样命中) */
4
+ function mergeStyles(outer, inner) {
5
+ if (!inner) return outer;
6
+ const merged = { ...outer };
7
+ for (const [name, extension] of Object.entries(inner)) if (extension) merged[name] = [...merged[name] ?? [], extension];
8
+ return merged;
9
+ }
10
+ /** 配方算出的样式 → 各部件的默认层;同一组样式(配方按档位组合缓存)返回同一个对象,渲染里不新建 */
11
+ var layerCache = /* @__PURE__ */ new WeakMap();
12
+ /**
13
+ * 配方加上 createUi / Provider 里这个组件的定制:在 setup 里调用,返回的函数在渲染时传档位选择,
14
+ * 得到每个部件的默认层(样式 + data-scope / data-part),直接交给部件的合并:
15
+ *
16
+ * const recipe = useRecipe(alertRecipe);
17
+ * return () => {
18
+ * const s = recipe({ variant });
19
+ * return <div {...mergeAttrs<'div'>(s.root, rest)}><div {...mergeAttrs<'div'>(s.title, propsTitle)} /></div>;
20
+ * };
21
+ *
22
+ * 根元素还要加别的样式时:`{ ...s.root, sx: [s.root.sx, 别的] }`
23
+ */
24
+ function useRecipe(recipe) {
25
+ const config = useConfig();
26
+ const name = recipe.name;
27
+ return (selection) => {
28
+ const layers = name && config.styles[name];
29
+ const styles = layers?.length ? recipe(selection, ...layers) : recipe(selection);
30
+ let result = layerCache.get(styles);
31
+ if (!result) {
32
+ result = Object.fromEntries(recipe.parts.map((part) => [part, {
33
+ sx: styles[part],
34
+ ...partAttrs(recipe, part)
35
+ }]));
36
+ layerCache.set(styles, result);
37
+ }
38
+ return result;
39
+ };
40
+ }
41
+ var partCache = /* @__PURE__ */ new Map();
42
+ /**
43
+ * 部件的标记:`data-scope="button" data-part="icon"`(组件名转成连字符小写)。使用方的全局 CSS、测试
44
+ * 都能稳定地选中部件,不依赖生成的类名(同 Ark UI、Zag 的约定)。同一组合返回同一个对象
45
+ */
46
+ function partAttrs(recipe, part) {
47
+ const scope = (recipe.name ?? "").replace(/[A-Z]/g, (c, index) => index ? `-${c.toLowerCase()}` : c.toLowerCase());
48
+ const key = `${scope}\0${part}`;
49
+ let attrs = partCache.get(key);
50
+ if (!attrs) partCache.set(key, attrs = Object.freeze({
51
+ "data-scope": scope,
52
+ "data-part": part
53
+ }));
54
+ return attrs;
55
+ }
56
+ //#endregion
57
+ export { mergeStyles, partAttrs, useRecipe };
58
+
59
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","names":[],"sources":["../../src/config/styles.ts"],"sourcesContent":["/**\n * 组件的主题定制:应用级 `createUi({ styles })`、局部 `<Provider styles>` 改组件的样式与档位,不必包一层组件\n * (参考 MUI 主题的 styleOverrides / variants、Panda 的配方扩展)。\n *\n * createUi({\n * styles: {\n * Button: {\n * base: { root: { letterSpacing: '0.02em' } }, // 追加在组件自己的样式之后\n * variants: { size: { xl: { root: { fontSize: '_xxl' } } } }, // 新档位:先扩展 ButtonVariants 接口\n * },\n * },\n * })\n *\n * 合并顺序:组件的基础 < 档位 < 组合档位 < createUi 的定制 < 外层 Provider < 内层 Provider < 使用方的 sx。\n * 用配方写的组件(css.recipe 给了 name)才认这里的定制;部件上的 data-scope / data-part 也来自配方(partAttrs)。\n */\nimport type { CompiledStyles, Recipe, RecipeExtension } from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { useConfig } from './context';\nimport type { BadgePart } from '../base/badge-styles';\nimport type { AlertPart } from '../feedback/Alert';\nimport type { ButtonPart } from '../base/button-core';\nimport type { TabPart } from '../navigation/Tabs';\nimport type { DataTablePart } from '../table/table-styles';\nimport type { TablePart } from '../table/Table';\nimport type { ChoicePart } from '../input/choice-styles';\nimport type { InputPart } from '../input/control';\nimport type { IndicatorPart } from '../base/Indicator';\nimport type { LinkPart } from '../base/Link';\nimport type { AvatarPart } from '../display/Avatar';\nimport type { CardPart } from '../display/Card';\nimport type { EmptyPart } from '../feedback/Empty';\nimport type { ProgressPart } from '../feedback/Progress';\nimport type { ResultPart } from '../feedback/Result';\nimport type { DialogPart } from '../overlay/Dialog';\nimport type { DrawerPart } from '../overlay/Drawer';\n\n/** 可以定制样式的组件与它们的部件;新的配方组件在这里登记 */\nexport interface ComponentStyles {\n /** Button、LinkButton、IconButton、IconLinkButton 共用 */\n Button?: RecipeExtension<ButtonPart>;\n /** Badge、Tag 共用 */\n Badge?: RecipeExtension<BadgePart>;\n /** Alert */\n Alert?: RecipeExtension<AlertPart>;\n /** Tabs 里的标签(Tab) */\n Tab?: RecipeExtension<TabPart>;\n /** Link */\n Link?: RecipeExtension<LinkPart>;\n /** Indicator */\n Indicator?: RecipeExtension<IndicatorPart>;\n /** Avatar(AvatarGroup 的“+N”也取它的外层样式) */\n Avatar?: RecipeExtension<AvatarPart>;\n /** Card */\n Card?: RecipeExtension<CardPart>;\n /** Progress(条形与环形) */\n Progress?: RecipeExtension<ProgressPart>;\n /** Empty */\n Empty?: RecipeExtension<EmptyPart>;\n /** Result */\n Result?: RecipeExtension<ResultPart>;\n /** Dialog、AlertDialog 共用:dialog 元素与标题行、标题、关闭按钮、说明、正文、页脚 */\n Dialog?: RecipeExtension<DialogPart>;\n /** Drawer:同 Dialog 的部件 */\n Drawer?: RecipeExtension<DrawerPart>;\n /** TextField、Textarea、NumberField、Select、Combobox、Cascader、TreeSelect、TagsInput、ColorField 与日期输入框的外壳共用 */\n Input?: RecipeExtension<InputPart>;\n /** Checkbox、Radio、Switch 与复选组、单选组共用 */\n Choice?: RecipeExtension<ChoicePart>;\n /** DataTable、TreeDataTable 共用 */\n DataTable?: RecipeExtension<DataTablePart>;\n /** 静态表格 Table 及其行、单元格 */\n Table?: RecipeExtension<TablePart>;\n}\n\n/** 各层的定制:外层在前,组件按顺序交给配方(内层排在后面、盖过外层) */\nexport type StyleLayers = {\n readonly [Name in keyof ComponentStyles]?: readonly NonNullable<ComponentStyles[Name]>[];\n};\n\n/** 加上一层定制:按组件逐个追加在外层之后;这一层没写的组件沿用外层的数组(同一个对象,配方的缓存照样命中) */\nexport function mergeStyles(outer: StyleLayers, inner: ComponentStyles | undefined): StyleLayers {\n if (!inner) return outer;\n const merged: Record<string, readonly unknown[] | undefined> = { ...outer };\n for (const [name, extension] of Object.entries(inner)) {\n if (extension) merged[name] = [...(merged[name] ?? []), extension];\n }\n return merged as StyleLayers;\n}\n\n/** 一个部件交给 mergeAttrs / mergeProps 的默认层:样式与部件标记 */\nexport type PartLayer = Readonly<{\n sx: readonly CompiledStyles[];\n 'data-scope': string;\n 'data-part': string;\n}>;\n\n/** 配方算出的样式 → 各部件的默认层;同一组样式(配方按档位组合缓存)返回同一个对象,渲染里不新建 */\nconst layerCache = new WeakMap<object, Readonly<Record<string, PartLayer>>>();\n\n/**\n * 配方加上 createUi / Provider 里这个组件的定制:在 setup 里调用,返回的函数在渲染时传档位选择,\n * 得到每个部件的默认层(样式 + data-scope / data-part),直接交给部件的合并:\n *\n * const recipe = useRecipe(alertRecipe);\n * return () => {\n * const s = recipe({ variant });\n * return <div {...mergeAttrs<'div'>(s.root, rest)}><div {...mergeAttrs<'div'>(s.title, propsTitle)} /></div>;\n * };\n *\n * 根元素还要加别的样式时:`{ ...s.root, sx: [s.root.sx, 别的] }`\n */\nexport function useRecipe<P extends string, V>(\n recipe: Recipe<P, V>,\n): (selection?: Parameters<Recipe<P, V>>[0]) => Readonly<Record<P, PartLayer>> {\n const config = useConfig();\n const name = recipe.name as keyof ComponentStyles | undefined;\n return (selection) => {\n const layers = name && (config.styles[name] as readonly RecipeExtension<P>[] | undefined);\n const styles = layers?.length ? recipe(selection, ...layers) : recipe(selection);\n let result = layerCache.get(styles);\n if (!result) {\n result = Object.fromEntries(\n recipe.parts.map((part) => [part, { sx: styles[part], ...partAttrs(recipe, part) }]),\n );\n layerCache.set(styles, result);\n }\n return result as Readonly<Record<P, PartLayer>>;\n };\n}\n\n/** 部件的 data 属性 */\nexport type PartAttrs = Readonly<{ 'data-scope': string; 'data-part': string }>;\n\nconst partCache = new Map<string, PartAttrs>();\n\n/**\n * 部件的标记:`data-scope=\"button\" data-part=\"icon\"`(组件名转成连字符小写)。使用方的全局 CSS、测试\n * 都能稳定地选中部件,不依赖生成的类名(同 Ark UI、Zag 的约定)。同一组合返回同一个对象\n */\nexport function partAttrs(recipe: { readonly name: string | undefined }, part: string): PartAttrs {\n const scope = (recipe.name ?? '').replace(/[A-Z]/g, (c, index: number) =>\n index ? `-${c.toLowerCase()}` : c.toLowerCase(),\n );\n const key = `${scope}\\0${part}`;\n let attrs = partCache.get(key);\n if (!attrs)\n partCache.set(key, (attrs = Object.freeze({ 'data-scope': scope, 'data-part': part })));\n return attrs;\n}\n"],"mappings":";;;AAgFA,SAAgB,YAAY,OAAoB,OAAiD;CAC/F,IAAI,CAAC,OAAO,OAAO;CACnB,MAAM,SAAyD,EAAE,GAAG,MAAM;CAC1E,KAAK,MAAM,CAAC,MAAM,cAAc,OAAO,QAAQ,KAAK,GAClD,IAAI,WAAW,OAAO,QAAQ,CAAC,GAAI,OAAO,SAAS,CAAC,GAAI,SAAS;CAEnE,OAAO;AACT;;AAUA,IAAM,6BAAa,IAAI,QAAqD;;;;;;;;;;;;;AAc5E,SAAgB,UACd,QAC6E;CAC7E,MAAM,SAAS,UAAU;CACzB,MAAM,OAAO,OAAO;CACpB,QAAQ,cAAc;EACpB,MAAM,SAAS,QAAS,OAAO,OAAO;EACtC,MAAM,SAAS,QAAQ,SAAS,OAAO,WAAW,GAAG,MAAM,IAAI,OAAO,SAAS;EAC/E,IAAI,SAAS,WAAW,IAAI,MAAM;EAClC,IAAI,CAAC,QAAQ;GACX,SAAS,OAAO,YACd,OAAO,MAAM,KAAK,SAAS,CAAC,MAAM;IAAE,IAAI,OAAO;IAAO,GAAG,UAAU,QAAQ,IAAI;GAAE,CAAC,CAAC,CACrF;GACA,WAAW,IAAI,QAAQ,MAAM;EAC/B;EACA,OAAO;CACT;AACF;AAKA,IAAM,4BAAY,IAAI,IAAuB;;;;;AAM7C,SAAgB,UAAU,QAA+C,MAAyB;CAChG,MAAM,SAAS,OAAO,QAAQ,GAAA,CAAI,QAAQ,WAAW,GAAG,UACtD,QAAQ,IAAI,EAAE,YAAY,MAAM,EAAE,YAAY,CAChD;CACA,MAAM,MAAM,GAAG,MAAM,IAAI;CACzB,IAAI,QAAQ,UAAU,IAAI,GAAG;CAC7B,IAAI,CAAC,OACH,UAAU,IAAI,KAAM,QAAQ,OAAO,OAAO;EAAE,cAAc;EAAO,aAAa;CAAK,CAAC,CAAE;CACxF,OAAO;AACT"}
@@ -0,0 +1,97 @@
1
+ import type { ColorSchemes } from './theme';
2
+ /** 跟随系统的取值 */
3
+ export declare const SYSTEM_THEME = "system";
4
+ /** 记住主题选择的默认 localStorage 键(createThemePreference 与 themeBootScript 共用) */
5
+ export declare const DEFAULT_THEME_STORAGE_KEY = "vue-tsx-pro-theme";
6
+ /** themeBootScript 要知道的每套主题的取值:主题的颜色编译后是 CSS 变量,脚本在应用加载前拿不到 */
7
+ export interface ThemeBootColors {
8
+ /** 页面背景色 */
9
+ background: string;
10
+ /** 文字色 */
11
+ text: string;
12
+ /** 浏览器配色方案 */
13
+ colorScheme: keyof ColorSchemes;
14
+ }
15
+ /**
16
+ * 防闪烁:生成一段内联到 HTML <head> 的脚本,应用加载前按记住的偏好设好页面底色、文字色与配色方案,
17
+ * 并写上 data-theme。应用挂载后 createUi 接手(paintDocument 时去掉这里写的行内颜色)。
18
+ */
19
+ export declare function themeBootScript<Name extends string>(options: {
20
+ /** 各主题的取值 */
21
+ themes: Record<Name, ThemeBootColors>;
22
+ /** 跟随系统时用哪两套,默认 light、dark */
23
+ system?: {
24
+ light: Name;
25
+ dark: Name;
26
+ };
27
+ /** 与 createThemePreference 相同的存储键 */
28
+ storageKey?: string;
29
+ /** 没记过时的偏好,默认跟随系统 */
30
+ fallback?: Name | typeof SYSTEM_THEME;
31
+ }): string;
32
+ /**
33
+ * 内置主题(builtinThemes)的底色、文字色与配色方案,给 themeBootScript 用。
34
+ * 与主题文件里的 background、text 一致(pnpm themes:check 核对)
35
+ */
36
+ export declare const builtinThemeBootColors: {
37
+ readonly light: {
38
+ readonly background: '#fcfcfd';
39
+ readonly text: '#1c2024';
40
+ readonly colorScheme: 'light';
41
+ };
42
+ readonly dark: {
43
+ readonly background: '#111113';
44
+ readonly text: '#edeef0';
45
+ readonly colorScheme: 'dark';
46
+ };
47
+ readonly paper: {
48
+ readonly background: '#f5efdf';
49
+ readonly text: '#3b2f20';
50
+ readonly colorScheme: 'light';
51
+ };
52
+ readonly midnight: {
53
+ readonly background: '#0d1321';
54
+ readonly text: '#eef2fa';
55
+ readonly colorScheme: 'dark';
56
+ };
57
+ readonly 'high-contrast': {
58
+ readonly background: '#ffffff';
59
+ readonly text: '#000000';
60
+ readonly colorScheme: 'light';
61
+ };
62
+ readonly ocean: {
63
+ readonly background: '#f7fdff';
64
+ readonly text: '#10222c';
65
+ readonly colorScheme: 'light';
66
+ };
67
+ readonly forest: {
68
+ readonly background: '#f9fef9';
69
+ readonly text: '#182318';
70
+ readonly colorScheme: 'light';
71
+ };
72
+ readonly lemon: {
73
+ readonly background: '#fefdf2';
74
+ readonly text: '#232010';
75
+ readonly colorScheme: 'light';
76
+ };
77
+ readonly sakura: {
78
+ readonly background: '#fffafc';
79
+ readonly text: '#281b20';
80
+ readonly colorScheme: 'light';
81
+ };
82
+ readonly festive: {
83
+ readonly background: '#fffaf6';
84
+ readonly text: '#2c1b13';
85
+ readonly colorScheme: 'light';
86
+ };
87
+ readonly cyberpunk: {
88
+ readonly background: '#110e20';
89
+ readonly text: '#ede9ff';
90
+ readonly colorScheme: 'dark';
91
+ };
92
+ readonly coffee: {
93
+ readonly background: '#180f0a';
94
+ readonly text: '#ffe9dc';
95
+ readonly colorScheme: 'dark';
96
+ };
97
+ };