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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1129) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/dist/base/Badge.d.ts +28 -0
  4. package/dist/base/Badge.js +72 -0
  5. package/dist/base/Badge.js.map +1 -0
  6. package/dist/base/Blockquote.d.ts +13 -0
  7. package/dist/base/Blockquote.js +26 -0
  8. package/dist/base/Blockquote.js.map +1 -0
  9. package/dist/base/Button.d.ts +18 -0
  10. package/dist/base/Button.js +86 -0
  11. package/dist/base/Button.js.map +1 -0
  12. package/dist/base/ButtonBase.d.ts +21 -0
  13. package/dist/base/ButtonBase.js +51 -0
  14. package/dist/base/ButtonBase.js.map +1 -0
  15. package/dist/base/ButtonGroup.d.ts +24 -0
  16. package/dist/base/ButtonGroup.js +52 -0
  17. package/dist/base/ButtonGroup.js.map +1 -0
  18. package/dist/base/CloseButton.d.ts +15 -0
  19. package/dist/base/CloseButton.js +38 -0
  20. package/dist/base/CloseButton.js.map +1 -0
  21. package/dist/base/Code.d.ts +13 -0
  22. package/dist/base/Code.js +27 -0
  23. package/dist/base/Code.js.map +1 -0
  24. package/dist/base/CodeBlock.d.ts +89 -0
  25. package/dist/base/CodeBlock.js +265 -0
  26. package/dist/base/CodeBlock.js.map +1 -0
  27. package/dist/base/CopyButton.d.ts +40 -0
  28. package/dist/base/CopyButton.js +113 -0
  29. package/dist/base/CopyButton.js.map +1 -0
  30. package/dist/base/Heading.d.ts +49 -0
  31. package/dist/base/Heading.js +122 -0
  32. package/dist/base/Heading.js.map +1 -0
  33. package/dist/base/Icon.d.ts +48 -0
  34. package/dist/base/Icon.js +110 -0
  35. package/dist/base/Icon.js.map +1 -0
  36. package/dist/base/IconButton.d.ts +34 -0
  37. package/dist/base/IconButton.js +81 -0
  38. package/dist/base/IconButton.js.map +1 -0
  39. package/dist/base/IconLinkButton.d.ts +34 -0
  40. package/dist/base/IconLinkButton.js +81 -0
  41. package/dist/base/IconLinkButton.js.map +1 -0
  42. package/dist/base/Indicator.d.ts +126 -0
  43. package/dist/base/Indicator.js +158 -0
  44. package/dist/base/Indicator.js.map +1 -0
  45. package/dist/base/Kbd.d.ts +13 -0
  46. package/dist/base/Kbd.js +34 -0
  47. package/dist/base/Kbd.js.map +1 -0
  48. package/dist/base/Link.d.ts +61 -0
  49. package/dist/base/Link.js +114 -0
  50. package/dist/base/Link.js.map +1 -0
  51. package/dist/base/LinkButton.d.ts +18 -0
  52. package/dist/base/LinkButton.js +109 -0
  53. package/dist/base/LinkButton.js.map +1 -0
  54. package/dist/base/List.d.ts +61 -0
  55. package/dist/base/List.js +116 -0
  56. package/dist/base/List.js.map +1 -0
  57. package/dist/base/Mark.d.ts +13 -0
  58. package/dist/base/Mark.js +23 -0
  59. package/dist/base/Mark.js.map +1 -0
  60. package/dist/base/Spinner.d.ts +20 -0
  61. package/dist/base/Spinner.js +59 -0
  62. package/dist/base/Spinner.js.map +1 -0
  63. package/dist/base/StatusDot.d.ts +48 -0
  64. package/dist/base/StatusDot.js +62 -0
  65. package/dist/base/StatusDot.js.map +1 -0
  66. package/dist/base/Tag.d.ts +29 -0
  67. package/dist/base/Tag.js +92 -0
  68. package/dist/base/Tag.js.map +1 -0
  69. package/dist/base/Text.d.ts +57 -0
  70. package/dist/base/Text.js +74 -0
  71. package/dist/base/Text.js.map +1 -0
  72. package/dist/base/VisuallyHidden.d.ts +13 -0
  73. package/dist/base/VisuallyHidden.js +28 -0
  74. package/dist/base/VisuallyHidden.js.map +1 -0
  75. package/dist/base/badge-styles.d.ts +57 -0
  76. package/dist/base/badge-styles.js +329 -0
  77. package/dist/base/badge-styles.js.map +1 -0
  78. package/dist/base/button-core.d.ts +191 -0
  79. package/dist/base/button-core.js +660 -0
  80. package/dist/base/button-core.js.map +1 -0
  81. package/dist/charts/AreaChart.d.ts +18 -0
  82. package/dist/charts/AreaChart.js +90 -0
  83. package/dist/charts/AreaChart.js.map +1 -0
  84. package/dist/charts/BarChart.d.ts +19 -0
  85. package/dist/charts/BarChart.js +88 -0
  86. package/dist/charts/BarChart.js.map +1 -0
  87. package/dist/charts/ChordChart.d.ts +48 -0
  88. package/dist/charts/ChordChart.js +149 -0
  89. package/dist/charts/ChordChart.js.map +1 -0
  90. package/dist/charts/ComboChart.d.ts +30 -0
  91. package/dist/charts/ComboChart.js +157 -0
  92. package/dist/charts/ComboChart.js.map +1 -0
  93. package/dist/charts/DonutChart.d.ts +65 -0
  94. package/dist/charts/DonutChart.js +162 -0
  95. package/dist/charts/DonutChart.js.map +1 -0
  96. package/dist/charts/FunnelChart.d.ts +69 -0
  97. package/dist/charts/FunnelChart.js +181 -0
  98. package/dist/charts/FunnelChart.js.map +1 -0
  99. package/dist/charts/GraphChart.d.ts +135 -0
  100. package/dist/charts/GraphChart.js +274 -0
  101. package/dist/charts/GraphChart.js.map +1 -0
  102. package/dist/charts/LineChart.d.ts +50 -0
  103. package/dist/charts/LineChart.js +94 -0
  104. package/dist/charts/LineChart.js.map +1 -0
  105. package/dist/charts/MapChart.d.ts +167 -0
  106. package/dist/charts/MapChart.js +627 -0
  107. package/dist/charts/MapChart.js.map +1 -0
  108. package/dist/charts/RadarChart.d.ts +60 -0
  109. package/dist/charts/RadarChart.js +224 -0
  110. package/dist/charts/RadarChart.js.map +1 -0
  111. package/dist/charts/SankeyChart.d.ts +57 -0
  112. package/dist/charts/SankeyChart.js +150 -0
  113. package/dist/charts/SankeyChart.js.map +1 -0
  114. package/dist/charts/ScatterChart.d.ts +18 -0
  115. package/dist/charts/ScatterChart.js +82 -0
  116. package/dist/charts/ScatterChart.js.map +1 -0
  117. package/dist/charts/TimelineChart.d.ts +71 -0
  118. package/dist/charts/TimelineChart.js +267 -0
  119. package/dist/charts/TimelineChart.js.map +1 -0
  120. package/dist/charts/TreemapChart.d.ts +40 -0
  121. package/dist/charts/TreemapChart.js +155 -0
  122. package/dist/charts/TreemapChart.js.map +1 -0
  123. package/dist/charts/WaterfallChart.d.ts +61 -0
  124. package/dist/charts/WaterfallChart.js +167 -0
  125. package/dist/charts/WaterfallChart.js.map +1 -0
  126. package/dist/charts/XYChart.d.ts +206 -0
  127. package/dist/charts/XYChart.js +520 -0
  128. package/dist/charts/XYChart.js.map +1 -0
  129. package/dist/charts/axis-ticks.d.ts +23 -0
  130. package/dist/charts/axis-ticks.js +59 -0
  131. package/dist/charts/axis-ticks.js.map +1 -0
  132. package/dist/charts/export.d.ts +17 -0
  133. package/dist/charts/export.js +65 -0
  134. package/dist/charts/export.js.map +1 -0
  135. package/dist/charts/flow.d.ts +53 -0
  136. package/dist/charts/flow.js +29 -0
  137. package/dist/charts/flow.js.map +1 -0
  138. package/dist/charts/frame.d.ts +147 -0
  139. package/dist/charts/frame.js +358 -0
  140. package/dist/charts/frame.js.map +1 -0
  141. package/dist/charts/index.d.ts +30 -0
  142. package/dist/charts/index.js +24 -0
  143. package/dist/charts/label-layout.d.ts +59 -0
  144. package/dist/charts/label-layout.js +64 -0
  145. package/dist/charts/label-layout.js.map +1 -0
  146. package/dist/charts/series.d.ts +36 -0
  147. package/dist/charts/series.js +60 -0
  148. package/dist/charts/series.js.map +1 -0
  149. package/dist/charts/single.d.ts +41 -0
  150. package/dist/charts/single.js +65 -0
  151. package/dist/charts/single.js.map +1 -0
  152. package/dist/code-editor/CodeEditor.d.ts +18 -0
  153. package/dist/code-editor/CodeEditor.js +57 -0
  154. package/dist/code-editor/CodeEditor.js.map +1 -0
  155. package/dist/code-editor/editor.d.ts +52 -0
  156. package/dist/code-editor/editor.js +225 -0
  157. package/dist/code-editor/editor.js.map +1 -0
  158. package/dist/code-editor/index.d.ts +9 -0
  159. package/dist/code-editor/index.js +3 -0
  160. package/dist/config/Provider.d.ts +52 -0
  161. package/dist/config/Provider.js +111 -0
  162. package/dist/config/Provider.js.map +1 -0
  163. package/dist/config/context.d.ts +90 -0
  164. package/dist/config/context.js +58 -0
  165. package/dist/config/context.js.map +1 -0
  166. package/dist/config/createUi.d.ts +52 -0
  167. package/dist/config/createUi.js +96 -0
  168. package/dist/config/createUi.js.map +1 -0
  169. package/dist/config/defaults.d.ts +71 -0
  170. package/dist/config/defaults.js +45 -0
  171. package/dist/config/defaults.js.map +1 -0
  172. package/dist/config/lang/en-US.d.ts +3 -0
  173. package/dist/config/lang/en-US.js +404 -0
  174. package/dist/config/lang/en-US.js.map +1 -0
  175. package/dist/config/lang/format.d.ts +51 -0
  176. package/dist/config/lang/format.js +120 -0
  177. package/dist/config/lang/format.js.map +1 -0
  178. package/dist/config/lang/lang.d.ts +666 -0
  179. package/dist/config/lang/lang.js +31 -0
  180. package/dist/config/lang/lang.js.map +1 -0
  181. package/dist/config/lang/messages.d.ts +12 -0
  182. package/dist/config/lang/messages.js +36 -0
  183. package/dist/config/lang/messages.js.map +1 -0
  184. package/dist/config/lang/zh-CN.d.ts +3 -0
  185. package/dist/config/lang/zh-CN.js +404 -0
  186. package/dist/config/lang/zh-CN.js.map +1 -0
  187. package/dist/config/pinyin.d.ts +3 -0
  188. package/dist/config/pinyin.js +26 -0
  189. package/dist/config/pinyin.js.map +1 -0
  190. package/dist/config/query-state.d.ts +61 -0
  191. package/dist/config/query-state.js +113 -0
  192. package/dist/config/query-state.js.map +1 -0
  193. package/dist/config/shiki.d.ts +13 -0
  194. package/dist/config/shiki.js +97 -0
  195. package/dist/config/shiki.js.map +1 -0
  196. package/dist/config/styles.d.ts +108 -0
  197. package/dist/config/styles.js +59 -0
  198. package/dist/config/styles.js.map +1 -0
  199. package/dist/config/theme/boot.d.ts +97 -0
  200. package/dist/config/theme/boot.js +90 -0
  201. package/dist/config/theme/boot.js.map +1 -0
  202. package/dist/config/theme/builtin.d.ts +21 -0
  203. package/dist/config/theme/builtin.js +58 -0
  204. package/dist/config/theme/builtin.js.map +1 -0
  205. package/dist/config/theme/coffee.d.ts +84 -0
  206. package/dist/config/theme/coffee.js +102 -0
  207. package/dist/config/theme/coffee.js.map +1 -0
  208. package/dist/config/theme/cyberpunk.d.ts +110 -0
  209. package/dist/config/theme/cyberpunk.js +125 -0
  210. package/dist/config/theme/cyberpunk.js.map +1 -0
  211. package/dist/config/theme/dark.d.ts +90 -0
  212. package/dist/config/theme/dark.js +106 -0
  213. package/dist/config/theme/dark.js.map +1 -0
  214. package/dist/config/theme/festive.d.ts +93 -0
  215. package/dist/config/theme/festive.js +110 -0
  216. package/dist/config/theme/festive.js.map +1 -0
  217. package/dist/config/theme/forest.d.ts +93 -0
  218. package/dist/config/theme/forest.js +109 -0
  219. package/dist/config/theme/forest.js.map +1 -0
  220. package/dist/config/theme/high-contrast.d.ts +103 -0
  221. package/dist/config/theme/high-contrast.js +119 -0
  222. package/dist/config/theme/high-contrast.js.map +1 -0
  223. package/dist/config/theme/lemon.d.ts +103 -0
  224. package/dist/config/theme/lemon.js +119 -0
  225. package/dist/config/theme/lemon.js.map +1 -0
  226. package/dist/config/theme/light.d.ts +107 -0
  227. package/dist/config/theme/light.js +122 -0
  228. package/dist/config/theme/light.js.map +1 -0
  229. package/dist/config/theme/midnight.d.ts +86 -0
  230. package/dist/config/theme/midnight.js +103 -0
  231. package/dist/config/theme/midnight.js.map +1 -0
  232. package/dist/config/theme/ocean.d.ts +103 -0
  233. package/dist/config/theme/ocean.js +119 -0
  234. package/dist/config/theme/ocean.js.map +1 -0
  235. package/dist/config/theme/paper.d.ts +101 -0
  236. package/dist/config/theme/paper.js +117 -0
  237. package/dist/config/theme/paper.js.map +1 -0
  238. package/dist/config/theme/preference.d.ts +34 -0
  239. package/dist/config/theme/preference.js +67 -0
  240. package/dist/config/theme/preference.js.map +1 -0
  241. package/dist/config/theme/sakura.d.ts +103 -0
  242. package/dist/config/theme/sakura.js +119 -0
  243. package/dist/config/theme/sakura.js.map +1 -0
  244. package/dist/config/theme/theme.d.ts +59 -0
  245. package/dist/config/theme/theme.js +68 -0
  246. package/dist/config/theme/theme.js.map +1 -0
  247. package/dist/config/theme/token-names.d.ts +1897 -0
  248. package/dist/config/theme/tokens.d.ts +833 -0
  249. package/dist/config/theme/tokens.js +480 -0
  250. package/dist/config/theme/tokens.js.map +1 -0
  251. package/dist/config/vue-router.d.ts +67 -0
  252. package/dist/config/vue-router.js +143 -0
  253. package/dist/config/vue-router.js.map +1 -0
  254. package/dist/date/Calendar.d.ts +36 -0
  255. package/dist/date/Calendar.js +83 -0
  256. package/dist/date/Calendar.js.map +1 -0
  257. package/dist/date/CalendarBoard.d.ts +79 -0
  258. package/dist/date/CalendarBoard.js +403 -0
  259. package/dist/date/CalendarBoard.js.map +1 -0
  260. package/dist/date/CalendarView.d.ts +86 -0
  261. package/dist/date/CalendarView.js +427 -0
  262. package/dist/date/CalendarView.js.map +1 -0
  263. package/dist/date/Countdown.d.ts +45 -0
  264. package/dist/date/Countdown.js +75 -0
  265. package/dist/date/Countdown.js.map +1 -0
  266. package/dist/date/DateField.d.ts +34 -0
  267. package/dist/date/DateField.js +124 -0
  268. package/dist/date/DateField.js.map +1 -0
  269. package/dist/date/DatePicker.d.ts +41 -0
  270. package/dist/date/DatePicker.js +272 -0
  271. package/dist/date/DatePicker.js.map +1 -0
  272. package/dist/date/DateRangePicker.d.ts +71 -0
  273. package/dist/date/DateRangePicker.js +411 -0
  274. package/dist/date/DateRangePicker.js.map +1 -0
  275. package/dist/date/DateSegmentGroup.d.ts +38 -0
  276. package/dist/date/DateSegmentGroup.js +176 -0
  277. package/dist/date/DateSegmentGroup.js.map +1 -0
  278. package/dist/date/DateTime.d.ts +21 -0
  279. package/dist/date/DateTime.js +39 -0
  280. package/dist/date/DateTime.js.map +1 -0
  281. package/dist/date/QuarterCalendar.d.ts +22 -0
  282. package/dist/date/QuarterCalendar.js +231 -0
  283. package/dist/date/QuarterCalendar.js.map +1 -0
  284. package/dist/date/RangeCalendar.d.ts +24 -0
  285. package/dist/date/RangeCalendar.js +89 -0
  286. package/dist/date/RangeCalendar.js.map +1 -0
  287. package/dist/date/RelativeTime.d.ts +16 -0
  288. package/dist/date/RelativeTime.js +61 -0
  289. package/dist/date/RelativeTime.js.map +1 -0
  290. package/dist/date/SegmentedField.d.ts +60 -0
  291. package/dist/date/SegmentedField.js +175 -0
  292. package/dist/date/SegmentedField.js.map +1 -0
  293. package/dist/date/TimeField.d.ts +36 -0
  294. package/dist/date/TimeField.js +56 -0
  295. package/dist/date/TimeField.js.map +1 -0
  296. package/dist/date/TimePicker.d.ts +25 -0
  297. package/dist/date/TimePicker.js +206 -0
  298. package/dist/date/TimePicker.js.map +1 -0
  299. package/dist/date/calendar-state.d.ts +119 -0
  300. package/dist/date/calendar-state.js +267 -0
  301. package/dist/date/calendar-state.js.map +1 -0
  302. package/dist/date/clock.d.ts +11 -0
  303. package/dist/date/clock.js +37 -0
  304. package/dist/date/clock.js.map +1 -0
  305. package/dist/date/date-locale.d.ts +67 -0
  306. package/dist/date/date-locale.js +89 -0
  307. package/dist/date/date-locale.js.map +1 -0
  308. package/dist/date/date-segments.d.ts +132 -0
  309. package/dist/date/date-segments.js +410 -0
  310. package/dist/date/date-segments.js.map +1 -0
  311. package/dist/date/picker-popover.d.ts +88 -0
  312. package/dist/date/picker-popover.js +126 -0
  313. package/dist/date/picker-popover.js.map +1 -0
  314. package/dist/diagram/Diagram.d.ts +223 -0
  315. package/dist/diagram/Diagram.js +1121 -0
  316. package/dist/diagram/Diagram.js.map +1 -0
  317. package/dist/diagram/DiagramControls.d.ts +35 -0
  318. package/dist/diagram/DiagramControls.js +114 -0
  319. package/dist/diagram/DiagramControls.js.map +1 -0
  320. package/dist/diagram/DiagramLanes.d.ts +49 -0
  321. package/dist/diagram/DiagramLanes.js +92 -0
  322. package/dist/diagram/DiagramLanes.js.map +1 -0
  323. package/dist/diagram/DiagramMinimap.d.ts +39 -0
  324. package/dist/diagram/DiagramMinimap.js +133 -0
  325. package/dist/diagram/DiagramMinimap.js.map +1 -0
  326. package/dist/diagram/DiagramNode.d.ts +65 -0
  327. package/dist/diagram/DiagramNode.js +142 -0
  328. package/dist/diagram/DiagramNode.js.map +1 -0
  329. package/dist/diagram/controller.d.ts +68 -0
  330. package/dist/diagram/controller.js +117 -0
  331. package/dist/diagram/controller.js.map +1 -0
  332. package/dist/diagram/export.d.ts +14 -0
  333. package/dist/diagram/export.js +115 -0
  334. package/dist/diagram/export.js.map +1 -0
  335. package/dist/diagram/geometry.d.ts +65 -0
  336. package/dist/diagram/geometry.js +219 -0
  337. package/dist/diagram/geometry.js.map +1 -0
  338. package/dist/diagram/index.d.ts +20 -0
  339. package/dist/diagram/index.js +12 -0
  340. package/dist/diagram/layout.d.ts +57 -0
  341. package/dist/diagram/layout.js +50 -0
  342. package/dist/diagram/layout.js.map +1 -0
  343. package/dist/diagram/messages.d.ts +28 -0
  344. package/dist/diagram/messages.js +30 -0
  345. package/dist/diagram/messages.js.map +1 -0
  346. package/dist/diagram/route.d.ts +81 -0
  347. package/dist/diagram/route.js +327 -0
  348. package/dist/diagram/route.js.map +1 -0
  349. package/dist/display/Accordion.d.ts +71 -0
  350. package/dist/display/Accordion.js +219 -0
  351. package/dist/display/Accordion.js.map +1 -0
  352. package/dist/display/AnimatedNumber.d.ts +44 -0
  353. package/dist/display/AnimatedNumber.js +97 -0
  354. package/dist/display/AnimatedNumber.js.map +1 -0
  355. package/dist/display/Avatar.d.ts +74 -0
  356. package/dist/display/Avatar.js +158 -0
  357. package/dist/display/Avatar.js.map +1 -0
  358. package/dist/display/AvatarGroup.d.ts +29 -0
  359. package/dist/display/AvatarGroup.js +67 -0
  360. package/dist/display/AvatarGroup.js.map +1 -0
  361. package/dist/display/Card.d.ts +219 -0
  362. package/dist/display/Card.js +319 -0
  363. package/dist/display/Card.js.map +1 -0
  364. package/dist/display/Checklist.d.ts +93 -0
  365. package/dist/display/Checklist.js +260 -0
  366. package/dist/display/Checklist.js.map +1 -0
  367. package/dist/display/Collapse.d.ts +24 -0
  368. package/dist/display/Collapse.js +65 -0
  369. package/dist/display/Collapse.js.map +1 -0
  370. package/dist/display/Collapsible.d.ts +12 -0
  371. package/dist/display/Collapsible.js +41 -0
  372. package/dist/display/Collapsible.js.map +1 -0
  373. package/dist/display/Descriptions.d.ts +88 -0
  374. package/dist/display/Descriptions.js +185 -0
  375. package/dist/display/Descriptions.js.map +1 -0
  376. package/dist/display/Ellipsis.d.ts +29 -0
  377. package/dist/display/Ellipsis.js +111 -0
  378. package/dist/display/Ellipsis.js.map +1 -0
  379. package/dist/display/FieldCompare.d.ts +58 -0
  380. package/dist/display/FieldCompare.js +205 -0
  381. package/dist/display/FieldCompare.js.map +1 -0
  382. package/dist/display/Gauge.d.ts +60 -0
  383. package/dist/display/Gauge.js +215 -0
  384. package/dist/display/Gauge.js.map +1 -0
  385. package/dist/display/Image.d.ts +87 -0
  386. package/dist/display/Image.js +212 -0
  387. package/dist/display/Image.js.map +1 -0
  388. package/dist/display/ItemList.d.ts +69 -0
  389. package/dist/display/ItemList.js +147 -0
  390. package/dist/display/ItemList.js.map +1 -0
  391. package/dist/display/Marquee.d.ts +59 -0
  392. package/dist/display/Marquee.js +155 -0
  393. package/dist/display/Marquee.js.map +1 -0
  394. package/dist/display/ProportionBar.d.ts +55 -0
  395. package/dist/display/ProportionBar.js +99 -0
  396. package/dist/display/ProportionBar.js.map +1 -0
  397. package/dist/display/Sortable.d.ts +43 -0
  398. package/dist/display/Sortable.js +163 -0
  399. package/dist/display/Sortable.js.map +1 -0
  400. package/dist/display/Sparkline.d.ts +48 -0
  401. package/dist/display/Sparkline.js +130 -0
  402. package/dist/display/Sparkline.js.map +1 -0
  403. package/dist/display/Stat.d.ts +105 -0
  404. package/dist/display/Stat.js +268 -0
  405. package/dist/display/Stat.js.map +1 -0
  406. package/dist/display/Timeline.d.ts +106 -0
  407. package/dist/display/Timeline.js +257 -0
  408. package/dist/display/Timeline.js.map +1 -0
  409. package/dist/display/Tree.d.ts +132 -0
  410. package/dist/display/Tree.js +645 -0
  411. package/dist/display/Tree.js.map +1 -0
  412. package/dist/display/VirtualList.d.ts +80 -0
  413. package/dist/display/VirtualList.js +166 -0
  414. package/dist/display/VirtualList.js.map +1 -0
  415. package/dist/display/Watermark.d.ts +39 -0
  416. package/dist/display/Watermark.js +130 -0
  417. package/dist/display/Watermark.js.map +1 -0
  418. package/dist/docs-kit/CodeGroup.d.ts +29 -0
  419. package/dist/docs-kit/CodeGroup.js +81 -0
  420. package/dist/docs-kit/CodeGroup.js.map +1 -0
  421. package/dist/docs-kit/CodePreview.d.ts +60 -0
  422. package/dist/docs-kit/CodePreview.js +183 -0
  423. package/dist/docs-kit/CodePreview.js.map +1 -0
  424. package/dist/docs-kit/ColorSwatch.d.ts +28 -0
  425. package/dist/docs-kit/ColorSwatch.js +85 -0
  426. package/dist/docs-kit/ColorSwatch.js.map +1 -0
  427. package/dist/docs-kit/PropsTable.d.ts +73 -0
  428. package/dist/docs-kit/PropsTable.js +122 -0
  429. package/dist/docs-kit/PropsTable.js.map +1 -0
  430. package/dist/docs-kit/index.d.ts +13 -0
  431. package/dist/docs-kit/index.js +6 -0
  432. package/dist/docs-kit/messages.d.ts +25 -0
  433. package/dist/docs-kit/messages.js +30 -0
  434. package/dist/docs-kit/messages.js.map +1 -0
  435. package/dist/feedback/Alert.d.ts +83 -0
  436. package/dist/feedback/Alert.js +179 -0
  437. package/dist/feedback/Alert.js.map +1 -0
  438. package/dist/feedback/Banner.d.ts +60 -0
  439. package/dist/feedback/Banner.js +122 -0
  440. package/dist/feedback/Banner.js.map +1 -0
  441. package/dist/feedback/Empty.d.ts +38 -0
  442. package/dist/feedback/Empty.js +114 -0
  443. package/dist/feedback/Empty.js.map +1 -0
  444. package/dist/feedback/LoadingBar.d.ts +45 -0
  445. package/dist/feedback/LoadingBar.js +124 -0
  446. package/dist/feedback/LoadingBar.js.map +1 -0
  447. package/dist/feedback/LoadingOverlay.d.ts +29 -0
  448. package/dist/feedback/LoadingOverlay.js +70 -0
  449. package/dist/feedback/LoadingOverlay.js.map +1 -0
  450. package/dist/feedback/Progress.d.ts +215 -0
  451. package/dist/feedback/Progress.js +437 -0
  452. package/dist/feedback/Progress.js.map +1 -0
  453. package/dist/feedback/Result.d.ts +69 -0
  454. package/dist/feedback/Result.js +165 -0
  455. package/dist/feedback/Result.js.map +1 -0
  456. package/dist/feedback/Skeleton.d.ts +50 -0
  457. package/dist/feedback/Skeleton.js +100 -0
  458. package/dist/feedback/Skeleton.js.map +1 -0
  459. package/dist/feedback/SkeletonText.d.ts +25 -0
  460. package/dist/feedback/SkeletonText.js +40 -0
  461. package/dist/feedback/SkeletonText.js.map +1 -0
  462. package/dist/feedback/Toast.d.ts +204 -0
  463. package/dist/feedback/Toast.js +572 -0
  464. package/dist/feedback/Toast.js.map +1 -0
  465. package/dist/form/Field.d.ts +165 -0
  466. package/dist/form/Field.js +338 -0
  467. package/dist/form/Field.js.map +1 -0
  468. package/dist/form/Form.d.ts +14 -0
  469. package/dist/form/Form.js +66 -0
  470. package/dist/form/Form.js.map +1 -0
  471. package/dist/form/FormErrorSummary.d.ts +23 -0
  472. package/dist/form/FormErrorSummary.js +102 -0
  473. package/dist/form/FormErrorSummary.js.map +1 -0
  474. package/dist/form/FormSection.d.ts +66 -0
  475. package/dist/form/FormSection.js +227 -0
  476. package/dist/form/FormSection.js.map +1 -0
  477. package/dist/form/FormValue.d.ts +17 -0
  478. package/dist/form/FormValue.js +40 -0
  479. package/dist/form/FormValue.js.map +1 -0
  480. package/dist/form/field-layout.d.ts +34 -0
  481. package/dist/form/field-layout.js +39 -0
  482. package/dist/form/field-layout.js.map +1 -0
  483. package/dist/form/form-constraints.d.ts +38 -0
  484. package/dist/form/form-constraints.js +131 -0
  485. package/dist/form/form-constraints.js.map +1 -0
  486. package/dist/form/leave-confirmation.d.ts +9 -0
  487. package/dist/form/leave-confirmation.js +31 -0
  488. package/dist/form/leave-confirmation.js.map +1 -0
  489. package/dist/form/schemas.d.ts +52 -0
  490. package/dist/form/schemas.js +97 -0
  491. package/dist/form/schemas.js.map +1 -0
  492. package/dist/form/useForm.d.ts +195 -0
  493. package/dist/form/useForm.js +416 -0
  494. package/dist/form/useForm.js.map +1 -0
  495. package/dist/index.d.ts +285 -0
  496. package/dist/index.js +285 -0
  497. package/dist/input/Autocomplete.d.ts +14 -0
  498. package/dist/input/Autocomplete.js +35 -0
  499. package/dist/input/Autocomplete.js.map +1 -0
  500. package/dist/input/Cascader.d.ts +86 -0
  501. package/dist/input/Cascader.js +593 -0
  502. package/dist/input/Cascader.js.map +1 -0
  503. package/dist/input/CharacterCount.d.ts +21 -0
  504. package/dist/input/CharacterCount.js +47 -0
  505. package/dist/input/CharacterCount.js.map +1 -0
  506. package/dist/input/Checkbox.d.ts +93 -0
  507. package/dist/input/Checkbox.js +250 -0
  508. package/dist/input/Checkbox.js.map +1 -0
  509. package/dist/input/ColorField.d.ts +37 -0
  510. package/dist/input/ColorField.js +143 -0
  511. package/dist/input/ColorField.js.map +1 -0
  512. package/dist/input/Combobox.d.ts +75 -0
  513. package/dist/input/Combobox.js +321 -0
  514. package/dist/input/Combobox.js.map +1 -0
  515. package/dist/input/ConditionBuilder.d.ts +55 -0
  516. package/dist/input/ConditionBuilder.js +471 -0
  517. package/dist/input/ConditionBuilder.js.map +1 -0
  518. package/dist/input/ControlGroup.d.ts +26 -0
  519. package/dist/input/ControlGroup.js +50 -0
  520. package/dist/input/ControlGroup.js.map +1 -0
  521. package/dist/input/FileDrop.d.ts +49 -0
  522. package/dist/input/FileDrop.js +201 -0
  523. package/dist/input/FileDrop.js.map +1 -0
  524. package/dist/input/ListPopover.d.ts +39 -0
  525. package/dist/input/ListPopover.js +81 -0
  526. package/dist/input/ListPopover.js.map +1 -0
  527. package/dist/input/Listbox.d.ts +91 -0
  528. package/dist/input/Listbox.js +408 -0
  529. package/dist/input/Listbox.js.map +1 -0
  530. package/dist/input/Mentions.d.ts +74 -0
  531. package/dist/input/Mentions.js +287 -0
  532. package/dist/input/Mentions.js.map +1 -0
  533. package/dist/input/NumberField.d.ts +64 -0
  534. package/dist/input/NumberField.js +288 -0
  535. package/dist/input/NumberField.js.map +1 -0
  536. package/dist/input/NumberRangeField.d.ts +58 -0
  537. package/dist/input/NumberRangeField.js +157 -0
  538. package/dist/input/NumberRangeField.js.map +1 -0
  539. package/dist/input/OtpField.d.ts +58 -0
  540. package/dist/input/OtpField.js +200 -0
  541. package/dist/input/OtpField.js.map +1 -0
  542. package/dist/input/PeoplePicker.d.ts +42 -0
  543. package/dist/input/PeoplePicker.js +185 -0
  544. package/dist/input/PeoplePicker.js.map +1 -0
  545. package/dist/input/PeoplePickerPanel.d.ts +42 -0
  546. package/dist/input/PeoplePickerPanel.js +357 -0
  547. package/dist/input/PeoplePickerPanel.js.map +1 -0
  548. package/dist/input/Radio.d.ts +90 -0
  549. package/dist/input/Radio.js +211 -0
  550. package/dist/input/Radio.js.map +1 -0
  551. package/dist/input/Rating.d.ts +62 -0
  552. package/dist/input/Rating.js +225 -0
  553. package/dist/input/Rating.js.map +1 -0
  554. package/dist/input/Select.d.ts +97 -0
  555. package/dist/input/Select.js +455 -0
  556. package/dist/input/Select.js.map +1 -0
  557. package/dist/input/SelectedTags.d.ts +28 -0
  558. package/dist/input/SelectedTags.js +81 -0
  559. package/dist/input/SelectedTags.js.map +1 -0
  560. package/dist/input/Slider.d.ts +99 -0
  561. package/dist/input/Slider.js +343 -0
  562. package/dist/input/Slider.js.map +1 -0
  563. package/dist/input/Switch.d.ts +63 -0
  564. package/dist/input/Switch.js +198 -0
  565. package/dist/input/Switch.js.map +1 -0
  566. package/dist/input/TagsInput.d.ts +70 -0
  567. package/dist/input/TagsInput.js +314 -0
  568. package/dist/input/TagsInput.js.map +1 -0
  569. package/dist/input/TextField.d.ts +51 -0
  570. package/dist/input/TextField.js +185 -0
  571. package/dist/input/TextField.js.map +1 -0
  572. package/dist/input/Textarea.d.ts +50 -0
  573. package/dist/input/Textarea.js +146 -0
  574. package/dist/input/Textarea.js.map +1 -0
  575. package/dist/input/ToggleGroup.d.ts +82 -0
  576. package/dist/input/ToggleGroup.js +211 -0
  577. package/dist/input/ToggleGroup.js.map +1 -0
  578. package/dist/input/Transfer.d.ts +67 -0
  579. package/dist/input/Transfer.js +407 -0
  580. package/dist/input/Transfer.js.map +1 -0
  581. package/dist/input/TreeSelect.d.ts +94 -0
  582. package/dist/input/TreeSelect.js +412 -0
  583. package/dist/input/TreeSelect.js.map +1 -0
  584. package/dist/input/Upload.d.ts +143 -0
  585. package/dist/input/Upload.js +598 -0
  586. package/dist/input/Upload.js.map +1 -0
  587. package/dist/input/choice-styles.d.ts +117 -0
  588. package/dist/input/choice-styles.js +176 -0
  589. package/dist/input/choice-styles.js.map +1 -0
  590. package/dist/input/condition.d.ts +153 -0
  591. package/dist/input/condition.js +187 -0
  592. package/dist/input/condition.js.map +1 -0
  593. package/dist/input/control.d.ts +160 -0
  594. package/dist/input/control.js +236 -0
  595. package/dist/input/control.js.map +1 -0
  596. package/dist/input/list-state.d.ts +118 -0
  597. package/dist/input/list-state.js +186 -0
  598. package/dist/input/list-state.js.map +1 -0
  599. package/dist/input/people.d.ts +66 -0
  600. package/dist/input/people.js +47 -0
  601. package/dist/input/people.js.map +1 -0
  602. package/dist/input/remote-items.d.ts +22 -0
  603. package/dist/input/remote-items.js +41 -0
  604. package/dist/input/remote-items.js.map +1 -0
  605. package/dist/input/text-format.d.ts +46 -0
  606. package/dist/input/text-format.js +64 -0
  607. package/dist/input/text-format.js.map +1 -0
  608. package/dist/layout/Affix.d.ts +32 -0
  609. package/dist/layout/Affix.js +81 -0
  610. package/dist/layout/Affix.js.map +1 -0
  611. package/dist/layout/AsideLayout.d.ts +45 -0
  612. package/dist/layout/AsideLayout.js +69 -0
  613. package/dist/layout/AsideLayout.js.map +1 -0
  614. package/dist/layout/BackTop.d.ts +16 -0
  615. package/dist/layout/BackTop.js +83 -0
  616. package/dist/layout/BackTop.js.map +1 -0
  617. package/dist/layout/Container.d.ts +60 -0
  618. package/dist/layout/Container.js +62 -0
  619. package/dist/layout/Container.js.map +1 -0
  620. package/dist/layout/Flex.d.ts +116 -0
  621. package/dist/layout/Flex.js +109 -0
  622. package/dist/layout/Flex.js.map +1 -0
  623. package/dist/layout/Grid.d.ts +139 -0
  624. package/dist/layout/Grid.js +168 -0
  625. package/dist/layout/Grid.js.map +1 -0
  626. package/dist/layout/PageScrollbar.d.ts +20 -0
  627. package/dist/layout/PageScrollbar.js +49 -0
  628. package/dist/layout/PageScrollbar.js.map +1 -0
  629. package/dist/layout/Prose.d.ts +19 -0
  630. package/dist/layout/Prose.js +37 -0
  631. package/dist/layout/Prose.js.map +1 -0
  632. package/dist/layout/ResizeHandle.d.ts +28 -0
  633. package/dist/layout/ResizeHandle.js +94 -0
  634. package/dist/layout/ResizeHandle.js.map +1 -0
  635. package/dist/layout/ScrollArea.d.ts +99 -0
  636. package/dist/layout/ScrollArea.js +344 -0
  637. package/dist/layout/ScrollArea.js.map +1 -0
  638. package/dist/layout/Separator.d.ts +47 -0
  639. package/dist/layout/Separator.js +96 -0
  640. package/dist/layout/Separator.js.map +1 -0
  641. package/dist/layout/Splitter.d.ts +75 -0
  642. package/dist/layout/Splitter.js +236 -0
  643. package/dist/layout/Splitter.js.map +1 -0
  644. package/dist/layout/ViewportFill.d.ts +26 -0
  645. package/dist/layout/ViewportFill.js +59 -0
  646. package/dist/layout/ViewportFill.js.map +1 -0
  647. package/dist/navigation/Breadcrumbs.d.ts +59 -0
  648. package/dist/navigation/Breadcrumbs.js +150 -0
  649. package/dist/navigation/Breadcrumbs.js.map +1 -0
  650. package/dist/navigation/NavBar.d.ts +35 -0
  651. package/dist/navigation/NavBar.js +182 -0
  652. package/dist/navigation/NavBar.js.map +1 -0
  653. package/dist/navigation/NavList.d.ts +112 -0
  654. package/dist/navigation/NavList.js +375 -0
  655. package/dist/navigation/NavList.js.map +1 -0
  656. package/dist/navigation/PageJump.d.ts +27 -0
  657. package/dist/navigation/PageJump.js +77 -0
  658. package/dist/navigation/PageJump.js.map +1 -0
  659. package/dist/navigation/PageSizeSelect.d.ts +19 -0
  660. package/dist/navigation/PageSizeSelect.js +65 -0
  661. package/dist/navigation/PageSizeSelect.js.map +1 -0
  662. package/dist/navigation/Pager.d.ts +30 -0
  663. package/dist/navigation/Pager.js +111 -0
  664. package/dist/navigation/Pager.js.map +1 -0
  665. package/dist/navigation/Pagination.d.ts +51 -0
  666. package/dist/navigation/Pagination.js +157 -0
  667. package/dist/navigation/Pagination.js.map +1 -0
  668. package/dist/navigation/PaginationBar.d.ts +54 -0
  669. package/dist/navigation/PaginationBar.js +125 -0
  670. package/dist/navigation/PaginationBar.js.map +1 -0
  671. package/dist/navigation/SkipLink.d.ts +16 -0
  672. package/dist/navigation/SkipLink.js +58 -0
  673. package/dist/navigation/SkipLink.js.map +1 -0
  674. package/dist/navigation/Steps.d.ts +93 -0
  675. package/dist/navigation/Steps.js +198 -0
  676. package/dist/navigation/Steps.js.map +1 -0
  677. package/dist/navigation/TableOfContents.d.ts +32 -0
  678. package/dist/navigation/TableOfContents.js +119 -0
  679. package/dist/navigation/TableOfContents.js.map +1 -0
  680. package/dist/navigation/Tabs.d.ts +208 -0
  681. package/dist/navigation/Tabs.js +626 -0
  682. package/dist/navigation/Tabs.js.map +1 -0
  683. package/dist/navigation/Toolbar.d.ts +39 -0
  684. package/dist/navigation/Toolbar.js +67 -0
  685. package/dist/navigation/Toolbar.js.map +1 -0
  686. package/dist/overlay/AlertDialog.d.ts +43 -0
  687. package/dist/overlay/AlertDialog.js +106 -0
  688. package/dist/overlay/AlertDialog.js.map +1 -0
  689. package/dist/overlay/CommandPalette.d.ts +64 -0
  690. package/dist/overlay/CommandPalette.js +250 -0
  691. package/dist/overlay/CommandPalette.js.map +1 -0
  692. package/dist/overlay/ContextMenu.d.ts +21 -0
  693. package/dist/overlay/ContextMenu.js +76 -0
  694. package/dist/overlay/ContextMenu.js.map +1 -0
  695. package/dist/overlay/Dialog.d.ts +70 -0
  696. package/dist/overlay/Dialog.js +91 -0
  697. package/dist/overlay/Dialog.js.map +1 -0
  698. package/dist/overlay/Drawer.d.ts +186 -0
  699. package/dist/overlay/Drawer.js +214 -0
  700. package/dist/overlay/Drawer.js.map +1 -0
  701. package/dist/overlay/HoverCard.d.ts +48 -0
  702. package/dist/overlay/HoverCard.js +86 -0
  703. package/dist/overlay/HoverCard.js.map +1 -0
  704. package/dist/overlay/Lightbox.d.ts +57 -0
  705. package/dist/overlay/Lightbox.js +374 -0
  706. package/dist/overlay/Lightbox.js.map +1 -0
  707. package/dist/overlay/Menu.d.ts +218 -0
  708. package/dist/overlay/Menu.js +816 -0
  709. package/dist/overlay/Menu.js.map +1 -0
  710. package/dist/overlay/ModalCore.d.ts +132 -0
  711. package/dist/overlay/ModalCore.js +274 -0
  712. package/dist/overlay/ModalCore.js.map +1 -0
  713. package/dist/overlay/Popconfirm.d.ts +49 -0
  714. package/dist/overlay/Popconfirm.js +167 -0
  715. package/dist/overlay/Popconfirm.js.map +1 -0
  716. package/dist/overlay/Popover.d.ts +40 -0
  717. package/dist/overlay/Popover.js +96 -0
  718. package/dist/overlay/Popover.js.map +1 -0
  719. package/dist/overlay/Tooltip.d.ts +47 -0
  720. package/dist/overlay/Tooltip.js +86 -0
  721. package/dist/overlay/Tooltip.js.map +1 -0
  722. package/dist/overlay/Tour.d.ts +74 -0
  723. package/dist/overlay/Tour.js +309 -0
  724. package/dist/overlay/Tour.js.map +1 -0
  725. package/dist/overlay/detached.d.ts +40 -0
  726. package/dist/overlay/detached.js +109 -0
  727. package/dist/overlay/detached.js.map +1 -0
  728. package/dist/patterns/ActionBar.d.ts +29 -0
  729. package/dist/patterns/ActionBar.js +75 -0
  730. package/dist/patterns/ActionBar.js.map +1 -0
  731. package/dist/patterns/AppShell.d.ts +168 -0
  732. package/dist/patterns/AppShell.js +620 -0
  733. package/dist/patterns/AppShell.js.map +1 -0
  734. package/dist/patterns/CommentThread.d.ts +128 -0
  735. package/dist/patterns/CommentThread.js +386 -0
  736. package/dist/patterns/CommentThread.js.map +1 -0
  737. package/dist/patterns/DataImport.d.ts +72 -0
  738. package/dist/patterns/DataImport.js +486 -0
  739. package/dist/patterns/DataImport.js.map +1 -0
  740. package/dist/patterns/DeadlineBadge.d.ts +21 -0
  741. package/dist/patterns/DeadlineBadge.js +76 -0
  742. package/dist/patterns/DeadlineBadge.js.map +1 -0
  743. package/dist/patterns/FilterBar.d.ts +66 -0
  744. package/dist/patterns/FilterBar.js +254 -0
  745. package/dist/patterns/FilterBar.js.map +1 -0
  746. package/dist/patterns/KanbanBoard.d.ts +79 -0
  747. package/dist/patterns/KanbanBoard.js +294 -0
  748. package/dist/patterns/KanbanBoard.js.map +1 -0
  749. package/dist/patterns/NotificationCenter.d.ts +110 -0
  750. package/dist/patterns/NotificationCenter.js +342 -0
  751. package/dist/patterns/NotificationCenter.js.map +1 -0
  752. package/dist/patterns/PageTabs.d.ts +30 -0
  753. package/dist/patterns/PageTabs.js +97 -0
  754. package/dist/patterns/PageTabs.js.map +1 -0
  755. package/dist/patterns/QueryTable.d.ts +67 -0
  756. package/dist/patterns/QueryTable.js +301 -0
  757. package/dist/patterns/QueryTable.js.map +1 -0
  758. package/dist/patterns/StepsForm.d.ts +49 -0
  759. package/dist/patterns/StepsForm.js +130 -0
  760. package/dist/patterns/StepsForm.js.map +1 -0
  761. package/dist/patterns/ThemeSwitcher.d.ts +20 -0
  762. package/dist/patterns/ThemeSwitcher.js +102 -0
  763. package/dist/patterns/ThemeSwitcher.js.map +1 -0
  764. package/dist/patterns/form-dialog.d.ts +62 -0
  765. package/dist/patterns/form-dialog.js +143 -0
  766. package/dist/patterns/form-dialog.js.map +1 -0
  767. package/dist/patterns/index.d.ts +24 -0
  768. package/dist/patterns/index.js +15 -0
  769. package/dist/patterns/messages.d.ts +174 -0
  770. package/dist/patterns/messages.js +186 -0
  771. package/dist/patterns/messages.js.map +1 -0
  772. package/dist/table/ColumnHeaderActions.d.ts +71 -0
  773. package/dist/table/ColumnHeaderActions.js +247 -0
  774. package/dist/table/ColumnHeaderActions.js.map +1 -0
  775. package/dist/table/ColumnResizer.d.ts +12 -0
  776. package/dist/table/ColumnResizer.js +32 -0
  777. package/dist/table/ColumnResizer.js.map +1 -0
  778. package/dist/table/ColumnSettings.d.ts +34 -0
  779. package/dist/table/ColumnSettings.js +136 -0
  780. package/dist/table/ColumnSettings.js.map +1 -0
  781. package/dist/table/ColumnTable.d.ts +51 -0
  782. package/dist/table/ColumnTable.js +140 -0
  783. package/dist/table/ColumnTable.js.map +1 -0
  784. package/dist/table/DataTable.d.ts +44 -0
  785. package/dist/table/DataTable.js +453 -0
  786. package/dist/table/DataTable.js.map +1 -0
  787. package/dist/table/DataTableView.d.ts +328 -0
  788. package/dist/table/DataTableView.js +963 -0
  789. package/dist/table/DataTableView.js.map +1 -0
  790. package/dist/table/PivotTable.d.ts +66 -0
  791. package/dist/table/PivotTable.js +122 -0
  792. package/dist/table/PivotTable.js.map +1 -0
  793. package/dist/table/SelectionBar.d.ts +29 -0
  794. package/dist/table/SelectionBar.js +86 -0
  795. package/dist/table/SelectionBar.js.map +1 -0
  796. package/dist/table/Table.d.ts +169 -0
  797. package/dist/table/Table.js +304 -0
  798. package/dist/table/Table.js.map +1 -0
  799. package/dist/table/TreeDataTable.d.ts +36 -0
  800. package/dist/table/TreeDataTable.js +168 -0
  801. package/dist/table/TreeDataTable.js.map +1 -0
  802. package/dist/table/column-display.d.ts +20 -0
  803. package/dist/table/column-display.js +43 -0
  804. package/dist/table/column-display.js.map +1 -0
  805. package/dist/table/columns.d.ts +244 -0
  806. package/dist/table/columns.js +271 -0
  807. package/dist/table/columns.js.map +1 -0
  808. package/dist/table/csv.d.ts +24 -0
  809. package/dist/table/csv.js +35 -0
  810. package/dist/table/csv.js.map +1 -0
  811. package/dist/table/pivot.d.ts +66 -0
  812. package/dist/table/pivot.js +85 -0
  813. package/dist/table/pivot.js.map +1 -0
  814. package/dist/table/sheet.d.ts +44 -0
  815. package/dist/table/sheet.js +78 -0
  816. package/dist/table/sheet.js.map +1 -0
  817. package/dist/table/table-styles.d.ts +136 -0
  818. package/dist/table/table-styles.js +403 -0
  819. package/dist/table/table-styles.js.map +1 -0
  820. package/dist/table/use-table-query.d.ts +89 -0
  821. package/dist/table/use-table-query.js +194 -0
  822. package/dist/table/use-table-query.js.map +1 -0
  823. package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
  824. package/dist/theme-customize/ThemeCustomizer.js +361 -0
  825. package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
  826. package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
  827. package/dist/theme-customize/ThemeThumbnail.js +82 -0
  828. package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
  829. package/dist/theme-customize/contrast.d.ts +27 -0
  830. package/dist/theme-customize/contrast.js +251 -0
  831. package/dist/theme-customize/contrast.js.map +1 -0
  832. package/dist/theme-customize/customize.d.ts +65 -0
  833. package/dist/theme-customize/customize.js +105 -0
  834. package/dist/theme-customize/customize.js.map +1 -0
  835. package/dist/theme-customize/design-tokens.d.ts +31 -0
  836. package/dist/theme-customize/design-tokens.js +183 -0
  837. package/dist/theme-customize/design-tokens.js.map +1 -0
  838. package/dist/theme-customize/index.d.ts +20 -0
  839. package/dist/theme-customize/index.js +9 -0
  840. package/dist/theme-customize/messages.d.ts +74 -0
  841. package/dist/theme-customize/messages.js +142 -0
  842. package/dist/theme-customize/messages.js.map +1 -0
  843. package/dist/theme-customize/palette.d.ts +898 -0
  844. package/dist/theme-customize/palette.js +111 -0
  845. package/dist/theme-customize/palette.js.map +1 -0
  846. package/dist/theme-customize/token-catalog.d.ts +20 -0
  847. package/dist/theme-customize/token-catalog.js +836 -0
  848. package/dist/theme-customize/token-catalog.js.map +1 -0
  849. package/dist/three/background/AuroraBackground.d.ts +30 -0
  850. package/dist/three/background/AuroraBackground.js +80 -0
  851. package/dist/three/background/AuroraBackground.js.map +1 -0
  852. package/dist/three/background/MeshGradient.d.ts +28 -0
  853. package/dist/three/background/MeshGradient.js +76 -0
  854. package/dist/three/background/MeshGradient.js.map +1 -0
  855. package/dist/three/background/ShaderBackground.d.ts +25 -0
  856. package/dist/three/background/ShaderBackground.js +107 -0
  857. package/dist/three/background/ShaderBackground.js.map +1 -0
  858. package/dist/three/core/EffectSurface.d.ts +41 -0
  859. package/dist/three/core/EffectSurface.js +62 -0
  860. package/dist/three/core/EffectSurface.js.map +1 -0
  861. package/dist/three/core/ThreeCanvas.d.ts +39 -0
  862. package/dist/three/core/ThreeCanvas.js +77 -0
  863. package/dist/three/core/ThreeCanvas.js.map +1 -0
  864. package/dist/three/core/dispose.d.ts +9 -0
  865. package/dist/three/core/dispose.js +26 -0
  866. package/dist/three/core/dispose.js.map +1 -0
  867. package/dist/three/core/orbit.d.ts +31 -0
  868. package/dist/three/core/orbit.js +83 -0
  869. package/dist/three/core/orbit.js.map +1 -0
  870. package/dist/three/core/quality.d.ts +59 -0
  871. package/dist/three/core/quality.js +80 -0
  872. package/dist/three/core/quality.js.map +1 -0
  873. package/dist/three/core/renderer.d.ts +110 -0
  874. package/dist/three/core/renderer.js +303 -0
  875. package/dist/three/core/renderer.js.map +1 -0
  876. package/dist/three/core/shaders.d.ts +19 -0
  877. package/dist/three/core/shaders.js +100 -0
  878. package/dist/three/core/shaders.js.map +1 -0
  879. package/dist/three/core/theme-colors.d.ts +30 -0
  880. package/dist/three/core/theme-colors.js +113 -0
  881. package/dist/three/core/theme-colors.js.map +1 -0
  882. package/dist/three/effects/Confetti.d.ts +62 -0
  883. package/dist/three/effects/Confetti.js +242 -0
  884. package/dist/three/effects/Confetti.js.map +1 -0
  885. package/dist/three/effects/ParticleField.d.ts +39 -0
  886. package/dist/three/effects/ParticleField.js +266 -0
  887. package/dist/three/effects/ParticleField.js.map +1 -0
  888. package/dist/three/effects/WaveGrid.d.ts +37 -0
  889. package/dist/three/effects/WaveGrid.js +130 -0
  890. package/dist/three/effects/WaveGrid.js.map +1 -0
  891. package/dist/three/globe/Globe.d.ts +70 -0
  892. package/dist/three/globe/Globe.js +337 -0
  893. package/dist/three/globe/Globe.js.map +1 -0
  894. package/dist/three/globe/land.d.ts +9 -0
  895. package/dist/three/globe/land.js +14 -0
  896. package/dist/three/globe/land.js.map +1 -0
  897. package/dist/three/index.d.ts +24 -0
  898. package/dist/three/index.js +18 -0
  899. package/dist/three/model/ModelViewer.d.ts +63 -0
  900. package/dist/three/model/ModelViewer.js +193 -0
  901. package/dist/three/model/ModelViewer.js.map +1 -0
  902. package/dist/utils/data/clone.d.ts +8 -0
  903. package/dist/utils/data/clone.js +21 -0
  904. package/dist/utils/data/clone.js.map +1 -0
  905. package/dist/utils/data/collation.d.ts +36 -0
  906. package/dist/utils/data/collation.js +69 -0
  907. package/dist/utils/data/collation.js.map +1 -0
  908. package/dist/utils/data/color.d.ts +32 -0
  909. package/dist/utils/data/color.js +90 -0
  910. package/dist/utils/data/color.js.map +1 -0
  911. package/dist/utils/data/date.d.ts +196 -0
  912. package/dist/utils/data/date.js +421 -0
  913. package/dist/utils/data/date.js.map +1 -0
  914. package/dist/utils/data/diff.d.ts +21 -0
  915. package/dist/utils/data/diff.js +43 -0
  916. package/dist/utils/data/diff.js.map +1 -0
  917. package/dist/utils/data/equality.d.ts +5 -0
  918. package/dist/utils/data/equality.js +24 -0
  919. package/dist/utils/data/equality.js.map +1 -0
  920. package/dist/utils/data/history.d.ts +59 -0
  921. package/dist/utils/data/history.js +132 -0
  922. package/dist/utils/data/history.js.map +1 -0
  923. package/dist/utils/data/intl-cache.d.ts +8 -0
  924. package/dist/utils/data/intl-cache.js +19 -0
  925. package/dist/utils/data/intl-cache.js.map +1 -0
  926. package/dist/utils/data/number-parse.d.ts +7 -0
  927. package/dist/utils/data/number-parse.js +45 -0
  928. package/dist/utils/data/number-parse.js.map +1 -0
  929. package/dist/utils/data/number.d.ts +10 -0
  930. package/dist/utils/data/number.js +28 -0
  931. package/dist/utils/data/number.js.map +1 -0
  932. package/dist/utils/data/numeric.d.ts +62 -0
  933. package/dist/utils/data/numeric.js +178 -0
  934. package/dist/utils/data/numeric.js.map +1 -0
  935. package/dist/utils/data/pagination.d.ts +21 -0
  936. package/dist/utils/data/pagination.js +22 -0
  937. package/dist/utils/data/pagination.js.map +1 -0
  938. package/dist/utils/data/selection.d.ts +41 -0
  939. package/dist/utils/data/selection.js +21 -0
  940. package/dist/utils/data/selection.js.map +1 -0
  941. package/dist/utils/data/status.d.ts +43 -0
  942. package/dist/utils/data/status.js +27 -0
  943. package/dist/utils/data/status.js.map +1 -0
  944. package/dist/utils/data/text.d.ts +12 -0
  945. package/dist/utils/data/text.js +30 -0
  946. package/dist/utils/data/text.js.map +1 -0
  947. package/dist/utils/data/tree.d.ts +140 -0
  948. package/dist/utils/data/tree.js +273 -0
  949. package/dist/utils/data/tree.js.map +1 -0
  950. package/dist/utils/data/workdays.d.ts +67 -0
  951. package/dist/utils/data/workdays.js +67 -0
  952. package/dist/utils/data/workdays.js.map +1 -0
  953. package/dist/utils/dom/announcer.d.ts +11 -0
  954. package/dist/utils/dom/announcer.js +53 -0
  955. package/dist/utils/dom/announcer.js.map +1 -0
  956. package/dist/utils/dom/caret.d.ts +14 -0
  957. package/dist/utils/dom/caret.js +72 -0
  958. package/dist/utils/dom/caret.js.map +1 -0
  959. package/dist/utils/dom/clipboard.d.ts +16 -0
  960. package/dist/utils/dom/clipboard.js +66 -0
  961. package/dist/utils/dom/clipboard.js.map +1 -0
  962. package/dist/utils/dom/direction.d.ts +12 -0
  963. package/dist/utils/dom/direction.js +20 -0
  964. package/dist/utils/dom/direction.js.map +1 -0
  965. package/dist/utils/dom/download.d.ts +14 -0
  966. package/dist/utils/dom/download.js +36 -0
  967. package/dist/utils/dom/download.js.map +1 -0
  968. package/dist/utils/dom/element.d.ts +3 -0
  969. package/dist/utils/dom/element.js +12 -0
  970. package/dist/utils/dom/element.js.map +1 -0
  971. package/dist/utils/dom/event-listener.d.ts +8 -0
  972. package/dist/utils/dom/event-listener.js +35 -0
  973. package/dist/utils/dom/event-listener.js.map +1 -0
  974. package/dist/utils/dom/floating.d.ts +149 -0
  975. package/dist/utils/dom/floating.js +262 -0
  976. package/dist/utils/dom/floating.js.map +1 -0
  977. package/dist/utils/dom/focus.d.ts +28 -0
  978. package/dist/utils/dom/focus.js +105 -0
  979. package/dist/utils/dom/focus.js.map +1 -0
  980. package/dist/utils/dom/fullscreen.d.ts +11 -0
  981. package/dist/utils/dom/fullscreen.js +43 -0
  982. package/dist/utils/dom/fullscreen.js.map +1 -0
  983. package/dist/utils/dom/hotkeys.d.ts +43 -0
  984. package/dist/utils/dom/hotkeys.js +174 -0
  985. package/dist/utils/dom/hotkeys.js.map +1 -0
  986. package/dist/utils/dom/hover-intent.d.ts +47 -0
  987. package/dist/utils/dom/hover-intent.js +72 -0
  988. package/dist/utils/dom/hover-intent.js.map +1 -0
  989. package/dist/utils/dom/hover-layer.d.ts +36 -0
  990. package/dist/utils/dom/hover-layer.js +74 -0
  991. package/dist/utils/dom/hover-layer.js.map +1 -0
  992. package/dist/utils/dom/intersection.d.ts +13 -0
  993. package/dist/utils/dom/intersection.js +36 -0
  994. package/dist/utils/dom/intersection.js.map +1 -0
  995. package/dist/utils/dom/layout-batch.d.ts +14 -0
  996. package/dist/utils/dom/layout-batch.js +26 -0
  997. package/dist/utils/dom/layout-batch.js.map +1 -0
  998. package/dist/utils/dom/link.d.ts +18 -0
  999. package/dist/utils/dom/link.js +44 -0
  1000. package/dist/utils/dom/link.js.map +1 -0
  1001. package/dist/utils/dom/media-query.d.ts +18 -0
  1002. package/dist/utils/dom/media-query.js +36 -0
  1003. package/dist/utils/dom/media-query.js.map +1 -0
  1004. package/dist/utils/dom/move.d.ts +47 -0
  1005. package/dist/utils/dom/move.js +69 -0
  1006. package/dist/utils/dom/move.js.map +1 -0
  1007. package/dist/utils/dom/open-change.d.ts +51 -0
  1008. package/dist/utils/dom/open-change.js +21 -0
  1009. package/dist/utils/dom/open-change.js.map +1 -0
  1010. package/dist/utils/dom/overflow.d.ts +29 -0
  1011. package/dist/utils/dom/overflow.js +108 -0
  1012. package/dist/utils/dom/overflow.js.map +1 -0
  1013. package/dist/utils/dom/overlay.d.ts +35 -0
  1014. package/dist/utils/dom/overlay.js +104 -0
  1015. package/dist/utils/dom/overlay.js.map +1 -0
  1016. package/dist/utils/dom/page-visibility.d.ts +10 -0
  1017. package/dist/utils/dom/page-visibility.js +22 -0
  1018. package/dist/utils/dom/page-visibility.js.map +1 -0
  1019. package/dist/utils/dom/pan-zoom.d.ts +109 -0
  1020. package/dist/utils/dom/pan-zoom.js +257 -0
  1021. package/dist/utils/dom/pan-zoom.js.map +1 -0
  1022. package/dist/utils/dom/rasterize.d.ts +18 -0
  1023. package/dist/utils/dom/rasterize.js +41 -0
  1024. package/dist/utils/dom/rasterize.js.map +1 -0
  1025. package/dist/utils/dom/resize.d.ts +4 -0
  1026. package/dist/utils/dom/resize.js +65 -0
  1027. package/dist/utils/dom/resize.js.map +1 -0
  1028. package/dist/utils/dom/ripple.d.ts +40 -0
  1029. package/dist/utils/dom/ripple.js +96 -0
  1030. package/dist/utils/dom/ripple.js.map +1 -0
  1031. package/dist/utils/dom/roving-focus.d.ts +44 -0
  1032. package/dist/utils/dom/roving-focus.js +184 -0
  1033. package/dist/utils/dom/roving-focus.js.map +1 -0
  1034. package/dist/utils/dom/scroll-spy.d.ts +30 -0
  1035. package/dist/utils/dom/scroll-spy.js +55 -0
  1036. package/dist/utils/dom/scroll-spy.js.map +1 -0
  1037. package/dist/utils/dom/sortable.d.ts +82 -0
  1038. package/dist/utils/dom/sortable.js +437 -0
  1039. package/dist/utils/dom/sortable.js.map +1 -0
  1040. package/dist/utils/dom/storage.d.ts +21 -0
  1041. package/dist/utils/dom/storage.js +66 -0
  1042. package/dist/utils/dom/storage.js.map +1 -0
  1043. package/dist/utils/dom/typeahead.d.ts +15 -0
  1044. package/dist/utils/dom/typeahead.js +26 -0
  1045. package/dist/utils/dom/typeahead.js.map +1 -0
  1046. package/dist/utils/motion/active-indicator.d.ts +24 -0
  1047. package/dist/utils/motion/active-indicator.js +58 -0
  1048. package/dist/utils/motion/active-indicator.js.map +1 -0
  1049. package/dist/utils/motion/animation.d.ts +58 -0
  1050. package/dist/utils/motion/animation.js +83 -0
  1051. package/dist/utils/motion/animation.js.map +1 -0
  1052. package/dist/utils/motion/delayed-loading.d.ts +18 -0
  1053. package/dist/utils/motion/delayed-loading.js +38 -0
  1054. package/dist/utils/motion/delayed-loading.js.map +1 -0
  1055. package/dist/utils/motion/layout.d.ts +17 -0
  1056. package/dist/utils/motion/layout.js +43 -0
  1057. package/dist/utils/motion/layout.js.map +1 -0
  1058. package/dist/utils/motion/pointer.d.ts +14 -0
  1059. package/dist/utils/motion/pointer.js +72 -0
  1060. package/dist/utils/motion/pointer.js.map +1 -0
  1061. package/dist/utils/motion/presence.d.ts +57 -0
  1062. package/dist/utils/motion/presence.js +100 -0
  1063. package/dist/utils/motion/presence.js.map +1 -0
  1064. package/dist/utils/motion/reveal.d.ts +9 -0
  1065. package/dist/utils/motion/reveal.js +68 -0
  1066. package/dist/utils/motion/reveal.js.map +1 -0
  1067. package/dist/utils/motion/tween.d.ts +34 -0
  1068. package/dist/utils/motion/tween.js +50 -0
  1069. package/dist/utils/motion/tween.js.map +1 -0
  1070. package/dist/utils/props.d.ts +84 -0
  1071. package/dist/utils/props.js +189 -0
  1072. package/dist/utils/props.js.map +1 -0
  1073. package/dist/utils/request/error-message.d.ts +17 -0
  1074. package/dist/utils/request/error-message.js +50 -0
  1075. package/dist/utils/request/error-message.js.map +1 -0
  1076. package/dist/utils/request/http.d.ts +165 -0
  1077. package/dist/utils/request/http.js +247 -0
  1078. package/dist/utils/request/http.js.map +1 -0
  1079. package/dist/utils/request/use-autosave.d.ts +35 -0
  1080. package/dist/utils/request/use-autosave.js +69 -0
  1081. package/dist/utils/request/use-autosave.js.map +1 -0
  1082. package/dist/utils/request/use-request.d.ts +37 -0
  1083. package/dist/utils/request/use-request.js +90 -0
  1084. package/dist/utils/request/use-request.js.map +1 -0
  1085. package/dist/utils/request/wire.d.ts +48 -0
  1086. package/dist/utils/request/wire.js +208 -0
  1087. package/dist/utils/request/wire.js.map +1 -0
  1088. package/dist/utils/style/attached.d.ts +25 -0
  1089. package/dist/utils/style/attached.js +82 -0
  1090. package/dist/utils/style/attached.js.map +1 -0
  1091. package/dist/utils/style/item-styles.d.ts +18 -0
  1092. package/dist/utils/style/item-styles.js +79 -0
  1093. package/dist/utils/style/item-styles.js.map +1 -0
  1094. package/dist/utils/style/markers.d.ts +6 -0
  1095. package/dist/utils/style/markers.js +11 -0
  1096. package/dist/utils/style/markers.js.map +1 -0
  1097. package/dist/utils/style/shimmer.d.ts +20 -0
  1098. package/dist/utils/style/shimmer.js +58 -0
  1099. package/dist/utils/style/shimmer.js.map +1 -0
  1100. package/dist/utils/style/styles.d.ts +118 -0
  1101. package/dist/utils/style/styles.js +114 -0
  1102. package/dist/utils/style/styles.js.map +1 -0
  1103. package/dist/utils/style/swatch-styles.d.ts +10 -0
  1104. package/dist/utils/style/swatch-styles.js +19 -0
  1105. package/dist/utils/style/swatch-styles.js.map +1 -0
  1106. package/dist/utils/style/tone-styles.d.ts +58 -0
  1107. package/dist/utils/style/tone-styles.js +180 -0
  1108. package/dist/utils/style/tone-styles.js.map +1 -0
  1109. package/dist/utils/style/transitions.d.ts +43 -0
  1110. package/dist/utils/style/transitions.js +118 -0
  1111. package/dist/utils/style/transitions.js.map +1 -0
  1112. package/dist/utils/style/typography.d.ts +155 -0
  1113. package/dist/utils/style/typography.js +80 -0
  1114. package/dist/utils/style/typography.js.map +1 -0
  1115. package/dist/utils/style/vars.d.ts +18 -0
  1116. package/dist/utils/style/vars.js +21 -0
  1117. package/dist/utils/style/vars.js.map +1 -0
  1118. package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
  1119. package/dist/utils/virtual/use-virtualizer.js +94 -0
  1120. package/dist/utils/virtual/use-virtualizer.js.map +1 -0
  1121. package/dist/utils/virtual/virtualizer.d.ts +145 -0
  1122. package/dist/utils/virtual/virtualizer.js +316 -0
  1123. package/dist/utils/virtual/virtualizer.js.map +1 -0
  1124. package/dist/xlsx/index.d.ts +7 -0
  1125. package/dist/xlsx/index.js +1 -0
  1126. package/dist/xlsx/workbook.d.ts +33 -0
  1127. package/dist/xlsx/workbook.js +195 -0
  1128. package/dist/xlsx/workbook.js.map +1 -0
  1129. package/package.json +258 -3
