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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/dist/base/Badge.d.ts +28 -0
  4. package/dist/base/Badge.js +72 -0
  5. package/dist/base/Badge.js.map +1 -0
  6. package/dist/base/Blockquote.d.ts +13 -0
  7. package/dist/base/Blockquote.js +26 -0
  8. package/dist/base/Blockquote.js.map +1 -0
  9. package/dist/base/Button.d.ts +18 -0
  10. package/dist/base/Button.js +86 -0
  11. package/dist/base/Button.js.map +1 -0
  12. package/dist/base/ButtonBase.d.ts +21 -0
  13. package/dist/base/ButtonBase.js +51 -0
  14. package/dist/base/ButtonBase.js.map +1 -0
  15. package/dist/base/ButtonGroup.d.ts +24 -0
  16. package/dist/base/ButtonGroup.js +52 -0
  17. package/dist/base/ButtonGroup.js.map +1 -0
  18. package/dist/base/CloseButton.d.ts +15 -0
  19. package/dist/base/CloseButton.js +38 -0
  20. package/dist/base/CloseButton.js.map +1 -0
  21. package/dist/base/Code.d.ts +13 -0
  22. package/dist/base/Code.js +27 -0
  23. package/dist/base/Code.js.map +1 -0
  24. package/dist/base/CodeBlock.d.ts +89 -0
  25. package/dist/base/CodeBlock.js +265 -0
  26. package/dist/base/CodeBlock.js.map +1 -0
  27. package/dist/base/CopyButton.d.ts +40 -0
  28. package/dist/base/CopyButton.js +113 -0
  29. package/dist/base/CopyButton.js.map +1 -0
  30. package/dist/base/Heading.d.ts +49 -0
  31. package/dist/base/Heading.js +122 -0
  32. package/dist/base/Heading.js.map +1 -0
  33. package/dist/base/Icon.d.ts +48 -0
  34. package/dist/base/Icon.js +110 -0
  35. package/dist/base/Icon.js.map +1 -0
  36. package/dist/base/IconButton.d.ts +34 -0
  37. package/dist/base/IconButton.js +81 -0
  38. package/dist/base/IconButton.js.map +1 -0
  39. package/dist/base/IconLinkButton.d.ts +34 -0
  40. package/dist/base/IconLinkButton.js +81 -0
  41. package/dist/base/IconLinkButton.js.map +1 -0
  42. package/dist/base/Indicator.d.ts +126 -0
  43. package/dist/base/Indicator.js +158 -0
  44. package/dist/base/Indicator.js.map +1 -0
  45. package/dist/base/Kbd.d.ts +13 -0
  46. package/dist/base/Kbd.js +34 -0
  47. package/dist/base/Kbd.js.map +1 -0
  48. package/dist/base/Link.d.ts +61 -0
  49. package/dist/base/Link.js +114 -0
  50. package/dist/base/Link.js.map +1 -0
  51. package/dist/base/LinkButton.d.ts +18 -0
  52. package/dist/base/LinkButton.js +109 -0
  53. package/dist/base/LinkButton.js.map +1 -0
  54. package/dist/base/List.d.ts +61 -0
  55. package/dist/base/List.js +116 -0
  56. package/dist/base/List.js.map +1 -0
  57. package/dist/base/Mark.d.ts +13 -0
  58. package/dist/base/Mark.js +23 -0
  59. package/dist/base/Mark.js.map +1 -0
  60. package/dist/base/Spinner.d.ts +20 -0
  61. package/dist/base/Spinner.js +59 -0
  62. package/dist/base/Spinner.js.map +1 -0
  63. package/dist/base/StatusDot.d.ts +48 -0
  64. package/dist/base/StatusDot.js +62 -0
  65. package/dist/base/StatusDot.js.map +1 -0
  66. package/dist/base/Tag.d.ts +29 -0
  67. package/dist/base/Tag.js +92 -0
  68. package/dist/base/Tag.js.map +1 -0
  69. package/dist/base/Text.d.ts +57 -0
  70. package/dist/base/Text.js +74 -0
  71. package/dist/base/Text.js.map +1 -0
  72. package/dist/base/VisuallyHidden.d.ts +13 -0
  73. package/dist/base/VisuallyHidden.js +28 -0
  74. package/dist/base/VisuallyHidden.js.map +1 -0
  75. package/dist/base/badge-styles.d.ts +57 -0
  76. package/dist/base/badge-styles.js +329 -0
  77. package/dist/base/badge-styles.js.map +1 -0
  78. package/dist/base/button-core.d.ts +191 -0
  79. package/dist/base/button-core.js +660 -0
  80. package/dist/base/button-core.js.map +1 -0
  81. package/dist/charts/AreaChart.d.ts +18 -0
  82. package/dist/charts/AreaChart.js +90 -0
  83. package/dist/charts/AreaChart.js.map +1 -0
  84. package/dist/charts/BarChart.d.ts +19 -0
  85. package/dist/charts/BarChart.js +88 -0
  86. package/dist/charts/BarChart.js.map +1 -0
  87. package/dist/charts/ChordChart.d.ts +48 -0
  88. package/dist/charts/ChordChart.js +149 -0
  89. package/dist/charts/ChordChart.js.map +1 -0
  90. package/dist/charts/ComboChart.d.ts +30 -0
  91. package/dist/charts/ComboChart.js +157 -0
  92. package/dist/charts/ComboChart.js.map +1 -0
  93. package/dist/charts/DonutChart.d.ts +65 -0
  94. package/dist/charts/DonutChart.js +162 -0
  95. package/dist/charts/DonutChart.js.map +1 -0
  96. package/dist/charts/FunnelChart.d.ts +69 -0
  97. package/dist/charts/FunnelChart.js +181 -0
  98. package/dist/charts/FunnelChart.js.map +1 -0
  99. package/dist/charts/GraphChart.d.ts +135 -0
  100. package/dist/charts/GraphChart.js +274 -0
  101. package/dist/charts/GraphChart.js.map +1 -0
  102. package/dist/charts/LineChart.d.ts +50 -0
  103. package/dist/charts/LineChart.js +94 -0
  104. package/dist/charts/LineChart.js.map +1 -0
  105. package/dist/charts/MapChart.d.ts +167 -0
  106. package/dist/charts/MapChart.js +627 -0
  107. package/dist/charts/MapChart.js.map +1 -0
  108. package/dist/charts/RadarChart.d.ts +60 -0
  109. package/dist/charts/RadarChart.js +224 -0
  110. package/dist/charts/RadarChart.js.map +1 -0
  111. package/dist/charts/SankeyChart.d.ts +57 -0
  112. package/dist/charts/SankeyChart.js +150 -0
  113. package/dist/charts/SankeyChart.js.map +1 -0
  114. package/dist/charts/ScatterChart.d.ts +18 -0
  115. package/dist/charts/ScatterChart.js +82 -0
  116. package/dist/charts/ScatterChart.js.map +1 -0
  117. package/dist/charts/TimelineChart.d.ts +71 -0
  118. package/dist/charts/TimelineChart.js +267 -0
  119. package/dist/charts/TimelineChart.js.map +1 -0
  120. package/dist/charts/TreemapChart.d.ts +40 -0
  121. package/dist/charts/TreemapChart.js +155 -0
  122. package/dist/charts/TreemapChart.js.map +1 -0
  123. package/dist/charts/WaterfallChart.d.ts +61 -0
  124. package/dist/charts/WaterfallChart.js +167 -0
  125. package/dist/charts/WaterfallChart.js.map +1 -0
  126. package/dist/charts/XYChart.d.ts +206 -0
  127. package/dist/charts/XYChart.js +520 -0
  128. package/dist/charts/XYChart.js.map +1 -0
  129. package/dist/charts/axis-ticks.d.ts +23 -0
  130. package/dist/charts/axis-ticks.js +59 -0
  131. package/dist/charts/axis-ticks.js.map +1 -0
  132. package/dist/charts/export.d.ts +17 -0
  133. package/dist/charts/export.js +65 -0
  134. package/dist/charts/export.js.map +1 -0
  135. package/dist/charts/flow.d.ts +53 -0
  136. package/dist/charts/flow.js +29 -0
  137. package/dist/charts/flow.js.map +1 -0
  138. package/dist/charts/frame.d.ts +147 -0
  139. package/dist/charts/frame.js +358 -0
  140. package/dist/charts/frame.js.map +1 -0
  141. package/dist/charts/index.d.ts +30 -0
  142. package/dist/charts/index.js +24 -0
  143. package/dist/charts/label-layout.d.ts +59 -0
  144. package/dist/charts/label-layout.js +64 -0
  145. package/dist/charts/label-layout.js.map +1 -0
  146. package/dist/charts/series.d.ts +36 -0
  147. package/dist/charts/series.js +60 -0
  148. package/dist/charts/series.js.map +1 -0
  149. package/dist/charts/single.d.ts +41 -0
  150. package/dist/charts/single.js +65 -0
  151. package/dist/charts/single.js.map +1 -0
  152. package/dist/config/Provider.d.ts +52 -0
  153. package/dist/config/Provider.js +111 -0
  154. package/dist/config/Provider.js.map +1 -0
  155. package/dist/config/context.d.ts +90 -0
  156. package/dist/config/context.js +58 -0
  157. package/dist/config/context.js.map +1 -0
  158. package/dist/config/createUi.d.ts +52 -0
  159. package/dist/config/createUi.js +96 -0
  160. package/dist/config/createUi.js.map +1 -0
  161. package/dist/config/defaults.d.ts +71 -0
  162. package/dist/config/defaults.js +45 -0
  163. package/dist/config/defaults.js.map +1 -0
  164. package/dist/config/lang/en-US.d.ts +3 -0
  165. package/dist/config/lang/en-US.js +386 -0
  166. package/dist/config/lang/en-US.js.map +1 -0
  167. package/dist/config/lang/format.d.ts +50 -0
  168. package/dist/config/lang/format.js +113 -0
  169. package/dist/config/lang/format.js.map +1 -0
  170. package/dist/config/lang/lang.d.ts +653 -0
  171. package/dist/config/lang/lang.js +22 -0
  172. package/dist/config/lang/lang.js.map +1 -0
  173. package/dist/config/lang/messages.d.ts +12 -0
  174. package/dist/config/lang/messages.js +36 -0
  175. package/dist/config/lang/messages.js.map +1 -0
  176. package/dist/config/lang/zh-CN.d.ts +3 -0
  177. package/dist/config/lang/zh-CN.js +386 -0
  178. package/dist/config/lang/zh-CN.js.map +1 -0
  179. package/dist/config/pinyin.d.ts +3 -0
  180. package/dist/config/pinyin.js +26 -0
  181. package/dist/config/pinyin.js.map +1 -0
  182. package/dist/config/query-state.d.ts +61 -0
  183. package/dist/config/query-state.js +113 -0
  184. package/dist/config/query-state.js.map +1 -0
  185. package/dist/config/shiki.d.ts +13 -0
  186. package/dist/config/shiki.js +97 -0
  187. package/dist/config/shiki.js.map +1 -0
  188. package/dist/config/styles.d.ts +108 -0
  189. package/dist/config/styles.js +59 -0
  190. package/dist/config/styles.js.map +1 -0
  191. package/dist/config/theme/boot.d.ts +97 -0
  192. package/dist/config/theme/boot.js +90 -0
  193. package/dist/config/theme/boot.js.map +1 -0
  194. package/dist/config/theme/builtin.d.ts +21 -0
  195. package/dist/config/theme/builtin.js +58 -0
  196. package/dist/config/theme/builtin.js.map +1 -0
  197. package/dist/config/theme/coffee.d.ts +84 -0
  198. package/dist/config/theme/coffee.js +102 -0
  199. package/dist/config/theme/coffee.js.map +1 -0
  200. package/dist/config/theme/cyberpunk.d.ts +110 -0
  201. package/dist/config/theme/cyberpunk.js +125 -0
  202. package/dist/config/theme/cyberpunk.js.map +1 -0
  203. package/dist/config/theme/dark.d.ts +90 -0
  204. package/dist/config/theme/dark.js +106 -0
  205. package/dist/config/theme/dark.js.map +1 -0
  206. package/dist/config/theme/festive.d.ts +93 -0
  207. package/dist/config/theme/festive.js +110 -0
  208. package/dist/config/theme/festive.js.map +1 -0
  209. package/dist/config/theme/forest.d.ts +93 -0
  210. package/dist/config/theme/forest.js +109 -0
  211. package/dist/config/theme/forest.js.map +1 -0
  212. package/dist/config/theme/high-contrast.d.ts +103 -0
  213. package/dist/config/theme/high-contrast.js +119 -0
  214. package/dist/config/theme/high-contrast.js.map +1 -0
  215. package/dist/config/theme/lemon.d.ts +103 -0
  216. package/dist/config/theme/lemon.js +119 -0
  217. package/dist/config/theme/lemon.js.map +1 -0
  218. package/dist/config/theme/light.d.ts +107 -0
  219. package/dist/config/theme/light.js +122 -0
  220. package/dist/config/theme/light.js.map +1 -0
  221. package/dist/config/theme/midnight.d.ts +86 -0
  222. package/dist/config/theme/midnight.js +103 -0
  223. package/dist/config/theme/midnight.js.map +1 -0
  224. package/dist/config/theme/ocean.d.ts +103 -0
  225. package/dist/config/theme/ocean.js +119 -0
  226. package/dist/config/theme/ocean.js.map +1 -0
  227. package/dist/config/theme/paper.d.ts +101 -0
  228. package/dist/config/theme/paper.js +117 -0
  229. package/dist/config/theme/paper.js.map +1 -0
  230. package/dist/config/theme/preference.d.ts +34 -0
  231. package/dist/config/theme/preference.js +67 -0
  232. package/dist/config/theme/preference.js.map +1 -0
  233. package/dist/config/theme/sakura.d.ts +103 -0
  234. package/dist/config/theme/sakura.js +119 -0
  235. package/dist/config/theme/sakura.js.map +1 -0
  236. package/dist/config/theme/theme.d.ts +59 -0
  237. package/dist/config/theme/theme.js +68 -0
  238. package/dist/config/theme/theme.js.map +1 -0
  239. package/dist/config/theme/token-names.d.ts +1897 -0
  240. package/dist/config/theme/tokens.d.ts +833 -0
  241. package/dist/config/theme/tokens.js +480 -0
  242. package/dist/config/theme/tokens.js.map +1 -0
  243. package/dist/config/vue-router.d.ts +67 -0
  244. package/dist/config/vue-router.js +143 -0
  245. package/dist/config/vue-router.js.map +1 -0
  246. package/dist/date/Calendar.d.ts +36 -0
  247. package/dist/date/Calendar.js +83 -0
  248. package/dist/date/Calendar.js.map +1 -0
  249. package/dist/date/CalendarBoard.d.ts +79 -0
  250. package/dist/date/CalendarBoard.js +403 -0
  251. package/dist/date/CalendarBoard.js.map +1 -0
  252. package/dist/date/CalendarView.d.ts +86 -0
  253. package/dist/date/CalendarView.js +427 -0
  254. package/dist/date/CalendarView.js.map +1 -0
  255. package/dist/date/Countdown.d.ts +45 -0
  256. package/dist/date/Countdown.js +75 -0
  257. package/dist/date/Countdown.js.map +1 -0
  258. package/dist/date/DateField.d.ts +34 -0
  259. package/dist/date/DateField.js +124 -0
  260. package/dist/date/DateField.js.map +1 -0
  261. package/dist/date/DatePicker.d.ts +41 -0
  262. package/dist/date/DatePicker.js +272 -0
  263. package/dist/date/DatePicker.js.map +1 -0
  264. package/dist/date/DateRangePicker.d.ts +71 -0
  265. package/dist/date/DateRangePicker.js +411 -0
  266. package/dist/date/DateRangePicker.js.map +1 -0
  267. package/dist/date/DateSegmentGroup.d.ts +38 -0
  268. package/dist/date/DateSegmentGroup.js +176 -0
  269. package/dist/date/DateSegmentGroup.js.map +1 -0
  270. package/dist/date/DateTime.d.ts +21 -0
  271. package/dist/date/DateTime.js +39 -0
  272. package/dist/date/DateTime.js.map +1 -0
  273. package/dist/date/QuarterCalendar.d.ts +22 -0
  274. package/dist/date/QuarterCalendar.js +231 -0
  275. package/dist/date/QuarterCalendar.js.map +1 -0
  276. package/dist/date/RangeCalendar.d.ts +24 -0
  277. package/dist/date/RangeCalendar.js +89 -0
  278. package/dist/date/RangeCalendar.js.map +1 -0
  279. package/dist/date/RelativeTime.d.ts +16 -0
  280. package/dist/date/RelativeTime.js +61 -0
  281. package/dist/date/RelativeTime.js.map +1 -0
  282. package/dist/date/SegmentedField.d.ts +60 -0
  283. package/dist/date/SegmentedField.js +175 -0
  284. package/dist/date/SegmentedField.js.map +1 -0
  285. package/dist/date/TimeField.d.ts +36 -0
  286. package/dist/date/TimeField.js +56 -0
  287. package/dist/date/TimeField.js.map +1 -0
  288. package/dist/date/TimePicker.d.ts +25 -0
  289. package/dist/date/TimePicker.js +206 -0
  290. package/dist/date/TimePicker.js.map +1 -0
  291. package/dist/date/calendar-state.d.ts +119 -0
  292. package/dist/date/calendar-state.js +267 -0
  293. package/dist/date/calendar-state.js.map +1 -0
  294. package/dist/date/clock.d.ts +11 -0
  295. package/dist/date/clock.js +37 -0
  296. package/dist/date/clock.js.map +1 -0
  297. package/dist/date/date-locale.d.ts +67 -0
  298. package/dist/date/date-locale.js +89 -0
  299. package/dist/date/date-locale.js.map +1 -0
  300. package/dist/date/date-segments.d.ts +132 -0
  301. package/dist/date/date-segments.js +410 -0
  302. package/dist/date/date-segments.js.map +1 -0
  303. package/dist/date/picker-popover.d.ts +88 -0
  304. package/dist/date/picker-popover.js +126 -0
  305. package/dist/date/picker-popover.js.map +1 -0
  306. package/dist/diagram/Diagram.d.ts +223 -0
  307. package/dist/diagram/Diagram.js +1121 -0
  308. package/dist/diagram/Diagram.js.map +1 -0
  309. package/dist/diagram/DiagramControls.d.ts +35 -0
  310. package/dist/diagram/DiagramControls.js +114 -0
  311. package/dist/diagram/DiagramControls.js.map +1 -0
  312. package/dist/diagram/DiagramLanes.d.ts +49 -0
  313. package/dist/diagram/DiagramLanes.js +92 -0
  314. package/dist/diagram/DiagramLanes.js.map +1 -0
  315. package/dist/diagram/DiagramMinimap.d.ts +39 -0
  316. package/dist/diagram/DiagramMinimap.js +133 -0
  317. package/dist/diagram/DiagramMinimap.js.map +1 -0
  318. package/dist/diagram/DiagramNode.d.ts +65 -0
  319. package/dist/diagram/DiagramNode.js +142 -0
  320. package/dist/diagram/DiagramNode.js.map +1 -0
  321. package/dist/diagram/controller.d.ts +68 -0
  322. package/dist/diagram/controller.js +117 -0
  323. package/dist/diagram/controller.js.map +1 -0
  324. package/dist/diagram/export.d.ts +14 -0
  325. package/dist/diagram/export.js +115 -0
  326. package/dist/diagram/export.js.map +1 -0
  327. package/dist/diagram/geometry.d.ts +65 -0
  328. package/dist/diagram/geometry.js +219 -0
  329. package/dist/diagram/geometry.js.map +1 -0
  330. package/dist/diagram/index.d.ts +19 -0
  331. package/dist/diagram/index.js +11 -0
  332. package/dist/diagram/messages.d.ts +28 -0
  333. package/dist/diagram/messages.js +30 -0
  334. package/dist/diagram/messages.js.map +1 -0
  335. package/dist/diagram/route.d.ts +81 -0
  336. package/dist/diagram/route.js +327 -0
  337. package/dist/diagram/route.js.map +1 -0
  338. package/dist/display/Accordion.d.ts +71 -0
  339. package/dist/display/Accordion.js +219 -0
  340. package/dist/display/Accordion.js.map +1 -0
  341. package/dist/display/AnimatedNumber.d.ts +44 -0
  342. package/dist/display/AnimatedNumber.js +97 -0
  343. package/dist/display/AnimatedNumber.js.map +1 -0
  344. package/dist/display/Avatar.d.ts +74 -0
  345. package/dist/display/Avatar.js +158 -0
  346. package/dist/display/Avatar.js.map +1 -0
  347. package/dist/display/AvatarGroup.d.ts +29 -0
  348. package/dist/display/AvatarGroup.js +67 -0
  349. package/dist/display/AvatarGroup.js.map +1 -0
  350. package/dist/display/Card.d.ts +219 -0
  351. package/dist/display/Card.js +319 -0
  352. package/dist/display/Card.js.map +1 -0
  353. package/dist/display/Checklist.d.ts +93 -0
  354. package/dist/display/Checklist.js +260 -0
  355. package/dist/display/Checklist.js.map +1 -0
  356. package/dist/display/Collapse.d.ts +24 -0
  357. package/dist/display/Collapse.js +65 -0
  358. package/dist/display/Collapse.js.map +1 -0
  359. package/dist/display/Collapsible.d.ts +12 -0
  360. package/dist/display/Collapsible.js +41 -0
  361. package/dist/display/Collapsible.js.map +1 -0
  362. package/dist/display/Descriptions.d.ts +88 -0
  363. package/dist/display/Descriptions.js +185 -0
  364. package/dist/display/Descriptions.js.map +1 -0
  365. package/dist/display/Ellipsis.d.ts +29 -0
  366. package/dist/display/Ellipsis.js +111 -0
  367. package/dist/display/Ellipsis.js.map +1 -0
  368. package/dist/display/FieldCompare.d.ts +58 -0
  369. package/dist/display/FieldCompare.js +205 -0
  370. package/dist/display/FieldCompare.js.map +1 -0
  371. package/dist/display/Gauge.d.ts +60 -0
  372. package/dist/display/Gauge.js +215 -0
  373. package/dist/display/Gauge.js.map +1 -0
  374. package/dist/display/Image.d.ts +87 -0
  375. package/dist/display/Image.js +212 -0
  376. package/dist/display/Image.js.map +1 -0
  377. package/dist/display/ItemList.d.ts +69 -0
  378. package/dist/display/ItemList.js +147 -0
  379. package/dist/display/ItemList.js.map +1 -0
  380. package/dist/display/Marquee.d.ts +59 -0
  381. package/dist/display/Marquee.js +155 -0
  382. package/dist/display/Marquee.js.map +1 -0
  383. package/dist/display/ProportionBar.d.ts +55 -0
  384. package/dist/display/ProportionBar.js +99 -0
  385. package/dist/display/ProportionBar.js.map +1 -0
  386. package/dist/display/Sortable.d.ts +43 -0
  387. package/dist/display/Sortable.js +163 -0
  388. package/dist/display/Sortable.js.map +1 -0
  389. package/dist/display/Sparkline.d.ts +48 -0
  390. package/dist/display/Sparkline.js +130 -0
  391. package/dist/display/Sparkline.js.map +1 -0
  392. package/dist/display/Stat.d.ts +105 -0
  393. package/dist/display/Stat.js +268 -0
  394. package/dist/display/Stat.js.map +1 -0
  395. package/dist/display/Timeline.d.ts +106 -0
  396. package/dist/display/Timeline.js +257 -0
  397. package/dist/display/Timeline.js.map +1 -0
  398. package/dist/display/Tree.d.ts +132 -0
  399. package/dist/display/Tree.js +645 -0
  400. package/dist/display/Tree.js.map +1 -0
  401. package/dist/display/VirtualList.d.ts +80 -0
  402. package/dist/display/VirtualList.js +166 -0
  403. package/dist/display/VirtualList.js.map +1 -0
  404. package/dist/display/Watermark.d.ts +39 -0
  405. package/dist/display/Watermark.js +130 -0
  406. package/dist/display/Watermark.js.map +1 -0
  407. package/dist/docs-kit/CodeGroup.d.ts +29 -0
  408. package/dist/docs-kit/CodeGroup.js +81 -0
  409. package/dist/docs-kit/CodeGroup.js.map +1 -0
  410. package/dist/docs-kit/CodePreview.d.ts +60 -0
  411. package/dist/docs-kit/CodePreview.js +183 -0
  412. package/dist/docs-kit/CodePreview.js.map +1 -0
  413. package/dist/docs-kit/ColorSwatch.d.ts +28 -0
  414. package/dist/docs-kit/ColorSwatch.js +85 -0
  415. package/dist/docs-kit/ColorSwatch.js.map +1 -0
  416. package/dist/docs-kit/PropsTable.d.ts +73 -0
  417. package/dist/docs-kit/PropsTable.js +122 -0
  418. package/dist/docs-kit/PropsTable.js.map +1 -0
  419. package/dist/docs-kit/index.d.ts +13 -0
  420. package/dist/docs-kit/index.js +6 -0
  421. package/dist/docs-kit/messages.d.ts +25 -0
  422. package/dist/docs-kit/messages.js +30 -0
  423. package/dist/docs-kit/messages.js.map +1 -0
  424. package/dist/feedback/Alert.d.ts +83 -0
  425. package/dist/feedback/Alert.js +179 -0
  426. package/dist/feedback/Alert.js.map +1 -0
  427. package/dist/feedback/Banner.d.ts +60 -0
  428. package/dist/feedback/Banner.js +122 -0
  429. package/dist/feedback/Banner.js.map +1 -0
  430. package/dist/feedback/Empty.d.ts +38 -0
  431. package/dist/feedback/Empty.js +114 -0
  432. package/dist/feedback/Empty.js.map +1 -0
  433. package/dist/feedback/LoadingBar.d.ts +45 -0
  434. package/dist/feedback/LoadingBar.js +124 -0
  435. package/dist/feedback/LoadingBar.js.map +1 -0
  436. package/dist/feedback/LoadingOverlay.d.ts +29 -0
  437. package/dist/feedback/LoadingOverlay.js +70 -0
  438. package/dist/feedback/LoadingOverlay.js.map +1 -0
  439. package/dist/feedback/Progress.d.ts +215 -0
  440. package/dist/feedback/Progress.js +437 -0
  441. package/dist/feedback/Progress.js.map +1 -0
  442. package/dist/feedback/Result.d.ts +69 -0
  443. package/dist/feedback/Result.js +165 -0
  444. package/dist/feedback/Result.js.map +1 -0
  445. package/dist/feedback/Skeleton.d.ts +50 -0
  446. package/dist/feedback/Skeleton.js +100 -0
  447. package/dist/feedback/Skeleton.js.map +1 -0
  448. package/dist/feedback/SkeletonText.d.ts +25 -0
  449. package/dist/feedback/SkeletonText.js +40 -0
  450. package/dist/feedback/SkeletonText.js.map +1 -0
  451. package/dist/feedback/Toast.d.ts +204 -0
  452. package/dist/feedback/Toast.js +572 -0
  453. package/dist/feedback/Toast.js.map +1 -0
  454. package/dist/form/Field.d.ts +158 -0
  455. package/dist/form/Field.js +327 -0
  456. package/dist/form/Field.js.map +1 -0
  457. package/dist/form/Form.d.ts +14 -0
  458. package/dist/form/Form.js +66 -0
  459. package/dist/form/Form.js.map +1 -0
  460. package/dist/form/FormErrorSummary.d.ts +23 -0
  461. package/dist/form/FormErrorSummary.js +102 -0
  462. package/dist/form/FormErrorSummary.js.map +1 -0
  463. package/dist/form/FormSection.d.ts +66 -0
  464. package/dist/form/FormSection.js +227 -0
  465. package/dist/form/FormSection.js.map +1 -0
  466. package/dist/form/FormValue.d.ts +17 -0
  467. package/dist/form/FormValue.js +40 -0
  468. package/dist/form/FormValue.js.map +1 -0
  469. package/dist/form/field-layout.d.ts +34 -0
  470. package/dist/form/field-layout.js +39 -0
  471. package/dist/form/field-layout.js.map +1 -0
  472. package/dist/form/form-constraints.d.ts +38 -0
  473. package/dist/form/form-constraints.js +131 -0
  474. package/dist/form/form-constraints.js.map +1 -0
  475. package/dist/form/leave-confirmation.d.ts +9 -0
  476. package/dist/form/leave-confirmation.js +31 -0
  477. package/dist/form/leave-confirmation.js.map +1 -0
  478. package/dist/form/schemas.d.ts +52 -0
  479. package/dist/form/schemas.js +97 -0
  480. package/dist/form/schemas.js.map +1 -0
  481. package/dist/form/useForm.d.ts +192 -0
  482. package/dist/form/useForm.js +394 -0
  483. package/dist/form/useForm.js.map +1 -0
  484. package/dist/index.d.ts +282 -0
  485. package/dist/index.js +282 -0
  486. package/dist/input/Autocomplete.d.ts +14 -0
  487. package/dist/input/Autocomplete.js +35 -0
  488. package/dist/input/Autocomplete.js.map +1 -0
  489. package/dist/input/Cascader.d.ts +86 -0
  490. package/dist/input/Cascader.js +593 -0
  491. package/dist/input/Cascader.js.map +1 -0
  492. package/dist/input/CharacterCount.d.ts +21 -0
  493. package/dist/input/CharacterCount.js +47 -0
  494. package/dist/input/CharacterCount.js.map +1 -0
  495. package/dist/input/Checkbox.d.ts +93 -0
  496. package/dist/input/Checkbox.js +250 -0
  497. package/dist/input/Checkbox.js.map +1 -0
  498. package/dist/input/ColorField.d.ts +37 -0
  499. package/dist/input/ColorField.js +143 -0
  500. package/dist/input/ColorField.js.map +1 -0
  501. package/dist/input/Combobox.d.ts +75 -0
  502. package/dist/input/Combobox.js +321 -0
  503. package/dist/input/Combobox.js.map +1 -0
  504. package/dist/input/ConditionBuilder.d.ts +55 -0
  505. package/dist/input/ConditionBuilder.js +471 -0
  506. package/dist/input/ConditionBuilder.js.map +1 -0
  507. package/dist/input/ControlGroup.d.ts +26 -0
  508. package/dist/input/ControlGroup.js +50 -0
  509. package/dist/input/ControlGroup.js.map +1 -0
  510. package/dist/input/FileDrop.d.ts +49 -0
  511. package/dist/input/FileDrop.js +201 -0
  512. package/dist/input/FileDrop.js.map +1 -0
  513. package/dist/input/ListPopover.d.ts +39 -0
  514. package/dist/input/ListPopover.js +81 -0
  515. package/dist/input/ListPopover.js.map +1 -0
  516. package/dist/input/Listbox.d.ts +91 -0
  517. package/dist/input/Listbox.js +408 -0
  518. package/dist/input/Listbox.js.map +1 -0
  519. package/dist/input/Mentions.d.ts +74 -0
  520. package/dist/input/Mentions.js +287 -0
  521. package/dist/input/Mentions.js.map +1 -0
  522. package/dist/input/NumberField.d.ts +64 -0
  523. package/dist/input/NumberField.js +288 -0
  524. package/dist/input/NumberField.js.map +1 -0
  525. package/dist/input/NumberRangeField.d.ts +58 -0
  526. package/dist/input/NumberRangeField.js +157 -0
  527. package/dist/input/NumberRangeField.js.map +1 -0
  528. package/dist/input/OtpField.d.ts +58 -0
  529. package/dist/input/OtpField.js +200 -0
  530. package/dist/input/OtpField.js.map +1 -0
  531. package/dist/input/PeoplePicker.d.ts +42 -0
  532. package/dist/input/PeoplePicker.js +185 -0
  533. package/dist/input/PeoplePicker.js.map +1 -0
  534. package/dist/input/PeoplePickerPanel.d.ts +42 -0
  535. package/dist/input/PeoplePickerPanel.js +357 -0
  536. package/dist/input/PeoplePickerPanel.js.map +1 -0
  537. package/dist/input/Radio.d.ts +90 -0
  538. package/dist/input/Radio.js +211 -0
  539. package/dist/input/Radio.js.map +1 -0
  540. package/dist/input/Rating.d.ts +62 -0
  541. package/dist/input/Rating.js +225 -0
  542. package/dist/input/Rating.js.map +1 -0
  543. package/dist/input/Select.d.ts +97 -0
  544. package/dist/input/Select.js +455 -0
  545. package/dist/input/Select.js.map +1 -0
  546. package/dist/input/SelectedTags.d.ts +28 -0
  547. package/dist/input/SelectedTags.js +81 -0
  548. package/dist/input/SelectedTags.js.map +1 -0
  549. package/dist/input/Slider.d.ts +99 -0
  550. package/dist/input/Slider.js +343 -0
  551. package/dist/input/Slider.js.map +1 -0
  552. package/dist/input/Switch.d.ts +63 -0
  553. package/dist/input/Switch.js +198 -0
  554. package/dist/input/Switch.js.map +1 -0
  555. package/dist/input/TagsInput.d.ts +70 -0
  556. package/dist/input/TagsInput.js +314 -0
  557. package/dist/input/TagsInput.js.map +1 -0
  558. package/dist/input/TextField.d.ts +51 -0
  559. package/dist/input/TextField.js +185 -0
  560. package/dist/input/TextField.js.map +1 -0
  561. package/dist/input/Textarea.d.ts +50 -0
  562. package/dist/input/Textarea.js +146 -0
  563. package/dist/input/Textarea.js.map +1 -0
  564. package/dist/input/ToggleGroup.d.ts +82 -0
  565. package/dist/input/ToggleGroup.js +211 -0
  566. package/dist/input/ToggleGroup.js.map +1 -0
  567. package/dist/input/Transfer.d.ts +67 -0
  568. package/dist/input/Transfer.js +407 -0
  569. package/dist/input/Transfer.js.map +1 -0
  570. package/dist/input/TreeSelect.d.ts +94 -0
  571. package/dist/input/TreeSelect.js +412 -0
  572. package/dist/input/TreeSelect.js.map +1 -0
  573. package/dist/input/Upload.d.ts +143 -0
  574. package/dist/input/Upload.js +597 -0
  575. package/dist/input/Upload.js.map +1 -0
  576. package/dist/input/choice-styles.d.ts +117 -0
  577. package/dist/input/choice-styles.js +176 -0
  578. package/dist/input/choice-styles.js.map +1 -0
  579. package/dist/input/condition.d.ts +153 -0
  580. package/dist/input/condition.js +169 -0
  581. package/dist/input/condition.js.map +1 -0
  582. package/dist/input/control.d.ts +160 -0
  583. package/dist/input/control.js +236 -0
  584. package/dist/input/control.js.map +1 -0
  585. package/dist/input/list-state.d.ts +118 -0
  586. package/dist/input/list-state.js +186 -0
  587. package/dist/input/list-state.js.map +1 -0
  588. package/dist/input/people.d.ts +65 -0
  589. package/dist/input/people.js +47 -0
  590. package/dist/input/people.js.map +1 -0
  591. package/dist/input/remote-items.d.ts +20 -0
  592. package/dist/input/remote-items.js +36 -0
  593. package/dist/input/remote-items.js.map +1 -0
  594. package/dist/input/text-format.d.ts +46 -0
  595. package/dist/input/text-format.js +64 -0
  596. package/dist/input/text-format.js.map +1 -0
  597. package/dist/layout/Affix.d.ts +32 -0
  598. package/dist/layout/Affix.js +81 -0
  599. package/dist/layout/Affix.js.map +1 -0
  600. package/dist/layout/AsideLayout.d.ts +45 -0
  601. package/dist/layout/AsideLayout.js +69 -0
  602. package/dist/layout/AsideLayout.js.map +1 -0
  603. package/dist/layout/BackTop.d.ts +16 -0
  604. package/dist/layout/BackTop.js +83 -0
  605. package/dist/layout/BackTop.js.map +1 -0
  606. package/dist/layout/Container.d.ts +60 -0
  607. package/dist/layout/Container.js +62 -0
  608. package/dist/layout/Container.js.map +1 -0
  609. package/dist/layout/Flex.d.ts +116 -0
  610. package/dist/layout/Flex.js +109 -0
  611. package/dist/layout/Flex.js.map +1 -0
  612. package/dist/layout/Grid.d.ts +139 -0
  613. package/dist/layout/Grid.js +168 -0
  614. package/dist/layout/Grid.js.map +1 -0
  615. package/dist/layout/PageScrollbar.d.ts +20 -0
  616. package/dist/layout/PageScrollbar.js +49 -0
  617. package/dist/layout/PageScrollbar.js.map +1 -0
  618. package/dist/layout/Prose.d.ts +19 -0
  619. package/dist/layout/Prose.js +37 -0
  620. package/dist/layout/Prose.js.map +1 -0
  621. package/dist/layout/ResizeHandle.d.ts +28 -0
  622. package/dist/layout/ResizeHandle.js +94 -0
  623. package/dist/layout/ResizeHandle.js.map +1 -0
  624. package/dist/layout/ScrollArea.d.ts +99 -0
  625. package/dist/layout/ScrollArea.js +344 -0
  626. package/dist/layout/ScrollArea.js.map +1 -0
  627. package/dist/layout/Separator.d.ts +47 -0
  628. package/dist/layout/Separator.js +96 -0
  629. package/dist/layout/Separator.js.map +1 -0
  630. package/dist/layout/Splitter.d.ts +75 -0
  631. package/dist/layout/Splitter.js +236 -0
  632. package/dist/layout/Splitter.js.map +1 -0
  633. package/dist/layout/ViewportFill.d.ts +26 -0
  634. package/dist/layout/ViewportFill.js +59 -0
  635. package/dist/layout/ViewportFill.js.map +1 -0
  636. package/dist/navigation/Breadcrumbs.d.ts +59 -0
  637. package/dist/navigation/Breadcrumbs.js +150 -0
  638. package/dist/navigation/Breadcrumbs.js.map +1 -0
  639. package/dist/navigation/NavBar.d.ts +35 -0
  640. package/dist/navigation/NavBar.js +182 -0
  641. package/dist/navigation/NavBar.js.map +1 -0
  642. package/dist/navigation/NavList.d.ts +112 -0
  643. package/dist/navigation/NavList.js +375 -0
  644. package/dist/navigation/NavList.js.map +1 -0
  645. package/dist/navigation/PageJump.d.ts +27 -0
  646. package/dist/navigation/PageJump.js +77 -0
  647. package/dist/navigation/PageJump.js.map +1 -0
  648. package/dist/navigation/PageSizeSelect.d.ts +19 -0
  649. package/dist/navigation/PageSizeSelect.js +65 -0
  650. package/dist/navigation/PageSizeSelect.js.map +1 -0
  651. package/dist/navigation/Pager.d.ts +30 -0
  652. package/dist/navigation/Pager.js +111 -0
  653. package/dist/navigation/Pager.js.map +1 -0
  654. package/dist/navigation/Pagination.d.ts +51 -0
  655. package/dist/navigation/Pagination.js +157 -0
  656. package/dist/navigation/Pagination.js.map +1 -0
  657. package/dist/navigation/PaginationBar.d.ts +54 -0
  658. package/dist/navigation/PaginationBar.js +125 -0
  659. package/dist/navigation/PaginationBar.js.map +1 -0
  660. package/dist/navigation/SkipLink.d.ts +16 -0
  661. package/dist/navigation/SkipLink.js +58 -0
  662. package/dist/navigation/SkipLink.js.map +1 -0
  663. package/dist/navigation/Steps.d.ts +93 -0
  664. package/dist/navigation/Steps.js +198 -0
  665. package/dist/navigation/Steps.js.map +1 -0
  666. package/dist/navigation/TableOfContents.d.ts +32 -0
  667. package/dist/navigation/TableOfContents.js +119 -0
  668. package/dist/navigation/TableOfContents.js.map +1 -0
  669. package/dist/navigation/Tabs.d.ts +208 -0
  670. package/dist/navigation/Tabs.js +626 -0
  671. package/dist/navigation/Tabs.js.map +1 -0
  672. package/dist/navigation/Toolbar.d.ts +39 -0
  673. package/dist/navigation/Toolbar.js +67 -0
  674. package/dist/navigation/Toolbar.js.map +1 -0
  675. package/dist/overlay/AlertDialog.d.ts +43 -0
  676. package/dist/overlay/AlertDialog.js +106 -0
  677. package/dist/overlay/AlertDialog.js.map +1 -0
  678. package/dist/overlay/CommandPalette.d.ts +64 -0
  679. package/dist/overlay/CommandPalette.js +250 -0
  680. package/dist/overlay/CommandPalette.js.map +1 -0
  681. package/dist/overlay/ContextMenu.d.ts +21 -0
  682. package/dist/overlay/ContextMenu.js +76 -0
  683. package/dist/overlay/ContextMenu.js.map +1 -0
  684. package/dist/overlay/Dialog.d.ts +70 -0
  685. package/dist/overlay/Dialog.js +91 -0
  686. package/dist/overlay/Dialog.js.map +1 -0
  687. package/dist/overlay/Drawer.d.ts +186 -0
  688. package/dist/overlay/Drawer.js +214 -0
  689. package/dist/overlay/Drawer.js.map +1 -0
  690. package/dist/overlay/HoverCard.d.ts +48 -0
  691. package/dist/overlay/HoverCard.js +86 -0
  692. package/dist/overlay/HoverCard.js.map +1 -0
  693. package/dist/overlay/Lightbox.d.ts +57 -0
  694. package/dist/overlay/Lightbox.js +374 -0
  695. package/dist/overlay/Lightbox.js.map +1 -0
  696. package/dist/overlay/Menu.d.ts +218 -0
  697. package/dist/overlay/Menu.js +816 -0
  698. package/dist/overlay/Menu.js.map +1 -0
  699. package/dist/overlay/ModalCore.d.ts +132 -0
  700. package/dist/overlay/ModalCore.js +274 -0
  701. package/dist/overlay/ModalCore.js.map +1 -0
  702. package/dist/overlay/Popconfirm.d.ts +49 -0
  703. package/dist/overlay/Popconfirm.js +167 -0
  704. package/dist/overlay/Popconfirm.js.map +1 -0
  705. package/dist/overlay/Popover.d.ts +40 -0
  706. package/dist/overlay/Popover.js +96 -0
  707. package/dist/overlay/Popover.js.map +1 -0
  708. package/dist/overlay/Tooltip.d.ts +47 -0
  709. package/dist/overlay/Tooltip.js +86 -0
  710. package/dist/overlay/Tooltip.js.map +1 -0
  711. package/dist/overlay/Tour.d.ts +74 -0
  712. package/dist/overlay/Tour.js +309 -0
  713. package/dist/overlay/Tour.js.map +1 -0
  714. package/dist/overlay/detached.d.ts +40 -0
  715. package/dist/overlay/detached.js +109 -0
  716. package/dist/overlay/detached.js.map +1 -0
  717. package/dist/patterns/ActionBar.d.ts +29 -0
  718. package/dist/patterns/ActionBar.js +75 -0
  719. package/dist/patterns/ActionBar.js.map +1 -0
  720. package/dist/patterns/AppShell.d.ts +168 -0
  721. package/dist/patterns/AppShell.js +620 -0
  722. package/dist/patterns/AppShell.js.map +1 -0
  723. package/dist/patterns/CommentThread.d.ts +128 -0
  724. package/dist/patterns/CommentThread.js +386 -0
  725. package/dist/patterns/CommentThread.js.map +1 -0
  726. package/dist/patterns/DataImport.d.ts +72 -0
  727. package/dist/patterns/DataImport.js +486 -0
  728. package/dist/patterns/DataImport.js.map +1 -0
  729. package/dist/patterns/DeadlineBadge.d.ts +21 -0
  730. package/dist/patterns/DeadlineBadge.js +76 -0
  731. package/dist/patterns/DeadlineBadge.js.map +1 -0
  732. package/dist/patterns/FilterBar.d.ts +66 -0
  733. package/dist/patterns/FilterBar.js +254 -0
  734. package/dist/patterns/FilterBar.js.map +1 -0
  735. package/dist/patterns/KanbanBoard.d.ts +79 -0
  736. package/dist/patterns/KanbanBoard.js +294 -0
  737. package/dist/patterns/KanbanBoard.js.map +1 -0
  738. package/dist/patterns/NotificationCenter.d.ts +110 -0
  739. package/dist/patterns/NotificationCenter.js +342 -0
  740. package/dist/patterns/NotificationCenter.js.map +1 -0
  741. package/dist/patterns/PageTabs.d.ts +30 -0
  742. package/dist/patterns/PageTabs.js +97 -0
  743. package/dist/patterns/PageTabs.js.map +1 -0
  744. package/dist/patterns/QueryTable.d.ts +64 -0
  745. package/dist/patterns/QueryTable.js +276 -0
  746. package/dist/patterns/QueryTable.js.map +1 -0
  747. package/dist/patterns/StepsForm.d.ts +49 -0
  748. package/dist/patterns/StepsForm.js +130 -0
  749. package/dist/patterns/StepsForm.js.map +1 -0
  750. package/dist/patterns/ThemeSwitcher.d.ts +20 -0
  751. package/dist/patterns/ThemeSwitcher.js +102 -0
  752. package/dist/patterns/ThemeSwitcher.js.map +1 -0
  753. package/dist/patterns/form-dialog.d.ts +62 -0
  754. package/dist/patterns/form-dialog.js +143 -0
  755. package/dist/patterns/form-dialog.js.map +1 -0
  756. package/dist/patterns/index.d.ts +24 -0
  757. package/dist/patterns/index.js +15 -0
  758. package/dist/patterns/messages.d.ts +172 -0
  759. package/dist/patterns/messages.js +184 -0
  760. package/dist/patterns/messages.js.map +1 -0
  761. package/dist/table/ColumnHeaderActions.d.ts +71 -0
  762. package/dist/table/ColumnHeaderActions.js +247 -0
  763. package/dist/table/ColumnHeaderActions.js.map +1 -0
  764. package/dist/table/ColumnResizer.d.ts +12 -0
  765. package/dist/table/ColumnResizer.js +32 -0
  766. package/dist/table/ColumnResizer.js.map +1 -0
  767. package/dist/table/ColumnSettings.d.ts +34 -0
  768. package/dist/table/ColumnSettings.js +136 -0
  769. package/dist/table/ColumnSettings.js.map +1 -0
  770. package/dist/table/ColumnTable.d.ts +51 -0
  771. package/dist/table/ColumnTable.js +140 -0
  772. package/dist/table/ColumnTable.js.map +1 -0
  773. package/dist/table/DataTable.d.ts +44 -0
  774. package/dist/table/DataTable.js +453 -0
  775. package/dist/table/DataTable.js.map +1 -0
  776. package/dist/table/DataTableView.d.ts +328 -0
  777. package/dist/table/DataTableView.js +963 -0
  778. package/dist/table/DataTableView.js.map +1 -0
  779. package/dist/table/PivotTable.d.ts +66 -0
  780. package/dist/table/PivotTable.js +122 -0
  781. package/dist/table/PivotTable.js.map +1 -0
  782. package/dist/table/SelectionBar.d.ts +29 -0
  783. package/dist/table/SelectionBar.js +86 -0
  784. package/dist/table/SelectionBar.js.map +1 -0
  785. package/dist/table/Table.d.ts +169 -0
  786. package/dist/table/Table.js +304 -0
  787. package/dist/table/Table.js.map +1 -0
  788. package/dist/table/TreeDataTable.d.ts +36 -0
  789. package/dist/table/TreeDataTable.js +168 -0
  790. package/dist/table/TreeDataTable.js.map +1 -0
  791. package/dist/table/column-display.d.ts +20 -0
  792. package/dist/table/column-display.js +43 -0
  793. package/dist/table/column-display.js.map +1 -0
  794. package/dist/table/columns.d.ts +244 -0
  795. package/dist/table/columns.js +271 -0
  796. package/dist/table/columns.js.map +1 -0
  797. package/dist/table/csv.d.ts +24 -0
  798. package/dist/table/csv.js +35 -0
  799. package/dist/table/csv.js.map +1 -0
  800. package/dist/table/pivot.d.ts +66 -0
  801. package/dist/table/pivot.js +85 -0
  802. package/dist/table/pivot.js.map +1 -0
  803. package/dist/table/sheet.d.ts +44 -0
  804. package/dist/table/sheet.js +78 -0
  805. package/dist/table/sheet.js.map +1 -0
  806. package/dist/table/table-styles.d.ts +136 -0
  807. package/dist/table/table-styles.js +403 -0
  808. package/dist/table/table-styles.js.map +1 -0
  809. package/dist/table/use-table-query.d.ts +89 -0
  810. package/dist/table/use-table-query.js +194 -0
  811. package/dist/table/use-table-query.js.map +1 -0
  812. package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
  813. package/dist/theme-customize/ThemeCustomizer.js +361 -0
  814. package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
  815. package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
  816. package/dist/theme-customize/ThemeThumbnail.js +82 -0
  817. package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
  818. package/dist/theme-customize/contrast.d.ts +27 -0
  819. package/dist/theme-customize/contrast.js +251 -0
  820. package/dist/theme-customize/contrast.js.map +1 -0
  821. package/dist/theme-customize/customize.d.ts +65 -0
  822. package/dist/theme-customize/customize.js +105 -0
  823. package/dist/theme-customize/customize.js.map +1 -0
  824. package/dist/theme-customize/design-tokens.d.ts +31 -0
  825. package/dist/theme-customize/design-tokens.js +183 -0
  826. package/dist/theme-customize/design-tokens.js.map +1 -0
  827. package/dist/theme-customize/index.d.ts +20 -0
  828. package/dist/theme-customize/index.js +9 -0
  829. package/dist/theme-customize/messages.d.ts +74 -0
  830. package/dist/theme-customize/messages.js +142 -0
  831. package/dist/theme-customize/messages.js.map +1 -0
  832. package/dist/theme-customize/palette.d.ts +898 -0
  833. package/dist/theme-customize/palette.js +111 -0
  834. package/dist/theme-customize/palette.js.map +1 -0
  835. package/dist/theme-customize/token-catalog.d.ts +20 -0
  836. package/dist/theme-customize/token-catalog.js +836 -0
  837. package/dist/theme-customize/token-catalog.js.map +1 -0
  838. package/dist/three/background/AuroraBackground.d.ts +30 -0
  839. package/dist/three/background/AuroraBackground.js +80 -0
  840. package/dist/three/background/AuroraBackground.js.map +1 -0
  841. package/dist/three/background/MeshGradient.d.ts +28 -0
  842. package/dist/three/background/MeshGradient.js +76 -0
  843. package/dist/three/background/MeshGradient.js.map +1 -0
  844. package/dist/three/background/ShaderBackground.d.ts +25 -0
  845. package/dist/three/background/ShaderBackground.js +107 -0
  846. package/dist/three/background/ShaderBackground.js.map +1 -0
  847. package/dist/three/core/EffectSurface.d.ts +41 -0
  848. package/dist/three/core/EffectSurface.js +62 -0
  849. package/dist/three/core/EffectSurface.js.map +1 -0
  850. package/dist/three/core/ThreeCanvas.d.ts +39 -0
  851. package/dist/three/core/ThreeCanvas.js +77 -0
  852. package/dist/three/core/ThreeCanvas.js.map +1 -0
  853. package/dist/three/core/dispose.d.ts +9 -0
  854. package/dist/three/core/dispose.js +26 -0
  855. package/dist/three/core/dispose.js.map +1 -0
  856. package/dist/three/core/orbit.d.ts +31 -0
  857. package/dist/three/core/orbit.js +83 -0
  858. package/dist/three/core/orbit.js.map +1 -0
  859. package/dist/three/core/quality.d.ts +59 -0
  860. package/dist/three/core/quality.js +80 -0
  861. package/dist/three/core/quality.js.map +1 -0
  862. package/dist/three/core/renderer.d.ts +110 -0
  863. package/dist/three/core/renderer.js +303 -0
  864. package/dist/three/core/renderer.js.map +1 -0
  865. package/dist/three/core/shaders.d.ts +19 -0
  866. package/dist/three/core/shaders.js +100 -0
  867. package/dist/three/core/shaders.js.map +1 -0
  868. package/dist/three/core/theme-colors.d.ts +30 -0
  869. package/dist/three/core/theme-colors.js +113 -0
  870. package/dist/three/core/theme-colors.js.map +1 -0
  871. package/dist/three/effects/Confetti.d.ts +62 -0
  872. package/dist/three/effects/Confetti.js +242 -0
  873. package/dist/three/effects/Confetti.js.map +1 -0
  874. package/dist/three/effects/ParticleField.d.ts +39 -0
  875. package/dist/three/effects/ParticleField.js +266 -0
  876. package/dist/three/effects/ParticleField.js.map +1 -0
  877. package/dist/three/effects/WaveGrid.d.ts +37 -0
  878. package/dist/three/effects/WaveGrid.js +130 -0
  879. package/dist/three/effects/WaveGrid.js.map +1 -0
  880. package/dist/three/globe/Globe.d.ts +70 -0
  881. package/dist/three/globe/Globe.js +337 -0
  882. package/dist/three/globe/Globe.js.map +1 -0
  883. package/dist/three/globe/land.d.ts +9 -0
  884. package/dist/three/globe/land.js +14 -0
  885. package/dist/three/globe/land.js.map +1 -0
  886. package/dist/three/index.d.ts +24 -0
  887. package/dist/three/index.js +18 -0
  888. package/dist/three/model/ModelViewer.d.ts +63 -0
  889. package/dist/three/model/ModelViewer.js +193 -0
  890. package/dist/three/model/ModelViewer.js.map +1 -0
  891. package/dist/utils/data/collation.d.ts +36 -0
  892. package/dist/utils/data/collation.js +69 -0
  893. package/dist/utils/data/collation.js.map +1 -0
  894. package/dist/utils/data/color.d.ts +32 -0
  895. package/dist/utils/data/color.js +90 -0
  896. package/dist/utils/data/color.js.map +1 -0
  897. package/dist/utils/data/date.d.ts +186 -0
  898. package/dist/utils/data/date.js +409 -0
  899. package/dist/utils/data/date.js.map +1 -0
  900. package/dist/utils/data/diff.d.ts +21 -0
  901. package/dist/utils/data/diff.js +43 -0
  902. package/dist/utils/data/diff.js.map +1 -0
  903. package/dist/utils/data/equality.d.ts +5 -0
  904. package/dist/utils/data/equality.js +24 -0
  905. package/dist/utils/data/equality.js.map +1 -0
  906. package/dist/utils/data/history.d.ts +59 -0
  907. package/dist/utils/data/history.js +132 -0
  908. package/dist/utils/data/history.js.map +1 -0
  909. package/dist/utils/data/intl-cache.d.ts +8 -0
  910. package/dist/utils/data/intl-cache.js +19 -0
  911. package/dist/utils/data/intl-cache.js.map +1 -0
  912. package/dist/utils/data/number-parse.d.ts +7 -0
  913. package/dist/utils/data/number-parse.js +45 -0
  914. package/dist/utils/data/number-parse.js.map +1 -0
  915. package/dist/utils/data/number.d.ts +10 -0
  916. package/dist/utils/data/number.js +28 -0
  917. package/dist/utils/data/number.js.map +1 -0
  918. package/dist/utils/data/numeric.d.ts +55 -0
  919. package/dist/utils/data/numeric.js +133 -0
  920. package/dist/utils/data/numeric.js.map +1 -0
  921. package/dist/utils/data/pagination.d.ts +21 -0
  922. package/dist/utils/data/pagination.js +22 -0
  923. package/dist/utils/data/pagination.js.map +1 -0
  924. package/dist/utils/data/selection.d.ts +41 -0
  925. package/dist/utils/data/selection.js +21 -0
  926. package/dist/utils/data/selection.js.map +1 -0
  927. package/dist/utils/data/status.d.ts +43 -0
  928. package/dist/utils/data/status.js +27 -0
  929. package/dist/utils/data/status.js.map +1 -0
  930. package/dist/utils/data/text.d.ts +12 -0
  931. package/dist/utils/data/text.js +30 -0
  932. package/dist/utils/data/text.js.map +1 -0
  933. package/dist/utils/data/tree.d.ts +140 -0
  934. package/dist/utils/data/tree.js +273 -0
  935. package/dist/utils/data/tree.js.map +1 -0
  936. package/dist/utils/data/workdays.d.ts +67 -0
  937. package/dist/utils/data/workdays.js +67 -0
  938. package/dist/utils/data/workdays.js.map +1 -0
  939. package/dist/utils/dom/announcer.d.ts +11 -0
  940. package/dist/utils/dom/announcer.js +53 -0
  941. package/dist/utils/dom/announcer.js.map +1 -0
  942. package/dist/utils/dom/caret.d.ts +14 -0
  943. package/dist/utils/dom/caret.js +72 -0
  944. package/dist/utils/dom/caret.js.map +1 -0
  945. package/dist/utils/dom/clipboard.d.ts +16 -0
  946. package/dist/utils/dom/clipboard.js +66 -0
  947. package/dist/utils/dom/clipboard.js.map +1 -0
  948. package/dist/utils/dom/direction.d.ts +12 -0
  949. package/dist/utils/dom/direction.js +20 -0
  950. package/dist/utils/dom/direction.js.map +1 -0
  951. package/dist/utils/dom/download.d.ts +7 -0
  952. package/dist/utils/dom/download.js +19 -0
  953. package/dist/utils/dom/download.js.map +1 -0
  954. package/dist/utils/dom/element.d.ts +3 -0
  955. package/dist/utils/dom/element.js +12 -0
  956. package/dist/utils/dom/element.js.map +1 -0
  957. package/dist/utils/dom/event-listener.d.ts +8 -0
  958. package/dist/utils/dom/event-listener.js +35 -0
  959. package/dist/utils/dom/event-listener.js.map +1 -0
  960. package/dist/utils/dom/floating.d.ts +149 -0
  961. package/dist/utils/dom/floating.js +262 -0
  962. package/dist/utils/dom/floating.js.map +1 -0
  963. package/dist/utils/dom/focus.d.ts +28 -0
  964. package/dist/utils/dom/focus.js +105 -0
  965. package/dist/utils/dom/focus.js.map +1 -0
  966. package/dist/utils/dom/fullscreen.d.ts +11 -0
  967. package/dist/utils/dom/fullscreen.js +43 -0
  968. package/dist/utils/dom/fullscreen.js.map +1 -0
  969. package/dist/utils/dom/hotkeys.d.ts +43 -0
  970. package/dist/utils/dom/hotkeys.js +174 -0
  971. package/dist/utils/dom/hotkeys.js.map +1 -0
  972. package/dist/utils/dom/hover-intent.d.ts +47 -0
  973. package/dist/utils/dom/hover-intent.js +72 -0
  974. package/dist/utils/dom/hover-intent.js.map +1 -0
  975. package/dist/utils/dom/hover-layer.d.ts +36 -0
  976. package/dist/utils/dom/hover-layer.js +74 -0
  977. package/dist/utils/dom/hover-layer.js.map +1 -0
  978. package/dist/utils/dom/intersection.d.ts +13 -0
  979. package/dist/utils/dom/intersection.js +36 -0
  980. package/dist/utils/dom/intersection.js.map +1 -0
  981. package/dist/utils/dom/layout-batch.d.ts +14 -0
  982. package/dist/utils/dom/layout-batch.js +26 -0
  983. package/dist/utils/dom/layout-batch.js.map +1 -0
  984. package/dist/utils/dom/link.d.ts +18 -0
  985. package/dist/utils/dom/link.js +44 -0
  986. package/dist/utils/dom/link.js.map +1 -0
  987. package/dist/utils/dom/media-query.d.ts +18 -0
  988. package/dist/utils/dom/media-query.js +36 -0
  989. package/dist/utils/dom/media-query.js.map +1 -0
  990. package/dist/utils/dom/move.d.ts +47 -0
  991. package/dist/utils/dom/move.js +69 -0
  992. package/dist/utils/dom/move.js.map +1 -0
  993. package/dist/utils/dom/open-change.d.ts +51 -0
  994. package/dist/utils/dom/open-change.js +21 -0
  995. package/dist/utils/dom/open-change.js.map +1 -0
  996. package/dist/utils/dom/overflow.d.ts +29 -0
  997. package/dist/utils/dom/overflow.js +108 -0
  998. package/dist/utils/dom/overflow.js.map +1 -0
  999. package/dist/utils/dom/overlay.d.ts +35 -0
  1000. package/dist/utils/dom/overlay.js +104 -0
  1001. package/dist/utils/dom/overlay.js.map +1 -0
  1002. package/dist/utils/dom/page-visibility.d.ts +10 -0
  1003. package/dist/utils/dom/page-visibility.js +22 -0
  1004. package/dist/utils/dom/page-visibility.js.map +1 -0
  1005. package/dist/utils/dom/pan-zoom.d.ts +109 -0
  1006. package/dist/utils/dom/pan-zoom.js +257 -0
  1007. package/dist/utils/dom/pan-zoom.js.map +1 -0
  1008. package/dist/utils/dom/rasterize.d.ts +18 -0
  1009. package/dist/utils/dom/rasterize.js +41 -0
  1010. package/dist/utils/dom/rasterize.js.map +1 -0
  1011. package/dist/utils/dom/resize.d.ts +4 -0
  1012. package/dist/utils/dom/resize.js +65 -0
  1013. package/dist/utils/dom/resize.js.map +1 -0
  1014. package/dist/utils/dom/ripple.d.ts +40 -0
  1015. package/dist/utils/dom/ripple.js +96 -0
  1016. package/dist/utils/dom/ripple.js.map +1 -0
  1017. package/dist/utils/dom/roving-focus.d.ts +44 -0
  1018. package/dist/utils/dom/roving-focus.js +184 -0
  1019. package/dist/utils/dom/roving-focus.js.map +1 -0
  1020. package/dist/utils/dom/scroll-spy.d.ts +30 -0
  1021. package/dist/utils/dom/scroll-spy.js +55 -0
  1022. package/dist/utils/dom/scroll-spy.js.map +1 -0
  1023. package/dist/utils/dom/sortable.d.ts +82 -0
  1024. package/dist/utils/dom/sortable.js +437 -0
  1025. package/dist/utils/dom/sortable.js.map +1 -0
  1026. package/dist/utils/dom/storage.d.ts +21 -0
  1027. package/dist/utils/dom/storage.js +66 -0
  1028. package/dist/utils/dom/storage.js.map +1 -0
  1029. package/dist/utils/dom/typeahead.d.ts +15 -0
  1030. package/dist/utils/dom/typeahead.js +26 -0
  1031. package/dist/utils/dom/typeahead.js.map +1 -0
  1032. package/dist/utils/motion/active-indicator.d.ts +24 -0
  1033. package/dist/utils/motion/active-indicator.js +58 -0
  1034. package/dist/utils/motion/active-indicator.js.map +1 -0
  1035. package/dist/utils/motion/animation.d.ts +58 -0
  1036. package/dist/utils/motion/animation.js +83 -0
  1037. package/dist/utils/motion/animation.js.map +1 -0
  1038. package/dist/utils/motion/delayed-loading.d.ts +18 -0
  1039. package/dist/utils/motion/delayed-loading.js +38 -0
  1040. package/dist/utils/motion/delayed-loading.js.map +1 -0
  1041. package/dist/utils/motion/layout.d.ts +17 -0
  1042. package/dist/utils/motion/layout.js +43 -0
  1043. package/dist/utils/motion/layout.js.map +1 -0
  1044. package/dist/utils/motion/pointer.d.ts +14 -0
  1045. package/dist/utils/motion/pointer.js +72 -0
  1046. package/dist/utils/motion/pointer.js.map +1 -0
  1047. package/dist/utils/motion/presence.d.ts +57 -0
  1048. package/dist/utils/motion/presence.js +100 -0
  1049. package/dist/utils/motion/presence.js.map +1 -0
  1050. package/dist/utils/motion/reveal.d.ts +9 -0
  1051. package/dist/utils/motion/reveal.js +68 -0
  1052. package/dist/utils/motion/reveal.js.map +1 -0
  1053. package/dist/utils/motion/tween.d.ts +34 -0
  1054. package/dist/utils/motion/tween.js +50 -0
  1055. package/dist/utils/motion/tween.js.map +1 -0
  1056. package/dist/utils/props.d.ts +84 -0
  1057. package/dist/utils/props.js +189 -0
  1058. package/dist/utils/props.js.map +1 -0
  1059. package/dist/utils/request/http.d.ts +101 -0
  1060. package/dist/utils/request/http.js +154 -0
  1061. package/dist/utils/request/http.js.map +1 -0
  1062. package/dist/utils/request/use-request.d.ts +37 -0
  1063. package/dist/utils/request/use-request.js +90 -0
  1064. package/dist/utils/request/use-request.js.map +1 -0
  1065. package/dist/utils/request/wire.d.ts +48 -0
  1066. package/dist/utils/request/wire.js +208 -0
  1067. package/dist/utils/request/wire.js.map +1 -0
  1068. package/dist/utils/style/attached.d.ts +25 -0
  1069. package/dist/utils/style/attached.js +82 -0
  1070. package/dist/utils/style/attached.js.map +1 -0
  1071. package/dist/utils/style/item-styles.d.ts +18 -0
  1072. package/dist/utils/style/item-styles.js +79 -0
  1073. package/dist/utils/style/item-styles.js.map +1 -0
  1074. package/dist/utils/style/markers.d.ts +6 -0
  1075. package/dist/utils/style/markers.js +11 -0
  1076. package/dist/utils/style/markers.js.map +1 -0
  1077. package/dist/utils/style/shimmer.d.ts +20 -0
  1078. package/dist/utils/style/shimmer.js +58 -0
  1079. package/dist/utils/style/shimmer.js.map +1 -0
  1080. package/dist/utils/style/styles.d.ts +118 -0
  1081. package/dist/utils/style/styles.js +114 -0
  1082. package/dist/utils/style/styles.js.map +1 -0
  1083. package/dist/utils/style/swatch-styles.d.ts +10 -0
  1084. package/dist/utils/style/swatch-styles.js +19 -0
  1085. package/dist/utils/style/swatch-styles.js.map +1 -0
  1086. package/dist/utils/style/tone-styles.d.ts +58 -0
  1087. package/dist/utils/style/tone-styles.js +180 -0
  1088. package/dist/utils/style/tone-styles.js.map +1 -0
  1089. package/dist/utils/style/transitions.d.ts +43 -0
  1090. package/dist/utils/style/transitions.js +118 -0
  1091. package/dist/utils/style/transitions.js.map +1 -0
  1092. package/dist/utils/style/typography.d.ts +155 -0
  1093. package/dist/utils/style/typography.js +80 -0
  1094. package/dist/utils/style/typography.js.map +1 -0
  1095. package/dist/utils/style/vars.d.ts +18 -0
  1096. package/dist/utils/style/vars.js +21 -0
  1097. package/dist/utils/style/vars.js.map +1 -0
  1098. package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
  1099. package/dist/utils/virtual/use-virtualizer.js +94 -0
  1100. package/dist/utils/virtual/use-virtualizer.js.map +1 -0
  1101. package/dist/utils/virtual/virtualizer.d.ts +145 -0
  1102. package/dist/utils/virtual/virtualizer.js +316 -0
  1103. package/dist/utils/virtual/virtualizer.js.map +1 -0
  1104. package/dist/xlsx/index.d.ts +7 -0
  1105. package/dist/xlsx/index.js +1 -0
  1106. package/dist/xlsx/workbook.d.ts +33 -0
  1107. package/dist/xlsx/workbook.js +195 -0
  1108. package/dist/xlsx/workbook.js.map +1 -0
  1109. package/package.json +205 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Globe.js","names":["_vtp_readonlyProp","_vtp_restProps","_vtp_untrack","_createVNode","_mergeProps"],"sources":["../../../src/three/globe/Globe.tsx"],"sourcesContent":["/**\n * 点阵地球(div):陆地画成一层细密的点,可以标注地点(markers,向外扩散的光圈),两地之间画弧线(arcs,光点沿弧线流动);\n * 缓缓自转,可以拖动转动(松手后带惯性)。参考 GitHub 首页的地球、cobe。\n *\n * <Globe markers={[{ lat: 31.23, lng: 121.47 }]} arcs={[{ from: [31.23, 121.47], to: [37.77, -122.42] }]} />\n * <Globe center={{ lat: 30, lng: 110 }} rotationSpeed={0} sx={styles.globe} />\n *\n * 陆地来自 Natural Earth 1:110m 的世界地图(1° 的位图,见 land.ts);点的疏密按画质档位。颜色跟随主题:\n * 陆地用次要文字色,标注、弧线与大气光晕用品牌色(可以单独给 color)。默认是正方形,尺寸由使用方决定。\n * 减少动态效果时停在一帧,不自转、弧线不流动。画面是装饰;要让读屏知道内容时给 propsCanvas 写 aria-label。\n *\n * 部件:Root(div)、Canvas(ThreeCanvas)、Content(div,有内容时才有)。\n */\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport {\n BufferAttribute,\n BufferGeometry,\n Group,\n LineSegments,\n Mesh,\n PerspectiveCamera,\n Points,\n ShaderMaterial,\n PlaneGeometry,\n Vector3,\n type Color,\n} from 'three';\nimport { colors } from '../../config/theme/tokens';\nimport { clamp } from '../../utils/data/number';\nimport { EffectSurface, type EffectProps } from '../core/EffectSurface';\nimport { createOrbit } from '../core/orbit';\nimport { LAND_BITS, LAND_HEIGHT, LAND_WIDTH } from './land';\n\n/** 地图上的一个点:纬度(北正南负)、经度(东正西负),单位度 */\nexport interface GeoPoint {\n /** 纬度:北纬为正,-90 到 90 */\n lat: number;\n /** 经度:东经为正,-180 到 180 */\n lng: number;\n}\n\n/** 标注的地点 */\nexport interface GlobeMarker extends GeoPoint {\n /** 大小的倍数,默认 1 */\n size?: number;\n /** 颜色(token 或 CSS 颜色);不写时用 markerColor */\n color?: string;\n}\n\n/** 两地之间的弧线:[纬度, 经度] */\nexport interface GlobeArc {\n /** 起点 [纬度, 经度] */\n from: readonly [number, number];\n /** 终点 [纬度, 经度] */\n to: readonly [number, number];\n}\n\n/** 未声明的属性落到外层 div 上 */\nexport interface GlobeProps extends EffectProps {\n /** 标注的地点 */\n markers?: readonly GlobeMarker[];\n /** 弧线 */\n arcs?: readonly GlobeArc[];\n /**\n * 一开始正对着的地方\n * @default { lat: 20, lng: 100 }\n */\n center?: GeoPoint;\n /**\n * 自转速度(度 / 秒,向东为正);0 时不自转\n * @default 6\n */\n rotationSpeed?: number;\n /**\n * 可以拖动转动\n * @default true\n */\n draggable?: boolean;\n /**\n * 陆地的点有多密(1 约一万个点,按画质档位再缩放)\n * @default 1\n */\n density?: number;\n /** 陆地点的颜色,默认次要文字色 */\n landColor?: string;\n /** 标注与弧线的颜色,默认品牌色 */\n markerColor?: string;\n /**\n * 大气光晕\n * @default true\n */\n glow?: boolean;\n}\n\n/** Globe 的样式:root、draggable、dragging */\nexport const globeStyles = css.create({\n root: { aspectRatio: '1', width: '100%' },\n draggable: { cursor: 'grab', touchAction: 'pan-y' },\n dragging: { cursor: 'grabbing' },\n});\n\nconst DEG = Math.PI / 180;\n/** 地球的轮廓占画面短边的比例:外面留给大气光晕 */\nconst FIT = 0.8;\nconst FOV = 40;\n\n/** 经纬度 → 球面上的点(半径 radius):经度 0 朝向 +z(正对相机),北极朝 +y */\nexport function latLngToVector(lat: number, lng: number, radius = 1, target = new Vector3()) {\n const phi = lat * DEG;\n const theta = lng * DEG;\n return target.set(\n radius * Math.cos(phi) * Math.sin(theta),\n radius * Math.sin(phi),\n radius * Math.cos(phi) * Math.cos(theta),\n );\n}\n\n/** 陆地位图:某个经纬度是不是陆地 */\nconst landBits = (() => {\n let bytes: Uint8Array | undefined;\n return (lat: number, lng: number) => {\n bytes ??= Uint8Array.from(atob(LAND_BITS), (char) => char.charCodeAt(0));\n const row = clamp(Math.floor(90 - lat), 0, LAND_HEIGHT - 1);\n const column = (((Math.floor(lng + 180) % LAND_WIDTH) + LAND_WIDTH) % LAND_WIDTH) | 0;\n const index = row * LAND_WIDTH + column;\n return (bytes[index >> 3]! & (1 << (index & 7))) !== 0;\n };\n})();\n\n// 点:正面清楚、转到背面淡出;大小随透视缩放\nconst dotVertex = /* glsl */ `\nuniform float uPixelRatio;\nuniform float uScale;\nattribute float aSize;\nattribute float aPhase;\nvarying float vFacing;\nvarying float vPhase;\nvoid main() {\n vec4 world = modelMatrix * vec4(position, 1.0);\n vFacing = dot(normalize(world.xyz), normalize(cameraPosition - world.xyz));\n vPhase = aPhase;\n vec4 view = viewMatrix * world;\n gl_PointSize = aSize * uScale * uPixelRatio / -view.z;\n gl_Position = projectionMatrix * view;\n}\n`;\n\nconst landFragment = /* glsl */ `\nuniform vec3 uColor;\nvarying float vFacing;\nvoid main() {\n float d = length(gl_PointCoord - 0.5);\n float alpha = smoothstep(0.5, 0.3, d) * smoothstep(-0.05, 0.35, vFacing) * 0.85;\n gl_FragColor = vec4(uColor, alpha);\n #include <colorspace_fragment>\n #include <premultiplied_alpha_fragment>\n}\n`;\n\n// 标注:实心的点加一圈向外扩散、渐淡的光圈\nconst markerFragment = /* glsl */ `\nuniform vec3 uColor;\nuniform float uTime;\nvarying float vFacing;\nvarying float vPhase;\nvoid main() {\n float d = length(gl_PointCoord - 0.5) * 2.0;\n float core = smoothstep(0.3, 0.2, d);\n float wave = fract(uTime * 0.6 + vPhase);\n float ring = smoothstep(0.08, 0.0, abs(d - wave)) * (1.0 - wave);\n float alpha = max(core, ring * 0.9) * smoothstep(-0.1, 0.25, vFacing);\n gl_FragColor = vec4(uColor, alpha);\n #include <colorspace_fragment>\n #include <premultiplied_alpha_fragment>\n}\n`;\n\n// 弧线:整条淡淡的底色,加一段从起点流向终点的亮光\nconst arcVertex = /* glsl */ `\nattribute float aT;\nattribute float aPhase;\nvarying float vT;\nvarying float vPhase;\nvarying float vFacing;\nvoid main() {\n vec4 world = modelMatrix * vec4(position, 1.0);\n vFacing = dot(normalize(world.xyz), normalize(cameraPosition - world.xyz));\n vT = aT;\n vPhase = aPhase;\n gl_Position = projectionMatrix * viewMatrix * world;\n}\n`;\n\nconst arcFragment = /* glsl */ `\nuniform vec3 uColor;\nuniform float uTime;\nvarying float vT;\nvarying float vPhase;\nvarying float vFacing;\nvoid main() {\n float head = fract(uTime * 0.35 + vPhase) * 1.4 - 0.2;\n float glow = exp(-pow((vT - head) * 7.0, 2.0));\n float alpha = (0.18 + 0.82 * glow) * smoothstep(-0.25, 0.2, vFacing);\n gl_FragColor = vec4(uColor, alpha);\n #include <colorspace_fragment>\n #include <premultiplied_alpha_fragment>\n}\n`;\n\n// 大气:正对相机的一块方形,按到球心的距离画径向的光(单位是地球半径,uEdge 是轮廓所在的半径):\n// 球面里只有一层淡淡的雾,轮廓外一圈亮边向外淡出\nconst glowVertex = /* glsl */ `\nvarying vec2 vPosition;\nvoid main() {\n vPosition = position.xy;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n`;\n\nconst glowFragment = /* glsl */ `\nuniform vec3 uColor;\nuniform float uEdge;\nuniform float uLimit;\nvarying vec2 vPosition;\nvoid main() {\n float r = length(vPosition) / uEdge;\n float inner = smoothstep(0.55, 1.0, r) * 0.22;\n // 到画布边缘(短边方向在 uLimit 处)之前淡完,不留方形的边\n float outer = exp(-(r - 1.0) * 9.0) * smoothstep(uLimit, uLimit - 0.12, r);\n float intensity = r < 1.0 ? inner : outer * 0.75;\n // 先转色彩空间再乘强度(预乘):反过来的话,sRGB 会把很淡的颜色提亮,方形的边缘就露出来了\n gl_FragColor = vec4(uColor, 1.0);\n #include <colorspace_fragment>\n gl_FragColor = vec4(gl_FragColor.rgb, 1.0) * intensity;\n}\n`;\n\n/** 透明叠加的着色器材质 */\nconst overlay = (params: ConstructorParameters<typeof ShaderMaterial>[0]) =>\n new ShaderMaterial({\n ...params,\n transparent: true,\n premultipliedAlpha: true,\n depthWrite: false,\n });\n\n/** 两地之间的大圆弧,抬离地面(越远抬得越高),采样成 segments 段 */\nfunction arcPoints({ from, to }: GlobeArc, segments: number): Vector3[] {\n const a = latLngToVector(from[0], from[1]);\n const b = latLngToVector(to[0], to[1]);\n const angle = a.angleTo(b);\n const lift = 0.06 + angle * 0.22;\n const points: Vector3[] = [];\n for (let i = 0; i <= segments; i++) {\n const t = i / segments;\n // 球面线性插值(slerp),再按 sin 抬高\n const point =\n angle < 1e-6\n ? a.clone()\n : a\n .clone()\n .multiplyScalar(Math.sin((1 - t) * angle) / Math.sin(angle))\n .add(b.clone().multiplyScalar(Math.sin(t * angle) / Math.sin(angle)));\n points.push(point.normalize().multiplyScalar(1 + lift * Math.sin(Math.PI * t)));\n }\n return points;\n}\n\n/** 点阵地球 */\nexport const Globe = _component(\n ({\n markers = [],\n arcs = [],\n center = { lat: 20, lng: 100 },\n rotationSpeed = 6,\n draggable = true,\n density = 1,\n landColor = colors.textMuted,\n markerColor = colors.accent,\n glow = true,\n ...rest\n }: GlobeProps) => {\n // 朝向:一开始正对 center;拖动左右改 yaw、上下改 pitch,松手后带惯性回到自转\n const start = _untrack(center);\n const orbit = createOrbit({ yaw: -start.lng * DEG, pitch: start.lat * DEG });\n\n return () => (\n <EffectSurface\n {...rest}\n sx={[\n globeStyles.root,\n draggable && globeStyles.draggable,\n orbit.dragging && globeStyles.dragging,\n rest.sx,\n ]}\n {...(draggable ? orbit.handlers : {})}\n // 颜色也在键里:改了 landColor、markerColor 要重建场景(颜色在 setup 里读一次)\n sceneKey={`${density}|${glow}|${landColor}|${markerColor}|${JSON.stringify(markers)}|${JSON.stringify(arcs)}`}\n setup={({ scene, quality, still, themeColors }) => {\n const camera = new PerspectiveCamera(FOV, 1, 0.1, 100);\n const palette = themeColors({ land: landColor, marker: markerColor }) as {\n land: Color;\n marker: Color;\n };\n // 标注按颜色分组:同色的一次画完\n const byColor = new Map<string, GlobeMarker[]>();\n for (const marker of markers) {\n const color = marker.color ?? markerColor;\n byColor.set(color, [...(byColor.get(color) ?? []), marker]);\n }\n const markerTints = themeColors(\n Object.fromEntries([...byColor.keys()].map((color, index) => [index, color])),\n ) as Record<string, Color>;\n\n const globe = new Group();\n scene.add(globe);\n const uniforms = {\n uPixelRatio: { value: 1 },\n uScale: { value: 1 },\n uTime: { value: 0 },\n };\n\n // 陆地:斐波那契球面上均匀撒点,落在陆地上的留下\n const candidates = Math.round(24_000 * density * Math.min(1, quality.density));\n const land: number[] = [];\n const golden = Math.PI * (3 - Math.sqrt(5));\n const at = new Vector3();\n for (let i = 0; i < candidates; i++) {\n const y = 1 - (2 * (i + 0.5)) / candidates;\n const lat = Math.asin(y) / DEG;\n const lng = (((((i * golden) / DEG) % 360) + 360) % 360) - 180;\n if (!landBits(lat, lng)) continue;\n latLngToVector(lat, lng, 1, at);\n land.push(at.x, at.y, at.z);\n }\n const landGeometry = new BufferGeometry();\n landGeometry.setAttribute('position', new BufferAttribute(new Float32Array(land), 3));\n const landCount = land.length / 3;\n landGeometry.setAttribute(\n 'aSize',\n new BufferAttribute(new Float32Array(landCount).fill(2.2), 1),\n );\n landGeometry.setAttribute('aPhase', new BufferAttribute(new Float32Array(landCount), 1));\n globe.add(\n new Points(\n landGeometry,\n overlay({\n vertexShader: dotVertex,\n fragmentShader: landFragment,\n uniforms: { ...uniforms, uColor: { value: palette.land } },\n }),\n ),\n );\n\n // 标注:实心点加扩散的光圈\n [...byColor.values()].forEach((list, group) => {\n const positions = new Float32Array(list.length * 3);\n list.forEach((marker, i) => {\n latLngToVector(marker.lat, marker.lng, 1.005, at).toArray(positions, i * 3);\n });\n const geometry = new BufferGeometry();\n geometry.setAttribute('position', new BufferAttribute(positions, 3));\n geometry.setAttribute(\n 'aSize',\n new BufferAttribute(\n Float32Array.from(list, (marker) => 22 * (marker.size ?? 1)),\n 1,\n ),\n );\n geometry.setAttribute(\n 'aPhase',\n new BufferAttribute(\n Float32Array.from(list, (_, i) => (i * 0.37) % 1),\n 1,\n ),\n );\n globe.add(\n new Points(\n geometry,\n overlay({\n vertexShader: dotVertex,\n fragmentShader: markerFragment,\n uniforms: { ...uniforms, uColor: { value: markerTints[group] } },\n }),\n ),\n );\n });\n\n // 弧线:所有弧线放在同一组线段里,一次画完\n if (arcs.length) {\n const SEGMENTS = 64;\n const positions: number[] = [];\n const ts: number[] = [];\n const phases: number[] = [];\n arcs.forEach((arc, index) => {\n const points = arcPoints(arc, SEGMENTS);\n const phase = (index * 0.29) % 1;\n for (let i = 0; i < SEGMENTS; i++) {\n positions.push(...points[i]!.toArray(), ...points[i + 1]!.toArray());\n ts.push(i / SEGMENTS, (i + 1) / SEGMENTS);\n phases.push(phase, phase);\n }\n });\n const geometry = new BufferGeometry();\n geometry.setAttribute('position', new BufferAttribute(new Float32Array(positions), 3));\n geometry.setAttribute('aT', new BufferAttribute(new Float32Array(ts), 1));\n geometry.setAttribute('aPhase', new BufferAttribute(new Float32Array(phases), 1));\n globe.add(\n new LineSegments(\n geometry,\n overlay({\n vertexShader: arcVertex,\n fragmentShader: arcFragment,\n uniforms: { uColor: { value: palette.marker }, uTime: uniforms.uTime },\n }),\n ),\n );\n }\n\n // 透视下球的轮廓比半径大一点:相机距离 d 时在 z = 0 平面上是 d / √(d² − 1)\n const edge = { value: 1 };\n if (glow) {\n // 不随地球转:相机在 z 轴上,xy 平面上的方形总是正对相机\n const atmosphere = new Mesh(\n new PlaneGeometry(3, 3),\n overlay({\n vertexShader: glowVertex,\n fragmentShader: glowFragment,\n uniforms: {\n uColor: { value: palette.marker },\n uEdge: edge,\n uLimit: { value: 1 / FIT },\n },\n }),\n );\n atmosphere.renderOrder = -1;\n scene.add(atmosphere);\n }\n\n const apply = () => globe.rotation.set(orbit.pitch, orbit.yaw, 0, 'XYZ');\n apply();\n\n return {\n resize: (size, context) => {\n camera.aspect = size.width / Math.max(size.height, 1);\n // 轮廓的直径占短边的 FIT:相机距离 d 处的轮廓半径是 d / √(d² − 1),\n // 要它等于 FIT · d · tan(fov / 2),解出 d(宽比高窄时再拉远)\n const t = FIT * Math.tan((FOV * DEG) / 2);\n const fitHeight = Math.sqrt(1 + 1 / (t * t));\n camera.position.z = fitHeight * Math.max(1, 1 / camera.aspect);\n camera.updateProjectionMatrix();\n context.camera = camera;\n const d = camera.position.z;\n edge.value = d / Math.sqrt(d * d - 1);\n uniforms.uPixelRatio.value = size.pixelRatio;\n // 点的大小(CSS 像素)在 z = 相机距离处不变:/ -view.z 的透视缩放乘回来,再按画布大小缩放\n uniforms.uScale.value = (camera.position.z * Math.min(size.width, size.height)) / 360;\n },\n frame: ({ time, delta }) => {\n uniforms.uTime.value = time;\n if (still) return;\n orbit.step(delta, rotationSpeed * DEG);\n apply();\n },\n };\n }}\n />\n );\n },\n);\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Globe 的陆地位图:1° 的经纬网格(360 × 180),从北纬 90° 往南、从西经 180° 往东逐行,一格一位(1 是陆地)。
