duoyun-ui 0.0.2

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 (392) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/docs/.gitignore +4 -0
  4. package/docs/104.bundle.js +19 -0
  5. package/docs/283.bundle.js +47 -0
  6. package/docs/354.bundle.js +1133 -0
  7. package/docs/354.bundle.js.LICENSE.txt +13 -0
  8. package/docs/587.bundle.js +26 -0
  9. package/docs/810.bundle.js +1 -0
  10. package/docs/gem-book.json +84 -0
  11. package/docs/index.html +1 -0
  12. package/docs/main.bundle.js +1 -0
  13. package/docs/robots.txt +2 -0
  14. package/docs/service-worker.js +1 -0
  15. package/docs/workbox-62d1f9d5.js +1 -0
  16. package/elements/action-text.d.ts +12 -0
  17. package/elements/action-text.d.ts.map +1 -0
  18. package/elements/action-text.js +63 -0
  19. package/elements/action-text.js.map +1 -0
  20. package/elements/area-chart.d.ts +35 -0
  21. package/elements/area-chart.d.ts.map +1 -0
  22. package/elements/area-chart.js +408 -0
  23. package/elements/area-chart.js.map +1 -0
  24. package/elements/avatar.d.ts +42 -0
  25. package/elements/avatar.d.ts.map +1 -0
  26. package/elements/avatar.js +190 -0
  27. package/elements/avatar.js.map +1 -0
  28. package/elements/banner.d.ts +21 -0
  29. package/elements/banner.d.ts.map +1 -0
  30. package/elements/banner.js +136 -0
  31. package/elements/banner.js.map +1 -0
  32. package/elements/bar-chart.d.ts +23 -0
  33. package/elements/bar-chart.d.ts.map +1 -0
  34. package/elements/bar-chart.js +170 -0
  35. package/elements/bar-chart.js.map +1 -0
  36. package/elements/base/chart.d.ts +74 -0
  37. package/elements/base/chart.d.ts.map +1 -0
  38. package/elements/base/chart.js +299 -0
  39. package/elements/base/chart.js.map +1 -0
  40. package/elements/base/loadable.d.ts +16 -0
  41. package/elements/base/loadable.d.ts.map +1 -0
  42. package/elements/base/loadable.js +77 -0
  43. package/elements/base/loadable.js.map +1 -0
  44. package/elements/base/resize.d.ts +15 -0
  45. package/elements/base/resize.d.ts.map +1 -0
  46. package/elements/base/resize.js +31 -0
  47. package/elements/base/resize.js.map +1 -0
  48. package/elements/base/scroll.d.ts +11 -0
  49. package/elements/base/scroll.d.ts.map +1 -0
  50. package/elements/base/scroll.js +90 -0
  51. package/elements/base/scroll.js.map +1 -0
  52. package/elements/base/visible.d.ts +12 -0
  53. package/elements/base/visible.d.ts.map +1 -0
  54. package/elements/base/visible.js +37 -0
  55. package/elements/base/visible.js.map +1 -0
  56. package/elements/breadcrumbs.d.ts +20 -0
  57. package/elements/breadcrumbs.d.ts.map +1 -0
  58. package/elements/breadcrumbs.js +88 -0
  59. package/elements/breadcrumbs.js.map +1 -0
  60. package/elements/button.d.ts +30 -0
  61. package/elements/button.d.ts.map +1 -0
  62. package/elements/button.js +225 -0
  63. package/elements/button.js.map +1 -0
  64. package/elements/card.d.ts +26 -0
  65. package/elements/card.d.ts.map +1 -0
  66. package/elements/card.js +163 -0
  67. package/elements/card.js.map +1 -0
  68. package/elements/cascader-pick.d.ts +22 -0
  69. package/elements/cascader-pick.d.ts.map +1 -0
  70. package/elements/cascader-pick.js +172 -0
  71. package/elements/cascader-pick.js.map +1 -0
  72. package/elements/cascader.d.ts +29 -0
  73. package/elements/cascader.d.ts.map +1 -0
  74. package/elements/cascader.js +247 -0
  75. package/elements/cascader.js.map +1 -0
  76. package/elements/chart-tooltip.d.ts +29 -0
  77. package/elements/chart-tooltip.d.ts.map +1 -0
  78. package/elements/chart-tooltip.js +150 -0
  79. package/elements/chart-tooltip.js.map +1 -0
  80. package/elements/chart-zoom.d.ts +20 -0
  81. package/elements/chart-zoom.d.ts.map +1 -0
  82. package/elements/chart-zoom.js +207 -0
  83. package/elements/chart-zoom.js.map +1 -0
  84. package/elements/checkbox.d.ts +20 -0
  85. package/elements/checkbox.d.ts.map +1 -0
  86. package/elements/checkbox.js +108 -0
  87. package/elements/checkbox.js.map +1 -0
  88. package/elements/coach-mark.d.ts +39 -0
  89. package/elements/coach-mark.d.ts.map +1 -0
  90. package/elements/coach-mark.js +212 -0
  91. package/elements/coach-mark.js.map +1 -0
  92. package/elements/code-block.d.ts +14 -0
  93. package/elements/code-block.d.ts.map +1 -0
  94. package/elements/code-block.js +427 -0
  95. package/elements/code-block.js.map +1 -0
  96. package/elements/collapse.d.ts +22 -0
  97. package/elements/collapse.d.ts.map +1 -0
  98. package/elements/collapse.js +111 -0
  99. package/elements/collapse.js.map +1 -0
  100. package/elements/color-panel.d.ts +30 -0
  101. package/elements/color-panel.d.ts.map +1 -0
  102. package/elements/color-panel.js +383 -0
  103. package/elements/color-panel.js.map +1 -0
  104. package/elements/color-pick.d.ts +14 -0
  105. package/elements/color-pick.d.ts.map +1 -0
  106. package/elements/color-pick.js +81 -0
  107. package/elements/color-pick.js.map +1 -0
  108. package/elements/compartment.d.ts +9 -0
  109. package/elements/compartment.d.ts.map +1 -0
  110. package/elements/compartment.js +32 -0
  111. package/elements/compartment.js.map +1 -0
  112. package/elements/copy.d.ts +20 -0
  113. package/elements/copy.d.ts.map +1 -0
  114. package/elements/copy.js +160 -0
  115. package/elements/copy.js.map +1 -0
  116. package/elements/date-panel.d.ts +29 -0
  117. package/elements/date-panel.d.ts.map +1 -0
  118. package/elements/date-panel.js +220 -0
  119. package/elements/date-panel.js.map +1 -0
  120. package/elements/date-pick.d.ts +23 -0
  121. package/elements/date-pick.d.ts.map +1 -0
  122. package/elements/date-pick.js +107 -0
  123. package/elements/date-pick.js.map +1 -0
  124. package/elements/date-range-panel.d.ts +28 -0
  125. package/elements/date-range-panel.d.ts.map +1 -0
  126. package/elements/date-range-panel.js +154 -0
  127. package/elements/date-range-panel.js.map +1 -0
  128. package/elements/date-range-pick.d.ts +26 -0
  129. package/elements/date-range-pick.d.ts.map +1 -0
  130. package/elements/date-range-pick.js +159 -0
  131. package/elements/date-range-pick.js.map +1 -0
  132. package/elements/divider.d.ts +15 -0
  133. package/elements/divider.d.ts.map +1 -0
  134. package/elements/divider.js +95 -0
  135. package/elements/divider.js.map +1 -0
  136. package/elements/donut-chart.d.ts +19 -0
  137. package/elements/donut-chart.d.ts.map +1 -0
  138. package/elements/donut-chart.js +140 -0
  139. package/elements/donut-chart.js.map +1 -0
  140. package/elements/drawer.d.ts +9 -0
  141. package/elements/drawer.d.ts.map +1 -0
  142. package/elements/drawer.js +45 -0
  143. package/elements/drawer.js.map +1 -0
  144. package/elements/drop-area.d.ts +18 -0
  145. package/elements/drop-area.d.ts.map +1 -0
  146. package/elements/drop-area.js +155 -0
  147. package/elements/drop-area.js.map +1 -0
  148. package/elements/empty.d.ts +8 -0
  149. package/elements/empty.d.ts.map +1 -0
  150. package/elements/empty.js +33 -0
  151. package/elements/empty.js.map +1 -0
  152. package/elements/file-pick.d.ts +28 -0
  153. package/elements/file-pick.d.ts.map +1 -0
  154. package/elements/file-pick.js +226 -0
  155. package/elements/file-pick.js.map +1 -0
  156. package/elements/form.d.ts +76 -0
  157. package/elements/form.d.ts.map +1 -0
  158. package/elements/form.js +372 -0
  159. package/elements/form.js.map +1 -0
  160. package/elements/heading.d.ts +13 -0
  161. package/elements/heading.d.ts.map +1 -0
  162. package/elements/heading.js +88 -0
  163. package/elements/heading.js.map +1 -0
  164. package/elements/help-text.d.ts +11 -0
  165. package/elements/help-text.d.ts.map +1 -0
  166. package/elements/help-text.js +53 -0
  167. package/elements/help-text.js.map +1 -0
  168. package/elements/icons.d.ts +10 -0
  169. package/elements/icons.d.ts.map +1 -0
  170. package/elements/icons.js +71 -0
  171. package/elements/icons.js.map +1 -0
  172. package/elements/image-preview.d.ts +26 -0
  173. package/elements/image-preview.d.ts.map +1 -0
  174. package/elements/image-preview.js +172 -0
  175. package/elements/image-preview.js.map +1 -0
  176. package/elements/input-capture.d.ts +17 -0
  177. package/elements/input-capture.d.ts.map +1 -0
  178. package/elements/input-capture.js +111 -0
  179. package/elements/input-capture.js.map +1 -0
  180. package/elements/input.d.ts +51 -0
  181. package/elements/input.d.ts.map +1 -0
  182. package/elements/input.js +372 -0
  183. package/elements/input.js.map +1 -0
  184. package/elements/keyboard-access.d.ts +26 -0
  185. package/elements/keyboard-access.d.ts.map +1 -0
  186. package/elements/keyboard-access.js +217 -0
  187. package/elements/keyboard-access.js.map +1 -0
  188. package/elements/legend.d.ts +21 -0
  189. package/elements/legend.d.ts.map +1 -0
  190. package/elements/legend.js +118 -0
  191. package/elements/legend.js.map +1 -0
  192. package/elements/line-chart.d.ts +9 -0
  193. package/elements/line-chart.d.ts.map +1 -0
  194. package/elements/line-chart.js +116 -0
  195. package/elements/line-chart.js.map +1 -0
  196. package/elements/link.d.ts +14 -0
  197. package/elements/link.d.ts.map +1 -0
  198. package/elements/link.js +46 -0
  199. package/elements/link.js.map +1 -0
  200. package/elements/list.d.ts +30 -0
  201. package/elements/list.d.ts.map +1 -0
  202. package/elements/list.js +114 -0
  203. package/elements/list.js.map +1 -0
  204. package/elements/loading.d.ts +9 -0
  205. package/elements/loading.d.ts.map +1 -0
  206. package/elements/loading.js +44 -0
  207. package/elements/loading.js.map +1 -0
  208. package/elements/map.d.ts +68 -0
  209. package/elements/map.d.ts.map +1 -0
  210. package/elements/map.js +323 -0
  211. package/elements/map.js.map +1 -0
  212. package/elements/menu.d.ts +58 -0
  213. package/elements/menu.d.ts.map +1 -0
  214. package/elements/menu.js +256 -0
  215. package/elements/menu.js.map +1 -0
  216. package/elements/meter.d.ts +20 -0
  217. package/elements/meter.d.ts.map +1 -0
  218. package/elements/meter.js +130 -0
  219. package/elements/meter.js.map +1 -0
  220. package/elements/modal.d.ts +46 -0
  221. package/elements/modal.d.ts.map +1 -0
  222. package/elements/modal.js +296 -0
  223. package/elements/modal.js.map +1 -0
  224. package/elements/more.d.ts +28 -0
  225. package/elements/more.d.ts.map +1 -0
  226. package/elements/more.js +118 -0
  227. package/elements/more.js.map +1 -0
  228. package/elements/options.d.ts +34 -0
  229. package/elements/options.d.ts.map +1 -0
  230. package/elements/options.js +174 -0
  231. package/elements/options.js.map +1 -0
  232. package/elements/page-loadbar.d.ts +20 -0
  233. package/elements/page-loadbar.d.ts.map +1 -0
  234. package/elements/page-loadbar.js +85 -0
  235. package/elements/page-loadbar.js.map +1 -0
  236. package/elements/pagination.d.ts +23 -0
  237. package/elements/pagination.d.ts.map +1 -0
  238. package/elements/pagination.js +221 -0
  239. package/elements/pagination.js.map +1 -0
  240. package/elements/paragraph.d.ts +8 -0
  241. package/elements/paragraph.d.ts.map +1 -0
  242. package/elements/paragraph.js +60 -0
  243. package/elements/paragraph.js.map +1 -0
  244. package/elements/pick.d.ts +34 -0
  245. package/elements/pick.d.ts.map +1 -0
  246. package/elements/pick.js +168 -0
  247. package/elements/pick.js.map +1 -0
  248. package/elements/placeholder.d.ts +23 -0
  249. package/elements/placeholder.d.ts.map +1 -0
  250. package/elements/placeholder.js +93 -0
  251. package/elements/placeholder.js.map +1 -0
  252. package/elements/popover.d.ts +54 -0
  253. package/elements/popover.d.ts.map +1 -0
  254. package/elements/popover.js +316 -0
  255. package/elements/popover.js.map +1 -0
  256. package/elements/progress.d.ts +12 -0
  257. package/elements/progress.d.ts.map +1 -0
  258. package/elements/progress.js +45 -0
  259. package/elements/progress.js.map +1 -0
  260. package/elements/radio.d.ts +34 -0
  261. package/elements/radio.d.ts.map +1 -0
  262. package/elements/radio.js +152 -0
  263. package/elements/radio.js.map +1 -0
  264. package/elements/rating.d.ts +15 -0
  265. package/elements/rating.d.ts.map +1 -0
  266. package/elements/rating.js +122 -0
  267. package/elements/rating.js.map +1 -0
  268. package/elements/scatter-chart.d.ts +13 -0
  269. package/elements/scatter-chart.d.ts.map +1 -0
  270. package/elements/scatter-chart.js +151 -0
  271. package/elements/scatter-chart.js.map +1 -0
  272. package/elements/select.d.ts +63 -0
  273. package/elements/select.d.ts.map +1 -0
  274. package/elements/select.js +416 -0
  275. package/elements/select.js.map +1 -0
  276. package/elements/shortcut-record.d.ts +19 -0
  277. package/elements/shortcut-record.d.ts.map +1 -0
  278. package/elements/shortcut-record.js +127 -0
  279. package/elements/shortcut-record.js.map +1 -0
  280. package/elements/side-navigation.d.ts +31 -0
  281. package/elements/side-navigation.d.ts.map +1 -0
  282. package/elements/side-navigation.js +137 -0
  283. package/elements/side-navigation.js.map +1 -0
  284. package/elements/slider.d.ts +27 -0
  285. package/elements/slider.d.ts.map +1 -0
  286. package/elements/slider.js +219 -0
  287. package/elements/slider.js.map +1 -0
  288. package/elements/space.d.ts +10 -0
  289. package/elements/space.d.ts.map +1 -0
  290. package/elements/space.js +35 -0
  291. package/elements/space.js.map +1 -0
  292. package/elements/statistic.d.ts +24 -0
  293. package/elements/statistic.d.ts.map +1 -0
  294. package/elements/statistic.js +116 -0
  295. package/elements/statistic.js.map +1 -0
  296. package/elements/status-light.d.ts +14 -0
  297. package/elements/status-light.d.ts.map +1 -0
  298. package/elements/status-light.js +75 -0
  299. package/elements/status-light.js.map +1 -0
  300. package/elements/switch.d.ts +18 -0
  301. package/elements/switch.d.ts.map +1 -0
  302. package/elements/switch.js +117 -0
  303. package/elements/switch.js.map +1 -0
  304. package/elements/table.d.ts +36 -0
  305. package/elements/table.d.ts.map +1 -0
  306. package/elements/table.js +268 -0
  307. package/elements/table.js.map +1 -0
  308. package/elements/tabs.d.ts +29 -0
  309. package/elements/tabs.d.ts.map +1 -0
  310. package/elements/tabs.js +130 -0
  311. package/elements/tabs.js.map +1 -0
  312. package/elements/tag.d.ts +20 -0
  313. package/elements/tag.d.ts.map +1 -0
  314. package/elements/tag.js +120 -0
  315. package/elements/tag.js.map +1 -0
  316. package/elements/timeline.d.ts +19 -0
  317. package/elements/timeline.d.ts.map +1 -0
  318. package/elements/timeline.js +92 -0
  319. package/elements/timeline.js.map +1 -0
  320. package/elements/toast.d.ts +26 -0
  321. package/elements/toast.d.ts.map +1 -0
  322. package/elements/toast.js +149 -0
  323. package/elements/toast.js.map +1 -0
  324. package/elements/tooltip.d.ts +12 -0
  325. package/elements/tooltip.d.ts.map +1 -0
  326. package/elements/tooltip.js +27 -0
  327. package/elements/tooltip.js.map +1 -0
  328. package/elements/tree.d.ts +48 -0
  329. package/elements/tree.d.ts.map +1 -0
  330. package/elements/tree.js +231 -0
  331. package/elements/tree.js.map +1 -0
  332. package/elements/wait.d.ts +19 -0
  333. package/elements/wait.d.ts.map +1 -0
  334. package/elements/wait.js +97 -0
  335. package/elements/wait.js.map +1 -0
  336. package/lib/animations.d.ts +4 -0
  337. package/lib/animations.d.ts.map +1 -0
  338. package/lib/animations.js +8 -0
  339. package/lib/animations.js.map +1 -0
  340. package/lib/cache.d.ts +12 -0
  341. package/lib/cache.d.ts.map +1 -0
  342. package/lib/cache.js +56 -0
  343. package/lib/cache.js.map +1 -0
  344. package/lib/color.d.ts +37 -0
  345. package/lib/color.d.ts.map +1 -0
  346. package/lib/color.js +101 -0
  347. package/lib/color.js.map +1 -0
  348. package/lib/hotkeys.d.ts +31 -0
  349. package/lib/hotkeys.d.ts.map +1 -0
  350. package/lib/hotkeys.js +207 -0
  351. package/lib/hotkeys.js.map +1 -0
  352. package/lib/icons.d.ts +90 -0
  353. package/lib/icons.d.ts.map +1 -0
  354. package/lib/icons.js +81 -0
  355. package/lib/icons.js.map +1 -0
  356. package/lib/image.d.ts +29 -0
  357. package/lib/image.d.ts.map +1 -0
  358. package/lib/image.js +140 -0
  359. package/lib/image.js.map +1 -0
  360. package/lib/locale.d.ts +37 -0
  361. package/lib/locale.d.ts.map +1 -0
  362. package/lib/locale.js +14 -0
  363. package/lib/locale.js.map +1 -0
  364. package/lib/number.d.ts +80 -0
  365. package/lib/number.d.ts.map +1 -0
  366. package/lib/number.js +144 -0
  367. package/lib/number.js.map +1 -0
  368. package/lib/theme.d.ts +67 -0
  369. package/lib/theme.d.ts.map +1 -0
  370. package/lib/theme.js +56 -0
  371. package/lib/theme.js.map +1 -0
  372. package/lib/time.d.ts +58 -0
  373. package/lib/time.d.ts.map +1 -0
  374. package/lib/time.js +225 -0
  375. package/lib/time.js.map +1 -0
  376. package/lib/types.d.ts +8 -0
  377. package/lib/types.d.ts.map +1 -0
  378. package/lib/types.js +17 -0
  379. package/lib/types.js.map +1 -0
  380. package/lib/utils.d.ts +37 -0
  381. package/lib/utils.d.ts.map +1 -0
  382. package/lib/utils.js +249 -0
  383. package/lib/utils.js.map +1 -0
  384. package/locales/en.d.ts +34 -0
  385. package/locales/en.d.ts.map +1 -0
  386. package/locales/en.js +33 -0
  387. package/locales/en.js.map +1 -0
  388. package/locales/zh.d.ts +4 -0
  389. package/locales/zh.d.ts.map +1 -0
  390. package/locales/zh.js +34 -0
  391. package/locales/zh.js.map +1 -0
  392. package/package.json +39 -0
