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,48 @@
|
|
|
1
|
+
import { GemElement, Emitter, TemplateResult } from '@mantou/gem';
|
|
2
|
+
import '@mantou/gem/elements/use';
|
|
3
|
+
declare type Status = 'positive' | 'notice' | 'negative';
|
|
4
|
+
export declare type TreeItem = {
|
|
5
|
+
label: string;
|
|
6
|
+
value?: any;
|
|
7
|
+
icon?: string | Element | DocumentFragment;
|
|
8
|
+
context?: TemplateResult;
|
|
9
|
+
children?: TreeItem[];
|
|
10
|
+
status?: Status;
|
|
11
|
+
tags?: string[];
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @customElement dy-tree-item
|
|
15
|
+
* @fires click-item
|
|
16
|
+
*/
|
|
17
|
+
export declare class DuoyunTreeItemElement extends GemElement {
|
|
18
|
+
expanded: boolean;
|
|
19
|
+
highlight: boolean;
|
|
20
|
+
hastags: boolean;
|
|
21
|
+
color?: string;
|
|
22
|
+
level: number;
|
|
23
|
+
item: TreeItem;
|
|
24
|
+
constructor();
|
|
25
|
+
render: () => TemplateResult;
|
|
26
|
+
}
|
|
27
|
+
declare type State = {
|
|
28
|
+
expandItem: Set<any>;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @customElement dy-tree
|
|
32
|
+
* @fires click-item
|
|
33
|
+
*/
|
|
34
|
+
export declare class DuoyunTreeElement extends GemElement<State> {
|
|
35
|
+
#private;
|
|
36
|
+
data?: TreeItem[];
|
|
37
|
+
/**value array */
|
|
38
|
+
highlights?: any[];
|
|
39
|
+
clickItem: Emitter;
|
|
40
|
+
item: string;
|
|
41
|
+
state: State;
|
|
42
|
+
constructor();
|
|
43
|
+
willMount: () => void;
|
|
44
|
+
mounted: () => void;
|
|
45
|
+
render: () => TemplateResult;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/elements/tree.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAUV,OAAO,EACP,cAAc,EAEf,MAAM,aAAa,CAAC;AAOrB,OAAO,0BAA0B,CAAC;AAElC,aAAK,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAQjD,oBAAY,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AA2CF;;;GAGG;AACH,qBAEa,qBAAsB,SAAQ,UAAU;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;;IAOzB,MAAM,uBAmBJ;CACH;AAED,aAAK,KAAK,GAAG;IACX,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;CACtB,CAAC;AASF;;;GAGG;AACH,qBAEa,iBAAkB,SAAQ,UAAU,CAAC,KAAK,CAAC;;IAC5C,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,iBAAiB;IACP,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IAEpB,SAAS,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,KAAK,CAEV;;IAmDF,SAAS,aAmBP;IAEF,OAAO,aAgBL;IAEF,MAAM,uBAEJ;CACH"}
|
package/elements/tree.js
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
13
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
15
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
16
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
17
|
+
};
|
|
18
|
+
var _DuoyunTreeElement_highlights, _DuoyunTreeElement_tagsMap, _DuoyunTreeElement_statusMap, _DuoyunTreeElement_onClick, _DuoyunTreeElement_getItemColor, _DuoyunTreeElement_renderItem;
|
|
19
|
+
// https://spectrum.adobe.com/page/tree-view/
|
|
20
|
+
import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, boolattribute, attribute, emitter, part, } from '@mantou/gem';
|
|
21
|
+
import { icons } from '../lib/icons';
|
|
22
|
+
import { commonHandle } from '../lib/hotkeys';
|
|
23
|
+
import { theme, getSemanticColor } from '../lib/theme';
|
|
24
|
+
import { getCascaderBubbleWeakMap } from '../lib/utils';
|
|
25
|
+
import '@mantou/gem/elements/use';
|
|
26
|
+
const statusRank = {
|
|
27
|
+
negative: 3,
|
|
28
|
+
notice: 2,
|
|
29
|
+
positive: 1,
|
|
30
|
+
};
|
|
31
|
+
const itemStyle = createCSSSheet(css `
|
|
32
|
+
:host {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
gap: 0.3em;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
line-height: 2;
|
|
38
|
+
user-select: none;
|
|
39
|
+
}
|
|
40
|
+
:host(:hover) {
|
|
41
|
+
background-color: ${theme.lightBackgroundColor};
|
|
42
|
+
}
|
|
43
|
+
:host([highlight]) {
|
|
44
|
+
background-color: ${theme.hoverBackgroundColor};
|
|
45
|
+
}
|
|
46
|
+
.icon {
|
|
47
|
+
width: 1.3em;
|
|
48
|
+
flex-shrink: 0;
|
|
49
|
+
}
|
|
50
|
+
.expandable {
|
|
51
|
+
margin-inline-start: 0.3em;
|
|
52
|
+
}
|
|
53
|
+
.label {
|
|
54
|
+
flex-grow: 1;
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
white-space: nowrap;
|
|
57
|
+
text-overflow: ellipsis;
|
|
58
|
+
}
|
|
59
|
+
.tags {
|
|
60
|
+
flex-shrink: 1;
|
|
61
|
+
white-space: nowrap;
|
|
62
|
+
margin-inline: 1em;
|
|
63
|
+
}
|
|
64
|
+
.children {
|
|
65
|
+
width: 0.5em;
|
|
66
|
+
aspect-ratio: 1;
|
|
67
|
+
background: currentColor;
|
|
68
|
+
border-radius: 10em;
|
|
69
|
+
}
|
|
70
|
+
`);
|
|
71
|
+
/**
|
|
72
|
+
* @customElement dy-tree-item
|
|
73
|
+
* @fires click-item
|
|
74
|
+
*/
|
|
75
|
+
let DuoyunTreeItemElement = class DuoyunTreeItemElement extends GemElement {
|
|
76
|
+
constructor() {
|
|
77
|
+
super();
|
|
78
|
+
this.render = () => {
|
|
79
|
+
const { label, children, icon, context, tags } = this.item;
|
|
80
|
+
return html `
|
|
81
|
+
<style>
|
|
82
|
+
:host {
|
|
83
|
+
padding-left: ${this.level}em;
|
|
84
|
+
color: ${this.color};
|
|
85
|
+
}
|
|
86
|
+
</style>
|
|
87
|
+
<gem-use
|
|
88
|
+
class="icon expandable"
|
|
89
|
+
.element=${!children ? undefined : this.expanded ? icons.expand : icons.right}
|
|
90
|
+
></gem-use>
|
|
91
|
+
${icon ? html `<gem-use class="icon" .element=${icon}></gem-use>` : ''}
|
|
92
|
+
${context ? html `<div class="context">${context}</div>` : ''}
|
|
93
|
+
<span class="label">${label}</span>
|
|
94
|
+
${this.hastags ? html `<div class="tags children"></div>` : ''}
|
|
95
|
+
${tags ? html `<div class="tags">${tags.join(', ')}</div>` : ''}
|
|
96
|
+
`;
|
|
97
|
+
};
|
|
98
|
+
this.internals.role = 'treeitem';
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
__decorate([
|
|
102
|
+
boolattribute
|
|
103
|
+
], DuoyunTreeItemElement.prototype, "expanded", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
boolattribute
|
|
106
|
+
], DuoyunTreeItemElement.prototype, "highlight", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
boolattribute
|
|
109
|
+
], DuoyunTreeItemElement.prototype, "hastags", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
attribute
|
|
112
|
+
], DuoyunTreeItemElement.prototype, "color", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
property
|
|
115
|
+
], DuoyunTreeItemElement.prototype, "level", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
property
|
|
118
|
+
], DuoyunTreeItemElement.prototype, "item", void 0);
|
|
119
|
+
DuoyunTreeItemElement = __decorate([
|
|
120
|
+
customElement('dy-tree-item'),
|
|
121
|
+
adoptedStyle(itemStyle)
|
|
122
|
+
], DuoyunTreeItemElement);
|
|
123
|
+
export { DuoyunTreeItemElement };
|
|
124
|
+
const style = createCSSSheet(css `
|
|
125
|
+
:host {
|
|
126
|
+
display: block;
|
|
127
|
+
font-size: 0.875em;
|
|
128
|
+
}
|
|
129
|
+
`);
|
|
130
|
+
/**
|
|
131
|
+
* @customElement dy-tree
|
|
132
|
+
* @fires click-item
|
|
133
|
+
*/
|
|
134
|
+
let DuoyunTreeElement = class DuoyunTreeElement extends GemElement {
|
|
135
|
+
constructor() {
|
|
136
|
+
super();
|
|
137
|
+
this.state = {
|
|
138
|
+
expandItem: new Set(),
|
|
139
|
+
};
|
|
140
|
+
_DuoyunTreeElement_highlights.set(this, void 0);
|
|
141
|
+
// folder
|
|
142
|
+
_DuoyunTreeElement_tagsMap.set(this, void 0);
|
|
143
|
+
_DuoyunTreeElement_statusMap.set(this, void 0);
|
|
144
|
+
_DuoyunTreeElement_onClick.set(this, (item) => {
|
|
145
|
+
var _a;
|
|
146
|
+
const value = (_a = item.value) !== null && _a !== void 0 ? _a : item.label;
|
|
147
|
+
this.clickItem(value);
|
|
148
|
+
if (item.children) {
|
|
149
|
+
const { expandItem } = this.state;
|
|
150
|
+
if (expandItem.has(value)) {
|
|
151
|
+
expandItem.delete(value);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
expandItem.add(value);
|
|
155
|
+
}
|
|
156
|
+
this.setState({});
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
_DuoyunTreeElement_getItemColor.set(this, (item) => {
|
|
160
|
+
const status = item.status || __classPrivateFieldGet(this, _DuoyunTreeElement_statusMap, "f").get(item);
|
|
161
|
+
return (status && getSemanticColor(status)) || theme.textColor;
|
|
162
|
+
});
|
|
163
|
+
_DuoyunTreeElement_renderItem.set(this, (item, level) => {
|
|
164
|
+
var _a, _b, _c;
|
|
165
|
+
const value = (_a = item.value) !== null && _a !== void 0 ? _a : item.label;
|
|
166
|
+
const expanded = this.state.expandItem.has((_b = item.value) !== null && _b !== void 0 ? _b : item.label);
|
|
167
|
+
return html `
|
|
168
|
+
<dy-tree-item
|
|
169
|
+
tabindex="0"
|
|
170
|
+
@keydown=${commonHandle}
|
|
171
|
+
@click=${() => __classPrivateFieldGet(this, _DuoyunTreeElement_onClick, "f").call(this, item)}
|
|
172
|
+
part=${this.item}
|
|
173
|
+
.hastags=${__classPrivateFieldGet(this, _DuoyunTreeElement_tagsMap, "f").has(item)}
|
|
174
|
+
.color=${__classPrivateFieldGet(this, _DuoyunTreeElement_getItemColor, "f").call(this, item)}
|
|
175
|
+
.item=${item}
|
|
176
|
+
.level=${level}
|
|
177
|
+
.expanded=${expanded}
|
|
178
|
+
.highlight=${__classPrivateFieldGet(this, _DuoyunTreeElement_highlights, "f").has(value)}
|
|
179
|
+
></dy-tree-item>
|
|
180
|
+
${expanded ? (_c = item.children) === null || _c === void 0 ? void 0 : _c.map((item) => __classPrivateFieldGet(this, _DuoyunTreeElement_renderItem, "f").call(this, item, level + 1)) : ''}
|
|
181
|
+
`;
|
|
182
|
+
});
|
|
183
|
+
this.willMount = () => {
|
|
184
|
+
this.memo(() => {
|
|
185
|
+
__classPrivateFieldSet(this, _DuoyunTreeElement_highlights, new Set(this.highlights), "f");
|
|
186
|
+
}, () => [this.highlights]);
|
|
187
|
+
this.memo(() => {
|
|
188
|
+
__classPrivateFieldSet(this, _DuoyunTreeElement_tagsMap, getCascaderBubbleWeakMap(this.data, 'children', (e) => e.tags), "f");
|
|
189
|
+
__classPrivateFieldSet(this, _DuoyunTreeElement_statusMap, getCascaderBubbleWeakMap(this.data, 'children', (e) => e.status, (a, b) => (statusRank[a] > statusRank[b] ? a : b)), "f");
|
|
190
|
+
}, () => [this.data]);
|
|
191
|
+
};
|
|
192
|
+
this.mounted = () => {
|
|
193
|
+
this.effect(() => {
|
|
194
|
+
if (!this.data)
|
|
195
|
+
return;
|
|
196
|
+
const getExpandableValues = (list) => list.map((e) => { var _a; return (e.children ? [(_a = e.label) !== null && _a !== void 0 ? _a : e.value, ...getExpandableValues(e.children)] : undefined); });
|
|
197
|
+
const newValue = new Set(getExpandableValues(this.data).flat());
|
|
198
|
+
this.state.expandItem.forEach((e) => {
|
|
199
|
+
if (!newValue.has(e)) {
|
|
200
|
+
this.state.expandItem.delete(e);
|
|
201
|
+
this.setState({});
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}, () => [this.data]);
|
|
205
|
+
};
|
|
206
|
+
this.render = () => {
|
|
207
|
+
var _a;
|
|
208
|
+
return html `${(_a = this.data) === null || _a === void 0 ? void 0 : _a.map((item) => __classPrivateFieldGet(this, _DuoyunTreeElement_renderItem, "f").call(this, item, 0))}`;
|
|
209
|
+
};
|
|
210
|
+
this.internals.role = 'tree';
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
_DuoyunTreeElement_highlights = new WeakMap(), _DuoyunTreeElement_tagsMap = new WeakMap(), _DuoyunTreeElement_statusMap = new WeakMap(), _DuoyunTreeElement_onClick = new WeakMap(), _DuoyunTreeElement_getItemColor = new WeakMap(), _DuoyunTreeElement_renderItem = new WeakMap();
|
|
214
|
+
__decorate([
|
|
215
|
+
property
|
|
216
|
+
], DuoyunTreeElement.prototype, "data", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
property
|
|
219
|
+
], DuoyunTreeElement.prototype, "highlights", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
emitter
|
|
222
|
+
], DuoyunTreeElement.prototype, "clickItem", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
part
|
|
225
|
+
], DuoyunTreeElement.prototype, "item", void 0);
|
|
226
|
+
DuoyunTreeElement = __decorate([
|
|
227
|
+
customElement('dy-tree'),
|
|
228
|
+
adoptedStyle(style)
|
|
229
|
+
], DuoyunTreeElement);
|
|
230
|
+
export { DuoyunTreeElement };
|
|
231
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/elements/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GemElement } from '@mantou/gem';
|
|
2
|
+
import './loading';
|
|
3
|
+
interface Option {
|
|
4
|
+
minDelay?: number;
|
|
5
|
+
text?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function waitLoading<T>(promise: Promise<T>, { minDelay, text }?: Option): Promise<T>;
|
|
8
|
+
/**
|
|
9
|
+
* @customElement dy-wait
|
|
10
|
+
*/
|
|
11
|
+
export declare class DuoyunWaitElement extends GemElement {
|
|
12
|
+
#private;
|
|
13
|
+
static instance?: DuoyunWaitElement;
|
|
14
|
+
constructor(text?: string);
|
|
15
|
+
mounted: () => () => void;
|
|
16
|
+
render: () => import("@mantou/gem").TemplateResult;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../src/elements/wait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0D,MAAM,aAAa,CAAC;AAMjG,OAAO,WAAW,CAAC;AAmBnB,UAAU,MAAM;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAc,EAAE,IAAI,EAAE,GAAE,MAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAsB3G;AAED;;GAEG;AACH,qBAEa,iBAAkB,SAAQ,UAAU;;IAC/C,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;gBAExB,IAAI,SAAK;IAWrB,OAAO,mBAOL;IAEF,MAAM,6CAEJ;CACH"}
|
package/elements/wait.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
14
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
15
|
+
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");
|
|
16
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17
|
+
};
|
|
18
|
+
var _DuoyunWaitElement_text;
|
|
19
|
+
var DuoyunWaitElement_1;
|
|
20
|
+
import { GemElement, customElement, html, adoptedStyle, css, createCSSSheet } from '@mantou/gem';
|
|
21
|
+
import { sleep, setBodyInert } from '../lib/utils';
|
|
22
|
+
import { theme } from '../lib/theme';
|
|
23
|
+
import { commonAnimationOpions, fadeIn, fadeOut } from '../lib/animations';
|
|
24
|
+
import './loading';
|
|
25
|
+
const style = createCSSSheet(css `
|
|
26
|
+
:host {
|
|
27
|
+
position: fixed;
|
|
28
|
+
z-index: 999998;
|
|
29
|
+
display: flex;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 100%;
|
|
32
|
+
left: 0;
|
|
33
|
+
top: env(titlebar-area-height, 0);
|
|
34
|
+
color: white;
|
|
35
|
+
background-color: rgba(0, 0, 0, ${theme.maskAlpha});
|
|
36
|
+
justify-content: center;
|
|
37
|
+
padding-top: 1em;
|
|
38
|
+
align-items: flex-start;
|
|
39
|
+
}
|
|
40
|
+
`);
|
|
41
|
+
export async function waitLoading(promise, { minDelay = 500, text } = {}) {
|
|
42
|
+
let ele = undefined;
|
|
43
|
+
try {
|
|
44
|
+
const token = Symbol();
|
|
45
|
+
const r = await Promise.any([sleep(16).then(() => token), promise]);
|
|
46
|
+
if (r === token) {
|
|
47
|
+
ele = new DuoyunWaitElement(text);
|
|
48
|
+
const [, result] = await Promise.all([
|
|
49
|
+
sleep(minDelay),
|
|
50
|
+
promise,
|
|
51
|
+
ele.animate(fadeIn, commonAnimationOpions).finished,
|
|
52
|
+
]);
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return r;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
if (ele) {
|
|
61
|
+
await ele.animate(fadeOut, commonAnimationOpions).finished;
|
|
62
|
+
ele === null || ele === void 0 ? void 0 : ele.remove();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @customElement dy-wait
|
|
68
|
+
*/
|
|
69
|
+
let DuoyunWaitElement = DuoyunWaitElement_1 = class DuoyunWaitElement extends GemElement {
|
|
70
|
+
constructor(text = '') {
|
|
71
|
+
super();
|
|
72
|
+
_DuoyunWaitElement_text.set(this, '');
|
|
73
|
+
this.mounted = () => {
|
|
74
|
+
DuoyunWaitElement_1.instance = this;
|
|
75
|
+
const restoreInert = setBodyInert(this);
|
|
76
|
+
return () => {
|
|
77
|
+
restoreInert();
|
|
78
|
+
DuoyunWaitElement_1.instance = undefined;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
this.render = () => {
|
|
82
|
+
return html `<dy-loading>${__classPrivateFieldGet(this, _DuoyunWaitElement_text, "f")}</dy-loading>`;
|
|
83
|
+
};
|
|
84
|
+
__classPrivateFieldSet(this, _DuoyunWaitElement_text, text, "f");
|
|
85
|
+
this.internals.role = 'alert';
|
|
86
|
+
this.internals.ariaBusy = 'true';
|
|
87
|
+
this.internals.ariaLabel = __classPrivateFieldGet(this, _DuoyunWaitElement_text, "f");
|
|
88
|
+
document.documentElement.append(this);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
_DuoyunWaitElement_text = new WeakMap();
|
|
92
|
+
DuoyunWaitElement = DuoyunWaitElement_1 = __decorate([
|
|
93
|
+
customElement('dy-wait'),
|
|
94
|
+
adoptedStyle(style)
|
|
95
|
+
], DuoyunWaitElement);
|
|
96
|
+
export { DuoyunWaitElement };
|
|
97
|
+
//# sourceMappingURL=wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/elements/wait.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,WAAW,CAAC;AAEnB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;;;;;;sCAUM,KAAK,CAAC,SAAS;;;;;CAKpD,CAAC,CAAC;AAOH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,OAAmB,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,KAAa,EAAE;IAC7F,IAAI,GAAG,GAAkC,SAAS,CAAC;IACnD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,KAAK,EAAE;YACf,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC;gBACf,OAAO;gBACP,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,QAAQ;aACpD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,CAAM,CAAC;SACf;KACF;YAAS;QACR,IAAI,GAAG,EAAE;YACP,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC;YAC3D,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,EAAE,CAAC;SACf;KACF;AACH,CAAC;AAED;;GAEG;AAGH,IAAa,iBAAiB,yBAA9B,MAAa,iBAAkB,SAAQ,UAAU;IAG/C,YAAY,IAAI,GAAG,EAAE;QACnB,KAAK,EAAE,CAAC;QAQV,kCAAQ,EAAE,EAAC;QAEX,YAAO,GAAG,GAAG,EAAE;YACb,mBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,EAAE;gBACV,YAAY,EAAE,CAAC;gBACf,mBAAiB,CAAC,QAAQ,GAAG,SAAS,CAAC;YACzC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAA,eAAe,uBAAA,IAAI,+BAAM,eAAe,CAAC;QACtD,CAAC,CAAC;QApBA,uBAAA,IAAI,2BAAS,IAAI,MAAA,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,uBAAA,IAAI,+BAAM,CAAC;QACtC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CAgBF,CAAA;;AA1BY,iBAAiB;IAF7B,aAAa,CAAC,SAAS,CAAC;IACxB,YAAY,CAAC,KAAK,CAAC;GACP,iBAAiB,CA0B7B;SA1BY,iBAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../src/lib/animations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,EAAE,wBAGnC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAAQ,EAAqC,CAAC;AACnE,eAAO,MAAM,OAAO,EAAE,QAAQ,EAAqC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { themeStore } from './theme';
|
|
2
|
+
export const commonAnimationOpions = {
|
|
3
|
+
easing: themeStore.timingFunction,
|
|
4
|
+
duration: 300,
|
|
5
|
+
};
|
|
6
|
+
export const fadeIn = [{ opacity: 0 }, { opacity: 1 }];
|
|
7
|
+
export const fadeOut = [{ opacity: 1 }, { opacity: 0 }];
|
|
8
|
+
//# sourceMappingURL=animations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animations.js","sourceRoot":"","sources":["../src/lib/animations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,MAAM,EAAE,UAAU,CAAC,cAAc;IACjC,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,OAAO,GAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC"}
|
package/lib/cache.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
max?: number;
|
|
3
|
+
maxAge?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class Cache<T = any> {
|
|
6
|
+
#private;
|
|
7
|
+
constructor({ max, maxAge }?: Options);
|
|
8
|
+
set(key: string, value: T): void;
|
|
9
|
+
get(key: string, callback?: (result: T) => void): T | undefined;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/lib/cache.ts"],"names":[],"mappings":"AAEA,UAAU,OAAO;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG;;gBAQZ,EAAE,GAAc,EAAE,MAAiB,EAAE,GAAE,OAAY;IAc/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAOzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI;CAehD"}
|
package/lib/cache.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
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 _Cache_instances, _Cache_max, _Cache_maxAge, _Cache_map, _Cache_reverseMap, _Cache_linkedList, _Cache_trim;
|
|
13
|
+
import { LinkedList } from '@mantou/gem';
|
|
14
|
+
export class Cache {
|
|
15
|
+
constructor({ max = Infinity, maxAge = Infinity } = {}) {
|
|
16
|
+
_Cache_instances.add(this);
|
|
17
|
+
_Cache_max.set(this, void 0);
|
|
18
|
+
_Cache_maxAge.set(this, void 0);
|
|
19
|
+
_Cache_map.set(this, new Map());
|
|
20
|
+
_Cache_reverseMap.set(this, new Map());
|
|
21
|
+
_Cache_linkedList.set(this, new LinkedList());
|
|
22
|
+
__classPrivateFieldSet(this, _Cache_max, max, "f");
|
|
23
|
+
__classPrivateFieldSet(this, _Cache_maxAge, maxAge, "f");
|
|
24
|
+
}
|
|
25
|
+
set(key, value) {
|
|
26
|
+
__classPrivateFieldGet(this, _Cache_linkedList, "f").add(value);
|
|
27
|
+
__classPrivateFieldGet(this, _Cache_reverseMap, "f").set(value, key);
|
|
28
|
+
__classPrivateFieldGet(this, _Cache_map, "f").set(key, { value, timestamp: Date.now() });
|
|
29
|
+
__classPrivateFieldGet(this, _Cache_instances, "m", _Cache_trim).call(this);
|
|
30
|
+
}
|
|
31
|
+
get(key, callback) {
|
|
32
|
+
const cache = __classPrivateFieldGet(this, _Cache_map, "f").get(key);
|
|
33
|
+
if (!cache)
|
|
34
|
+
return;
|
|
35
|
+
const { timestamp, value } = cache;
|
|
36
|
+
if (Date.now() - timestamp > __classPrivateFieldGet(this, _Cache_maxAge, "f")) {
|
|
37
|
+
__classPrivateFieldGet(this, _Cache_linkedList, "f").delete(value);
|
|
38
|
+
__classPrivateFieldGet(this, _Cache_reverseMap, "f").delete(value);
|
|
39
|
+
__classPrivateFieldGet(this, _Cache_map, "f").delete(key);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
__classPrivateFieldGet(this, _Cache_linkedList, "f").get();
|
|
43
|
+
__classPrivateFieldGet(this, _Cache_linkedList, "f").add(value);
|
|
44
|
+
callback === null || callback === void 0 ? void 0 : callback(value);
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_Cache_max = new WeakMap(), _Cache_maxAge = new WeakMap(), _Cache_map = new WeakMap(), _Cache_reverseMap = new WeakMap(), _Cache_linkedList = new WeakMap(), _Cache_instances = new WeakSet(), _Cache_trim = function _Cache_trim() {
|
|
49
|
+
for (let i = __classPrivateFieldGet(this, _Cache_linkedList, "f").size - __classPrivateFieldGet(this, _Cache_max, "f"); i > 0; i--) {
|
|
50
|
+
const value = __classPrivateFieldGet(this, _Cache_linkedList, "f").get();
|
|
51
|
+
const key = __classPrivateFieldGet(this, _Cache_reverseMap, "f").get(value);
|
|
52
|
+
__classPrivateFieldGet(this, _Cache_reverseMap, "f").delete(value);
|
|
53
|
+
__classPrivateFieldGet(this, _Cache_map, "f").delete(key);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=cache.js.map
|
package/lib/cache.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/lib/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,MAAM,OAAO,KAAK;IAQhB,YAAY,EAAE,GAAG,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,KAAc,EAAE;;QAP/D,6BAAa;QACb,gCAAgB;QAEhB,qBAAO,IAAI,GAAG,EAAwB,EAAC;QACvC,4BAAc,IAAI,GAAG,EAAa,EAAC;QACnC,4BAAc,IAAI,UAAU,EAAK,EAAC;QAGhC,uBAAA,IAAI,cAAQ,GAAG,MAAA,CAAC;QAChB,uBAAA,IAAI,iBAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAWD,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,uBAAA,IAAI,yBAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,uBAAA,IAAI,yBAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,uBAAA,IAAI,kBAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,uBAAA,IAAI,qCAAM,MAAV,IAAI,CAAQ,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,QAA8B;QAC7C,MAAM,KAAK,GAAG,uBAAA,IAAI,kBAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACnC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,uBAAA,IAAI,qBAAQ,EAAE;YACzC,uBAAA,IAAI,yBAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,uBAAA,IAAI,yBAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,uBAAA,IAAI,kBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO;SACR;QACD,uBAAA,IAAI,yBAAY,CAAC,GAAG,EAAE,CAAC;QACvB,uBAAA,IAAI,yBAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;;IA9BG,KAAK,IAAI,CAAC,GAAG,uBAAA,IAAI,yBAAY,CAAC,IAAI,GAAG,uBAAA,IAAI,kBAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,uBAAA,IAAI,yBAAY,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,uBAAA,IAAI,yBAAY,CAAC,GAAG,CAAC,KAAM,CAAE,CAAC;QAC1C,uBAAA,IAAI,yBAAY,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC;QAChC,uBAAA,IAAI,kBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACvB;AACH,CAAC"}
|
package/lib/color.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare type RGB = readonly [number, number, number];
|
|
2
|
+
export declare type RGBA = readonly [number, number, number, number];
|
|
3
|
+
export declare type HSL = readonly [number, number, number];
|
|
4
|
+
export declare type HSLA = readonly [number, number, number, number];
|
|
5
|
+
export declare type HSV = readonly [number, number, number];
|
|
6
|
+
export declare type HexColor = `#${string}`;
|
|
7
|
+
export declare type RGBColor = `rgb${'a' | ''}(${string})`;
|
|
8
|
+
export declare type HSLColor = `hsl${'a' | ''}(${string})`;
|
|
9
|
+
export declare const commonColors: `#${string}`[];
|
|
10
|
+
export declare function rgbToRgbColor([r, g, b, a]: RGB | RGBA): RGBColor;
|
|
11
|
+
export declare function rgbToHslColor([r, g, b, a]: RGB | RGBA): HSLColor;
|
|
12
|
+
export declare function rgbToHexColor(rgba: RGB | RGBA): HexColor;
|
|
13
|
+
export declare function randomColor(): RGB;
|
|
14
|
+
export declare function randomColor(type: 'rgba'): RGBColor;
|
|
15
|
+
export declare function randomColor(type: 'hsla'): HSLColor;
|
|
16
|
+
export declare function randomColor(type: 'hex'): HexColor;
|
|
17
|
+
export declare function isValidHexColor(str: string): str is HexColor;
|
|
18
|
+
export declare function parseHexColor(str: HexColor): RGBA;
|
|
19
|
+
/**
|
|
20
|
+
* note: ignore alpha
|
|
21
|
+
*/
|
|
22
|
+
export declare function luminance([r, g, b]: RGB | RGBA): number;
|
|
23
|
+
/**
|
|
24
|
+
* note: ignore alpha
|
|
25
|
+
*/
|
|
26
|
+
export declare function contrast(rgb1: RGB | RGBA, rgb2: RGB | RGBA): number;
|
|
27
|
+
/**
|
|
28
|
+
* note: ignore alpha
|
|
29
|
+
* edit for https://stackoverflow.com/questions/8022885/rgb-to-hsv-color-in-javascript
|
|
30
|
+
*/
|
|
31
|
+
export declare function rgbToHsl(rgb: RGB | RGBA): HSL;
|
|
32
|
+
export declare function hslToRgb([h, s, l]: HSL | HSLA): RGB;
|
|
33
|
+
export declare function rgbToHsv(rgb: RGB | RGBA): HSV;
|
|
34
|
+
export declare function hsvToRgb([h, s, v]: HSV): RGB;
|
|
35
|
+
export declare function hslToHsv([h, s, l]: HSL | HSLA): HSV;
|
|
36
|
+
export declare function hsvToHsl([h, s, v]: HSV): HSL;
|
|
37
|
+
//# sourceMappingURL=color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/lib/color.ts"],"names":[],"mappings":"AACA,oBAAY,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,oBAAY,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D,oBAAY,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,oBAAY,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D,oBAAY,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,oBAAY,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;AACpC,oBAAY,QAAQ,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC;AACnD,oBAAY,QAAQ,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC;AAGnD,eAAO,MAAM,YAAY,gBAKU,CAAC;AAEpC,wBAAgB,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAK,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,QAAQ,CAGpE;AAED,wBAAgB,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAK,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,QAAQ,CAIpE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,QAAQ,CAKxD;AAED,wBAAgB,WAAW,IAAI,GAAG,CAAC;AACnC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;AACpD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;AACpD,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;AAgBnD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,QAAQ,CAG5D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAQjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,UAM9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,UAI1D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAO7C;AAED,wBAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAInD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAM7C;AAED,wBAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAG5C;AAED,wBAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAGnD;AAED,wBAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAI5C"}
|