@@ -0,0 +1,52 @@
1
+ import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
2
+ import type { VNodeChild } from 'vue';
3
+ import { type Highlighter, type TextMatcher, type UiRouter } from './context';
4
+ import { type ComponentDefaults } from './defaults';
5
+ import { type ComponentStyles } from './styles';
6
+ import { type Lang } from './lang/lang';
7
+ import type { WorkCalendar } from '../utils/data/workdays';
8
+ import type { HttpClient } from '../utils/request/http';
9
+ import { type ThemeInput } from './theme/theme';
10
+ /** 局部配置;都不写时只是透明的容器,沿用上层配置 */
11
+ export interface ProviderProps {
12
+ /** 主题;不写时沿用上层配置 */
13
+ theme?: ThemeInput;
14
+ /** 语言;只写要改的字段,其余沿用上层配置 */
15
+ lang?: Partial<Lang>;
16
+ /** 代码高亮器(CodeBlock 用);不写时沿用上层配置 */
17
+ highlighter?: Highlighter;
18
+ /** 额外的文字匹配(拼音);不写时沿用上层配置 */
19
+ textMatcher?: TextMatcher;
20
+ /** 组件默认值:按组件逐个与上层合并,只写要改的 */
21
+ defaults?: ComponentDefaults;
22
+ /** 组件的主题定制:追加在上层的定制之后(见 styles.ts) */
23
+ styles?: ComponentStyles;
24
+ /** 路由适配;不写时沿用上层配置 */
25
+ router?: UiRouter;
26
+ /** 请求客户端;不写时沿用上层配置 */
27
+ http?: HttpClient;
28
+ /** 工作日历;不写时沿用上层配置 */
29
+ workCalendar?: WorkCalendar;
30
+ /** 波纹效果的开关;不写时沿用上层配置 */
31
+ ripple?: boolean;
32
+ children?: VNodeChild;
33
+ }
34
+ /** Provider 的样式:root、themed */
35
+ export declare const providerStyles: Readonly<{
36
+ root: css.CompiledStyles;
37
+ themed: css.CompiledStyles;
38
+ }>;
39
+ /**
40
+ * 局部配置主题与语言,可以嵌套:内层只写要改的部分,其余继承外层。
41
+ * 应用级配置见 createUi。
42
+ */
43
+ export declare const Provider: import("@zerodep-dev/vue-tsx-pro-tsx").TsxComponent<ProviderProps>;
44
+ /** ConfigScope 的 props */
45
+ export interface ConfigScopeProps {
46
+ children?: VNodeChild;
47
+ }
48
+ /**
49
+ * 给移出 Provider 的内容(Teleport 到 body 的 Toaster 等)重新带上当前的主题、语言与文字方向:
50
+ * 主题变量、lang、dir 都挂在 Provider 的元素上,传送出去的元素不再是它的后代。
51
+ */
52
+ export declare const ConfigScope: import("@zerodep-dev/vue-tsx-pro-tsx").TsxComponent<ConfigScopeProps>;
@@ -0,0 +1,111 @@
1
+ import { ConfigContext, useConfig } from "./context.js";
2
+ import { mergeDefaults } from "./defaults.js";
3
+ import { mergeStyles } from "./styles.js";
4
+ import { resolveTheme, themeAttrs } from "./theme/theme.js";
5
+ import { usePrefersDark } from "../utils/dom/media-query.js";
6
+ import { defineLang } from "./lang/lang.js";
7
+ import { computed, createVNode, mergeProps } from "vue";
8
+ import { _component, childrenProp, readonlyProp } from "@zerodep-dev/vue-tsx-pro-tsx";
9
+ import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
10
+ //#region src/config/Provider.tsx
11
+ /** 局部配置;都不写时只是透明的容器,沿用上层配置 */
12
+ /** Provider 的样式:root、themed */
13
+ var providerStyles = css.create({
14
+ root: { display: "contents" },
15
+ themed: {
16
+ color: "_text",
17
+ fontFamily: "_sans",
18
+ fontSize: "_md",
19
+ lineHeight: "_normal"
20
+ }
21
+ });
22
+ /**
23
+ * 局部配置主题与语言,可以嵌套:内层只写要改的部分,其余继承外层。
24
+ * 应用级配置见 createUi。
25
+ */
26
+ var Provider = /*#__PURE__*/ _component((_props, _ctx) => {
27
+ const theme = readonlyProp(_props, "theme");
28
+ const lang = readonlyProp(_props, "lang");
29
+ const highlighter = readonlyProp(_props, "highlighter");
30
+ const textMatcher = readonlyProp(_props, "textMatcher");
31
+ const defaults = readonlyProp(_props, "defaults");
32
+ const styles = readonlyProp(_props, "styles");
33
+ const router = readonlyProp(_props, "router");
34
+ const http = readonlyProp(_props, "http");
35
+ const workCalendar = readonlyProp(_props, "workCalendar");
36
+ const ripple = readonlyProp(_props, "ripple");
37
+ const children = childrenProp(_props);
38
+ const parent = useConfig();
39
+ const prefersDark = usePrefersDark();
40
+ const currentTheme = computed(() => theme.value ? resolveTheme(theme.value, prefersDark.value) : parent.theme);
41
+ const currentLang = computed(() => lang.value ? defineLang(parent.lang, lang.value) : parent.lang);
42
+ const currentDefaults = computed(() => mergeDefaults(parent.defaults, defaults.value));
43
+ const currentStyles = computed(() => mergeStyles(parent.styles, styles.value));
44
+ ConfigContext.provide({
45
+ get theme() {
46
+ return currentTheme.value;
47
+ },
48
+ get lang() {
49
+ return currentLang.value;
50
+ },
51
+ get highlighter() {
52
+ return highlighter.value ?? parent.highlighter;
53
+ },
54
+ get textMatcher() {
55
+ return textMatcher.value ?? parent.textMatcher;
56
+ },
57
+ get defaults() {
58
+ return currentDefaults.value;
59
+ },
60
+ get styles() {
61
+ return currentStyles.value;
62
+ },
63
+ get router() {
64
+ return router.value ?? parent.router;
65
+ },
66
+ get http() {
67
+ return http.value ?? parent.http;
68
+ },
69
+ get workCalendar() {
70
+ return workCalendar.value ?? parent.workCalendar;
71
+ },
72
+ get ripple() {
73
+ return ripple.value ?? parent.ripple;
74
+ }
75
+ });
76
+ return () => createVNode("div", mergeProps(theme.value ? themeAttrs(currentTheme.value) : {}, css.attrs(providerStyles.root, theme.value != null && providerStyles.themed), {
77
+ "lang": currentLang.value.code,
78
+ "dir": currentLang.value.direction
79
+ }), [children.value]);
80
+ }, {
81
+ name: "Provider",
82
+ props: [
83
+ "theme",
84
+ "lang",
85
+ "highlighter",
86
+ "textMatcher",
87
+ "defaults",
88
+ "styles",
89
+ "router",
90
+ "http",
91
+ "workCalendar",
92
+ "ripple"
93
+ ]
94
+ });
95
+ /** ConfigScope 的 props */
96
+ /**
97
+ * 给移出 Provider 的内容(Teleport 到 body 的 Toaster 等)重新带上当前的主题、语言与文字方向:
98
+ * 主题变量、lang、dir 都挂在 Provider 的元素上,传送出去的元素不再是它的后代。
99
+ */
100
+ var ConfigScope = /*#__PURE__*/ _component((_props2, _ctx2) => {
101
+ const children = childrenProp(_props2);
102
+ const config = useConfig();
103
+ return () => createVNode("div", mergeProps(themeAttrs(config.theme), css.attrs(providerStyles.root, providerStyles.themed), {
104
+ "lang": config.lang.code,
105
+ "dir": config.lang.direction
106
+ }), [children.value]);
107
+ }, { name: "ConfigScope" });
108
+ //#endregion
109
+ export { ConfigScope, Provider, providerStyles };
110
+
111
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","names":["_vtp_readonlyProp","_vtp_childrenProp","_vue_computed","_createVNode","_mergeProps"],"sources":["../../src/config/Provider.tsx"],"sourcesContent":["import { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport type { VNodeChild } from 'vue';\nimport {\n ConfigContext,\n useConfig,\n type Highlighter,\n type TextMatcher,\n type UiRouter,\n} from './context';\nimport { mergeDefaults, type ComponentDefaults } from './defaults';\nimport { mergeStyles, type ComponentStyles } from './styles';\nimport { defineLang, type Lang } from './lang/lang';\nimport { usePrefersDark } from '../utils/dom/media-query';\nimport type { WorkCalendar } from '../utils/data/workdays';\nimport type { HttpClient } from '../utils/request/http';\nimport { resolveTheme, themeAttrs, type ThemeInput } from './theme/theme';\n\n/** 局部配置;都不写时只是透明的容器,沿用上层配置 */\nexport interface ProviderProps {\n /** 主题;不写时沿用上层配置 */\n theme?: ThemeInput;\n /** 语言;只写要改的字段,其余沿用上层配置 */\n lang?: Partial<Lang>;\n /** 代码高亮器(CodeBlock 用);不写时沿用上层配置 */\n highlighter?: Highlighter;\n /** 额外的文字匹配(拼音);不写时沿用上层配置 */\n textMatcher?: TextMatcher;\n /** 组件默认值:按组件逐个与上层合并,只写要改的 */\n defaults?: ComponentDefaults;\n /** 组件的主题定制:追加在上层的定制之后(见 styles.ts) */\n styles?: ComponentStyles;\n /** 路由适配;不写时沿用上层配置 */\n router?: UiRouter;\n /** 请求客户端;不写时沿用上层配置 */\n http?: HttpClient;\n /** 工作日历;不写时沿用上层配置 */\n workCalendar?: WorkCalendar;\n /** 波纹效果的开关;不写时沿用上层配置 */\n ripple?: boolean;\n children?: VNodeChild;\n}\n\n/** Provider 的样式:root、themed */\nexport const providerStyles = css.create({\n // 不产生盒子,不影响布局;主题变量与文字样式照常由子元素继承\n root: { display: 'contents' },\n themed: {\n color: '_text',\n fontFamily: '_sans',\n fontSize: '_md',\n lineHeight: '_normal',\n },\n});\n\n/**\n * 局部配置主题与语言,可以嵌套:内层只写要改的部分,其余继承外层。\n * 应用级配置见 createUi。\n */\nexport const Provider = _component(\n ({\n theme,\n lang,\n highlighter,\n textMatcher,\n defaults,\n styles,\n router,\n http,\n workCalendar,\n ripple,\n children,\n }: ProviderProps) => {\n const parent = useConfig();\n const prefersDark = usePrefersDark();\n const currentTheme = _derived(theme ? resolveTheme(theme, prefersDark.value) : parent.theme);\n const currentLang = _derived(lang ? defineLang(parent.lang, lang) : parent.lang);\n const currentDefaults = _derived(mergeDefaults(parent.defaults, defaults));\n const currentStyles = _derived(mergeStyles(parent.styles, styles));\n ConfigContext.provide({\n get theme() {\n return currentTheme;\n },\n get lang() {\n return currentLang;\n },\n get highlighter() {\n return highlighter ?? parent.highlighter;\n },\n get textMatcher() {\n return textMatcher ?? parent.textMatcher;\n },\n get defaults() {\n return currentDefaults;\n },\n get styles() {\n return currentStyles;\n },\n get router() {\n return router ?? parent.router;\n },\n get http() {\n return http ?? parent.http;\n },\n get workCalendar() {\n return workCalendar ?? parent.workCalendar;\n },\n get ripple() {\n return ripple ?? parent.ripple;\n },\n });\n\n return () => (\n <div\n {...(theme ? themeAttrs(currentTheme) : {})}\n {...css.attrs(providerStyles.root, theme != null && providerStyles.themed)}\n lang={currentLang.code}\n dir={currentLang.direction}\n >\n {children}\n </div>\n );\n },\n);\n\n/** ConfigScope 的 props */\nexport interface ConfigScopeProps {\n children?: VNodeChild;\n}\n\n/**\n * 给移出 Provider 的内容(Teleport 到 body 的 Toaster 等)重新带上当前的主题、语言与文字方向:\n * 主题变量、lang、dir 都挂在 Provider 的元素上,传送出去的元素不再是它的后代。\n */\nexport const ConfigScope = _component(({ children }: ConfigScopeProps) => {\n const config = useConfig();\n return () => (\n <div\n {...themeAttrs(config.theme)}\n {...css.attrs(providerStyles.root, providerStyles.themed)}\n lang={config.lang.code}\n dir={config.lang.direction}\n >\n {children}\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;;;AA4CA,IAAa,iBAAiB,IAAI,OAAO;CAEvC,MAAM,EAAE,SAAS,WAAW;CAC5B,QAAQ;EACN,OAAO;EACP,YAAY;EACZ,UAAU;EACV,YAAY;CACd;AACF,CAAC;;;;;AAMD,IAAa,WAAW,0BACtB,QAAA,SAYqB;CAAA,MAAA,QAAAA,aAAA,QAAA,OAAA;CAAA,MAAA,OAAAA,aAAA,QAAA,MAAA;CAAA,MAAA,cAAAA,aAAA,QAAA,aAAA;CAAA,MAAA,cAAAA,aAAA,QAAA,aAAA;CAAA,MAAA,WAAAA,aAAA,QAAA,UAAA;CAAA,MAAA,SAAAA,aAAA,QAAA,QAAA;CAAA,MAAA,SAAAA,aAAA,QAAA,QAAA;CAAA,MAAA,OAAAA,aAAA,QAAA,MAAA;CAAA,MAAA,eAAAA,aAAA,QAAA,cAAA;CAAA,MAAA,SAAAA,aAAA,QAAA,QAAA;CAAA,MAAA,WAAAC,aAAA,MAAA;CACnB,MAAM,SAAS,UAAU;CACzB,MAAM,cAAc,eAAe;CACnC,MAAM,eAAYC,eAAY,MAAA,QAAQ,aAAY,MAAA,OAAQ,YAAY,KAAK,IAAI,OAAO,KAAK;CAC3F,MAAM,cAAWA,eAAY,KAAA,QAAO,WAAW,OAAO,MAAI,KAAA,KAAM,IAAI,OAAO,IAAI;CAC/E,MAAM,kBAAeA,eAAY,cAAc,OAAO,UAAQ,SAAA,KAAU,CAAC;CACzE,MAAM,gBAAaA,eAAY,YAAY,OAAO,QAAM,OAAA,KAAQ,CAAC;CACjE,cAAc,QAAQ;EACpB,IAAI,QAAQ;GACV,OAAA,aAAA;EACF;EACA,IAAI,OAAO;GACT,OAAA,YAAA;EACF;EACA,IAAI,cAAc;GAChB,OAAO,YAAA,SAAe,OAAO;EAC/B;EACA,IAAI,cAAc;GAChB,OAAO,YAAA,SAAe,OAAO;EAC/B;EACA,IAAI,WAAW;GACb,OAAA,gBAAA;EACF;EACA,IAAI,SAAS;GACX,OAAA,cAAA;EACF;EACA,IAAI,SAAS;GACX,OAAO,OAAA,SAAU,OAAO;EAC1B;EACA,IAAI,OAAO;GACT,OAAO,KAAA,SAAQ,OAAO;EACxB;EACA,IAAI,eAAe;GACjB,OAAO,aAAA,SAAgB,OAAO;EAChC;EACA,IAAI,SAAS;GACX,OAAO,OAAA,SAAU,OAAO;EAC1B;CACF,CAAC;CAED,aAAOC,YAAA,OAAAC,WAEE,MAAA,QAAQ,WAAU,aAAA,KAAa,IAAI,CAAC,GACrC,IAAI,MAAM,eAAe,MAAM,MAAA,SAAS,QAAQ,eAAe,MAAM,GAAC;EAAA,QACpE,YAAA,MAAY;EAAI,OACjB,YAAA,MAAY;CAAS,CAAA,GAAA,CAAA,SAAA,KAAA,CAAA;AAKhC,GAAC;CAAA,MAAA;CAAA,OAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;CAAA;AAAA,CACH;;;;;;AAWA,IAAa,cAAc,0BAAW,SAAA,UAAoC;CAAA,MAAA,WAAAH,aAAA,OAAA;CACxE,MAAM,SAAS,UAAU;CACzB,aAAOE,YAAA,OAAAC,WAEC,WAAW,OAAO,KAAK,GACvB,IAAI,MAAM,eAAe,MAAM,eAAe,MAAM,GAAC;EAAA,QACnD,OAAO,KAAK;EAAI,OACjB,OAAO,KAAK;CAAS,CAAA,GAAA,CAAA,SAAA,KAAA,CAAA;AAKhC,GAAC,EAAA,MAAA,cAAA,CAAA"}
@@ -0,0 +1,90 @@
1
+ import type { WorkCalendar } from '../utils/data/workdays';
2
+ import type { HttpClient } from '../utils/request/http';
3
+ import type { ComponentDefaults } from './defaults';
4
+ import type { StyleLayers } from './styles';
5
+ import type { Lang } from './lang/lang';
6
+ import type { Theme } from './theme/theme';
7
+ /**
8
+ * 代码高亮器:代码 + 语言 → 高亮后的行内 HTML(只含 span 与换行的 br,不含 pre、code),交给 CodeBlock。
9
+ * 组件库不依赖具体实现;Shiki 的实现见子路径 `@zerodep-dev/vue-tsx-pro-ui/shiki` 的 createShikiHighlighter。
10
+ * 返回的 HTML 直接写进页面,实现方负责转义代码里的文字。
11
+ */
12
+ export type Highlighter = (code: string, lang: string) => Promise<string>;
13
+ /**
14
+ * 额外的文字匹配:选项过滤、命令面板、树的搜索在内置匹配(忽略大小写与重音的包含)之外再试它,任一命中就算。
15
+ * 拼音匹配见子路径 `@zerodep-dev/vue-tsx-pro-ui/pinyin` 的 createPinyinMatcher
16
+ */
17
+ export type TextMatcher = (text: string, query: string) => boolean;
18
+ /**
19
+ * 路由适配(参考 React Aria 的 RouterProvider 与 useHref):组件库不依赖具体的路由库。
20
+ * Link、LinkButton、导航组件渲染的仍是 <a href>;普通左键点击站内链接时改由 navigate 跳转(不刷新页面),
21
+ * 新窗口打开、按着修饰键、外部链接、下载照常交给浏览器。
22
+ *
23
+ * createUi({ router: { navigate: (href) => router.push(href), isActive: (href) => route.path === href } })
24
+ */
25
+ export interface UiRouter {
26
+ /** 站内跳转;收到的是组件上写的原文(/orders),不是 resolve 之后的地址 */
27
+ navigate: (href: string) => void;
28
+ /**
29
+ * 站内链接渲染到 <a href> 上的真实地址:补上路由的 base(/admin/orders)、hash 模式的 #(#/orders),
30
+ * 新标签页打开、复制链接才对。不写时原样渲染
31
+ */
32
+ resolve?: (href: string) => string;
33
+ /** href 是不是当前页:导航组件据此加 aria-current="page"。在渲染时调用,读路由的响应式状态就能跟随变化 */
34
+ isActive?: (href: string) => boolean;
35
+ /**
36
+ * 站内跳转之前问一下(useLeaveConfirmation 用):guard 返回 false(或 resolve 成 false)时不跳转;返回注销函数。
37
+ * 只在路径变了时问,同一页里换 query、锚点不问
38
+ */
39
+ beforeLeave?: (guard: () => boolean | Promise<boolean>) => () => void;
40
+ /** 当前地址的查询参数(useQueryState 用);读路由的响应式状态,在 watch、渲染里读能跟随变化 */
41
+ query?: () => QueryValues;
42
+ /**
43
+ * 改当前地址的查询参数(replace,不加历史记录):patch 里的键覆盖,值为 undefined 的删掉,其余不动。
44
+ * 同一轮里调用几次要合并成一次跳转(各状态分别写入时互不覆盖)
45
+ */
46
+ replaceQuery?: (patch: QueryPatch) => void;
47
+ }
48
+ /** 地址里的查询参数:同名多个时是数组;只写了键(?flag)时是空字符串 */
49
+ export type QueryValues = Readonly<Record<string, string | readonly string[]>>;
50
+ /** 要改的查询参数:undefined 是删掉 */
51
+ export type QueryPatch = Readonly<Record<string, string | readonly string[] | undefined>>;
52
+ /** 提供方用 getter 暴露当前值,读取方在渲染或 computed 里读取即可跟随变化 */
53
+ export interface UiConfig {
54
+ /** 当前主题(明暗已按系统设置选定) */
55
+ readonly theme: Theme;
56
+ /** 当前语言:地区格式与界面文案 */
57
+ readonly lang: Lang;
58
+ /** 代码高亮器;没有时 CodeBlock 显示纯文本 */
59
+ readonly highlighter?: Highlighter;
60
+ /** 额外的文字匹配(拼音);没有时只按字面匹配 */
61
+ readonly textMatcher?: TextMatcher;
62
+ /** 组件默认值(见 defaults.ts) */
63
+ readonly defaults: ComponentDefaults;
64
+ /** 组件的主题定制,外层在前(见 styles.ts) */
65
+ readonly styles: StyleLayers;
66
+ /** 路由适配;没有时链接就是普通的页面跳转 */
67
+ readonly router?: UiRouter;
68
+ /** 请求客户端(远程选项、上传、列表查询用);没有时 useHttp 给一个默认的 createHttpClient() */
69
+ readonly http?: HttpClient;
70
+ /** 工作日历(时限、剩余工作日用);没有时只按周末算 */
71
+ readonly workCalendar?: WorkCalendar;
72
+ /** 可点击组件按下时的波纹效果,默认开启;组件的 ripple prop 可以单独覆盖 */
73
+ readonly ripple: boolean;
74
+ }
75
+ /** 配置的注入键:createUi 在应用级提供,Provider 在局部覆盖 */
76
+ export declare const ConfigContext: import("@zerodep-dev/vue-tsx-pro-tsx").Context<UiConfig>;
77
+ /** 默认配置:亮色主题 + 简体中文 */
78
+ export declare const defaultConfig: UiConfig;
79
+ /** 当前的主题与语言配置;没有 createUi 与 Provider 时为默认配置 */
80
+ export declare function useConfig(): UiConfig;
81
+ /**
82
+ * 当前语言:`const lang = useLang()`,之后 `lang.confirm`、`lang.timeZone`。
83
+ * 返回的对象总是转发到最新配置,在渲染函数里读取即可随 Provider 切换语言。
84
+ */
85
+ export declare function useLang(): Lang;
86
+ /**
87
+ * 当前配置下的文字匹配:内置匹配(按当前语言忽略大小写与重音)或 textMatcher(拼音)任一命中。
88
+ * 在 setup 里调用,返回的函数在渲染、计算里调用(读到最新的语言与配置)
89
+ */
90
+ export declare function useTextMatcher(): () => TextMatcher;
@@ -0,0 +1,58 @@
1
+ import { createMatcher } from "../utils/data/collation.js";
2
+ import { zhCN } from "./lang/zh-CN.js";
3
+ import { lightTheme } from "./theme/light.js";
4
+ import { createContext } from "@zerodep-dev/vue-tsx-pro-tsx";
5
+ //#region src/config/context.ts
6
+ /**
7
+ * 组件库配置(主题与语言)的上下文:应用级由 createUi 提供,局部由 <Provider> 覆盖;
8
+ * 都没有时使用默认值(亮色主题 + 简体中文),组件单独使用也能工作。
9
+ */
10
+ /** 配置的注入键:createUi 在应用级提供,Provider 在局部覆盖 */
11
+ var ConfigContext = createContext("Provider");
12
+ /** 默认配置:亮色主题 + 简体中文 */
13
+ var defaultConfig = {
14
+ theme: lightTheme,
15
+ lang: zhCN,
16
+ defaults: {},
17
+ styles: {},
18
+ ripple: true
19
+ };
20
+ /** 当前的主题与语言配置;没有 createUi 与 Provider 时为默认配置 */
21
+ function useConfig() {
22
+ return ConfigContext.inject(defaultConfig);
23
+ }
24
+ /**
25
+ * 当前语言:`const lang = useLang()`,之后 `lang.confirm`、`lang.timeZone`。
26
+ * 返回的对象总是转发到最新配置,在渲染函数里读取即可随 Provider 切换语言。
27
+ */
28
+ function useLang() {
29
+ const config = useConfig();
30
+ return new Proxy({}, {
31
+ get: (_, key) => Reflect.get(config.lang, key),
32
+ has: (_, key) => Reflect.has(config.lang, key),
33
+ ownKeys: () => Reflect.ownKeys(config.lang),
34
+ getOwnPropertyDescriptor: (_, key) => {
35
+ const descriptor = Reflect.getOwnPropertyDescriptor(config.lang, key);
36
+ return descriptor && {
37
+ ...descriptor,
38
+ configurable: true
39
+ };
40
+ }
41
+ });
42
+ }
43
+ /**
44
+ * 当前配置下的文字匹配:内置匹配(按当前语言忽略大小写与重音)或 textMatcher(拼音)任一命中。
45
+ * 在 setup 里调用,返回的函数在渲染、计算里调用(读到最新的语言与配置)
46
+ */
47
+ function useTextMatcher() {
48
+ const config = useConfig();
49
+ return () => {
50
+ const builtin = createMatcher(config.lang.code);
51
+ const extra = config.textMatcher;
52
+ return extra ? (text, query) => builtin(text, query) || extra(text, query) : builtin;
53
+ };
54
+ }
55
+ //#endregion
56
+ export { ConfigContext, defaultConfig, useConfig, useLang, useTextMatcher };
57
+
58
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../src/config/context.ts"],"sourcesContent":["/**\n * 组件库配置(主题与语言)的上下文:应用级由 createUi 提供,局部由 <Provider> 覆盖;\n * 都没有时使用默认值(亮色主题 + 简体中文),组件单独使用也能工作。\n */\nimport { createContext } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport { createMatcher } from '../utils/data/collation';\nimport type { WorkCalendar } from '../utils/data/workdays';\nimport type { HttpClient } from '../utils/request/http';\nimport type { ComponentDefaults } from './defaults';\nimport type { StyleLayers } from './styles';\nimport type { Lang } from './lang/lang';\nimport { zhCN } from './lang/zh-CN';\nimport { lightTheme } from './theme/light';\nimport type { Theme } from './theme/theme';\n\n/**\n * 代码高亮器:代码 + 语言 → 高亮后的行内 HTML(只含 span 与换行的 br,不含 pre、code),交给 CodeBlock。\n * 组件库不依赖具体实现;Shiki 的实现见子路径 `@zerodep-dev/vue-tsx-pro-ui/shiki` 的 createShikiHighlighter。\n * 返回的 HTML 直接写进页面,实现方负责转义代码里的文字。\n */\nexport type Highlighter = (code: string, lang: string) => Promise<string>;\n\n/**\n * 额外的文字匹配:选项过滤、命令面板、树的搜索在内置匹配(忽略大小写与重音的包含)之外再试它,任一命中就算。\n * 拼音匹配见子路径 `@zerodep-dev/vue-tsx-pro-ui/pinyin` 的 createPinyinMatcher\n */\nexport type TextMatcher = (text: string, query: string) => boolean;\n\n/**\n * 路由适配(参考 React Aria 的 RouterProvider 与 useHref):组件库不依赖具体的路由库。\n * Link、LinkButton、导航组件渲染的仍是 <a href>;普通左键点击站内链接时改由 navigate 跳转(不刷新页面),\n * 新窗口打开、按着修饰键、外部链接、下载照常交给浏览器。\n *\n * createUi({ router: { navigate: (href) => router.push(href), isActive: (href) => route.path === href } })\n */\nexport interface UiRouter {\n /** 站内跳转;收到的是组件上写的原文(/orders),不是 resolve 之后的地址 */\n navigate: (href: string) => void;\n /**\n * 站内链接渲染到 <a href> 上的真实地址:补上路由的 base(/admin/orders)、hash 模式的 #(#/orders),\n * 新标签页打开、复制链接才对。不写时原样渲染\n */\n resolve?: (href: string) => string;\n /** href 是不是当前页:导航组件据此加 aria-current=\"page\"。在渲染时调用,读路由的响应式状态就能跟随变化 */\n isActive?: (href: string) => boolean;\n /**\n * 站内跳转之前问一下(useLeaveConfirmation 用):guard 返回 false(或 resolve 成 false)时不跳转;返回注销函数。\n * 只在路径变了时问,同一页里换 query、锚点不问\n */\n beforeLeave?: (guard: () => boolean | Promise<boolean>) => () => void;\n /** 当前地址的查询参数(useQueryState 用);读路由的响应式状态,在 watch、渲染里读能跟随变化 */\n query?: () => QueryValues;\n /**\n * 改当前地址的查询参数(replace,不加历史记录):patch 里的键覆盖,值为 undefined 的删掉,其余不动。\n * 同一轮里调用几次要合并成一次跳转(各状态分别写入时互不覆盖)\n */\n replaceQuery?: (patch: QueryPatch) => void;\n}\n\n/** 地址里的查询参数:同名多个时是数组;只写了键(?flag)时是空字符串 */\nexport type QueryValues = Readonly<Record<string, string | readonly string[]>>;\n\n/** 要改的查询参数:undefined 是删掉 */\nexport type QueryPatch = Readonly<Record<string, string | readonly string[] | undefined>>;\n\n/** 提供方用 getter 暴露当前值,读取方在渲染或 computed 里读取即可跟随变化 */\nexport interface UiConfig {\n /** 当前主题(明暗已按系统设置选定) */\n readonly theme: Theme;\n /** 当前语言:地区格式与界面文案 */\n readonly lang: Lang;\n /** 代码高亮器;没有时 CodeBlock 显示纯文本 */\n readonly highlighter?: Highlighter;\n /** 额外的文字匹配(拼音);没有时只按字面匹配 */\n readonly textMatcher?: TextMatcher;\n /** 组件默认值(见 defaults.ts) */\n readonly defaults: ComponentDefaults;\n /** 组件的主题定制,外层在前(见 styles.ts) */\n readonly styles: StyleLayers;\n /** 路由适配;没有时链接就是普通的页面跳转 */\n readonly router?: UiRouter;\n /** 请求客户端(远程选项、上传、列表查询用);没有时 useHttp 给一个默认的 createHttpClient() */\n readonly http?: HttpClient;\n /** 工作日历(时限、剩余工作日用);没有时只按周末算 */\n readonly workCalendar?: WorkCalendar;\n /** 可点击组件按下时的波纹效果,默认开启;组件的 ripple prop 可以单独覆盖 */\n readonly ripple: boolean;\n}\n\n/** 配置的注入键:createUi 在应用级提供,Provider 在局部覆盖 */\nexport const ConfigContext = createContext<UiConfig>('Provider');\n\n/** 默认配置:亮色主题 + 简体中文 */\nexport const defaultConfig: UiConfig = {\n theme: lightTheme,\n lang: zhCN,\n defaults: {},\n styles: {},\n ripple: true,\n};\n\n/** 当前的主题与语言配置;没有 createUi 与 Provider 时为默认配置 */\nexport function useConfig(): UiConfig {\n return ConfigContext.inject(defaultConfig);\n}\n\n/**\n * 当前语言:`const lang = useLang()`,之后 `lang.confirm`、`lang.timeZone`。\n * 返回的对象总是转发到最新配置,在渲染函数里读取即可随 Provider 切换语言。\n */\nexport function useLang(): Lang {\n const config = useConfig();\n // 所有读取都转发到当前语言,展开与 Object.keys 也能拿到完整字段\n return new Proxy({} as Lang, {\n get: (_, key) => Reflect.get(config.lang, key),\n has: (_, key) => Reflect.has(config.lang, key),\n ownKeys: () => Reflect.ownKeys(config.lang),\n getOwnPropertyDescriptor: (_, key) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(config.lang, key);\n return descriptor && { ...descriptor, configurable: true };\n },\n });\n}\n\n/**\n * 当前配置下的文字匹配:内置匹配(按当前语言忽略大小写与重音)或 textMatcher(拼音)任一命中。\n * 在 setup 里调用,返回的函数在渲染、计算里调用(读到最新的语言与配置)\n */\nexport function useTextMatcher(): () => TextMatcher {\n const config = useConfig();\n return () => {\n const builtin = createMatcher(config.lang.code);\n const extra = config.textMatcher;\n return extra ? (text, query) => builtin(text, query) || extra(text, query) : builtin;\n };\n}\n"],"mappings":";;;;;;;;;;AA0FA,IAAa,gBAAgB,cAAwB,UAAU;;AAG/D,IAAa,gBAA0B;CACrC,OAAO;CACP,MAAM;CACN,UAAU,CAAC;CACX,QAAQ,CAAC;CACT,QAAQ;AACV;;AAGA,SAAgB,YAAsB;CACpC,OAAO,cAAc,OAAO,aAAa;AAC3C;;;;;AAMA,SAAgB,UAAgB;CAC9B,MAAM,SAAS,UAAU;CAEzB,OAAO,IAAI,MAAM,CAAC,GAAW;EAC3B,MAAM,GAAG,QAAQ,QAAQ,IAAI,OAAO,MAAM,GAAG;EAC7C,MAAM,GAAG,QAAQ,QAAQ,IAAI,OAAO,MAAM,GAAG;EAC7C,eAAe,QAAQ,QAAQ,OAAO,IAAI;EAC1C,2BAA2B,GAAG,QAAQ;GACpC,MAAM,aAAa,QAAQ,yBAAyB,OAAO,MAAM,GAAG;GACpE,OAAO,cAAc;IAAE,GAAG;IAAY,cAAc;GAAK;EAC3D;CACF,CAAC;AACH;;;;;AAMA,SAAgB,iBAAoC;CAClD,MAAM,SAAS,UAAU;CACzB,aAAa;EACX,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;EAC9C,MAAM,QAAQ,OAAO;EACrB,OAAO,SAAS,MAAM,UAAU,QAAQ,MAAM,KAAK,KAAK,MAAM,MAAM,KAAK,IAAI;CAC/E;AACF"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * 应用级配置:在宿主入口里 `app.use(createUi({ theme, lang }))`,所有 TSX 页面共享,不必逐页包裹 Provider。
3
+ * 传入 ref 或 getter 即可在运行时切换主题与语言。
4
+ */
5
+ import { type MaybeRefOrGetter, type Plugin } from 'vue';
6
+ import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
7
+ import { type Highlighter, type TextMatcher, type UiRouter } from './context';
8
+ import type { ComponentDefaults } from './defaults';
9
+ import { type ComponentStyles } from './styles';
10
+ import { type Lang } from './lang/lang';
11
+ import type { WorkCalendar } from '../utils/data/workdays';
12
+ import type { HttpClient } from '../utils/request/http';
13
+ import { type ThemeInput } from './theme/theme';
14
+ /** 应用级配置;theme 与 lang 可以传 ref 或 getter,运行时切换,其余在安装时确定 */
15
+ export interface UiOptions {
16
+ /** 主题;不写时用亮色主题,也不改动页面根元素 */
17
+ theme?: MaybeRefOrGetter<ThemeInput>;
18
+ /** 只写要改的字段,其余用简体中文的默认值 */
19
+ lang?: MaybeRefOrGetter<Partial<Lang>>;
20
+ /** 代码高亮器(CodeBlock 用),如 `@zerodep-dev/vue-tsx-pro-ui/shiki` 的 createShikiHighlighter();不写时显示纯文本 */
21
+ highlighter?: Highlighter;
22
+ /** 额外的文字匹配,如 `@zerodep-dev/vue-tsx-pro-ui/pinyin` 的 createPinyinMatcher():选项过滤、命令面板认拼音;不写时只按字面匹配 */
23
+ textMatcher?: TextMatcher;
24
+ /** 组件默认值,如 `{ Button: { variant: 'outline' } }`(见 defaults.ts) */
25
+ defaults?: ComponentDefaults;
26
+ /** 组件的主题定制:追加样式、新增档位,如 `{ Button: { base: { root: { letterSpacing: '0.02em' } } } }`(见 styles.ts) */
27
+ styles?: ComponentStyles;
28
+ /** 路由适配:站内链接不刷新页面地跳转、导航组件判断当前页(见 UiRouter) */
29
+ router?: UiRouter;
30
+ /** 请求客户端:createHttpClient({ baseURL, onRequest, onResponse }),或包一层 axios、ky(见 HttpClient) */
31
+ http?: HttpClient;
32
+ /** 工作日历:createWorkCalendar({ holidays, workdays }) 带上法定节假日与调休;不写时只按周末算 */
33
+ workCalendar?: WorkCalendar;
34
+ /** 按下时的波纹效果,默认 true;关掉后组件的 ripple prop 仍可单独打开 */
35
+ ripple?: boolean;
36
+ /**
37
+ * 页面根元素也用主题的背景色、文字色与字体,并去掉 body 的默认外边距,默认 false。
38
+ * 整页都由组件库主题管理的站点(如文档站)打开:页面边缘、回弹滚动露出的地方不再是浏览器的默认色,
39
+ * AppShell 贴满窗口、四周不留 8px 的白边;配合 themeBootScript 时接手它写的行内颜色
40
+ */
41
+ paintDocument?: boolean;
42
+ }
43
+ /** paintDocument 时页面根元素的样式 */
44
+ export declare const documentStyles: Readonly<{
45
+ body: css.CompiledStyles;
46
+ page: css.CompiledStyles;
47
+ }>;
48
+ /**
49
+ * 应用级配置的 Vue 插件:`app.use(createUi({ theme: { light: lightTheme, dark: darkTheme } }))`。
50
+ * 主题的 CSS 变量写在页面根元素上,所有 TSX 页面共享;应用卸载时撤销。
51
+ */
52
+ export declare function createUi(options?: UiOptions): Plugin;
@@ -0,0 +1,96 @@
1
+ import { ConfigContext, defaultConfig } from "./context.js";
2
+ import { mergeStyles } from "./styles.js";
3
+ import { resolveTheme, themeVariables } from "./theme/theme.js";
4
+ import { usePrefersDark } from "../utils/dom/media-query.js";
5
+ import { defineLang } from "./lang/lang.js";
6
+ import { computed, effectScope, toValue, watchEffect } from "vue";
7
+ import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
8
+ //#region src/config/createUi.ts
9
+ /**
10
+ * 应用级配置:在宿主入口里 `app.use(createUi({ theme, lang }))`,所有 TSX 页面共享,不必逐页包裹 Provider。
11
+ * 传入 ref 或 getter 即可在运行时切换主题与语言。
12
+ */
13
+ /** paintDocument 时页面根元素的样式 */
14
+ var documentStyles = css.create({
15
+ page: {
16
+ backgroundColor: "_background",
17
+ color: "_text",
18
+ fontFamily: "_sans",
19
+ lineHeight: "_normal",
20
+ WebkitFontSmoothing: "antialiased",
21
+ MozOsxFontSmoothing: "grayscale"
22
+ },
23
+ body: { margin: 0 }
24
+ });
25
+ /**
26
+ * 应用级配置的 Vue 插件:`app.use(createUi({ theme: { light: lightTheme, dark: darkTheme } }))`。
27
+ * 主题的 CSS 变量写在页面根元素上,所有 TSX 页面共享;应用卸载时撤销。
28
+ */
29
+ function createUi(options = {}) {
30
+ return { install(app) {
31
+ const scope = effectScope();
32
+ app.onUnmount(() => scope.stop());
33
+ scope.run(() => {
34
+ const prefersDark = usePrefersDark();
35
+ const theme = computed(() => resolveTheme(toValue(options.theme) ?? defaultConfig.theme, prefersDark.value));
36
+ const lang = computed(() => defineLang(defaultConfig.lang, toValue(options.lang) ?? {}));
37
+ app.provide(ConfigContext.key, {
38
+ get theme() {
39
+ return theme.value;
40
+ },
41
+ get lang() {
42
+ return lang.value;
43
+ },
44
+ highlighter: options.highlighter,
45
+ textMatcher: options.textMatcher,
46
+ defaults: options.defaults ?? {},
47
+ styles: mergeStyles({}, options.styles),
48
+ router: options.router,
49
+ http: options.http,
50
+ workCalendar: options.workCalendar,
51
+ ripple: options.ripple ?? true
52
+ });
53
+ if (options.lang && typeof document !== "undefined") {
54
+ const root = document.documentElement;
55
+ const previous = {
56
+ lang: root.lang,
57
+ dir: root.dir
58
+ };
59
+ watchEffect(() => {
60
+ root.lang = lang.value.code;
61
+ root.dir = lang.value.direction;
62
+ });
63
+ app.onUnmount(() => Object.assign(root, previous));
64
+ }
65
+ if ((options.theme || options.paintDocument) && typeof document !== "undefined") {
66
+ const root = document.documentElement;
67
+ if (options.paintDocument) root.style.removeProperty("background-color");
68
+ if (options.paintDocument) root.style.removeProperty("color");
69
+ watchEffect((onCleanup) => onCleanup(applyTheme(root, theme.value, options.paintDocument ?? false)));
70
+ if (options.paintDocument && document.body) {
71
+ const body = document.body;
72
+ const classes = css.attrs(documentStyles.body).class?.split(" ") ?? [];
73
+ body.classList.add(...classes);
74
+ app.onUnmount(() => body.classList.remove(...classes));
75
+ }
76
+ }
77
+ });
78
+ } };
79
+ }
80
+ /** 把主题的 class、CSS 变量与 data-theme 写到元素上,返回撤销函数 */
81
+ function applyTheme(element, theme, paint) {
82
+ const classes = css.attrs(...theme.styles, paint && documentStyles.page).class?.split(" ").filter(Boolean) ?? [];
83
+ const variables = themeVariables(theme);
84
+ element.classList.add(...classes);
85
+ for (const [name, value] of Object.entries(variables)) element.style.setProperty(name, value);
86
+ element.dataset.theme = theme.name;
87
+ return () => {
88
+ element.classList.remove(...classes);
89
+ for (const name of Object.keys(variables)) element.style.removeProperty(name);
90
+ delete element.dataset.theme;
91
+ };
92
+ }
93
+ //#endregion
94
+ export { createUi, documentStyles };
95
+
96
+ //# sourceMappingURL=createUi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUi.js","names":[],"sources":["../../src/config/createUi.ts"],"sourcesContent":["/**\n * 应用级配置:在宿主入口里 `app.use(createUi({ theme, lang }))`,所有 TSX 页面共享,不必逐页包裹 Provider。\n * 传入 ref 或 getter 即可在运行时切换主题与语言。\n */\nimport {\n computed,\n effectScope,\n toValue,\n watchEffect,\n type MaybeRefOrGetter,\n type Plugin,\n} from 'vue';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport {\n ConfigContext,\n defaultConfig,\n type Highlighter,\n type TextMatcher,\n type UiRouter,\n} from './context';\nimport type { ComponentDefaults } from './defaults';\nimport { mergeStyles, type ComponentStyles } from './styles';\nimport { defineLang, type Lang } from './lang/lang';\nimport { usePrefersDark } from '../utils/dom/media-query';\nimport type { WorkCalendar } from '../utils/data/workdays';\nimport type { HttpClient } from '../utils/request/http';\nimport { resolveTheme, themeVariables, type Theme, type ThemeInput } from './theme/theme';\n\n/** 应用级配置;theme 与 lang 可以传 ref 或 getter,运行时切换,其余在安装时确定 */\nexport interface UiOptions {\n /** 主题;不写时用亮色主题,也不改动页面根元素 */\n theme?: MaybeRefOrGetter<ThemeInput>;\n /** 只写要改的字段,其余用简体中文的默认值 */\n lang?: MaybeRefOrGetter<Partial<Lang>>;\n /** 代码高亮器(CodeBlock 用),如 `@zerodep-dev/vue-tsx-pro-ui/shiki` 的 createShikiHighlighter();不写时显示纯文本 */\n highlighter?: Highlighter;\n /** 额外的文字匹配,如 `@zerodep-dev/vue-tsx-pro-ui/pinyin` 的 createPinyinMatcher():选项过滤、命令面板认拼音;不写时只按字面匹配 */\n textMatcher?: TextMatcher;\n /** 组件默认值,如 `{ Button: { variant: 'outline' } }`(见 defaults.ts) */\n defaults?: ComponentDefaults;\n /** 组件的主题定制:追加样式、新增档位,如 `{ Button: { base: { root: { letterSpacing: '0.02em' } } } }`(见 styles.ts) */\n styles?: ComponentStyles;\n /** 路由适配:站内链接不刷新页面地跳转、导航组件判断当前页(见 UiRouter) */\n router?: UiRouter;\n /** 请求客户端:createHttpClient({ baseURL, onRequest, onResponse }),或包一层 axios、ky(见 HttpClient) */\n http?: HttpClient;\n /** 工作日历:createWorkCalendar({ holidays, workdays }) 带上法定节假日与调休;不写时只按周末算 */\n workCalendar?: WorkCalendar;\n /** 按下时的波纹效果,默认 true;关掉后组件的 ripple prop 仍可单独打开 */\n ripple?: boolean;\n /**\n * 页面根元素也用主题的背景色、文字色与字体,并去掉 body 的默认外边距,默认 false。\n * 整页都由组件库主题管理的站点(如文档站)打开:页面边缘、回弹滚动露出的地方不再是浏览器的默认色,\n * AppShell 贴满窗口、四周不留 8px 的白边;配合 themeBootScript 时接手它写的行内颜色\n */\n paintDocument?: boolean;\n}\n\n/** paintDocument 时页面根元素的样式 */\nexport const documentStyles = css.create({\n // 字号不设:根元素的字号是 rem 的基准,留给浏览器(用户的字号设置)\n page: {\n backgroundColor: '_background',\n color: '_text',\n fontFamily: '_sans',\n lineHeight: '_normal',\n // macOS 上用灰度抗锯齿,深色底上的浅色文字不发虚;其他系统忽略\n WebkitFontSmoothing: 'antialiased',\n MozOsxFontSmoothing: 'grayscale',\n },\n // 浏览器给 body 的 8px 外边距:整页的外壳(AppShell)要贴满窗口\n body: { margin: 0 },\n});\n\n/**\n * 应用级配置的 Vue 插件:`app.use(createUi({ theme: { light: lightTheme, dark: darkTheme } }))`。\n * 主题的 CSS 变量写在页面根元素上,所有 TSX 页面共享;应用卸载时撤销。\n */\nexport function createUi(options: UiOptions = {}): Plugin {\n return {\n install(app) {\n const scope = effectScope();\n app.onUnmount(() => scope.stop());\n scope.run(() => {\n const prefersDark = usePrefersDark();\n const theme = computed(() =>\n resolveTheme(toValue(options.theme) ?? defaultConfig.theme, prefersDark.value),\n );\n const lang = computed(() => defineLang(defaultConfig.lang, toValue(options.lang) ?? {}));\n app.provide(ConfigContext.key, {\n get theme() {\n return theme.value;\n },\n get lang() {\n return lang.value;\n },\n highlighter: options.highlighter,\n textMatcher: options.textMatcher,\n defaults: options.defaults ?? {},\n styles: mergeStyles({}, options.styles),\n router: options.router,\n http: options.http,\n workCalendar: options.workCalendar,\n ripple: options.ripple ?? true,\n });\n // 应用级的语言也写在页面根元素上(Provider 写在自己的元素上):读屏按 lang 选发音,\n // 从右到左的语言靠 dir 镜像排版与滚动条;没传 lang 时不动,宿主自己管\n if (options.lang && typeof document !== 'undefined') {\n const root = document.documentElement;\n const previous = { lang: root.lang, dir: root.dir };\n watchEffect(() => {\n root.lang = lang.value.code;\n root.dir = lang.value.direction;\n });\n app.onUnmount(() => Object.assign(root, previous));\n }\n // 应用级没有容器元素,主题变量挂在页面根元素上;变量名带 vtp- 前缀,不会与宿主冲突。\n // 只开 paintDocument、不传主题时用默认主题(整页也要有底色、字体,body 去掉外边距)\n if ((options.theme || options.paintDocument) && typeof document !== 'undefined') {\n const root = document.documentElement;\n // themeBootScript 在应用加载前写的行内颜色:交给主题的 class\n if (options.paintDocument) root.style.removeProperty('background-color');\n if (options.paintDocument) root.style.removeProperty('color');\n watchEffect((onCleanup) =>\n onCleanup(applyTheme(root, theme.value, options.paintDocument ?? false)),\n );\n if (options.paintDocument && document.body) {\n const body = document.body;\n const classes = css.attrs(documentStyles.body).class?.split(' ') ?? [];\n body.classList.add(...classes);\n app.onUnmount(() => body.classList.remove(...classes));\n }\n }\n });\n },\n };\n}\n\n/** 把主题的 class、CSS 变量与 data-theme 写到元素上,返回撤销函数 */\nfunction applyTheme(element: HTMLElement, theme: Theme, paint: boolean) {\n const classes =\n css\n .attrs(...theme.styles, paint && documentStyles.page)\n .class?.split(' ')\n .filter(Boolean) ?? [];\n const variables = themeVariables(theme);\n element.classList.add(...classes);\n for (const [name, value] of Object.entries(variables)) element.style.setProperty(name, value);\n element.dataset.theme = theme.name;\n return () => {\n element.classList.remove(...classes);\n for (const name of Object.keys(variables)) element.style.removeProperty(name);\n delete element.dataset.theme;\n };\n}\n"],"mappings":";;;;;;;;;;;;;AA2DA,IAAa,iBAAiB,IAAI,OAAO;CAEvC,MAAM;EACJ,iBAAiB;EACjB,OAAO;EACP,YAAY;EACZ,YAAY;EAEZ,qBAAqB;EACrB,qBAAqB;CACvB;CAEA,MAAM,EAAE,QAAQ,EAAE;AACpB,CAAC;;;;;AAMD,SAAgB,SAAS,UAAqB,CAAC,GAAW;CACxD,OAAO,EACL,QAAQ,KAAK;EACX,MAAM,QAAQ,YAAY;EAC1B,IAAI,gBAAgB,MAAM,KAAK,CAAC;EAChC,MAAM,UAAU;GACd,MAAM,cAAc,eAAe;GACnC,MAAM,QAAQ,eACZ,aAAa,QAAQ,QAAQ,KAAK,KAAK,cAAc,OAAO,YAAY,KAAK,CAC/E;GACA,MAAM,OAAO,eAAe,WAAW,cAAc,MAAM,QAAQ,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;GACvF,IAAI,QAAQ,cAAc,KAAK;IAC7B,IAAI,QAAQ;KACV,OAAO,MAAM;IACf;IACA,IAAI,OAAO;KACT,OAAO,KAAK;IACd;IACA,aAAa,QAAQ;IACrB,aAAa,QAAQ;IACrB,UAAU,QAAQ,YAAY,CAAC;IAC/B,QAAQ,YAAY,CAAC,GAAG,QAAQ,MAAM;IACtC,QAAQ,QAAQ;IAChB,MAAM,QAAQ;IACd,cAAc,QAAQ;IACtB,QAAQ,QAAQ,UAAU;GAC5B,CAAC;GAGD,IAAI,QAAQ,QAAQ,OAAO,aAAa,aAAa;IACnD,MAAM,OAAO,SAAS;IACtB,MAAM,WAAW;KAAE,MAAM,KAAK;KAAM,KAAK,KAAK;IAAI;IAClD,kBAAkB;KAChB,KAAK,OAAO,KAAK,MAAM;KACvB,KAAK,MAAM,KAAK,MAAM;IACxB,CAAC;IACD,IAAI,gBAAgB,OAAO,OAAO,MAAM,QAAQ,CAAC;GACnD;GAGA,KAAK,QAAQ,SAAS,QAAQ,kBAAkB,OAAO,aAAa,aAAa;IAC/E,MAAM,OAAO,SAAS;IAEtB,IAAI,QAAQ,eAAe,KAAK,MAAM,eAAe,kBAAkB;IACvE,IAAI,QAAQ,eAAe,KAAK,MAAM,eAAe,OAAO;IAC5D,aAAa,cACX,UAAU,WAAW,MAAM,MAAM,OAAO,QAAQ,iBAAiB,KAAK,CAAC,CACzE;IACA,IAAI,QAAQ,iBAAiB,SAAS,MAAM;KAC1C,MAAM,OAAO,SAAS;KACtB,MAAM,UAAU,IAAI,MAAM,eAAe,IAAI,CAAC,CAAC,OAAO,MAAM,GAAG,KAAK,CAAA;KACpE,KAAK,UAAU,IAAI,GAAG,OAAO;KAC7B,IAAI,gBAAgB,KAAK,UAAU,OAAO,GAAG,OAAO,CAAC;IACvD;GACF;EACF,CAAC;CACH,EACF;AACF;;AAGA,SAAS,WAAW,SAAsB,OAAc,OAAgB;CACtE,MAAM,UACJ,IACG,MAAM,GAAG,MAAM,QAAQ,SAAS,eAAe,IAAI,CAAC,CACpD,OAAO,MAAM,GAAG,CAAC,CACjB,OAAO,OAAO,KAAK,CAAA;CACxB,MAAM,YAAY,eAAe,KAAK;CACtC,QAAQ,UAAU,IAAI,GAAG,OAAO;CAChC,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,SAAS,GAAG,QAAQ,MAAM,YAAY,MAAM,KAAK;CAC5F,QAAQ,QAAQ,QAAQ,MAAM;CAC9B,aAAa;EACX,QAAQ,UAAU,OAAO,GAAG,OAAO;EACnC,KAAK,MAAM,QAAQ,OAAO,KAAK,SAAS,GAAG,QAAQ,MAAM,eAAe,IAAI;EAC5E,OAAO,QAAQ,QAAQ;CACzB;AACF"}
@@ -0,0 +1,71 @@
1
+ import type { BadgeOptions } from '../base/badge-styles';
2
+ import type { AlertOptions } from '../feedback/Alert';
3
+ import type { EmptyOptions } from '../feedback/Empty';
4
+ import type { ProgressOptions } from '../feedback/Progress';
5
+ import type { ResultOptions } from '../feedback/Result';
6
+ import type { IndicatorOptions } from '../base/Indicator';
7
+ import type { LinkOptions } from '../base/Link';
8
+ import type { DialogOptions } from '../overlay/Dialog';
9
+ import type { DrawerOptions } from '../overlay/Drawer';
10
+ import type { AvatarOptions } from '../display/Avatar';
11
+ import type { CardOptions } from '../display/Card';
12
+ import type { ChoiceOptions } from '../input/choice-styles';
13
+ import type { ControlOptions } from '../input/control';
14
+ import type { TabsOptions } from '../navigation/Tabs';
15
+ import type { DataTableOptions } from '../table/table-styles';
16
+ import type { ButtonOptions } from '../base/button-core';
17
+ /** 可以配置默认值的组件与选项;新组件有外观档位时在这里登记 */
18
+ export interface ComponentDefaults {
19
+ /** Button、LinkButton、IconButton、IconLinkButton 共用 */
20
+ Button?: Partial<Pick<ButtonOptions, 'variant' | 'tone' | 'size' | 'radius'>>;
21
+ /** Badge、Tag 共用 */
22
+ Badge?: BadgeOptions;
23
+ /** Link */
24
+ Link?: LinkOptions;
25
+ /** Indicator */
26
+ Indicator?: IndicatorOptions;
27
+ /** Alert */
28
+ Alert?: AlertOptions;
29
+ /** Progress */
30
+ Progress?: ProgressOptions;
31
+ /** Empty */
32
+ Empty?: EmptyOptions;
33
+ /** Result */
34
+ Result?: ResultOptions;
35
+ /** Card */
36
+ Card?: CardOptions;
37
+ /** Dialog、AlertDialog 共用 */
38
+ Dialog?: DialogOptions;
39
+ /** Drawer */
40
+ Drawer?: DrawerOptions;
41
+ /** Avatar */
42
+ Avatar?: AvatarOptions;
43
+ /** Tabs */
44
+ Tabs?: TabsOptions;
45
+ /** 输入框:TextField、Textarea、NumberField、Select、Combobox 共用 */
46
+ Input?: ControlOptions;
47
+ /** 勾选类控件:Checkbox、RadioGroup、Switch 共用 */
48
+ Choice?: ChoiceOptions;
49
+ /** 表格:DataTable、TreeDataTable 共用 */
50
+ DataTable?: DataTableOptions;
51
+ /** 静态表格 Table */
52
+ Table?: DataTableOptions;
53
+ }
54
+ /** 合并两层默认值:按组件逐个合并,内层写了的选项覆盖外层 */
55
+ export declare function mergeDefaults(outer: ComponentDefaults, inner: ComponentDefaults | undefined): ComponentDefaults;
56
+ /** useDefaults 合并后的选项:给了 fallback 的项一定有值,其余可能仍是 undefined(如不写时继承字号的 size) */
57
+ export type ResolvedDefaults<Own, Fallback> = {
58
+ [K in keyof Own as K extends keyof Fallback ? K : never]-?: Exclude<Own[K], undefined>;
59
+ } & {
60
+ [K in keyof Own as K extends keyof Fallback ? never : K]: Own[K];
61
+ };
62
+ /**
63
+ * 组件的外观选项逐项合并:显式写的 prop > 最近一层 Provider > createUi > fallback(组件自己的默认值)。
64
+ * 在 setup 里调用;返回的函数在渲染时调用,读到最新的 prop 与配置(Provider 切换后跟着变)。
65
+ *
66
+ * const appearance = useDefaults('Card', () => ({ variant, padding }), { variant: 'surface', padding: 'lg' });
67
+ * const s = recipe(appearance()); // recipe = useRecipe(cardRecipe):档位交给配方(config/styles.ts)
68
+ */
69
+ export declare function useDefaults<Name extends keyof ComponentDefaults, Own extends NonNullable<ComponentDefaults[Name]>, const Fallback extends {
70
+ [K in keyof Own]?: Exclude<Own[K], undefined>;
71
+ } = {}>(name: Name, read: () => Own, fallback?: Fallback): () => ResolvedDefaults<Own, Fallback>;
@@ -0,0 +1,45 @@
1
+ import { useConfig } from "./context.js";
2
+ import { computed } from "vue";
3
+ //#region src/config/defaults.ts
4
+ /**
5
+ * 组件默认值:应用级 `createUi({ defaults })`、局部 `<Provider defaults>` 统一改组件的默认外观,
6
+ * 不必每处都写(参考 Ant Design 的 ConfigProvider、MUI 主题的 defaultProps)。
7
+ * 优先级:组件上显式写的 prop > 最近一层 Provider > createUi > 组件自己的默认值。
8
+ *
9
+ * createUi({ defaults: { Button: { variant: 'outline', size: 'sm' } } })
10
+ *
11
+ * 只收外观类的选项(样式、尺寸、色调);行为类的(disabled、loading)每处单独决定。
12
+ */
13
+ /** 合并两层默认值:按组件逐个合并,内层写了的选项覆盖外层 */
14
+ function mergeDefaults(outer, inner) {
15
+ if (!inner) return outer;
16
+ const merged = { ...outer };
17
+ for (const [name, options] of Object.entries(inner)) merged[name] = {
18
+ ...outer[name],
19
+ ...options
20
+ };
21
+ return merged;
22
+ }
23
+ /**
24
+ * 组件的外观选项逐项合并:显式写的 prop > 最近一层 Provider > createUi > fallback(组件自己的默认值)。
25
+ * 在 setup 里调用;返回的函数在渲染时调用,读到最新的 prop 与配置(Provider 切换后跟着变)。
26
+ *
27
+ * const appearance = useDefaults('Card', () => ({ variant, padding }), { variant: 'surface', padding: 'lg' });
28
+ * const s = recipe(appearance()); // recipe = useRecipe(cardRecipe):档位交给配方(config/styles.ts)
29
+ */
30
+ function useDefaults(name, read, fallback) {
31
+ const config = useConfig();
32
+ const resolved = computed(() => {
33
+ const own = read();
34
+ const provided = config.defaults[name] ?? {};
35
+ const defaults = fallback ?? {};
36
+ const merged = {};
37
+ for (const key of Object.keys(own)) merged[key] = own[key] ?? provided[key] ?? defaults[key];
38
+ return merged;
39
+ });
40
+ return () => resolved.value;
41
+ }
42
+ //#endregion
43
+ export { mergeDefaults, useDefaults };
44
+
45
+ //# sourceMappingURL=defaults.js.map