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.
- package/LICENSE +21 -0
- package/README.md +12 -0
- package/docs/.gitignore +4 -0
- package/docs/104.bundle.js +19 -0
- package/docs/283.bundle.js +47 -0
- package/docs/354.bundle.js +1133 -0
- package/docs/354.bundle.js.LICENSE.txt +13 -0
- package/docs/587.bundle.js +26 -0
- package/docs/810.bundle.js +1 -0
- package/docs/gem-book.json +84 -0
- package/docs/index.html +1 -0
- package/docs/main.bundle.js +1 -0
- package/docs/robots.txt +2 -0
- package/docs/service-worker.js +1 -0
- package/docs/workbox-62d1f9d5.js +1 -0
- package/elements/action-text.d.ts +12 -0
- package/elements/action-text.d.ts.map +1 -0
- package/elements/action-text.js +63 -0
- package/elements/action-text.js.map +1 -0
- package/elements/area-chart.d.ts +35 -0
- package/elements/area-chart.d.ts.map +1 -0
- package/elements/area-chart.js +408 -0
- package/elements/area-chart.js.map +1 -0
- package/elements/avatar.d.ts +42 -0
- package/elements/avatar.d.ts.map +1 -0
- package/elements/avatar.js +190 -0
- package/elements/avatar.js.map +1 -0
- package/elements/banner.d.ts +21 -0
- package/elements/banner.d.ts.map +1 -0
- package/elements/banner.js +136 -0
- package/elements/banner.js.map +1 -0
- package/elements/bar-chart.d.ts +23 -0
- package/elements/bar-chart.d.ts.map +1 -0
- package/elements/bar-chart.js +170 -0
- package/elements/bar-chart.js.map +1 -0
- package/elements/base/chart.d.ts +74 -0
- package/elements/base/chart.d.ts.map +1 -0
- package/elements/base/chart.js +299 -0
- package/elements/base/chart.js.map +1 -0
- package/elements/base/loadable.d.ts +16 -0
- package/elements/base/loadable.d.ts.map +1 -0
- package/elements/base/loadable.js +77 -0
- package/elements/base/loadable.js.map +1 -0
- package/elements/base/resize.d.ts +15 -0
- package/elements/base/resize.d.ts.map +1 -0
- package/elements/base/resize.js +31 -0
- package/elements/base/resize.js.map +1 -0
- package/elements/base/scroll.d.ts +11 -0
- package/elements/base/scroll.d.ts.map +1 -0
- package/elements/base/scroll.js +90 -0
- package/elements/base/scroll.js.map +1 -0
- package/elements/base/visible.d.ts +12 -0
- package/elements/base/visible.d.ts.map +1 -0
- package/elements/base/visible.js +37 -0
- package/elements/base/visible.js.map +1 -0
- package/elements/breadcrumbs.d.ts +20 -0
- package/elements/breadcrumbs.d.ts.map +1 -0
- package/elements/breadcrumbs.js +88 -0
- package/elements/breadcrumbs.js.map +1 -0
- package/elements/button.d.ts +30 -0
- package/elements/button.d.ts.map +1 -0
- package/elements/button.js +225 -0
- package/elements/button.js.map +1 -0
- package/elements/card.d.ts +26 -0
- package/elements/card.d.ts.map +1 -0
- package/elements/card.js +163 -0
- package/elements/card.js.map +1 -0
- package/elements/cascader-pick.d.ts +22 -0
- package/elements/cascader-pick.d.ts.map +1 -0
- package/elements/cascader-pick.js +172 -0
- package/elements/cascader-pick.js.map +1 -0
- package/elements/cascader.d.ts +29 -0
- package/elements/cascader.d.ts.map +1 -0
- package/elements/cascader.js +247 -0
- package/elements/cascader.js.map +1 -0
- package/elements/chart-tooltip.d.ts +29 -0
- package/elements/chart-tooltip.d.ts.map +1 -0
- package/elements/chart-tooltip.js +150 -0
- package/elements/chart-tooltip.js.map +1 -0
- package/elements/chart-zoom.d.ts +20 -0
- package/elements/chart-zoom.d.ts.map +1 -0
- package/elements/chart-zoom.js +207 -0
- package/elements/chart-zoom.js.map +1 -0
- package/elements/checkbox.d.ts +20 -0
- package/elements/checkbox.d.ts.map +1 -0
- package/elements/checkbox.js +108 -0
- package/elements/checkbox.js.map +1 -0
- package/elements/coach-mark.d.ts +39 -0
- package/elements/coach-mark.d.ts.map +1 -0
- package/elements/coach-mark.js +212 -0
- package/elements/coach-mark.js.map +1 -0
- package/elements/code-block.d.ts +14 -0
- package/elements/code-block.d.ts.map +1 -0
- package/elements/code-block.js +427 -0
- package/elements/code-block.js.map +1 -0
- package/elements/collapse.d.ts +22 -0
- package/elements/collapse.d.ts.map +1 -0
- package/elements/collapse.js +111 -0
- package/elements/collapse.js.map +1 -0
- package/elements/color-panel.d.ts +30 -0
- package/elements/color-panel.d.ts.map +1 -0
- package/elements/color-panel.js +383 -0
- package/elements/color-panel.js.map +1 -0
- package/elements/color-pick.d.ts +14 -0
- package/elements/color-pick.d.ts.map +1 -0
- package/elements/color-pick.js +81 -0
- package/elements/color-pick.js.map +1 -0
- package/elements/compartment.d.ts +9 -0
- package/elements/compartment.d.ts.map +1 -0
- package/elements/compartment.js +32 -0
- package/elements/compartment.js.map +1 -0
- package/elements/copy.d.ts +20 -0
- package/elements/copy.d.ts.map +1 -0
- package/elements/copy.js +160 -0
- package/elements/copy.js.map +1 -0
- package/elements/date-panel.d.ts +29 -0
- package/elements/date-panel.d.ts.map +1 -0
- package/elements/date-panel.js +220 -0
- package/elements/date-panel.js.map +1 -0
- package/elements/date-pick.d.ts +23 -0
- package/elements/date-pick.d.ts.map +1 -0
- package/elements/date-pick.js +107 -0
- package/elements/date-pick.js.map +1 -0
- package/elements/date-range-panel.d.ts +28 -0
- package/elements/date-range-panel.d.ts.map +1 -0
- package/elements/date-range-panel.js +154 -0
- package/elements/date-range-panel.js.map +1 -0
- package/elements/date-range-pick.d.ts +26 -0
- package/elements/date-range-pick.d.ts.map +1 -0
- package/elements/date-range-pick.js +159 -0
- package/elements/date-range-pick.js.map +1 -0
- package/elements/divider.d.ts +15 -0
- package/elements/divider.d.ts.map +1 -0
- package/elements/divider.js +95 -0
- package/elements/divider.js.map +1 -0
- package/elements/donut-chart.d.ts +19 -0
- package/elements/donut-chart.d.ts.map +1 -0
- package/elements/donut-chart.js +140 -0
- package/elements/donut-chart.js.map +1 -0
- package/elements/drawer.d.ts +9 -0
- package/elements/drawer.d.ts.map +1 -0
- package/elements/drawer.js +45 -0
- package/elements/drawer.js.map +1 -0
- package/elements/drop-area.d.ts +18 -0
- package/elements/drop-area.d.ts.map +1 -0
- package/elements/drop-area.js +155 -0
- package/elements/drop-area.js.map +1 -0
- package/elements/empty.d.ts +8 -0
- package/elements/empty.d.ts.map +1 -0
- package/elements/empty.js +33 -0
- package/elements/empty.js.map +1 -0
- package/elements/file-pick.d.ts +28 -0
- package/elements/file-pick.d.ts.map +1 -0
- package/elements/file-pick.js +226 -0
- package/elements/file-pick.js.map +1 -0
- package/elements/form.d.ts +76 -0
- package/elements/form.d.ts.map +1 -0
- package/elements/form.js +372 -0
- package/elements/form.js.map +1 -0
- package/elements/heading.d.ts +13 -0
- package/elements/heading.d.ts.map +1 -0
- package/elements/heading.js +88 -0
- package/elements/heading.js.map +1 -0
- package/elements/help-text.d.ts +11 -0
- package/elements/help-text.d.ts.map +1 -0
- package/elements/help-text.js +53 -0
- package/elements/help-text.js.map +1 -0
- package/elements/icons.d.ts +10 -0
- package/elements/icons.d.ts.map +1 -0
- package/elements/icons.js +71 -0
- package/elements/icons.js.map +1 -0
- package/elements/image-preview.d.ts +26 -0
- package/elements/image-preview.d.ts.map +1 -0
- package/elements/image-preview.js +172 -0
- package/elements/image-preview.js.map +1 -0
- package/elements/input-capture.d.ts +17 -0
- package/elements/input-capture.d.ts.map +1 -0
- package/elements/input-capture.js +111 -0
- package/elements/input-capture.js.map +1 -0
- package/elements/input.d.ts +51 -0
- package/elements/input.d.ts.map +1 -0
- package/elements/input.js +372 -0
- package/elements/input.js.map +1 -0
- package/elements/keyboard-access.d.ts +26 -0
- package/elements/keyboard-access.d.ts.map +1 -0
- package/elements/keyboard-access.js +217 -0
- package/elements/keyboard-access.js.map +1 -0
- package/elements/legend.d.ts +21 -0
- package/elements/legend.d.ts.map +1 -0
- package/elements/legend.js +118 -0
- package/elements/legend.js.map +1 -0
- package/elements/line-chart.d.ts +9 -0
- package/elements/line-chart.d.ts.map +1 -0
- package/elements/line-chart.js +116 -0
- package/elements/line-chart.js.map +1 -0
- package/elements/link.d.ts +14 -0
- package/elements/link.d.ts.map +1 -0
- package/elements/link.js +46 -0
- package/elements/link.js.map +1 -0
- package/elements/list.d.ts +30 -0
- package/elements/list.d.ts.map +1 -0
- package/elements/list.js +114 -0
- package/elements/list.js.map +1 -0
- package/elements/loading.d.ts +9 -0
- package/elements/loading.d.ts.map +1 -0
- package/elements/loading.js +44 -0
- package/elements/loading.js.map +1 -0
- package/elements/map.d.ts +68 -0
- package/elements/map.d.ts.map +1 -0
- package/elements/map.js +323 -0
- package/elements/map.js.map +1 -0
- package/elements/menu.d.ts +58 -0
- package/elements/menu.d.ts.map +1 -0
- package/elements/menu.js +256 -0
- package/elements/menu.js.map +1 -0
- package/elements/meter.d.ts +20 -0
- package/elements/meter.d.ts.map +1 -0
- package/elements/meter.js +130 -0
- package/elements/meter.js.map +1 -0
- package/elements/modal.d.ts +46 -0
- package/elements/modal.d.ts.map +1 -0
- package/elements/modal.js +296 -0
- package/elements/modal.js.map +1 -0
- package/elements/more.d.ts +28 -0
- package/elements/more.d.ts.map +1 -0
- package/elements/more.js +118 -0
- package/elements/more.js.map +1 -0
- package/elements/options.d.ts +34 -0
- package/elements/options.d.ts.map +1 -0
- package/elements/options.js +174 -0
- package/elements/options.js.map +1 -0
- package/elements/page-loadbar.d.ts +20 -0
- package/elements/page-loadbar.d.ts.map +1 -0
- package/elements/page-loadbar.js +85 -0
- package/elements/page-loadbar.js.map +1 -0
- package/elements/pagination.d.ts +23 -0
- package/elements/pagination.d.ts.map +1 -0
- package/elements/pagination.js +221 -0
- package/elements/pagination.js.map +1 -0
- package/elements/paragraph.d.ts +8 -0
- package/elements/paragraph.d.ts.map +1 -0
- package/elements/paragraph.js +60 -0
- package/elements/paragraph.js.map +1 -0
- package/elements/pick.d.ts +34 -0
- package/elements/pick.d.ts.map +1 -0
- package/elements/pick.js +168 -0
- package/elements/pick.js.map +1 -0
- package/elements/placeholder.d.ts +23 -0
- package/elements/placeholder.d.ts.map +1 -0
- package/elements/placeholder.js +93 -0
- package/elements/placeholder.js.map +1 -0
- package/elements/popover.d.ts +54 -0
- package/elements/popover.d.ts.map +1 -0
- package/elements/popover.js +316 -0
- package/elements/popover.js.map +1 -0
- package/elements/progress.d.ts +12 -0
- package/elements/progress.d.ts.map +1 -0
- package/elements/progress.js +45 -0
- package/elements/progress.js.map +1 -0
- package/elements/radio.d.ts +34 -0
- package/elements/radio.d.ts.map +1 -0
- package/elements/radio.js +152 -0
- package/elements/radio.js.map +1 -0
- package/elements/rating.d.ts +15 -0
- package/elements/rating.d.ts.map +1 -0
- package/elements/rating.js +122 -0
- package/elements/rating.js.map +1 -0
- package/elements/scatter-chart.d.ts +13 -0
- package/elements/scatter-chart.d.ts.map +1 -0
- package/elements/scatter-chart.js +151 -0
- package/elements/scatter-chart.js.map +1 -0
- package/elements/select.d.ts +63 -0
- package/elements/select.d.ts.map +1 -0
- package/elements/select.js +416 -0
- package/elements/select.js.map +1 -0
- package/elements/shortcut-record.d.ts +19 -0
- package/elements/shortcut-record.d.ts.map +1 -0
- package/elements/shortcut-record.js +127 -0
- package/elements/shortcut-record.js.map +1 -0
- package/elements/side-navigation.d.ts +31 -0
- package/elements/side-navigation.d.ts.map +1 -0
- package/elements/side-navigation.js +137 -0
- package/elements/side-navigation.js.map +1 -0
- package/elements/slider.d.ts +27 -0
- package/elements/slider.d.ts.map +1 -0
- package/elements/slider.js +219 -0
- package/elements/slider.js.map +1 -0
- package/elements/space.d.ts +10 -0
- package/elements/space.d.ts.map +1 -0
- package/elements/space.js +35 -0
- package/elements/space.js.map +1 -0
- package/elements/statistic.d.ts +24 -0
- package/elements/statistic.d.ts.map +1 -0
- package/elements/statistic.js +116 -0
- package/elements/statistic.js.map +1 -0
- package/elements/status-light.d.ts +14 -0
- package/elements/status-light.d.ts.map +1 -0
- package/elements/status-light.js +75 -0
- package/elements/status-light.js.map +1 -0
- package/elements/switch.d.ts +18 -0
- package/elements/switch.d.ts.map +1 -0
- package/elements/switch.js +117 -0
- package/elements/switch.js.map +1 -0
- package/elements/table.d.ts +36 -0
- package/elements/table.d.ts.map +1 -0
- package/elements/table.js +268 -0
- package/elements/table.js.map +1 -0
- package/elements/tabs.d.ts +29 -0
- package/elements/tabs.d.ts.map +1 -0
- package/elements/tabs.js +130 -0
- package/elements/tabs.js.map +1 -0
- package/elements/tag.d.ts +20 -0
- package/elements/tag.d.ts.map +1 -0
- package/elements/tag.js +120 -0
- package/elements/tag.js.map +1 -0
- package/elements/timeline.d.ts +19 -0
- package/elements/timeline.d.ts.map +1 -0
- package/elements/timeline.js +92 -0
- package/elements/timeline.js.map +1 -0
- package/elements/toast.d.ts +26 -0
- package/elements/toast.d.ts.map +1 -0
- package/elements/toast.js +149 -0
- package/elements/toast.js.map +1 -0
- package/elements/tooltip.d.ts +12 -0
- package/elements/tooltip.d.ts.map +1 -0
- package/elements/tooltip.js +27 -0
- package/elements/tooltip.js.map +1 -0
- package/elements/tree.d.ts +48 -0
- package/elements/tree.d.ts.map +1 -0
- package/elements/tree.js +231 -0
- package/elements/tree.js.map +1 -0
- package/elements/wait.d.ts +19 -0
- package/elements/wait.d.ts.map +1 -0
- package/elements/wait.js +97 -0
- package/elements/wait.js.map +1 -0
- package/lib/animations.d.ts +4 -0
- package/lib/animations.d.ts.map +1 -0
- package/lib/animations.js +8 -0
- package/lib/animations.js.map +1 -0
- package/lib/cache.d.ts +12 -0
- package/lib/cache.d.ts.map +1 -0
- package/lib/cache.js +56 -0
- package/lib/cache.js.map +1 -0
- package/lib/color.d.ts +37 -0
- package/lib/color.d.ts.map +1 -0
- package/lib/color.js +101 -0
- package/lib/color.js.map +1 -0
- package/lib/hotkeys.d.ts +31 -0
- package/lib/hotkeys.d.ts.map +1 -0
- package/lib/hotkeys.js +207 -0
- package/lib/hotkeys.js.map +1 -0
- package/lib/icons.d.ts +90 -0
- package/lib/icons.d.ts.map +1 -0
- package/lib/icons.js +81 -0
- package/lib/icons.js.map +1 -0
- package/lib/image.d.ts +29 -0
- package/lib/image.d.ts.map +1 -0
- package/lib/image.js +140 -0
- package/lib/image.js.map +1 -0
- package/lib/locale.d.ts +37 -0
- package/lib/locale.d.ts.map +1 -0
- package/lib/locale.js +14 -0
- package/lib/locale.js.map +1 -0
- package/lib/number.d.ts +80 -0
- package/lib/number.d.ts.map +1 -0
- package/lib/number.js +144 -0
- package/lib/number.js.map +1 -0
- package/lib/theme.d.ts +67 -0
- package/lib/theme.d.ts.map +1 -0
- package/lib/theme.js +56 -0
- package/lib/theme.js.map +1 -0
- package/lib/time.d.ts +58 -0
- package/lib/time.d.ts.map +1 -0
- package/lib/time.js +225 -0
- package/lib/time.js.map +1 -0
- package/lib/types.d.ts +8 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +17 -0
- package/lib/types.js.map +1 -0
- package/lib/utils.d.ts +37 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +249 -0
- package/lib/utils.js.map +1 -0
- package/locales/en.d.ts +34 -0
- package/locales/en.d.ts.map +1 -0
- package/locales/en.js +33 -0
- package/locales/en.js.map +1 -0
- package/locales/zh.d.ts +4 -0
- package/locales/zh.d.ts.map +1 -0
- package/locales/zh.js +34 -0
- package/locales/zh.js.map +1 -0
- 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 @@
|
|
|
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"}
|