@@ -0,0 +1,137 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DuoyunSideNavigationElement_onClickChildren, _DuoyunSideNavigationElement_checkGroupStatus, _DuoyunSideNavigationElement_renderItem;
13
+ import { html, adoptedStyle, createCSSSheet, css, customElement, property, history, connectStore, } from '@mantou/gem';
14
+ import { createPath, matchPath } from '@mantou/gem/elements/route';
15
+ import { theme } from '../lib/theme';
16
+ import { commonHandle } from '../lib/hotkeys';
17
+ import { DuoyunScrollBaseElement } from './base/scroll';
18
+ import '@mantou/gem/elements/link';
19
+ const style = createCSSSheet(css `
20
+ :host {
21
+ overflow: auto;
22
+ overscroll-behavior: contain;
23
+ user-select: none;
24
+ }
25
+ :host,
26
+ .group-body,
27
+ .children {
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 3px;
31
+ }
32
+ .item {
33
+ display: flex;
34
+ justify-content: space-between;
35
+ position: relative;
36
+ padding: 0.5em 0.75em;
37
+ font-size: 0.875em;
38
+ border-radius: ${theme.normalRound};
39
+ color: unset;
40
+ text-decoration: none;
41
+ line-height: 1.2;
42
+ }
43
+ .children .item {
44
+ padding-inline-start: calc(0.75em + 1em);
45
+ }
46
+ .item:where(:focus-visible, :hover, :--active, [data-active]) {
47
+ background-color: ${theme.hoverBackgroundColor};
48
+ }
49
+ .group {
50
+ margin-block: 1.2em;
51
+ }
52
+ .group + .group {
53
+ margin-top: 0;
54
+ }
55
+ .group-title {
56
+ cursor: default;
57
+ padding: 0.945em;
58
+ text-transform: uppercase;
59
+ font-size: 0.7em;
60
+ color: ${theme.describeColor};
61
+ }
62
+ `);
63
+ /**
64
+ * @customElement dy-side-navigation
65
+ */
66
+ let DuoyunSideNavigationElement = class DuoyunSideNavigationElement extends DuoyunScrollBaseElement {
67
+ constructor() {
68
+ super();
69
+ this.items = [];
70
+ // children open state
71
+ this.state = {};
72
+ _DuoyunSideNavigationElement_onClickChildren.set(this, (title) => {
73
+ this.setState({ [title]: !this.state[title] });
74
+ });
75
+ _DuoyunSideNavigationElement_checkGroupStatus.set(this, () => {
76
+ const { path } = history.getParams();
77
+ const matchChildren = (e) => {
78
+ var _a;
79
+ if ('group' in e) {
80
+ e.group.forEach(matchChildren);
81
+ return;
82
+ }
83
+ const has = (_a = e.children) === null || _a === void 0 ? void 0 : _a.some((e) => e.pattern ? matchPath(e.pattern, path) : e.children ? e.children.some(matchChildren) : false);
84
+ if (has && e.title) {
85
+ this.setState({ [e.title]: true });
86
+ return true;
87
+ }
88
+ };
89
+ this.items.forEach(matchChildren);
90
+ });
91
+ _DuoyunSideNavigationElement_renderItem.set(this, ({ pattern, title = '<No Title>', slot, params, query, children }) => {
92
+ return html `
93
+ <gem-active-link
94
+ class="item"
95
+ tabindex="0"
96
+ @keydown=${commonHandle}
97
+ @click=${children && (() => __classPrivateFieldGet(this, _DuoyunSideNavigationElement_onClickChildren, "f").call(this, title))}
98
+ doc-title=${title}
99
+ path=${pattern ? createPath({ pattern }, { params }) : ''}
100
+ query=${query ? query.toString() : ''}
101
+ pattern=${!pattern ? '' : pattern.endsWith('*') ? pattern : `${pattern}/*`}
102
+ >
103
+ <span>${title}</span>${slot}
104
+ </gem-active-link>
105
+ ${children && this.state[title] ? html `<div class="children">${children.map(__classPrivateFieldGet(this, _DuoyunSideNavigationElement_renderItem, "f"))}</div>` : ''}
106
+ `;
107
+ });
108
+ this.willMount = () => {
109
+ this.memo(() => __classPrivateFieldGet(this, _DuoyunSideNavigationElement_checkGroupStatus, "f").call(this), () => [history.getParams().path]);
110
+ };
111
+ this.render = () => {
112
+ if (!this.items.length)
113
+ return html ``;
114
+ return html `${this.items.map((item) => 'group' in item
115
+ ? html `
116
+ <div class="group" role="group">
117
+ <div class="group-title">${item.title}${item.slot}</div>
118
+ <div class="group-body">${item.group.map((e) => __classPrivateFieldGet(this, _DuoyunSideNavigationElement_renderItem, "f").call(this, e))}</div>
119
+ </div>
120
+ `
121
+ : __classPrivateFieldGet(this, _DuoyunSideNavigationElement_renderItem, "f").call(this, item))}`;
122
+ };
123
+ this.internals.role = 'navigation';
124
+ this.internals.ariaLabel = 'Side Navigation';
125
+ }
126
+ };
127
+ _DuoyunSideNavigationElement_onClickChildren = new WeakMap(), _DuoyunSideNavigationElement_checkGroupStatus = new WeakMap(), _DuoyunSideNavigationElement_renderItem = new WeakMap();
128
+ __decorate([
129
+ property
130
+ ], DuoyunSideNavigationElement.prototype, "items", void 0);
131
+ DuoyunSideNavigationElement = __decorate([
132
+ customElement('dy-side-navigation'),
133
+ adoptedStyle(style),
134
+ connectStore(history.store)
135
+ ], DuoyunSideNavigationElement);
136
+ export { DuoyunSideNavigationElement };
137
+ //# sourceMappingURL=side-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-navigation.js","sourceRoot":"","sources":["../src/elements/side-navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { GemElement, RefObject, Emitter } from '@mantou/gem';
2
+ import '@mantou/gem/elements/gesture';
3
+ import './input';
4
+ /**
5
+ * @customElement dy-slider
6
+ */
7
+ export declare class DuoyunSliderElement extends GemElement {
8
+ #private;
9
+ label: string;
10
+ orientation: 'horizontal' | 'vertical';
11
+ editable: boolean;
12
+ disabled: boolean;
13
+ sliderRef: RefObject<HTMLDivElement>;
14
+ value: number;
15
+ min: number;
16
+ max: number;
17
+ step: number;
18
+ change: Emitter<number>;
19
+ constructor();
20
+ state: {
21
+ position: number;
22
+ displayPosition: number;
23
+ start: boolean;
24
+ };
25
+ render: () => import("@mantou/gem").TemplateResult;
26
+ }
27
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../src/elements/slider.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAUV,SAAS,EAET,OAAO,EAER,MAAM,aAAa,CAAC;AAOrB,OAAO,8BAA8B,CAAC;AACtC,OAAO,SAAS,CAAC;AAyDjB;;GAEG;AACH,qBAEa,mBAAoB,SAAQ,UAAU;;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;;IA6BvC,KAAK;;;;MAIH;IAwCF,MAAM,6CA2CJ;CACH"}
@@ -0,0 +1,219 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DuoyunSliderElement_instances, _DuoyunSliderElement_orientation_get, _DuoyunSliderElement_max_get, _DuoyunSliderElement_step_get, _DuoyunSliderElement_diff_get, _DuoyunSliderElement_getValue, _DuoyunSliderElement_onPan, _DuoyunSliderElement_setPrecisionValue, _DuoyunSliderElement_onKeydown;
13
+ // https://spectrum.adobe.com/page/slider/
14
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, attribute, numattribute, boolattribute, refobject, globalemitter, classMap, } from '@mantou/gem';
15
+ import { theme } from '../lib/theme';
16
+ import { clamp } from '../lib/number';
17
+ import { hotkeys } from '../lib/hotkeys';
18
+ import '@mantou/gem/elements/gesture';
19
+ import './input';
20
+ const style = createCSSSheet(css `
21
+ :host {
22
+ font-size: 0.875em;
23
+ width: 15em;
24
+ --size: 1em;
25
+ --c: calc(var(--size) / 2 + 6px);
26
+ display: inline-flex;
27
+ align-items: center;
28
+ gap: 1em;
29
+ height: calc(2.2em + 2px);
30
+ }
31
+ .slider {
32
+ flex-grow: 1;
33
+ position: relative;
34
+ height: 2px;
35
+ border-radius: 1px;
36
+ }
37
+ .mark {
38
+ position: absolute;
39
+ top: 50%;
40
+ transform: translate(-50%, -50%);
41
+ border-radius: 10em;
42
+ box-sizing: border-box;
43
+ width: var(--size);
44
+ height: var(--size);
45
+ border: 2px solid;
46
+ transition: border-width 0.1s;
47
+ opacity: 0.8;
48
+ }
49
+ .mark:hover {
50
+ opacity: 1;
51
+ }
52
+ :host(:focus-visible) .mark,
53
+ .mark.start {
54
+ border-width: 5px;
55
+ }
56
+ :host([disabled]) .mark {
57
+ cursor: not-allowed;
58
+ background: ${theme.disabledColor};
59
+ }
60
+ .label,
61
+ .value {
62
+ position: absolute;
63
+ font-size: 0.875em;
64
+ bottom: calc(50% + var(--size) / 2 + 0.5em);
65
+ color: ${theme.describeColor};
66
+ }
67
+ .value {
68
+ right: 0;
69
+ }
70
+ .input {
71
+ width: 50px;
72
+ }
73
+ `);
74
+ /**
75
+ * @customElement dy-slider
76
+ */
77
+ let DuoyunSliderElement = class DuoyunSliderElement extends GemElement {
78
+ constructor() {
79
+ super();
80
+ _DuoyunSliderElement_instances.add(this);
81
+ this.state = {
82
+ position: 0,
83
+ displayPosition: 0,
84
+ start: false,
85
+ };
86
+ _DuoyunSliderElement_getValue.set(this, (precisionValue) => {
87
+ const remainder = precisionValue % __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_step_get);
88
+ const rest = Math.round(remainder / __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_step_get)) * __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_step_get);
89
+ return precisionValue - remainder + rest;
90
+ });
91
+ _DuoyunSliderElement_onPan.set(this, ({ detail, target }) => {
92
+ if (this.disabled)
93
+ return;
94
+ const { width, height } = this.sliderRef.element.getBoundingClientRect();
95
+ const { left, right, top, bottom, width: w, height: h } = target.getBoundingClientRect();
96
+ const isV = __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_orientation_get) === 'vertical';
97
+ const totalLength = isV ? height - h : width - w;
98
+ const center = (isV ? top + bottom : left + right) / 2;
99
+ const current = isV ? detail.clientY : detail.clientX;
100
+ const movement = isV ? detail.y : detail.x;
101
+ if (movement < 0 && current > center)
102
+ return;
103
+ if (movement > 0 && current < center)
104
+ return;
105
+ const position = clamp(0, this.state.position + movement / totalLength, 1);
106
+ const precisionValue = position * __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_diff_get);
107
+ const value = __classPrivateFieldGet(this, _DuoyunSliderElement_getValue, "f").call(this, precisionValue);
108
+ const displayPosition = value / __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_diff_get);
109
+ this.setState({ position, displayPosition });
110
+ this.change(value);
111
+ });
112
+ _DuoyunSliderElement_setPrecisionValue.set(this, (precisionValue) => {
113
+ const value = __classPrivateFieldGet(this, _DuoyunSliderElement_getValue, "f").call(this, clamp(this.min, precisionValue, __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_max_get)));
114
+ const position = value / __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_diff_get);
115
+ this.setState({ position, displayPosition: position });
116
+ this.change(value);
117
+ });
118
+ _DuoyunSliderElement_onKeydown.set(this, hotkeys({
119
+ up: () => __classPrivateFieldGet(this, _DuoyunSliderElement_setPrecisionValue, "f").call(this, this.value++),
120
+ down: () => __classPrivateFieldGet(this, _DuoyunSliderElement_setPrecisionValue, "f").call(this, this.value--),
121
+ }));
122
+ this.render = () => {
123
+ const { displayPosition, start } = this.state;
124
+ const position = `calc(var(--size) / 2 + calc(100% - var(--size)) * ${displayPosition})`;
125
+ return html `
126
+ <style>
127
+ .slider {
128
+ background: radial-gradient(
129
+ circle at ${position},
130
+ transparent,
131
+ transparent var(--c),
132
+ ${theme.borderColor} var(--c)
133
+ );
134
+ }
135
+ .mark {
136
+ left: ${position};
137
+ }
138
+ </style>
139
+ <div class="slider" ref=${this.sliderRef.ref}>
140
+ <gem-gesture
141
+ class=${classMap({ mark: true, start })}
142
+ @pan=${__classPrivateFieldGet(this, _DuoyunSliderElement_onPan, "f")}
143
+ @pointerdown=${() => !this.disabled && this.setState({ start: true })}
144
+ @end=${() => this.setState({ start: false })}
145
+ ></gem-gesture>
146
+ ${this.label
147
+ ? html `
148
+ <div class="label">${this.label}</div>
149
+ <div class="value">${this.value}</div>
150
+ `
151
+ : ''}
152
+ </div>
153
+ ${this.editable
154
+ ? html `
155
+ <dy-input
156
+ ?disabled=${this.disabled}
157
+ class="input"
158
+ type="number"
159
+ value=${String(this.value)}
160
+ @change=${({ detail }) => __classPrivateFieldGet(this, _DuoyunSliderElement_setPrecisionValue, "f").call(this, detail)}
161
+ ></dy-input>
162
+ `
163
+ : ''}
164
+ `;
165
+ };
166
+ this.tabIndex = 0;
167
+ this.addEventListener('keydown', __classPrivateFieldGet(this, _DuoyunSliderElement_onKeydown, "f"));
168
+ this.internals.role = 'slider';
169
+ this.effect(() => {
170
+ this.internals.ariaDisabled = String(this.disabled);
171
+ this.internals.ariaValueText = String(this.value);
172
+ });
173
+ }
174
+ };
175
+ _DuoyunSliderElement_getValue = new WeakMap(), _DuoyunSliderElement_onPan = new WeakMap(), _DuoyunSliderElement_setPrecisionValue = new WeakMap(), _DuoyunSliderElement_onKeydown = new WeakMap(), _DuoyunSliderElement_instances = new WeakSet(), _DuoyunSliderElement_orientation_get = function _DuoyunSliderElement_orientation_get() {
176
+ return this.orientation || 'horizontal';
177
+ }, _DuoyunSliderElement_max_get = function _DuoyunSliderElement_max_get() {
178
+ return this.hasAttribute('max') ? this.max : 100;
179
+ }, _DuoyunSliderElement_step_get = function _DuoyunSliderElement_step_get() {
180
+ return this.step || 1;
181
+ }, _DuoyunSliderElement_diff_get = function _DuoyunSliderElement_diff_get() {
182
+ return __classPrivateFieldGet(this, _DuoyunSliderElement_instances, "a", _DuoyunSliderElement_max_get) - this.min;
183
+ };
184
+ __decorate([
185
+ attribute
186
+ ], DuoyunSliderElement.prototype, "label", void 0);
187
+ __decorate([
188
+ attribute
189
+ ], DuoyunSliderElement.prototype, "orientation", void 0);
190
+ __decorate([
191
+ boolattribute
192
+ ], DuoyunSliderElement.prototype, "editable", void 0);
193
+ __decorate([
194
+ boolattribute
195
+ ], DuoyunSliderElement.prototype, "disabled", void 0);
196
+ __decorate([
197
+ refobject
198
+ ], DuoyunSliderElement.prototype, "sliderRef", void 0);
199
+ __decorate([
200
+ numattribute
201
+ ], DuoyunSliderElement.prototype, "value", void 0);
202
+ __decorate([
203
+ numattribute
204
+ ], DuoyunSliderElement.prototype, "min", void 0);
205
+ __decorate([
206
+ numattribute
207
+ ], DuoyunSliderElement.prototype, "max", void 0);
208
+ __decorate([
209
+ numattribute
210
+ ], DuoyunSliderElement.prototype, "step", void 0);
211
+ __decorate([
212
+ globalemitter
213
+ ], DuoyunSliderElement.prototype, "change", void 0);
214
+ DuoyunSliderElement = __decorate([
215
+ customElement('dy-slider'),
216
+ adoptedStyle(style)
217
+ ], DuoyunSliderElement);
218
+ export { DuoyunSliderElement };
219
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../src/elements/slider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { GemElement } from '@mantou/gem';
2
+ /**
3
+ * @customElement dy-space
4
+ * @attr size
5
+ */
6
+ export declare class DuoyunSpaceElement extends GemElement {
7
+ size: 'nomal' | 'large';
8
+ constructor();
9
+ }
10
+ //# sourceMappingURL=space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/elements/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+D,MAAM,aAAa,CAAC;AAatG;;;GAGG;AACH,qBAEa,kBAAmB,SAAQ,UAAU;IACrC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;;CAIpC"}
@@ -0,0 +1,35 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { GemElement, adoptedStyle, createCSSSheet, css, customElement, attribute } from '@mantou/gem';
8
+ const style = createCSSSheet(css `
9
+ dy-space {
10
+ display: inline-flex;
11
+ flex-wrap: wrap;
12
+ gap: 0.2em;
13
+ }
14
+ dy-space[size='large'] {
15
+ gap: 0.4em;
16
+ }
17
+ `);
18
+ /**
19
+ * @customElement dy-space
20
+ * @attr size
21
+ */
22
+ let DuoyunSpaceElement = class DuoyunSpaceElement extends GemElement {
23
+ constructor() {
24
+ super({ isLight: true });
25
+ }
26
+ };
27
+ __decorate([
28
+ attribute
29
+ ], DuoyunSpaceElement.prototype, "size", void 0);
30
+ DuoyunSpaceElement = __decorate([
31
+ customElement('dy-space'),
32
+ adoptedStyle(style)
33
+ ], DuoyunSpaceElement);
34
+ export { DuoyunSpaceElement };
35
+ //# sourceMappingURL=space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.js","sourceRoot":"","sources":["../src/elements/space.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtG,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;;;;;CAS/B,CAAC,CAAC;AAEH;;;GAGG;AAGH,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,UAAU;IAEhD;QACE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAJY;IAAV,SAAS;gDAAyB;AADxB,kBAAkB;IAF9B,aAAa,CAAC,UAAU,CAAC;IACzB,YAAY,CAAC,KAAK,CAAC;GACP,kBAAkB,CAK9B;SALY,kBAAkB"}
@@ -0,0 +1,24 @@
1
+ import { GemElement, TemplateResult } from '@mantou/gem';
2
+ import './placeholder';
3
+ export declare type StatisticType = 'bandwidth' | 'traffic' | 'decimal' | 'percentage' | 'duration' | 'currency';
4
+ export declare type StatisticNeutral = 'positive' | 'negative';
5
+ export declare const formatFnMap: Record<StatisticType, (n: number) => {
6
+ number: string;
7
+ unit: string;
8
+ }>;
9
+ /**
10
+ * @customElement dy-statistic
11
+ * @attr loading
12
+ */
13
+ export declare class DuoyunStatisticElement extends GemElement {
14
+ #private;
15
+ neutral: StatisticNeutral;
16
+ type: StatisticType;
17
+ text: string | TemplateResult;
18
+ loading: boolean;
19
+ value: number;
20
+ prevValue: number;
21
+ constructor();
22
+ render: () => TemplateResult;
23
+ }
24
+ //# sourceMappingURL=statistic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistic.d.ts","sourceRoot":"","sources":["../src/elements/statistic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EASV,cAAc,EAEf,MAAM,aAAa,CAAC;AAMrB,OAAO,eAAe,CAAC;AAiCvB,oBAAY,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AACzG,oBAAY,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO9F,CAAC;AAEF;;;GAGG;AACH,qBAEa,sBAAuB,SAAQ,UAAU;;IACzC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;;IAehC,MAAM,uBAwBJ;CACH"}
@@ -0,0 +1,116 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DuoyunStatisticElement_instances, _DuoyunStatisticElement_neutral_get, _DuoyunStatisticElement_type_get;
13
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, attribute, numattribute, classMap, boolattribute, } from '@mantou/gem';
14
+ import { parseDuration } from '../lib/time';
15
+ import { theme } from '../lib/theme';
16
+ import { formatBandwidth, formatDecimal, formatPercentage, formatTraffic, formatCurrency } from '../lib/number';
17
+ import './placeholder';
18
+ const style = createCSSSheet(css `
19
+ :host {
20
+ display: block;
21
+ font-size: 0.875em;
22
+ line-height: 1.2;
23
+ }
24
+ .title {
25
+ margin-block-end: 1em;
26
+ }
27
+ .values {
28
+ display: flex;
29
+ justify-content: space-between;
30
+ align-items: baseline;
31
+ font-weight: bold;
32
+ }
33
+ .value {
34
+ display: flex;
35
+ align-items: baseline;
36
+ gap: 0.3em;
37
+ }
38
+ .number {
39
+ font-size: 2em;
40
+ }
41
+ .positive {
42
+ color: ${theme.positiveColor};
43
+ }
44
+ .negative {
45
+ color: ${theme.negativeColor};
46
+ }
47
+ `);
48
+ export const formatFnMap = {
49
+ bandwidth: formatBandwidth,
50
+ traffic: formatTraffic,
51
+ decimal: formatDecimal,
52
+ percentage: formatPercentage,
53
+ currency: formatCurrency,
54
+ duration: parseDuration,
55
+ };
56
+ /**
57
+ * @customElement dy-statistic
58
+ * @attr loading
59
+ */
60
+ let DuoyunStatisticElement = class DuoyunStatisticElement extends GemElement {
61
+ constructor() {
62
+ super();
63
+ _DuoyunStatisticElement_instances.add(this);
64
+ this.render = () => {
65
+ const { number, unit } = formatFnMap[__classPrivateFieldGet(this, _DuoyunStatisticElement_instances, "a", _DuoyunStatisticElement_type_get)](this.value);
66
+ const diffValue = this.prevValue !== 0 && this.value === 0
67
+ ? Infinity
68
+ : Number((((this.value - this.prevValue) / this.prevValue) * 100).toFixed(2));
69
+ const [positive, negative] = __classPrivateFieldGet(this, _DuoyunStatisticElement_instances, "a", _DuoyunStatisticElement_neutral_get) === 'positive' ? [diffValue > 0, diffValue < 0] : [diffValue < 0, diffValue > 0];
70
+ return html `
71
+ <div class="title">${this.loading ? html `<dy-placeholder width="5em"></dy-placeholder>` : this.text}</div>
72
+ <div class="values">
73
+ <div class="value">
74
+ <span class="number">${this.loading ? html `<dy-placeholder width="6em"></dy-placeholder>` : number}</span>
75
+ <span class="unit">${this.loading ? '' : unit}</span>
76
+ </div>
77
+ ${this.loading || !this.hasAttribute('prev-value')
78
+ ? ''
79
+ : html `<span class=${classMap({ positive, negative })}>
80
+ ${isNaN(diffValue) ? '-' : diffValue === Infinity ? '∞' : diffValue}%
81
+ </span>`}
82
+ </div>
83
+ `;
84
+ };
85
+ this.internals.role = 'group';
86
+ }
87
+ };
88
+ _DuoyunStatisticElement_instances = new WeakSet(), _DuoyunStatisticElement_neutral_get = function _DuoyunStatisticElement_neutral_get() {
89
+ return this.neutral || 'positive';
90
+ }, _DuoyunStatisticElement_type_get = function _DuoyunStatisticElement_type_get() {
91
+ return this.type || 'decimal';
92
+ };
93
+ __decorate([
94
+ attribute
95
+ ], DuoyunStatisticElement.prototype, "neutral", void 0);
96
+ __decorate([
97
+ attribute
98
+ ], DuoyunStatisticElement.prototype, "type", void 0);
99
+ __decorate([
100
+ attribute
101
+ ], DuoyunStatisticElement.prototype, "text", void 0);
102
+ __decorate([
103
+ boolattribute
104
+ ], DuoyunStatisticElement.prototype, "loading", void 0);
105
+ __decorate([
106
+ numattribute
107
+ ], DuoyunStatisticElement.prototype, "value", void 0);
108
+ __decorate([
109
+ numattribute
110
+ ], DuoyunStatisticElement.prototype, "prevValue", void 0);
111
+ DuoyunStatisticElement = __decorate([
112
+ customElement('dy-statistic'),
113
+ adoptedStyle(style)
114
+ ], DuoyunStatisticElement);
115
+ export { DuoyunStatisticElement };
116
+ //# sourceMappingURL=statistic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistic.js","sourceRoot":"","sources":["../src/elements/statistic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { GemElement } from '@mantou/gem';
2
+ import { StringList } from '../lib/types';
3
+ export declare type Status = StringList<'default' | 'positive' | 'informative' | 'neutral' | 'notice' | 'negative'>;
4
+ export declare function getStatusColor(status: Status): string;
5
+ /**
6
+ * @customElement dy-status-light
7
+ */
8
+ export declare class DuoyunStatusLightElement extends GemElement {
9
+ #private;
10
+ status: Status;
11
+ constructor();
12
+ render: () => import("@mantou/gem").TemplateResult;
13
+ }
14
+ //# sourceMappingURL=status-light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-light.d.ts","sourceRoot":"","sources":["../src/elements/status-light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqE,MAAM,aAAa,CAAC;AAG5G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1C,oBAAY,MAAM,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAE5G,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,UAS5C;AAED;;GAEG;AACH,qBAEa,wBAAyB,SAAQ,UAAU;;IAC3C,MAAM,EAAE,MAAM,CAAC;;IAW1B,MAAM,6CAUJ;CACH"}