3
+ * 由 scripts/globe/land.mjs 从 Natural Earth 1:110m 的世界地图生成(公有领域数据),不要手改。
4
+ */
5
+ export declare const LAND_WIDTH = 360;
6
+ /** 位图的行数(纬度方向,每行 1°) */
7
+ export declare const LAND_HEIGHT = 180;
8
+ /** 位图本身:每字节 8 格,低位在前,base64 编码 */
9
+ export declare const LAND_BITS = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P8/AOD//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8//+B/////3/5AAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD+H/+//////8PAAAAAAAAADSAAQAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAPC//wf4//////8BAACAdz8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAABw+Izv//D//////38AAAAAfwMAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAIA4BDAyPkD8/////38AAAAAPA4AAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAHhAmPPdH4D//////z8AAAAAAAAAAAAA4AEAAAA+DwAAAAAAAAAAAAAAAAAAAAD/AzffDwAA/P////8BAAAAAAAAAADABwAAwP//HwAA6FsAAAAAAAAAAAAAAAQMAADwAAAA8P////8BAAAAAAAAAAB4AAAA+P//BwAAAAAAAAAAAAAAAAAAAP8BxvcxfwAA8P///3cAAAAAAAAAAAAcAADg//9//IMDAAYAAAAAAAAAAAAAgN9/xy+8xwEA4P///zcAAAAAAAAAAAAGAJ7i//////8fAD4AAAAAAwAAAAAAAMf/D3L8/w8AsP///x8AAAAAAAAAAAAOAG9+//////8fWf8DAAAAAADwDwAAAAD4H/D4//8AwP7/fzEAAAAAANgHAAAAgN9/////////////DwAAAAD+//+Bvob/H8aBg/8AwP7//w8AAAAAoP8PAAAAD9//////////////348/AcD///////8LB8jNA/wBgP///wAAAAAA6P//AwN7/979////////////////HwD///////9//+/vh/EPwP//BwAAAAAA+P//H/H//8///////////////////4Hw//////////+fAfx/wP//AQAAAAAA/v+fH/////P/////////////////9fD///////////9XAPwZgP8PANA/AAAA/+N/8P//////////////////////wAD4///////////Pw/gHAP4PAMAfAACA//F//v////////////////////8fAAP4///////////BAHAHAP4HAAADAADw//z///////////////////////9/AID//////////38AQ4ABAPwDAAAAAAD8P/7/////////////////////f/5fAMD//////////z8AwA8AAPgDAAAAAAD+H/z/////////////////////Mf8BAID/7/z//////x8AwD8AAMABAAAAAAD+P/z+//////////////////9/wG8AAAD8AwD//////x8AwD8MAAAAAAAAAAD+P2D///////////////////9xcAAAAACAAwD4/////38AwP8eAAAAAAAAgAGcH/T//////////////////wEAOAAAAADADgDw/////38AgP8/AAAAAAAA4ANAX/T//////////////////wAAfgAAAAAwAABA//////8PgP8/AAAAAAAAgAFwHv7/////////////////PwAAfwAAAAAEAADA//////8/gP//AAAAAAAAgAPwAv7/////////////////DwAAPwAAAIAAAAAA/P//////8///AwAAAAAAsAcgcv//////////////////HwAAHwAAAAAAAACA/P//////4///DwAAAAAAPA74/////////////////////wEADwAAAAAAAAAA8P//////4///DwAAAAAAPD/+/////////////////////wUAAwAAAAAAAAAA8P//////9///FwAAAAAAAB///////////////////////wUAAwAAAAAAAAAA0P//////////CAAAAAAAgMD//////////////////////wwAAAAAAAAAAAAAQP////////8xLAAAAAAAAPT//////////////////////wwAAAAAAAAAAAAAAP///////38PfgAAAAAAgP///////////////////////wQAAAAAAAAAAAAAAP3///////8HcAAAAAAAAP7/////////////////////fwQAAAAAAAAAAAAAAP////////+HAAAAAAAAAPz////3/B/+////////////PwgAAAAAAAAAAAAAAP////////9/AAAAAAAAAPj//f9j/Af+////////////HwAAAAAAAAAAAAAAAP////////8MAAAAAAAAAPj/+P8B/Mf/////////////DwQAAAAAAAAAAAAAAP///////z8AAAAAAAAAcPzH8/8B8I//////////////Bx4AAAAAAAAAAAAAAP///////x8AAAAAAAAA+H+gw/8AwA/+//////////9/AAQAAAAAAAAAAAAAAP///////x8AAAAAAAAA+D8Ajv/w4B/8//////////8/AAAAAAAAAAAAAAAAAP///////wMAAAAAAAAA+A8wuA/+/z/+/////////98fAAMAAAAAAAAAAAAAAP///////wMAAAAAAAAA+E8wEIf//x/+/////////2cOAAMAAAAAAAAAAAAAAP7/////fwEAAAAAAAAA+A8AEIb//x/8/////////wMOAAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAA+AcABoT//x/8/////////zcYgAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAAQOB/AAA2/////////////x8c8AEAAAAAAAAAAAAAAPj//////wAAAAAAAAAAQPh/AAAA/////////////w8c/AAAAAAAAAAAAAAAAPj/////fwAAAAAAAAAA4P8/AAAA/////////////w+EGwAAAAAAAAAAAAAAAMD/////HwAAAAAAAAAA8P9/AACA/////////////x/EAwAAAAAAAAAAAAAAAID/////DwAAAAAAAAAA+P//BweA/////////////x+AAAAAAAAAAAAAAAAAAID9////BwAAAAAAAAAA/P//Dz/A/////////////x9AAAAAAAAAAAAAAAAAAAD5////BwAAAAAAAAAA/P//f////////////////x8AAAAAAAAAAAAAAAAAAADy/x8CBgAAAAAAAAAA/P/////v/4///////////z8AAAAAAAAAAAAAAAAAAAD0/w8ABgAAAAAAAAAA/v////+//4///////////z8AAAAAAAAAAAAAAAAAAADu/wcADgAAAAAAAACA//////8//x/+/////////x8AAAAAAAAAAAAAAAAAAACI/wcADAAAAAAAAADA//////8//z/g/////////w8AAAAAAAAAAAAAAAAAAACQ/wcACAAAAAAAAADg//////9//j+A/////////wcAAAAAAAAAAAAAAAAAAAAQ/wMAAAAAAAAAAADg//////9//n8YgP///////yMAAAAAAAAAAAAAAAAAAABA/gMAAAAAAAAAAADw////////+P9/AP///////xEAAAAAAAAAAAAAAAAAAAAA/AMAHQAAAAAAAADw////////+P//APz/f///PxAAAAAAAAAAAAAAAAAAAAAA+AMIYAAAAAAAAAD4////////+f9/AOz/B///BgAAAAAAAAAAAAAAAAAAAAAA+AccgAEAAAAAAADw////////8f9/AOD/B/5/AAAAAAAAAAAAAAAAAQAAAAAA+A8eADgAAAAAAADw////////4f8/AOD/Afw/BgAAAAAAAAAAAAAAAAAAAAAA8J8OAPgAAAAAAADw////////4/8fAOD/APw/AgAAAAAAAAAAAAAAAAAAAAAAgP8PAAAAAAAAAADw////////x/8HAOB/APh/ADAAAAAAAAAAAAAAAAAAAAAAAP4PAAAAAAAAAADw////////h/8BAOA/AMz/ADAAAAAAAAAAAAAAAAAAAAAAAID/AABAAAAAAAD4////////j/8AAMAPAMD/ARAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAD4////////nx8AAMAPAMD/ATAAAAAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAD4////////vwcAAIAPAMD/AcAAAAAAAAAAAAAAAAAAAAAAAADgAEAAAAAAAAD4////////fwACAIAPAID8AQABAAAAAAAAAAAAAAAAAAAAAADAAAgAAAAAAADg////////f0AAAAAPAID4AUACAAAAAAAAAAAAAAAAAAAAAADAAf8TAAAAAADg/////////34AAAAPAEBwAAgAAAAAAAAAAAAAAAAAAAAAAAAAE+9/AAAAAADA/////////38AAAAXAEAgAAQCAAAAAAAAAAAAAAAAAAAAAAAAz///AAAAAACA/////////z8AAAASAMAAAIADAAAAAAAAAAAAAAAAAAAAAAAAyP//AQAAAAAA/////////z8AAAAwAIAAAAAHBAAAAAAAAAAAAAAAAAAAAAAAgP//AwAAAAAA/v///////x8AAAAwAAADAAMDAAAAAAAAAAAAAAAAAAAAAAAAwP//fwAAAAAA/A/+/////x8AAAAAAAgHgAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wAAAAAAEADk/////w8AAAAAADAGwAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wEAAAAAAADA/////wcAAAAAAGAG4AEAAAAAAAAAAAAAAAAAAAAAAAAAwP///wEAAAAAAADA/////wMAAAAAAMAM+AMQAAAAAAAAAAAAAAAAAAAAAAAA4P///wMAAAAAAADA/////wAAAAAAAIAL/gMQAAAAAAAAAAAAAAAAAAAAAAAA8P///wEAAAAAAADg////fwAAAAAAAIAH/uMQAAAAAAAAAAAAAAAAAAAAAAAA8P///w8AAAAAAADg////PwAAAAAAAAAX/gMIAQAAAAAAAAAAAAAAAAAAAAAA+P//f3cAAAAAAADg////PwAAAAAAAAAO/DkIAwAAAAAAAAAAAAAAAAAAAAAA+P///38AAAAAAADA////HwAAAAAAAAA+/DkA8AEAAAAAAAAAAAAAAAAAAAAA+P////8fAAAAAACA////DwAAAAAAAAA8wChE/g8AAAAAAAAAAAAAAAAAAAAA+P////8/AAAAAAAA////BwAAAAAAAAA4ACAA8B8AAAAAAAAAAAAAAAAAAAAA+P//////AQAAAAAA////BwAAAAAAAAAwAAgAwD8MAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA////BwAAAAAAAADAAQAAgP+AAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA/v//BwAAAAAAAACAHwCAwH8AAAAAAAAAAAAAAAAAAAAA4P//////AQAAAAAA/v//BwAAAAAAAAAAgNcEAMcAAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/v//DwAAAAAAAAAAAAgBAIAFAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/P//DwAAAAAAAAAgAAAAAAAEAAAAAAAAAAAAAAAAAAAAgP////9/AAAAAAAA/P//DwAAAAAAAAAAAABAAQQAAAAAAAAAAAAAAAAAAAAAgP////8/AAAAAAAA/v//DyAAAAAAAAAAAACAHwQAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA/v//HzAAAAAAAAAAAADADwwAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA////HzAAAAAAAAAAAADsDxwAAAAAAAAAAAAAAAAAAAAAAP7///8fAAAAAAAA////HzwAAAAAAAAAAAD+Dx4AAAAAAAAAAAAAAAAAAAAAAPj///8fAAAAAAAA////Dz8AAAAAAAAAAID/vx4AAAiAAAAAAAAAAAAAAAAAAOD///8fAAAAAAAA////Ax8AAAAAAAAAAMD//z4AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA////AR8AAAAAAAAAAMD//z8AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8AAAAAAAAAAOD//38AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8gAAAAAAAAAPz///8BAAEAAAAAAAAAAAAAAAAAAMD///8HAAAAAAAA/P9/gA8AAAAAAAAAgP////8BAAIAAAAAAAAAAAAAAAAAAMD///8DAAAAAAAA/P//gA8AAAAAAAAAwP////8DAAAAAAAAAAAAAAAAAAAAAMD//38AAAAAAAAA/P9/AA8AAAAAAAAAwP////8HAAAAAAAAAAAAAAAAAAAAAOD//x8AAAAAAAAA+P9/AAcAAAAAAAAA4P////8PAAAAAAAAAAAAAAAAAAAAAOD//w8AAAAAAAAA+P8fAAIAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAA4P////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA8P8PAAAAAAAAAAAAwP////8/AAAAAAAAAAAAAAAAAAAAAOD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wAAAAAAAAAAwP8DAAAAAAAAAAAAAP////8fAAAAAAAAAAAAAAAAAAAAAOD//wAAAAAAAAAAwP8BAAAAAAAAAAAAAP8D/P8PAAAAAAAAAAAAAAAAAAAAAPD/fQAAAAAAAAAAwH8AAAAAAAAAAAAAAP8A2P8HAAAAAAAAAAAAAAAAAAAAAPD/OwAAAAAAAAAAgAAAAAAAAAAAAAAAAAcA6P8HAAAAAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP8DAAACAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAEAAAAAAAAAAAAAAAAAPz/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAIAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAA4AAAAAAAAAAAAAAAAAPg/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAPw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAPwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAALAAAAAAAAAAAAAAAAAPgPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAIADAAAAAAAAAAAAAAAAAPgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMABAAAAAAAAAAAAAAAAAPoHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
@@ -0,0 +1,14 @@
1
+ //#region src/three/globe/land.ts
2
+ /**
3
+ * Globe 的陆地位图:1° 的经纬网格(360 × 180),从北纬 90° 往南、从西经 180° 往东逐行,一格一位(1 是陆地)。
4
+ * 由 scripts/globe/land.mjs 从 Natural Earth 1:110m 的世界地图生成(公有领域数据),不要手改。
5
+ */
6
+ var LAND_WIDTH = 360;
7
+ /** 位图的行数(纬度方向,每行 1°) */
8
+ var LAND_HEIGHT = 180;
9
+ /** 位图本身:每字节 8 格,低位在前,base64 编码 */
10
+ var LAND_BITS = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P8/AOD//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8//+B/////3/5AAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD+H/+//////8PAAAAAAAAADSAAQAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAPC//wf4//////8BAACAdz8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAABw+Izv//D//////38AAAAAfwMAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAIA4BDAyPkD8/////38AAAAAPA4AAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAHhAmPPdH4D//////z8AAAAAAAAAAAAA4AEAAAA+DwAAAAAAAAAAAAAAAAAAAAD/AzffDwAA/P////8BAAAAAAAAAADABwAAwP//HwAA6FsAAAAAAAAAAAAAAAQMAADwAAAA8P////8BAAAAAAAAAAB4AAAA+P//BwAAAAAAAAAAAAAAAAAAAP8BxvcxfwAA8P///3cAAAAAAAAAAAAcAADg//9//IMDAAYAAAAAAAAAAAAAgN9/xy+8xwEA4P///zcAAAAAAAAAAAAGAJ7i//////8fAD4AAAAAAwAAAAAAAMf/D3L8/w8AsP///x8AAAAAAAAAAAAOAG9+//////8fWf8DAAAAAADwDwAAAAD4H/D4//8AwP7/fzEAAAAAANgHAAAAgN9/////////////DwAAAAD+//+Bvob/H8aBg/8AwP7//w8AAAAAoP8PAAAAD9//////////////348/AcD///////8LB8jNA/wBgP///wAAAAAA6P//AwN7/979////////////////HwD///////9//+/vh/EPwP//BwAAAAAA+P//H/H//8///////////////////4Hw//////////+fAfx/wP//AQAAAAAA/v+fH/////P/////////////////9fD///////////9XAPwZgP8PANA/AAAA/+N/8P//////////////////////wAD4///////////Pw/gHAP4PAMAfAACA//F//v////////////////////8fAAP4///////////BAHAHAP4HAAADAADw//z///////////////////////9/AID//////////38AQ4ABAPwDAAAAAAD8P/7/////////////////////f/5fAMD//////////z8AwA8AAPgDAAAAAAD+H/z/////////////////////Mf8BAID/7/z//////x8AwD8AAMABAAAAAAD+P/z+//////////////////9/wG8AAAD8AwD//////x8AwD8MAAAAAAAAAAD+P2D///////////////////9xcAAAAACAAwD4/////38AwP8eAAAAAAAAgAGcH/T//////////////////wEAOAAAAADADgDw/////38AgP8/AAAAAAAA4ANAX/T//////////////////wAAfgAAAAAwAABA//////8PgP8/AAAAAAAAgAFwHv7/////////////////PwAAfwAAAAAEAADA//////8/gP//AAAAAAAAgAPwAv7/////////////////DwAAPwAAAIAAAAAA/P//////8///AwAAAAAAsAcgcv//////////////////HwAAHwAAAAAAAACA/P//////4///DwAAAAAAPA74/////////////////////wEADwAAAAAAAAAA8P//////4///DwAAAAAAPD/+/////////////////////wUAAwAAAAAAAAAA8P//////9///FwAAAAAAAB///////////////////////wUAAwAAAAAAAAAA0P//////////CAAAAAAAgMD//////////////////////wwAAAAAAAAAAAAAQP////////8xLAAAAAAAAPT//////////////////////wwAAAAAAAAAAAAAAP///////38PfgAAAAAAgP///////////////////////wQAAAAAAAAAAAAAAP3///////8HcAAAAAAAAP7/////////////////////fwQAAAAAAAAAAAAAAP////////+HAAAAAAAAAPz////3/B/+////////////PwgAAAAAAAAAAAAAAP////////9/AAAAAAAAAPj//f9j/Af+////////////HwAAAAAAAAAAAAAAAP////////8MAAAAAAAAAPj/+P8B/Mf/////////////DwQAAAAAAAAAAAAAAP///////z8AAAAAAAAAcPzH8/8B8I//////////////Bx4AAAAAAAAAAAAAAP///////x8AAAAAAAAA+H+gw/8AwA/+//////////9/AAQAAAAAAAAAAAAAAP///////x8AAAAAAAAA+D8Ajv/w4B/8//////////8/AAAAAAAAAAAAAAAAAP///////wMAAAAAAAAA+A8wuA/+/z/+/////////98fAAMAAAAAAAAAAAAAAP///////wMAAAAAAAAA+E8wEIf//x/+/////////2cOAAMAAAAAAAAAAAAAAP7/////fwEAAAAAAAAA+A8AEIb//x/8/////////wMOAAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAA+AcABoT//x/8/////////zcYgAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAAQOB/AAA2/////////////x8c8AEAAAAAAAAAAAAAAPj//////wAAAAAAAAAAQPh/AAAA/////////////w8c/AAAAAAAAAAAAAAAAPj/////fwAAAAAAAAAA4P8/AAAA/////////////w+EGwAAAAAAAAAAAAAAAMD/////HwAAAAAAAAAA8P9/AACA/////////////x/EAwAAAAAAAAAAAAAAAID/////DwAAAAAAAAAA+P//BweA/////////////x+AAAAAAAAAAAAAAAAAAID9////BwAAAAAAAAAA/P//Dz/A/////////////x9AAAAAAAAAAAAAAAAAAAD5////BwAAAAAAAAAA/P//f////////////////x8AAAAAAAAAAAAAAAAAAADy/x8CBgAAAAAAAAAA/P/////v/4///////////z8AAAAAAAAAAAAAAAAAAAD0/w8ABgAAAAAAAAAA/v////+//4///////////z8AAAAAAAAAAAAAAAAAAADu/wcADgAAAAAAAACA//////8//x/+/////////x8AAAAAAAAAAAAAAAAAAACI/wcADAAAAAAAAADA//////8//z/g/////////w8AAAAAAAAAAAAAAAAAAACQ/wcACAAAAAAAAADg//////9//j+A/////////wcAAAAAAAAAAAAAAAAAAAAQ/wMAAAAAAAAAAADg//////9//n8YgP///////yMAAAAAAAAAAAAAAAAAAABA/gMAAAAAAAAAAADw////////+P9/AP///////xEAAAAAAAAAAAAAAAAAAAAA/AMAHQAAAAAAAADw////////+P//APz/f///PxAAAAAAAAAAAAAAAAAAAAAA+AMIYAAAAAAAAAD4////////+f9/AOz/B///BgAAAAAAAAAAAAAAAAAAAAAA+AccgAEAAAAAAADw////////8f9/AOD/B/5/AAAAAAAAAAAAAAAAAQAAAAAA+A8eADgAAAAAAADw////////4f8/AOD/Afw/BgAAAAAAAAAAAAAAAAAAAAAA8J8OAPgAAAAAAADw////////4/8fAOD/APw/AgAAAAAAAAAAAAAAAAAAAAAAgP8PAAAAAAAAAADw////////x/8HAOB/APh/ADAAAAAAAAAAAAAAAAAAAAAAAP4PAAAAAAAAAADw////////h/8BAOA/AMz/ADAAAAAAAAAAAAAAAAAAAAAAAID/AABAAAAAAAD4////////j/8AAMAPAMD/ARAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAD4////////nx8AAMAPAMD/ATAAAAAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAD4////////vwcAAIAPAMD/AcAAAAAAAAAAAAAAAAAAAAAAAADgAEAAAAAAAAD4////////fwACAIAPAID8AQABAAAAAAAAAAAAAAAAAAAAAADAAAgAAAAAAADg////////f0AAAAAPAID4AUACAAAAAAAAAAAAAAAAAAAAAADAAf8TAAAAAADg/////////34AAAAPAEBwAAgAAAAAAAAAAAAAAAAAAAAAAAAAE+9/AAAAAADA/////////38AAAAXAEAgAAQCAAAAAAAAAAAAAAAAAAAAAAAAz///AAAAAACA/////////z8AAAASAMAAAIADAAAAAAAAAAAAAAAAAAAAAAAAyP//AQAAAAAA/////////z8AAAAwAIAAAAAHBAAAAAAAAAAAAAAAAAAAAAAAgP//AwAAAAAA/v///////x8AAAAwAAADAAMDAAAAAAAAAAAAAAAAAAAAAAAAwP//fwAAAAAA/A/+/////x8AAAAAAAgHgAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wAAAAAAEADk/////w8AAAAAADAGwAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wEAAAAAAADA/////wcAAAAAAGAG4AEAAAAAAAAAAAAAAAAAAAAAAAAAwP///wEAAAAAAADA/////wMAAAAAAMAM+AMQAAAAAAAAAAAAAAAAAAAAAAAA4P///wMAAAAAAADA/////wAAAAAAAIAL/gMQAAAAAAAAAAAAAAAAAAAAAAAA8P///wEAAAAAAADg////fwAAAAAAAIAH/uMQAAAAAAAAAAAAAAAAAAAAAAAA8P///w8AAAAAAADg////PwAAAAAAAAAX/gMIAQAAAAAAAAAAAAAAAAAAAAAA+P//f3cAAAAAAADg////PwAAAAAAAAAO/DkIAwAAAAAAAAAAAAAAAAAAAAAA+P///38AAAAAAADA////HwAAAAAAAAA+/DkA8AEAAAAAAAAAAAAAAAAAAAAA+P////8fAAAAAACA////DwAAAAAAAAA8wChE/g8AAAAAAAAAAAAAAAAAAAAA+P////8/AAAAAAAA////BwAAAAAAAAA4ACAA8B8AAAAAAAAAAAAAAAAAAAAA+P//////AQAAAAAA////BwAAAAAAAAAwAAgAwD8MAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA////BwAAAAAAAADAAQAAgP+AAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA/v//BwAAAAAAAACAHwCAwH8AAAAAAAAAAAAAAAAAAAAA4P//////AQAAAAAA/v//BwAAAAAAAAAAgNcEAMcAAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/v//DwAAAAAAAAAAAAgBAIAFAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/P//DwAAAAAAAAAgAAAAAAAEAAAAAAAAAAAAAAAAAAAAgP////9/AAAAAAAA/P//DwAAAAAAAAAAAABAAQQAAAAAAAAAAAAAAAAAAAAAgP////8/AAAAAAAA/v//DyAAAAAAAAAAAACAHwQAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA/v//HzAAAAAAAAAAAADADwwAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA////HzAAAAAAAAAAAADsDxwAAAAAAAAAAAAAAAAAAAAAAP7///8fAAAAAAAA////HzwAAAAAAAAAAAD+Dx4AAAAAAAAAAAAAAAAAAAAAAPj///8fAAAAAAAA////Dz8AAAAAAAAAAID/vx4AAAiAAAAAAAAAAAAAAAAAAOD///8fAAAAAAAA////Ax8AAAAAAAAAAMD//z4AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA////AR8AAAAAAAAAAMD//z8AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8AAAAAAAAAAOD//38AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8gAAAAAAAAAPz///8BAAEAAAAAAAAAAAAAAAAAAMD///8HAAAAAAAA/P9/gA8AAAAAAAAAgP////8BAAIAAAAAAAAAAAAAAAAAAMD///8DAAAAAAAA/P//gA8AAAAAAAAAwP////8DAAAAAAAAAAAAAAAAAAAAAMD//38AAAAAAAAA/P9/AA8AAAAAAAAAwP////8HAAAAAAAAAAAAAAAAAAAAAOD//x8AAAAAAAAA+P9/AAcAAAAAAAAA4P////8PAAAAAAAAAAAAAAAAAAAAAOD//w8AAAAAAAAA+P8fAAIAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAA4P////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA8P8PAAAAAAAAAAAAwP////8/AAAAAAAAAAAAAAAAAAAAAOD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wAAAAAAAAAAwP8DAAAAAAAAAAAAAP////8fAAAAAAAAAAAAAAAAAAAAAOD//wAAAAAAAAAAwP8BAAAAAAAAAAAAAP8D/P8PAAAAAAAAAAAAAAAAAAAAAPD/fQAAAAAAAAAAwH8AAAAAAAAAAAAAAP8A2P8HAAAAAAAAAAAAAAAAAAAAAPD/OwAAAAAAAAAAgAAAAAAAAAAAAAAAAAcA6P8HAAAAAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP8DAAACAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAEAAAAAAAAAAAAAAAAAPz/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAIAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAA4AAAAAAAAAAAAAAAAAPg/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAPw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAPwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAALAAAAAAAAAAAAAAAAAPgPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAIADAAAAAAAAAAAAAAAAAPgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMABAAAAAAAAAAAAAAAAAPoHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
11
+ //#endregion
12
+ export { LAND_BITS, LAND_HEIGHT, LAND_WIDTH };
13
+
14
+ //# sourceMappingURL=land.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"land.js","names":[],"sources":["../../../src/three/globe/land.ts"],"sourcesContent":["/**\n * Globe 的陆地位图:1° 的经纬网格(360 × 180),从北纬 90° 往南、从西经 180° 往东逐行,一格一位(1 是陆地)。\n * 由 scripts/globe/land.mjs 从 Natural Earth 1:110m 的世界地图生成(公有领域数据),不要手改。\n */\nexport const LAND_WIDTH = 360;\n/** 位图的行数(纬度方向,每行 1°) */\nexport const LAND_HEIGHT = 180;\n/** 位图本身:每字节 8 格,低位在前,base64 编码 */\nexport const LAND_BITS =\n 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/P8/AOD//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8//+B/////3/5AAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD+H/+//////8PAAAAAAAAADSAAQAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAPC//wf4//////8BAACAdz8AAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAAAABw+Izv//D//////38AAAAAfwMAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAIA4BDAyPkD8/////38AAAAAPA4AAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAHhAmPPdH4D//////z8AAAAAAAAAAAAA4AEAAAA+DwAAAAAAAAAAAAAAAAAAAAD/AzffDwAA/P////8BAAAAAAAAAADABwAAwP//HwAA6FsAAAAAAAAAAAAAAAQMAADwAAAA8P////8BAAAAAAAAAAB4AAAA+P//BwAAAAAAAAAAAAAAAAAAAP8BxvcxfwAA8P///3cAAAAAAAAAAAAcAADg//9//IMDAAYAAAAAAAAAAAAAgN9/xy+8xwEA4P///zcAAAAAAAAAAAAGAJ7i//////8fAD4AAAAAAwAAAAAAAMf/D3L8/w8AsP///x8AAAAAAAAAAAAOAG9+//////8fWf8DAAAAAADwDwAAAAD4H/D4//8AwP7/fzEAAAAAANgHAAAAgN9/////////////DwAAAAD+//+Bvob/H8aBg/8AwP7//w8AAAAAoP8PAAAAD9//////////////348/AcD///////8LB8jNA/wBgP///wAAAAAA6P//AwN7/979////////////////HwD///////9//+/vh/EPwP//BwAAAAAA+P//H/H//8///////////////////4Hw//////////+fAfx/wP//AQAAAAAA/v+fH/////P/////////////////9fD///////////9XAPwZgP8PANA/AAAA/+N/8P//////////////////////wAD4///////////Pw/gHAP4PAMAfAACA//F//v////////////////////8fAAP4///////////BAHAHAP4HAAADAADw//z///////////////////////9/AID//////////38AQ4ABAPwDAAAAAAD8P/7/////////////////////f/5fAMD//////////z8AwA8AAPgDAAAAAAD+H/z/////////////////////Mf8BAID/7/z//////x8AwD8AAMABAAAAAAD+P/z+//////////////////9/wG8AAAD8AwD//////x8AwD8MAAAAAAAAAAD+P2D///////////////////9xcAAAAACAAwD4/////38AwP8eAAAAAAAAgAGcH/T//////////////////wEAOAAAAADADgDw/////38AgP8/AAAAAAAA4ANAX/T//////////////////wAAfgAAAAAwAABA//////8PgP8/AAAAAAAAgAFwHv7/////////////////PwAAfwAAAAAEAADA//////8/gP//AAAAAAAAgAPwAv7/////////////////DwAAPwAAAIAAAAAA/P//////8///AwAAAAAAsAcgcv//////////////////HwAAHwAAAAAAAACA/P//////4///DwAAAAAAPA74/////////////////////wEADwAAAAAAAAAA8P//////4///DwAAAAAAPD/+/////////////////////wUAAwAAAAAAAAAA8P//////9///FwAAAAAAAB///////////////////////wUAAwAAAAAAAAAA0P//////////CAAAAAAAgMD//////////////////////wwAAAAAAAAAAAAAQP////////8xLAAAAAAAAPT//////////////////////wwAAAAAAAAAAAAAAP///////38PfgAAAAAAgP///////////////////////wQAAAAAAAAAAAAAAP3///////8HcAAAAAAAAP7/////////////////////fwQAAAAAAAAAAAAAAP////////+HAAAAAAAAAPz////3/B/+////////////PwgAAAAAAAAAAAAAAP////////9/AAAAAAAAAPj//f9j/Af+////////////HwAAAAAAAAAAAAAAAP////////8MAAAAAAAAAPj/+P8B/Mf/////////////DwQAAAAAAAAAAAAAAP///////z8AAAAAAAAAcPzH8/8B8I//////////////Bx4AAAAAAAAAAAAAAP///////x8AAAAAAAAA+H+gw/8AwA/+//////////9/AAQAAAAAAAAAAAAAAP///////x8AAAAAAAAA+D8Ajv/w4B/8//////////8/AAAAAAAAAAAAAAAAAP///////wMAAAAAAAAA+A8wuA/+/z/+/////////98fAAMAAAAAAAAAAAAAAP///////wMAAAAAAAAA+E8wEIf//x/+/////////2cOAAMAAAAAAAAAAAAAAP7/////fwEAAAAAAAAA+A8AEIb//x/8/////////wMOAAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAA+AcABoT//x/8/////////zcYgAEAAAAAAAAAAAAAAPz//////wAAAAAAAAAAQOB/AAA2/////////////x8c8AEAAAAAAAAAAAAAAPj//////wAAAAAAAAAAQPh/AAAA/////////////w8c/AAAAAAAAAAAAAAAAPj/////fwAAAAAAAAAA4P8/AAAA/////////////w+EGwAAAAAAAAAAAAAAAMD/////HwAAAAAAAAAA8P9/AACA/////////////x/EAwAAAAAAAAAAAAAAAID/////DwAAAAAAAAAA+P//BweA/////////////x+AAAAAAAAAAAAAAAAAAID9////BwAAAAAAAAAA/P//Dz/A/////////////x9AAAAAAAAAAAAAAAAAAAD5////BwAAAAAAAAAA/P//f////////////////x8AAAAAAAAAAAAAAAAAAADy/x8CBgAAAAAAAAAA/P/////v/4///////////z8AAAAAAAAAAAAAAAAAAAD0/w8ABgAAAAAAAAAA/v////+//4///////////z8AAAAAAAAAAAAAAAAAAADu/wcADgAAAAAAAACA//////8//x/+/////////x8AAAAAAAAAAAAAAAAAAACI/wcADAAAAAAAAADA//////8//z/g/////////w8AAAAAAAAAAAAAAAAAAACQ/wcACAAAAAAAAADg//////9//j+A/////////wcAAAAAAAAAAAAAAAAAAAAQ/wMAAAAAAAAAAADg//////9//n8YgP///////yMAAAAAAAAAAAAAAAAAAABA/gMAAAAAAAAAAADw////////+P9/AP///////xEAAAAAAAAAAAAAAAAAAAAA/AMAHQAAAAAAAADw////////+P//APz/f///PxAAAAAAAAAAAAAAAAAAAAAA+AMIYAAAAAAAAAD4////////+f9/AOz/B///BgAAAAAAAAAAAAAAAAAAAAAA+AccgAEAAAAAAADw////////8f9/AOD/B/5/AAAAAAAAAAAAAAAAAQAAAAAA+A8eADgAAAAAAADw////////4f8/AOD/Afw/BgAAAAAAAAAAAAAAAAAAAAAA8J8OAPgAAAAAAADw////////4/8fAOD/APw/AgAAAAAAAAAAAAAAAAAAAAAAgP8PAAAAAAAAAADw////////x/8HAOB/APh/ADAAAAAAAAAAAAAAAAAAAAAAAP4PAAAAAAAAAADw////////h/8BAOA/AMz/ADAAAAAAAAAAAAAAAAAAAAAAAID/AABAAAAAAAD4////////j/8AAMAPAMD/ARAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAAD4////////nx8AAMAPAMD/ATAAAAAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAD4////////vwcAAIAPAMD/AcAAAAAAAAAAAAAAAAAAAAAAAADgAEAAAAAAAAD4////////fwACAIAPAID8AQABAAAAAAAAAAAAAAAAAAAAAADAAAgAAAAAAADg////////f0AAAAAPAID4AUACAAAAAAAAAAAAAAAAAAAAAADAAf8TAAAAAADg/////////34AAAAPAEBwAAgAAAAAAAAAAAAAAAAAAAAAAAAAE+9/AAAAAADA/////////38AAAAXAEAgAAQCAAAAAAAAAAAAAAAAAAAAAAAAz///AAAAAACA/////////z8AAAASAMAAAIADAAAAAAAAAAAAAAAAAAAAAAAAyP//AQAAAAAA/////////z8AAAAwAIAAAAAHBAAAAAAAAAAAAAAAAAAAAAAAgP//AwAAAAAA/v///////x8AAAAwAAADAAMDAAAAAAAAAAAAAAAAAAAAAAAAwP//fwAAAAAA/A/+/////x8AAAAAAAgHgAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wAAAAAAEADk/////w8AAAAAADAGwAcAAAAAAAAAAAAAAAAAAAAAAAAAgP///wEAAAAAAADA/////wcAAAAAAGAG4AEAAAAAAAAAAAAAAAAAAAAAAAAAwP///wEAAAAAAADA/////wMAAAAAAMAM+AMQAAAAAAAAAAAAAAAAAAAAAAAA4P///wMAAAAAAADA/////wAAAAAAAIAL/gMQAAAAAAAAAAAAAAAAAAAAAAAA8P///wEAAAAAAADg////fwAAAAAAAIAH/uMQAAAAAAAAAAAAAAAAAAAAAAAA8P///w8AAAAAAADg////PwAAAAAAAAAX/gMIAQAAAAAAAAAAAAAAAAAAAAAA+P//f3cAAAAAAADg////PwAAAAAAAAAO/DkIAwAAAAAAAAAAAAAAAAAAAAAA+P///38AAAAAAADA////HwAAAAAAAAA+/DkA8AEAAAAAAAAAAAAAAAAAAAAA+P////8fAAAAAACA////DwAAAAAAAAA8wChE/g8AAAAAAAAAAAAAAAAAAAAA+P////8/AAAAAAAA////BwAAAAAAAAA4ACAA8B8AAAAAAAAAAAAAAAAAAAAA+P//////AQAAAAAA////BwAAAAAAAAAwAAgAwD8MAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA////BwAAAAAAAADAAQAAgP+AAAAAAAAAAAAAAAAAAAAA8P//////AQAAAAAA/v//BwAAAAAAAACAHwCAwH8AAAAAAAAAAAAAAAAAAAAA4P//////AQAAAAAA/v//BwAAAAAAAAAAgNcEAMcAAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/v//DwAAAAAAAAAAAAgBAIAFAAAAAAAAAAAAAAAAAAAAwP//////AAAAAAAA/P//DwAAAAAAAAAgAAAAAAAEAAAAAAAAAAAAAAAAAAAAgP////9/AAAAAAAA/P//DwAAAAAAAAAAAABAAQQAAAAAAAAAAAAAAAAAAAAAgP////8/AAAAAAAA/v//DyAAAAAAAAAAAACAHwQAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA/v//HzAAAAAAAAAAAADADwwAAAAAAAAAAAAAAAAAAAAAAP////8fAAAAAAAA////HzAAAAAAAAAAAADsDxwAAAAAAAAAAAAAAAAAAAAAAP7///8fAAAAAAAA////HzwAAAAAAAAAAAD+Dx4AAAAAAAAAAAAAAAAAAAAAAPj///8fAAAAAAAA////Dz8AAAAAAAAAAID/vx4AAAiAAAAAAAAAAAAAAAAAAOD///8fAAAAAAAA////Ax8AAAAAAAAAAMD//z4AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA////AR8AAAAAAAAAAMD//z8AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8AAAAAAAAAAOD//38AAAAAAAAAAAAAAAAAAAAAAMD///8PAAAAAAAA/v9/AB8gAAAAAAAAAPz///8BAAEAAAAAAAAAAAAAAAAAAMD///8HAAAAAAAA/P9/gA8AAAAAAAAAgP////8BAAIAAAAAAAAAAAAAAAAAAMD///8DAAAAAAAA/P//gA8AAAAAAAAAwP////8DAAAAAAAAAAAAAAAAAAAAAMD//38AAAAAAAAA/P9/AA8AAAAAAAAAwP////8HAAAAAAAAAAAAAAAAAAAAAOD//x8AAAAAAAAA+P9/AAcAAAAAAAAA4P////8PAAAAAAAAAAAAAAAAAAAAAOD//w8AAAAAAAAA+P8fAAIAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAA4P////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA+P8fAAAAAAAAAAAAwP////8fAAAAAAAAAAAAAAAAAAAAAOD//wcAAAAAAAAA8P8PAAAAAAAAAAAAwP////8/AAAAAAAAAAAAAAAAAAAAAOD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wMAAAAAAAAA4P8HAAAAAAAAAAAAgP////8fAAAAAAAAAAAAAAAAAAAAAPD//wAAAAAAAAAAwP8DAAAAAAAAAAAAAP////8fAAAAAAAAAAAAAAAAAAAAAOD//wAAAAAAAAAAwP8BAAAAAAAAAAAAAP8D/P8PAAAAAAAAAAAAAAAAAAAAAPD/fQAAAAAAAAAAwH8AAAAAAAAAAAAAAP8A2P8HAAAAAAAAAAAAAAAAAAAAAPD/OwAAAAAAAAAAgAAAAAAAAAAAAAAAAAcA6P8HAAAAAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP8DAAACAAAAAAAAAAAAAAAAAPj/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAEAAAAAAAAAAAAAAAAAPz/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8DAAAIAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAA4AAAAAAAAAAAAAAAAAPg/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAPw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAPwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAALAAAAAAAAAAAAAAAAAPgPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAIADAAAAAAAAAAAAAAAAAPgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMABAAAAAAAAAAAAAAAAAPoHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';\n"],"mappings":";;;;;AAIA,IAAa,aAAa;;AAE1B,IAAa,cAAc;;AAE3B,IAAa,YACX"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 3D 与 WebGL 效果(子路径 `@zerodep-dev/vue-tsx-pro-ui/three`;three 是可选的 peer 依赖,用到才安装):
3
+ *
4
+ * import { ThreeCanvas, useThemeColors } from '@zerodep-dev/vue-tsx-pro-ui/three';
5
+ *
6
+ * 主入口不导入 three,没用到 3D 的应用不会打包它。不依赖 three 的卡片效果是 Card 的 effect(倾斜、聚光、流光)。
7
+ */
8
+ export { AURORA_PALETTE, AuroraBackground, type AuroraBackgroundProps, } from './background/AuroraBackground';
9
+ export { MeshGradient, type MeshGradientProps } from './background/MeshGradient';
10
+ export { SHADER_PALETTE, ShaderBackground, type ShaderBackgroundProps, } from './background/ShaderBackground';
11
+ export { EffectSurface, effectSurfaceStyles, type EffectProps, type EffectSurfaceProps, } from './core/EffectSurface';
12
+ export { ThreeCanvas, threeCanvasStyles, type ThreeCanvasProps } from './core/ThreeCanvas';
13
+ export { disposeMaterial, disposeObject } from './core/dispose';
14
+ export { createOrbit, type Orbit, type OrbitOptions } from './core/orbit';
15
+ export { acquireContext, activeThreeContexts, releaseContext, resolveThreeQuality, retryWaiting, setMaxThreeContexts, type ContextHolder, type ResolvedThreeQuality, type ThreeQualities, type ThreeQuality, } from './core/quality';
16
+ export { useThree, type ThreeContext, type ThreeController, type ThreeFrame, type ThreeOptions, type ThreeSceneHandle, type ThreeSize, type ThreeStatus, } from './core/renderer';
17
+ export { shaderChunks, THEME_PALETTE_SIZE } from './core/shaders';
18
+ export { createThemeColorSet, readThemeColor, useThemeColors, type ThemeColorOptions, type ThemeColors, type ThemeColorSet, type ThemeColorSources, } from './core/theme-colors';
19
+ export { Confetti, CONFETTI_PALETTE, confettiStyles, type ConfettiOrigin, type ConfettiProps, } from './effects/Confetti';
20
+ export { PARTICLE_PALETTE, ParticleField, type ParticleFieldProps } from './effects/ParticleField';
21
+ export { WAVE_GRID_PALETTE, WaveGrid, type WaveGridProps, type WaveGridVariants, } from './effects/WaveGrid';
22
+ export { Globe, globeStyles, latLngToVector, type GeoPoint, type GlobeArc, type GlobeMarker, type GlobeProps, } from './globe/Globe';
23
+ export { LAND_BITS, LAND_HEIGHT, LAND_WIDTH } from './globe/land';
24
+ export { ModelViewer, modelViewerStyles, type ModelViewerProps, type ModelViewerStatuses, } from './model/ModelViewer';
@@ -0,0 +1,18 @@
1
+ import { disposeMaterial, disposeObject } from "./core/dispose.js";
2
+ import { acquireContext, activeThreeContexts, releaseContext, resolveThreeQuality, retryWaiting, setMaxThreeContexts } from "./core/quality.js";
3
+ import { createThemeColorSet, readThemeColor, useThemeColors } from "./core/theme-colors.js";
4
+ import { useThree } from "./core/renderer.js";
5
+ import { ThreeCanvas, threeCanvasStyles } from "./core/ThreeCanvas.js";
6
+ import { EffectSurface, effectSurfaceStyles } from "./core/EffectSurface.js";
7
+ import { THEME_PALETTE_SIZE, shaderChunks } from "./core/shaders.js";
8
+ import { SHADER_PALETTE, ShaderBackground } from "./background/ShaderBackground.js";
9
+ import { AURORA_PALETTE, AuroraBackground } from "./background/AuroraBackground.js";
10
+ import { MeshGradient } from "./background/MeshGradient.js";
11
+ import { createOrbit } from "./core/orbit.js";
12
+ import { CONFETTI_PALETTE, Confetti, confettiStyles } from "./effects/Confetti.js";
13
+ import { PARTICLE_PALETTE, ParticleField } from "./effects/ParticleField.js";
14
+ import { WAVE_GRID_PALETTE, WaveGrid } from "./effects/WaveGrid.js";
15
+ import { LAND_BITS, LAND_HEIGHT, LAND_WIDTH } from "./globe/land.js";
16
+ import { Globe, globeStyles, latLngToVector } from "./globe/Globe.js";
17
+ import { ModelViewer, modelViewerStyles } from "./model/ModelViewer.js";
18
+ export { AURORA_PALETTE, AuroraBackground, CONFETTI_PALETTE, Confetti, EffectSurface, Globe, LAND_BITS, LAND_HEIGHT, LAND_WIDTH, MeshGradient, ModelViewer, PARTICLE_PALETTE, ParticleField, SHADER_PALETTE, ShaderBackground, THEME_PALETTE_SIZE, ThreeCanvas, WAVE_GRID_PALETTE, WaveGrid, acquireContext, activeThreeContexts, confettiStyles, createOrbit, createThemeColorSet, disposeMaterial, disposeObject, effectSurfaceStyles, globeStyles, latLngToVector, modelViewerStyles, readThemeColor, releaseContext, resolveThreeQuality, retryWaiting, setMaxThreeContexts, shaderChunks, threeCanvasStyles, useThemeColors, useThree };
@@ -0,0 +1,63 @@
1
+ import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
2
+ import { type Object3D } from 'three';
3
+ import { type EffectProps } from '../core/EffectSurface';
4
+ /** 加载状态 */
5
+ export interface ModelViewerStatuses {
6
+ /** 加载中 */
7
+ loading: unknown;
8
+ /** 已显示 */
9
+ loaded: unknown;
10
+ /** 加载失败 */
11
+ error: unknown;
12
+ }
13
+ /** 未声明的属性落到外层 div 上 */
14
+ export interface ModelViewerProps extends Omit<EffectProps, 'children' | 'onLoad' | 'onError'> {
15
+ /** 模型的地址(glTF / GLB);和 object 二选一 */
16
+ src?: string;
17
+ /** 直接给一个 three 的对象(程序生成的模型);和 src 二选一 */
18
+ object?: Object3D;
19
+ /** 模型的文字描述:写了时整块是 role="img"、以它为名称 */
20
+ alt?: string;
21
+ /**
22
+ * 自转速度(度 / 秒);0 时不自转
23
+ * @default 20
24
+ */
25
+ rotationSpeed?: number;
26
+ /**
27
+ * 可以拖动、用方向键环绕查看
28
+ * @default true
29
+ */
30
+ controls?: boolean;
31
+ /**
32
+ * 滚轮、+ / - 键缩放
33
+ * @default false
34
+ */
35
+ zoom?: boolean;
36
+ /**
37
+ * 一开始的角度(度):yaw 绕竖轴,pitch 从上往下看为正
38
+ * @default { yaw: 30, pitch: 15 }
39
+ */
40
+ orbit?: {
41
+ yaw: number;
42
+ pitch: number;
43
+ };
44
+ /**
45
+ * 曝光:整体亮度
46
+ * @default 1
47
+ */
48
+ exposure?: number;
49
+ /** 加载完成 */
50
+ onLoad?: (model: Object3D) => void;
51
+ /** 加载失败 */
52
+ onError?: (error: unknown) => void;
53
+ }
54
+ /** ModelViewer 的样式:root、interactive、dragging、content、overlay */
55
+ export declare const modelViewerStyles: Readonly<{
56
+ content: css.CompiledStyles;
57
+ dragging: css.CompiledStyles;
58
+ interactive: css.CompiledStyles;
59
+ overlay: css.CompiledStyles;
60
+ root: css.CompiledStyles;
61
+ }>;
62
+ /** 模型查看器 */
63
+ export declare const ModelViewer: import("@zerodep-dev/vue-tsx-pro-tsx").TsxComponent<ModelViewerProps>;
@@ -0,0 +1,193 @@
1
+ import { useLang } from "../../config/context.js";
2
+ import { mergePartProps } from "../../utils/props.js";
3
+ import { Spinner } from "../../base/Spinner.js";
4
+ import { Small } from "../../base/Text.js";
5
+ import { EffectSurface } from "../core/EffectSurface.js";
6
+ import { createOrbit } from "../core/orbit.js";
7
+ import { createVNode, mergeProps, ref } from "vue";
8
+ import { _component, readonlyProp, restProps, untrack } from "@zerodep-dev/vue-tsx-pro-tsx";
9
+ import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
10
+ import { ACESFilmicToneMapping, Box3, Group, PMREMGenerator, PerspectiveCamera, Sphere, Vector3 } from "three";
11
+ import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
12
+ import { RoomEnvironment } from "three/addons/environments/RoomEnvironment.js";
13
+ //#region src/three/model/ModelViewer.tsx
14
+ /** 加载状态 */
15
+ /** 未声明的属性落到外层 div 上 */
16
+ /** ModelViewer 的样式:root、interactive、dragging、content、overlay */
17
+ var modelViewerStyles = css.create({
18
+ root: {
19
+ aspectRatio: "1",
20
+ width: "100%",
21
+ outlineStyle: "none"
22
+ },
23
+ interactive: {
24
+ cursor: "grab",
25
+ touchAction: "pan-y"
26
+ },
27
+ dragging: { cursor: "grabbing" },
28
+ content: { position: "static" },
29
+ overlay: {
30
+ position: "absolute",
31
+ inset: 0,
32
+ display: "flex",
33
+ alignItems: "center",
34
+ justifyContent: "center",
35
+ pointerEvents: "none"
36
+ }
37
+ });
38
+ var DEG = Math.PI / 180;
39
+ var FOV = 35;
40
+ /** 模型(外接球)占画面短边的比例 */
41
+ var FIT = .85;
42
+ /** 缩放的范围:相对合适距离的倍数 */
43
+ var ZOOM_RANGE = [.5, 2.5];
44
+ /** 模型查看器 */
45
+ var ModelViewer = /*#__PURE__*/ _component((_props, _ctx) => {
46
+ const _cache = [];
47
+ const src = readonlyProp(_props, "src");
48
+ const object = readonlyProp(_props, "object");
49
+ const alt = readonlyProp(_props, "alt");
50
+ const rotationSpeed = readonlyProp(_props, "rotationSpeed", 20);
51
+ const controls = readonlyProp(_props, "controls", true);
52
+ const zoom = readonlyProp(_props, "zoom", false);
53
+ const initial = readonlyProp(_props, "orbit", () => ({
54
+ yaw: 30,
55
+ pitch: 15
56
+ }));
57
+ const exposure = readonlyProp(_props, "exposure", 1);
58
+ const onLoad = readonlyProp(_props, "onLoad");
59
+ const onError = readonlyProp(_props, "onError");
60
+ const rest = restProps(_props, _ctx, true);
61
+ const lang = useLang();
62
+ let status = ref("loading");
63
+ const start = untrack(() => initial.value);
64
+ const orbit = createOrbit({
65
+ yaw: start.yaw * DEG,
66
+ pitch: start.pitch * DEG,
67
+ pitchLimit: 1.4
68
+ });
69
+ let distance = 1;
70
+ let redraw = () => {};
71
+ function onKeydown(event) {
72
+ if (!controls.value) return;
73
+ const step = 15 * DEG;
74
+ const move = {
75
+ ArrowLeft: [-step, 0],
76
+ ArrowRight: [step, 0],
77
+ ArrowUp: [0, -step],
78
+ ArrowDown: [0, step]
79
+ }[event.key];
80
+ if (move) orbit.nudge(...move);
81
+ else if (zoom.value && (event.key === "+" || event.key === "=")) distance = Math.max(ZOOM_RANGE[0], distance / 1.15);
82
+ else if (zoom.value && event.key === "-") distance = Math.min(ZOOM_RANGE[1], distance * 1.15);
83
+ else return;
84
+ event.preventDefault();
85
+ redraw();
86
+ }
87
+ function onWheel(event) {
88
+ if (!zoom.value) return;
89
+ event.preventDefault();
90
+ distance = Math.min(ZOOM_RANGE[1], Math.max(ZOOM_RANGE[0], distance * Math.exp(event.deltaY * .001)));
91
+ redraw();
92
+ }
93
+ return () => createVNode(EffectSurface, mergeProps(rest, {
94
+ "sx": [
95
+ modelViewerStyles.root,
96
+ controls.value && modelViewerStyles.interactive,
97
+ css.select(() => orbit.dragging && modelViewerStyles.dragging, true),
98
+ rest.sx
99
+ ],
100
+ "role": alt.value ? "img" : void 0,
101
+ "aria-label": alt.value,
102
+ "aria-busy": status.value === "loading" || void 0,
103
+ "tabindex": controls.value ? 0 : void 0,
104
+ "data-status": status.value
105
+ }, controls.value ? orbit.handlers : {}, {
106
+ "onKeydown": onKeydown,
107
+ "onWheel": onWheel,
108
+ "propsContent": mergePartProps({ sx: modelViewerStyles.content }, rest.propsContent),
109
+ "sceneKey": src.value ?? object.value?.uuid,
110
+ "setup": _cache[0] || (_cache[0] = ({ renderer, scene, still, invalidate }) => {
111
+ redraw = invalidate;
112
+ renderer.toneMapping = ACESFilmicToneMapping;
113
+ renderer.toneMappingExposure = exposure.value;
114
+ const environment = new PMREMGenerator(renderer);
115
+ scene.environment = environment.fromScene(new RoomEnvironment(), .04).texture;
116
+ const camera = new PerspectiveCamera(FOV, 1, .01, 100);
117
+ let fit = 1 / Math.sin(FOV * DEG / 2) / FIT;
118
+ const holder = new Group();
119
+ scene.add(holder);
120
+ let disposed = false;
121
+ status.value = "loading";
122
+ (object.value ? Promise.resolve(object.value) : new GLTFLoader().loadAsync(src.value ?? "").then((gltf) => gltf.scene)).then((model) => {
123
+ if (disposed) return;
124
+ const sphere = new Box3().setFromObject(model).getBoundingSphere(new Sphere());
125
+ const scale = sphere.radius > 0 ? 1 / sphere.radius : 1;
126
+ holder.scale.setScalar(scale);
127
+ holder.position.copy(sphere.center).multiplyScalar(-scale);
128
+ holder.add(model);
129
+ status.value = "loaded";
130
+ onLoad.value?.(model);
131
+ invalidate();
132
+ }, (error) => {
133
+ if (disposed) return;
134
+ status.value = "error";
135
+ onError.value?.(error);
136
+ });
137
+ const eye = new Vector3();
138
+ const place = () => {
139
+ const d = fit * distance;
140
+ eye.set(Math.sin(orbit.yaw) * Math.cos(orbit.pitch), Math.sin(orbit.pitch), Math.cos(orbit.yaw) * Math.cos(orbit.pitch));
141
+ camera.position.copy(eye.multiplyScalar(d));
142
+ camera.lookAt(0, 0, 0);
143
+ };
144
+ return {
145
+ resize: (size, context) => {
146
+ camera.aspect = size.width / Math.max(size.height, 1);
147
+ fit = 1 / Math.sin(FOV * DEG / 2) / FIT / Math.min(1, camera.aspect);
148
+ camera.updateProjectionMatrix();
149
+ context.camera = camera;
150
+ place();
151
+ },
152
+ frame: ({ delta }) => {
153
+ orbit.step(delta, still ? 0 : -rotationSpeed.value * DEG);
154
+ place();
155
+ },
156
+ dispose: () => {
157
+ disposed = true;
158
+ scene.environment?.dispose();
159
+ environment.dispose();
160
+ redraw = () => {};
161
+ }
162
+ };
163
+ }),
164
+ "key": "__site1"
165
+ }), {
166
+ default: () => [status.value !== "loaded" && createVNode("div", css.attrs(modelViewerStyles.overlay), [status.value === "loading" ? createVNode(Spinner, { "label": lang.modelViewerLoading }, null) : createVNode(Small, {
167
+ "tone": "muted",
168
+ "key": "__site0"
169
+ }, {
170
+ default: () => [lang.modelViewerError],
171
+ $stable: true
172
+ })])],
173
+ $stable: true
174
+ });
175
+ }, {
176
+ name: "ModelViewer",
177
+ props: [
178
+ "src",
179
+ "object",
180
+ "alt",
181
+ "rotationSpeed",
182
+ "controls",
183
+ "zoom",
184
+ "orbit",
185
+ "exposure",
186
+ "onLoad",
187
+ "onError"
188
+ ]
189
+ });
190
+ //#endregion
191
+ export { ModelViewer, modelViewerStyles };
192
+
193
+ //# sourceMappingURL=ModelViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelViewer.js","names":["_vtp_readonlyProp","_vtp_restProps","_vue_ref","_vtp_untrack","_createVNode","_mergeProps"],"sources":["../../../src/three/model/ModelViewer.tsx"],"sourcesContent":["/**\n * 模型查看器(div):加载 glTF / GLB(或直接给一个 three 的对象),自动居中、缩放到合适的大小,\n * 拖动环绕查看(松手带惯性),方向键也能转;没在拖时缓缓自转。参考 Google 的 <model-viewer>。\n *\n * <ModelViewer src=\"/models/chair.glb\" alt=\"扶手椅,胡桃木与灰色布面\" />\n * <ModelViewer object={mesh} rotationSpeed={0} zoom sx={styles.viewer} />\n *\n * 光照是一间柔和的摄影棚(RoomEnvironment 的环境光),金属、粗糙度材质都能正确地反光;exposure 调整体亮度。\n * 加载时中间显示转圈,失败时显示语言包里的提示(onError 拿到原因)。写了 alt 时整块是带名称的图像(role=\"img\")。\n * 默认正方形,尺寸由使用方决定。减少动态效果时不自转,拖动仍可用。\n *\n * 部件:Root(div)、Canvas(ThreeCanvas)、Content(加载中与出错的提示)。\n */\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport {\n ACESFilmicToneMapping,\n Box3,\n Group,\n PerspectiveCamera,\n PMREMGenerator,\n Sphere,\n Vector3,\n type Object3D,\n} from 'three';\nimport { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';\nimport { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';\nimport { Small } from '../../base/Text';\nimport { Spinner } from '../../base/Spinner';\nimport { useLang } from '../../config/context';\nimport { EffectSurface, type EffectProps } from '../core/EffectSurface';\nimport { createOrbit } from '../core/orbit';\nimport { mergePartProps, type PartProps } from '../../utils/props';\n\n/** 加载状态 */\nexport interface ModelViewerStatuses {\n /** 加载中 */\n loading: unknown;\n /** 已显示 */\n loaded: unknown;\n /** 加载失败 */\n error: unknown;\n}\n\n/** 未声明的属性落到外层 div 上 */\nexport interface ModelViewerProps extends Omit<EffectProps, 'children' | 'onLoad' | 'onError'> {\n /** 模型的地址(glTF / GLB);和 object 二选一 */\n src?: string;\n /** 直接给一个 three 的对象(程序生成的模型);和 src 二选一 */\n object?: Object3D;\n /** 模型的文字描述:写了时整块是 role=\"img\"、以它为名称 */\n alt?: string;\n /**\n * 自转速度(度 / 秒);0 时不自转\n * @default 20\n */\n rotationSpeed?: number;\n /**\n * 可以拖动、用方向键环绕查看\n * @default true\n */\n controls?: boolean;\n /**\n * 滚轮、+ / - 键缩放\n * @default false\n */\n zoom?: boolean;\n /**\n * 一开始的角度(度):yaw 绕竖轴,pitch 从上往下看为正\n * @default { yaw: 30, pitch: 15 }\n */\n orbit?: { yaw: number; pitch: number };\n /**\n * 曝光:整体亮度\n * @default 1\n */\n exposure?: number;\n /** 加载完成 */\n onLoad?: (model: Object3D) => void;\n /** 加载失败 */\n onError?: (error: unknown) => void;\n}\n\n/** ModelViewer 的样式:root、interactive、dragging、content、overlay */\nexport const modelViewerStyles = css.create({\n root: { aspectRatio: '1', width: '100%', outlineStyle: 'none' },\n interactive: { cursor: 'grab', touchAction: 'pan-y' },\n dragging: { cursor: 'grabbing' },\n // 内容层不定位:提示按外层(整块)铺满、居中\n content: { position: 'static' },\n // 加载中、出错的提示:盖在画布中间\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n pointerEvents: 'none',\n },\n});\n\nconst DEG = Math.PI / 180;\nconst FOV = 35;\n/** 模型(外接球)占画面短边的比例 */\nconst FIT = 0.85;\n/** 缩放的范围:相对合适距离的倍数 */\nconst ZOOM_RANGE = [0.5, 2.5] as const;\n\n/** 模型查看器 */\nexport const ModelViewer = _component(\n ({\n src,\n object,\n alt,\n rotationSpeed = 20,\n controls = true,\n zoom = false,\n orbit: initial = { yaw: 30, pitch: 15 },\n exposure = 1,\n onLoad,\n onError,\n ...rest\n }: ModelViewerProps) => {\n const lang = useLang();\n let status = _state<keyof ModelViewerStatuses>('loading');\n const start = _untrack(initial);\n const orbit = createOrbit({ yaw: start.yaw * DEG, pitch: start.pitch * DEG, pitchLimit: 1.4 });\n let distance = 1;\n // 场景建好后换成真正的 invalidate:静止模式下交互也要重画\n let redraw = () => {};\n\n function onKeydown(event: KeyboardEvent) {\n if (!controls) return;\n const step = 15 * DEG;\n const moves: Record<string, [number, number]> = {\n ArrowLeft: [-step, 0],\n ArrowRight: [step, 0],\n ArrowUp: [0, -step],\n ArrowDown: [0, step],\n };\n const move = moves[event.key];\n if (move) orbit.nudge(...move);\n else if (zoom && (event.key === '+' || event.key === '='))\n distance = Math.max(ZOOM_RANGE[0], distance / 1.15);\n else if (zoom && event.key === '-') distance = Math.min(ZOOM_RANGE[1], distance * 1.15);\n else return;\n event.preventDefault();\n redraw();\n }\n\n function onWheel(event: WheelEvent) {\n if (!zoom) return;\n event.preventDefault();\n distance = Math.min(\n ZOOM_RANGE[1],\n Math.max(ZOOM_RANGE[0], distance * Math.exp(event.deltaY * 0.001)),\n );\n redraw();\n }\n\n return () => (\n <EffectSurface\n {...rest}\n sx={[\n modelViewerStyles.root,\n controls && modelViewerStyles.interactive,\n orbit.dragging && modelViewerStyles.dragging,\n rest.sx,\n ]}\n role={alt ? 'img' : undefined}\n aria-label={alt}\n aria-busy={status === 'loading' || undefined}\n tabindex={controls ? 0 : undefined}\n data-status={status}\n {...(controls ? orbit.handlers : {})}\n onKeydown={onKeydown}\n onWheel={onWheel}\n propsContent={mergePartProps<PartProps<'div'>>(\n { sx: modelViewerStyles.content },\n rest.propsContent,\n )}\n sceneKey={src ?? object?.uuid}\n setup={({ renderer, scene, still, invalidate }) => {\n redraw = invalidate;\n renderer.toneMapping = ACESFilmicToneMapping;\n renderer.toneMappingExposure = exposure;\n const environment = new PMREMGenerator(renderer);\n scene.environment = environment.fromScene(new RoomEnvironment(), 0.04).texture;\n\n const camera = new PerspectiveCamera(FOV, 1, 0.01, 100);\n // 合适的距离:外接球(半径 1)正好占短边的 FIT\n let fit = 1 / Math.sin((FOV * DEG) / 2) / FIT;\n const holder = new Group();\n scene.add(holder);\n let disposed = false;\n\n status = 'loading';\n const source = object\n ? Promise.resolve(object)\n : new GLTFLoader().loadAsync(src ?? '').then((gltf) => gltf.scene);\n source.then(\n (model) => {\n if (disposed) return;\n // 居中,缩放到外接球半径为 1\n const sphere = new Box3().setFromObject(model).getBoundingSphere(new Sphere());\n const scale = sphere.radius > 0 ? 1 / sphere.radius : 1;\n holder.scale.setScalar(scale);\n holder.position.copy(sphere.center).multiplyScalar(-scale);\n holder.add(model);\n status = 'loaded';\n onLoad?.(model);\n invalidate();\n },\n (error: unknown) => {\n if (disposed) return;\n status = 'error';\n onError?.(error);\n },\n );\n\n const eye = new Vector3();\n const place = () => {\n const d = fit * distance;\n eye.set(\n Math.sin(orbit.yaw) * Math.cos(orbit.pitch),\n Math.sin(orbit.pitch),\n Math.cos(orbit.yaw) * Math.cos(orbit.pitch),\n );\n camera.position.copy(eye.multiplyScalar(d));\n camera.lookAt(0, 0, 0);\n };\n\n return {\n resize: (size, context) => {\n camera.aspect = size.width / Math.max(size.height, 1);\n fit = 1 / Math.sin((FOV * DEG) / 2) / FIT / Math.min(1, camera.aspect);\n camera.updateProjectionMatrix();\n context.camera = camera;\n place();\n },\n frame: ({ delta }) => {\n // 自转是相机绕模型反向转:看起来模型朝 rotationSpeed 的方向转\n orbit.step(delta, still ? 0 : -rotationSpeed * DEG);\n place();\n },\n dispose: () => {\n disposed = true;\n scene.environment?.dispose();\n environment.dispose();\n redraw = () => {};\n },\n };\n }}\n >\n {status !== 'loaded' && (\n <div {...css.attrs(modelViewerStyles.overlay)}>\n {status === 'loading' ? (\n <Spinner label={lang.modelViewerLoading} />\n ) : (\n <Small tone=\"muted\">{lang.modelViewerError}</Small>\n )}\n </div>\n )}\n </EffectSurface>\n );\n },\n);\n"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 按语言比较与匹配文字(Intl.Collator):Combobox 的过滤、表格的排序与筛选共用。
3
+ * Collator 按语言缓存,重复调用不再新建。
4
+ *
5
+ * const match = createMatcher('zh-CN'); match('Ångström', 'ang') → true(忽略大小写与重音)
6
+ * rows.sort(createComparer('zh-CN')) 数字按大小、日期按时间、文字按语言的排序规则(中文按拼音)
7
+ * sortByValue(rows, (row) => row.amount, 'descending', 'zh-CN') 按取出的值排,空值总在最后(表格、接口的排序)
8
+ */
9
+ import type { DateValue } from '@internationalized/date';
10
+ import type Decimal from 'decimal.js';
11
+ /** 判断 text 是否包含 query:忽略大小写与重音(é 与 e、Å 与 a 视为相同);query 为空时总是 true */
12
+ export declare function createMatcher(locale: string): (text: string, query: string) => boolean;
13
+ /** 可以排序的值:表格列的 value 返回它 */
14
+ export type SortValue = string | number | bigint | Decimal | boolean | Date | DateValue | null | undefined;
15
+ /** @internationalized/date 的日期值(CalendarDate、CalendarDateTime、ZonedDateTime):不在运行时导入,按形状识别 */
16
+ export declare const isDateValue: (value: unknown) => value is DateValue;
17
+ /**
18
+ * 比较两个值,给排序用:null / undefined 排在最后;number、bigint、Decimal 按大小(混着也行,不丢精度);
19
+ * Date 按时间,DateValue 按它自己的 compare(不经过时区换算);布尔 false 在前;
20
+ * 文字按语言比较(“第2章”排在“第10章”前)
21
+ */
22
+ export declare function createComparer(locale: string): (a: SortValue, b: SortValue) => number;
23
+ /**
24
+ * 按每行取出的值排序(返回新数组,原数组不变):比较用 createComparer,相等时保持原来的先后(稳定),
25
+ * 空值不随方向翻转、总在最后。表格的 sortRows、服务端(或假接口)的分页排序共用
26
+ */
27
+ export declare function sortByValue<T>(rows: readonly T[], value: (row: T) => SortValue, direction: 'ascending' | 'descending', locale: string): T[];
28
+ /** sortByValues 的一个排序键 */
29
+ export interface SortKey<T> {
30
+ /** 每行取出的值 */
31
+ value: (row: T) => SortValue;
32
+ /** 方向 */
33
+ direction: 'ascending' | 'descending';
34
+ }
35
+ /** 按几个键排序(多列排序):前一个键相等时比下一个,都相等时保持原来的先后;空值总在最后,同 sortByValue */
36
+ export declare function sortByValues<T>(rows: readonly T[], keys: readonly SortKey<T>[], locale: string): T[];