duoyun-ui 0.0.2 → 0.0.3
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/docs/gem-book.json +84 -57
- package/elements/action-text.d.ts +3 -2
- package/elements/action-text.d.ts.map +1 -1
- package/elements/action-text.js +6 -1
- package/elements/action-text.js.map +1 -1
- package/elements/area-chart.d.ts +2 -2
- package/elements/area-chart.d.ts.map +1 -1
- package/elements/area-chart.js +4 -2
- package/elements/area-chart.js.map +1 -1
- package/elements/avatar.d.ts +3 -3
- package/elements/avatar.d.ts.map +1 -1
- package/elements/avatar.js +3 -1
- package/elements/avatar.js.map +1 -1
- package/elements/banner.d.ts +3 -2
- package/elements/banner.d.ts.map +1 -1
- package/elements/banner.js +3 -1
- package/elements/banner.js.map +1 -1
- package/elements/bar-chart.d.ts +1 -1
- package/elements/bar-chart.d.ts.map +1 -1
- package/elements/bar-chart.js +3 -2
- package/elements/bar-chart.js.map +1 -1
- package/elements/base/chart.d.ts +4 -3
- package/elements/base/chart.d.ts.map +1 -1
- package/elements/base/chart.js +4 -2
- package/elements/base/chart.js.map +1 -1
- package/elements/base/loadable.d.ts +2 -2
- package/elements/base/loadable.d.ts.map +1 -1
- package/elements/base/loadable.js +3 -1
- package/elements/base/loadable.js.map +1 -1
- package/elements/base/resize.d.ts +1 -1
- package/elements/base/resize.d.ts.map +1 -1
- package/elements/base/resize.js +1 -1
- package/elements/base/resize.js.map +1 -1
- package/elements/base/scroll.d.ts +1 -1
- package/elements/base/scroll.d.ts.map +1 -1
- package/elements/base/scroll.js +2 -1
- package/elements/base/scroll.js.map +1 -1
- package/elements/base/visible.d.ts +2 -1
- package/elements/base/visible.d.ts.map +1 -1
- package/elements/base/visible.js +2 -1
- package/elements/base/visible.js.map +1 -1
- package/elements/breadcrumbs.d.ts +2 -2
- package/elements/breadcrumbs.d.ts.map +1 -1
- package/elements/breadcrumbs.js +3 -1
- package/elements/breadcrumbs.js.map +1 -1
- package/elements/button.d.ts +6 -4
- package/elements/button.d.ts.map +1 -1
- package/elements/button.js +54 -45
- package/elements/button.js.map +1 -1
- package/elements/calendar.d.ts +21 -0
- package/elements/calendar.d.ts.map +1 -0
- package/elements/calendar.js +231 -0
- package/elements/calendar.js.map +1 -0
- package/elements/card.d.ts +1 -1
- package/elements/card.d.ts.map +1 -1
- package/elements/card.js +3 -1
- package/elements/card.js.map +1 -1
- package/elements/cascader-pick.d.ts +3 -2
- package/elements/cascader-pick.d.ts.map +1 -1
- package/elements/cascader-pick.js +3 -1
- package/elements/cascader-pick.js.map +1 -1
- package/elements/cascader.d.ts +3 -2
- package/elements/cascader.d.ts.map +1 -1
- package/elements/cascader.js +3 -1
- package/elements/cascader.js.map +1 -1
- package/elements/chart-tooltip.d.ts +1 -1
- package/elements/chart-tooltip.d.ts.map +1 -1
- package/elements/chart-tooltip.js +4 -1
- package/elements/chart-tooltip.js.map +1 -1
- package/elements/chart-zoom.d.ts +3 -2
- package/elements/chart-zoom.d.ts.map +1 -1
- package/elements/chart-zoom.js +3 -1
- package/elements/chart-zoom.js.map +1 -1
- package/elements/checkbox.d.ts +3 -2
- package/elements/checkbox.d.ts.map +1 -1
- package/elements/checkbox.js +3 -1
- package/elements/checkbox.js.map +1 -1
- package/elements/coach-mark.d.ts +1 -1
- package/elements/coach-mark.d.ts.map +1 -1
- package/elements/coach-mark.js +4 -1
- package/elements/coach-mark.js.map +1 -1
- package/elements/code-block.d.ts +3 -2
- package/elements/code-block.d.ts.map +1 -1
- package/elements/code-block.js +3 -1
- package/elements/code-block.js.map +1 -1
- package/elements/collapse.d.ts +2 -2
- package/elements/collapse.d.ts.map +1 -1
- package/elements/collapse.js +3 -1
- package/elements/collapse.js.map +1 -1
- package/elements/color-panel.d.ts +3 -2
- package/elements/color-panel.d.ts.map +1 -1
- package/elements/color-panel.js +3 -1
- package/elements/color-panel.js.map +1 -1
- package/elements/color-pick.d.ts +3 -2
- package/elements/color-pick.d.ts.map +1 -1
- package/elements/color-pick.js +3 -1
- package/elements/color-pick.js.map +1 -1
- package/elements/compartment.d.ts +1 -1
- package/elements/compartment.d.ts.map +1 -1
- package/elements/compartment.js +3 -1
- package/elements/compartment.js.map +1 -1
- package/elements/copy.d.ts +2 -2
- package/elements/copy.d.ts.map +1 -1
- package/elements/copy.js +3 -1
- package/elements/copy.js.map +1 -1
- package/elements/date-panel.d.ts +12 -9
- package/elements/date-panel.d.ts.map +1 -1
- package/elements/date-panel.js +116 -130
- package/elements/date-panel.js.map +1 -1
- package/elements/date-pick.d.ts +8 -4
- package/elements/date-pick.d.ts.map +1 -1
- package/elements/date-pick.js +89 -7
- package/elements/date-pick.js.map +1 -1
- package/elements/date-range-panel.d.ts +5 -6
- package/elements/date-range-panel.d.ts.map +1 -1
- package/elements/date-range-panel.js +43 -68
- package/elements/date-range-panel.js.map +1 -1
- package/elements/date-range-pick.d.ts +4 -2
- package/elements/date-range-pick.d.ts.map +1 -1
- package/elements/date-range-pick.js +54 -12
- package/elements/date-range-pick.js.map +1 -1
- package/elements/divider.d.ts +2 -2
- package/elements/divider.d.ts.map +1 -1
- package/elements/divider.js +3 -1
- package/elements/divider.js.map +1 -1
- package/elements/donut-chart.d.ts +1 -1
- package/elements/donut-chart.d.ts.map +1 -1
- package/elements/donut-chart.js +3 -1
- package/elements/donut-chart.js.map +1 -1
- package/elements/drawer.d.ts.map +1 -1
- package/elements/drawer.js +3 -2
- package/elements/drawer.js.map +1 -1
- package/elements/drop-area.d.ts +3 -2
- package/elements/drop-area.d.ts.map +1 -1
- package/elements/drop-area.js +4 -2
- package/elements/drop-area.js.map +1 -1
- package/elements/empty.d.ts +2 -2
- package/elements/empty.d.ts.map +1 -1
- package/elements/empty.js +3 -1
- package/elements/empty.js.map +1 -1
- package/elements/file-pick.d.ts +3 -2
- package/elements/file-pick.d.ts.map +1 -1
- package/elements/file-pick.js +3 -1
- package/elements/file-pick.js.map +1 -1
- package/elements/form.d.ts +2 -1
- package/elements/form.d.ts.map +1 -1
- package/elements/form.js +4 -2
- package/elements/form.js.map +1 -1
- package/elements/heading.d.ts +2 -2
- package/elements/heading.d.ts.map +1 -1
- package/elements/heading.js +3 -1
- package/elements/heading.js.map +1 -1
- package/elements/help-text.d.ts +4 -4
- package/elements/help-text.d.ts.map +1 -1
- package/elements/help-text.js +9 -7
- package/elements/help-text.js.map +1 -1
- package/elements/icons.d.ts +2 -2
- package/elements/icons.d.ts.map +1 -1
- package/elements/icons.js +3 -1
- package/elements/icons.js.map +1 -1
- package/elements/image-preview.d.ts +2 -2
- package/elements/image-preview.d.ts.map +1 -1
- package/elements/image-preview.js +3 -1
- package/elements/image-preview.js.map +1 -1
- package/elements/input-capture.d.ts +2 -2
- package/elements/input-capture.d.ts.map +1 -1
- package/elements/input-capture.js +3 -1
- package/elements/input-capture.js.map +1 -1
- package/elements/input.d.ts +3 -2
- package/elements/input.d.ts.map +1 -1
- package/elements/input.js +3 -1
- package/elements/input.js.map +1 -1
- package/elements/keyboard-access.d.ts +2 -2
- package/elements/keyboard-access.d.ts.map +1 -1
- package/elements/keyboard-access.js +3 -1
- package/elements/keyboard-access.js.map +1 -1
- package/elements/legend.d.ts +2 -2
- package/elements/legend.d.ts.map +1 -1
- package/elements/legend.js +3 -1
- package/elements/legend.js.map +1 -1
- package/elements/line-chart.d.ts +1 -1
- package/elements/line-chart.d.ts.map +1 -1
- package/elements/line-chart.js +4 -2
- package/elements/line-chart.js.map +1 -1
- package/elements/link.d.ts.map +1 -1
- package/elements/link.js +2 -1
- package/elements/link.js.map +1 -1
- package/elements/list.d.ts +1 -1
- package/elements/list.d.ts.map +1 -1
- package/elements/list.js +3 -1
- package/elements/list.js.map +1 -1
- package/elements/loading.d.ts +1 -1
- package/elements/loading.d.ts.map +1 -1
- package/elements/loading.js +3 -1
- package/elements/loading.js.map +1 -1
- package/elements/map.d.ts +14 -14
- package/elements/map.d.ts.map +1 -1
- package/elements/map.js +21 -19
- package/elements/map.js.map +1 -1
- package/elements/menu.d.ts +2 -2
- package/elements/menu.d.ts.map +1 -1
- package/elements/menu.js +5 -2
- package/elements/menu.js.map +1 -1
- package/elements/meter.d.ts +1 -1
- package/elements/meter.d.ts.map +1 -1
- package/elements/meter.js +3 -1
- package/elements/meter.js.map +1 -1
- package/elements/modal.d.ts +4 -3
- package/elements/modal.d.ts.map +1 -1
- package/elements/modal.js +6 -4
- package/elements/modal.js.map +1 -1
- package/elements/more.d.ts +4 -3
- package/elements/more.d.ts.map +1 -1
- package/elements/more.js +3 -1
- package/elements/more.js.map +1 -1
- package/elements/options.d.ts +1 -1
- package/elements/options.d.ts.map +1 -1
- package/elements/options.js +3 -1
- package/elements/options.js.map +1 -1
- package/elements/page-loadbar.d.ts +2 -2
- package/elements/page-loadbar.d.ts.map +1 -1
- package/elements/page-loadbar.js +3 -1
- package/elements/page-loadbar.js.map +1 -1
- package/elements/pagination.d.ts +7 -6
- package/elements/pagination.d.ts.map +1 -1
- package/elements/pagination.js +14 -12
- package/elements/pagination.js.map +1 -1
- package/elements/paragraph.d.ts +1 -1
- package/elements/paragraph.d.ts.map +1 -1
- package/elements/paragraph.js +3 -1
- package/elements/paragraph.js.map +1 -1
- package/elements/pick.d.ts +2 -1
- package/elements/pick.d.ts.map +1 -1
- package/elements/pick.js +3 -1
- package/elements/pick.js.map +1 -1
- package/elements/placeholder.d.ts +1 -1
- package/elements/placeholder.d.ts.map +1 -1
- package/elements/placeholder.js +3 -1
- package/elements/placeholder.js.map +1 -1
- package/elements/popover.d.ts +2 -1
- package/elements/popover.d.ts.map +1 -1
- package/elements/popover.js +3 -1
- package/elements/popover.js.map +1 -1
- package/elements/progress.js +1 -1
- package/elements/progress.js.map +1 -1
- package/elements/radio.d.ts +2 -1
- package/elements/radio.d.ts.map +1 -1
- package/elements/radio.js +3 -1
- package/elements/radio.js.map +1 -1
- package/elements/rating.d.ts +3 -2
- package/elements/rating.d.ts.map +1 -1
- package/elements/rating.js +3 -1
- package/elements/rating.js.map +1 -1
- package/elements/scatter-chart.d.ts +1 -1
- package/elements/scatter-chart.d.ts.map +1 -1
- package/elements/scatter-chart.js +3 -1
- package/elements/scatter-chart.js.map +1 -1
- package/elements/select.d.ts +2 -1
- package/elements/select.d.ts.map +1 -1
- package/elements/select.js +3 -1
- package/elements/select.js.map +1 -1
- package/elements/shortcut-record.d.ts +3 -2
- package/elements/shortcut-record.d.ts.map +1 -1
- package/elements/shortcut-record.js +3 -1
- package/elements/shortcut-record.js.map +1 -1
- package/elements/side-navigation.d.ts +2 -1
- package/elements/side-navigation.d.ts.map +1 -1
- package/elements/side-navigation.js +3 -1
- package/elements/side-navigation.js.map +1 -1
- package/elements/slider.d.ts +3 -2
- package/elements/slider.d.ts.map +1 -1
- package/elements/slider.js +3 -1
- package/elements/slider.js.map +1 -1
- package/elements/space.d.ts +1 -1
- package/elements/space.d.ts.map +1 -1
- package/elements/space.js +3 -1
- package/elements/space.js.map +1 -1
- package/elements/statistic.d.ts +1 -1
- package/elements/statistic.d.ts.map +1 -1
- package/elements/statistic.js +3 -1
- package/elements/statistic.js.map +1 -1
- package/elements/status-light.d.ts +2 -2
- package/elements/status-light.d.ts.map +1 -1
- package/elements/status-light.js +3 -1
- package/elements/status-light.js.map +1 -1
- package/elements/switch.d.ts +3 -2
- package/elements/switch.d.ts.map +1 -1
- package/elements/switch.js +3 -1
- package/elements/switch.js.map +1 -1
- package/elements/table.d.ts +2 -1
- package/elements/table.d.ts.map +1 -1
- package/elements/table.js +3 -1
- package/elements/table.js.map +1 -1
- package/elements/tabs.d.ts +2 -1
- package/elements/tabs.d.ts.map +1 -1
- package/elements/tabs.js +3 -1
- package/elements/tabs.js.map +1 -1
- package/elements/tag.d.ts +3 -2
- package/elements/tag.d.ts.map +1 -1
- package/elements/tag.js +3 -1
- package/elements/tag.js.map +1 -1
- package/elements/time-panel.d.ts +12 -0
- package/elements/time-panel.d.ts.map +1 -0
- package/elements/time-panel.js +108 -0
- package/elements/time-panel.js.map +1 -0
- package/elements/timeline.d.ts +1 -1
- package/elements/timeline.d.ts.map +1 -1
- package/elements/timeline.js +3 -1
- package/elements/timeline.js.map +1 -1
- package/elements/toast.d.ts +1 -1
- package/elements/toast.d.ts.map +1 -1
- package/elements/toast.js +3 -1
- package/elements/toast.js.map +1 -1
- package/elements/tooltip.js +1 -1
- package/elements/tooltip.js.map +1 -1
- package/elements/tree.d.ts +5 -5
- package/elements/tree.d.ts.map +1 -1
- package/elements/tree.js +6 -5
- package/elements/tree.js.map +1 -1
- package/elements/wait.d.ts +2 -2
- package/elements/wait.d.ts.map +1 -1
- package/elements/wait.js +3 -1
- package/elements/wait.js.map +1 -1
- package/lib/hotkeys.d.ts +3 -0
- package/lib/hotkeys.d.ts.map +1 -1
- package/lib/hotkeys.js +7 -2
- package/lib/hotkeys.js.map +1 -1
- package/lib/theme.d.ts +1 -1
- package/lib/theme.d.ts.map +1 -1
- package/lib/theme.js.map +1 -1
- package/lib/time.d.ts.map +1 -1
- package/lib/time.js +2 -1
- package/lib/time.js.map +1 -1
- package/package.json +2 -2
- package/docs/104.bundle.js +0 -19
- package/docs/283.bundle.js +0 -47
- package/docs/354.bundle.js +0 -1133
- package/docs/354.bundle.js.LICENSE.txt +0 -13
- package/docs/587.bundle.js +0 -26
- package/docs/810.bundle.js +0 -1
- package/docs/index.html +0 -1
- package/docs/main.bundle.js +0 -1
- package/docs/robots.txt +0 -2
- package/docs/service-worker.js +0 -1
- package/docs/workbox-62d1f9d5.js +0 -1
package/elements/date-panel.js
CHANGED
|
@@ -9,93 +9,76 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
var _DuoyunDatePanelElement_instances, _DuoyunDatePanelElement_currentD_get, _DuoyunDatePanelElement_dates, _DuoyunDatePanelElement_increaseView, _DuoyunDatePanelElement_isHighlight, _DuoyunDatePanelElement_initState, _DuoyunDatePanelElement_onSubmit;
|
|
19
|
-
import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, emitter, classMap, } from '@mantou/gem';
|
|
12
|
+
var _DuoyunDatePanelElement_instances, _DuoyunDatePanelElement_currentPosition_get, _DuoyunDatePanelElement_highlights_get, _DuoyunDatePanelElement_increaseView, _DuoyunDatePanelElement_initState, _DuoyunDatePanelElement_onChange, _DuoyunDatePanelElement_onTimeChange;
|
|
13
|
+
import { adoptedStyle, customElement, emitter, globalemitter, property, boolattribute, } from '@mantou/gem/lib/decorators';
|
|
14
|
+
import { GemElement, html } from '@mantou/gem/lib/element';
|
|
15
|
+
import { createCSSSheet, css } from '@mantou/gem/lib/utils';
|
|
16
|
+
import { isNotNullish } from '../lib/types';
|
|
20
17
|
import { theme } from '../lib/theme';
|
|
21
18
|
import { Time } from '../lib/time';
|
|
22
19
|
import { icons } from '../lib/icons';
|
|
20
|
+
import { commonHandle } from '../lib/hotkeys';
|
|
23
21
|
import '@mantou/gem/elements/use';
|
|
22
|
+
import './calendar';
|
|
23
|
+
import './divider';
|
|
24
|
+
import './time-panel';
|
|
24
25
|
const style = createCSSSheet(css `
|
|
25
26
|
:host {
|
|
26
27
|
font-size: 0.875em;
|
|
27
|
-
display:
|
|
28
|
-
gap: 1px 0;
|
|
29
|
-
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
28
|
+
display: flex;
|
|
30
29
|
border: 1px solid ${theme.borderColor};
|
|
31
30
|
border-radius: ${theme.normalRound};
|
|
31
|
+
gap: 0.5em;
|
|
32
|
+
}
|
|
33
|
+
.datepanel {
|
|
34
|
+
width: 0;
|
|
35
|
+
flex-grow: 20;
|
|
32
36
|
}
|
|
33
37
|
.head {
|
|
34
|
-
|
|
38
|
+
aspect-ratio: 7 / 1;
|
|
35
39
|
display: flex;
|
|
36
40
|
align-items: center;
|
|
37
41
|
justify-content: center;
|
|
38
|
-
padding: 0.5em 0.3em;
|
|
39
42
|
}
|
|
40
43
|
.current {
|
|
41
44
|
flex-grow: 1;
|
|
42
45
|
text-align: center;
|
|
43
46
|
}
|
|
44
|
-
|
|
47
|
+
.button {
|
|
45
48
|
max-width: 10%;
|
|
46
49
|
}
|
|
47
|
-
.
|
|
48
|
-
.weekday {
|
|
49
|
-
aspect-ratio: 1 / 1;
|
|
50
|
-
display: flex;
|
|
51
|
-
align-items: center;
|
|
52
|
-
justify-content: center;
|
|
53
|
-
}
|
|
54
|
-
.weekday {
|
|
55
|
-
border-block-end: 1px solid ${theme.lightBackgroundColor};
|
|
56
|
-
}
|
|
57
|
-
.other {
|
|
58
|
-
opacity: 0.2;
|
|
59
|
-
}
|
|
60
|
-
:where(.day, gem-use):where(:hover) {
|
|
50
|
+
.button:hover {
|
|
61
51
|
background-color: ${theme.hoverBackgroundColor};
|
|
62
52
|
}
|
|
63
|
-
.
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
.today::before,
|
|
67
|
-
.today::after {
|
|
68
|
-
content: '';
|
|
69
|
-
position: absolute;
|
|
70
|
-
border-radius: inherit;
|
|
71
|
-
border: 1px solid ${theme.backgroundColor};
|
|
53
|
+
.calendar {
|
|
54
|
+
gap: 3px 1px;
|
|
72
55
|
}
|
|
73
|
-
.
|
|
74
|
-
|
|
56
|
+
.separate {
|
|
57
|
+
color: ${theme.lightBackgroundColor};
|
|
58
|
+
margin-inline: 0.5em;
|
|
75
59
|
}
|
|
76
|
-
.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
.highlight {
|
|
82
|
-
background-color: ${theme.primaryColor};
|
|
83
|
-
color: ${theme.backgroundColor};
|
|
60
|
+
.timepanelwrap {
|
|
61
|
+
width: 0;
|
|
62
|
+
flex-grow: 10;
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-direction: column;
|
|
84
65
|
}
|
|
85
|
-
.
|
|
86
|
-
|
|
87
|
-
|
|
66
|
+
.time {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
height: 3em;
|
|
88
71
|
}
|
|
89
|
-
.
|
|
90
|
-
|
|
91
|
-
|
|
72
|
+
.timepanel {
|
|
73
|
+
height: 0;
|
|
74
|
+
flex-grow: 1;
|
|
92
75
|
}
|
|
93
76
|
`);
|
|
94
77
|
/**
|
|
95
78
|
* @customElement dy-date-panel
|
|
79
|
+
* @attr time
|
|
96
80
|
* @fires change
|
|
97
|
-
* @fires
|
|
98
|
-
* @fires enterdate
|
|
81
|
+
* @fires datehover
|
|
99
82
|
*/
|
|
100
83
|
let DuoyunDatePanelElement = class DuoyunDatePanelElement extends GemElement {
|
|
101
84
|
constructor() {
|
|
@@ -105,95 +88,107 @@ let DuoyunDatePanelElement = class DuoyunDatePanelElement extends GemElement {
|
|
|
105
88
|
year: 0,
|
|
106
89
|
month: 0,
|
|
107
90
|
};
|
|
108
|
-
_DuoyunDatePanelElement_dates.set(this, void 0);
|
|
109
91
|
_DuoyunDatePanelElement_increaseView.set(this, (number) => {
|
|
110
|
-
const date = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a",
|
|
111
|
-
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, date);
|
|
112
|
-
this.changeView(date.valueOf());
|
|
113
|
-
});
|
|
114
|
-
_DuoyunDatePanelElement_isHighlight.set(this, (date) => {
|
|
115
|
-
var _a;
|
|
116
|
-
const t = date.valueOf();
|
|
117
|
-
return !!((_a = this.highlights) === null || _a === void 0 ? void 0 : _a.some(([start, stop]) => t >= start && t <= stop));
|
|
92
|
+
const date = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentPosition_get).add(number, 'M');
|
|
93
|
+
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, date.valueOf());
|
|
118
94
|
});
|
|
119
95
|
_DuoyunDatePanelElement_initState.set(this, (value) => {
|
|
120
96
|
const d = new Time(value);
|
|
121
97
|
this.setState({ year: d.getFullYear(), month: d.getMonth() });
|
|
122
98
|
});
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
99
|
+
_DuoyunDatePanelElement_onChange.set(this, (evt) => {
|
|
100
|
+
evt.stopPropagation();
|
|
101
|
+
const v = new Time(evt.detail);
|
|
102
|
+
if (this.time) {
|
|
103
|
+
const t = new Time(isNotNullish(this.value) ? this.value : new Time().startOf('d'));
|
|
104
|
+
v.setHours(t.getHours());
|
|
105
|
+
v.setMinutes(t.getMinutes());
|
|
106
|
+
v.setSeconds(t.getSeconds());
|
|
126
107
|
}
|
|
127
|
-
this.
|
|
108
|
+
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, v.valueOf());
|
|
109
|
+
this.change(v.valueOf());
|
|
110
|
+
});
|
|
111
|
+
_DuoyunDatePanelElement_onTimeChange.set(this, (evt) => {
|
|
112
|
+
evt.stopPropagation();
|
|
113
|
+
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, evt.detail);
|
|
114
|
+
this.change(evt.detail);
|
|
128
115
|
});
|
|
129
116
|
this.willMount = () => {
|
|
130
|
-
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, this.value
|
|
131
|
-
this.memo(() => {
|
|
132
|
-
const start = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).startOf('M');
|
|
133
|
-
const startDay = start.getDay();
|
|
134
|
-
const stop = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).endOf('M');
|
|
135
|
-
const stopDay = stop.getDay();
|
|
136
|
-
const dates = [];
|
|
137
|
-
for (let i = 0; i < startDay; i++) {
|
|
138
|
-
dates.push({ date: new Time(start).subtract(startDay - i, 'd'), isCurrentMonth: false });
|
|
139
|
-
}
|
|
140
|
-
let s = start;
|
|
141
|
-
while (s.valueOf() < stop.valueOf()) {
|
|
142
|
-
dates.push({ date: new Time(s), isCurrentMonth: true });
|
|
143
|
-
s = new Time(s).add(1, 'd');
|
|
144
|
-
}
|
|
145
|
-
for (let i = 1; i < 7 - stopDay; i++) {
|
|
146
|
-
dates.push({ date: new Time(stop).add(i, 'd'), isCurrentMonth: false });
|
|
147
|
-
}
|
|
148
|
-
__classPrivateFieldSet(this, _DuoyunDatePanelElement_dates, dates, "f");
|
|
149
|
-
}, () => [this.state.year, this.state.month]);
|
|
117
|
+
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, isNotNullish(this.value) ? this.value : this.initValue || Time.now());
|
|
150
118
|
};
|
|
151
119
|
this.mounted = () => {
|
|
152
120
|
this.effect(() => {
|
|
153
|
-
if (this.
|
|
154
|
-
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, this.
|
|
155
|
-
|
|
156
|
-
}, () => { var _a; return [(_a = this.initDate) === null || _a === void 0 ? void 0 : _a.startOf('M').valueOf()]; });
|
|
121
|
+
if (isNotNullish(this.initValue))
|
|
122
|
+
__classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, this.initValue);
|
|
123
|
+
}, () => [this.initValue]);
|
|
157
124
|
};
|
|
158
125
|
this.render = () => {
|
|
159
126
|
return html `
|
|
160
|
-
<div class="
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
127
|
+
<div class="datepanel">
|
|
128
|
+
<div class="head">
|
|
129
|
+
<gem-use
|
|
130
|
+
class="button"
|
|
131
|
+
tabindex="0"
|
|
132
|
+
role="button"
|
|
133
|
+
@keydown=${commonHandle}
|
|
134
|
+
@click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_increaseView, "f").call(this, -1)}
|
|
135
|
+
.element=${icons.left}
|
|
136
|
+
></gem-use>
|
|
137
|
+
<div class="current">${__classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentPosition_get).format({ year: 'numeric', month: 'long' })}</div>
|
|
138
|
+
<gem-use
|
|
139
|
+
class="button"
|
|
140
|
+
tabindex="0"
|
|
141
|
+
role="button"
|
|
142
|
+
@keydown=${commonHandle}
|
|
143
|
+
@click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_increaseView, "f").call(this, 1)}
|
|
144
|
+
.element=${icons.right}
|
|
145
|
+
></gem-use>
|
|
146
|
+
</div>
|
|
147
|
+
<dy-calendar
|
|
148
|
+
class="calendar"
|
|
149
|
+
borderless
|
|
150
|
+
today
|
|
151
|
+
.position=${__classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentPosition_get).valueOf()}
|
|
152
|
+
.highlights=${__classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_highlights_get)}
|
|
153
|
+
@datehover=${({ detail }) => this.datehover(detail)}
|
|
154
|
+
@dateclick=${__classPrivateFieldGet(this, _DuoyunDatePanelElement_onChange, "f")}
|
|
155
|
+
></dy-calendar>
|
|
164
156
|
</div>
|
|
165
|
-
${
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
class
|
|
171
|
-
|
|
172
|
-
day: true,
|
|
173
|
-
check: !!this.value && date.isSome(this.value, 'd'),
|
|
174
|
-
today: isCurrentMonth && date.isSome(new Time(), 'd'),
|
|
175
|
-
start: !!this.highlights && this.highlights.some(([d]) => date.isSome(d, 'd')),
|
|
176
|
-
stop: !!this.highlights && this.highlights.some((ds) => date.isSome(ds[ds.length - 1], 'd')),
|
|
177
|
-
highlight: __classPrivateFieldGet(this, _DuoyunDatePanelElement_isHighlight, "f").call(this, date),
|
|
178
|
-
}
|
|
179
|
-
: {
|
|
180
|
-
day: true,
|
|
181
|
-
other: true,
|
|
182
|
-
})}
|
|
183
|
-
@click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_onSubmit, "f").call(this, date, isCurrentMonth)}
|
|
184
|
-
@mouseover=${() => this.enterdate(date.valueOf())}
|
|
185
|
-
>
|
|
186
|
-
${date.getDate()}
|
|
157
|
+
${this.time
|
|
158
|
+
? html `
|
|
159
|
+
<dy-divider class="separate" orientation="vertical"></dy-divider>
|
|
160
|
+
<div class="timepanelwrap">
|
|
161
|
+
<div class="time">${isNotNullish(this.value) ? new Time(this.value).format('HH:mm:ss') : ''}</div>
|
|
162
|
+
<dy-divider class="separate"></dy-divider>
|
|
163
|
+
<dy-time-panel class="timepanel" .value=${this.value} @change=${__classPrivateFieldGet(this, _DuoyunDatePanelElement_onTimeChange, "f")}></dy-time-panel>
|
|
187
164
|
</div>
|
|
188
|
-
`
|
|
165
|
+
`
|
|
166
|
+
: ''}
|
|
189
167
|
`;
|
|
190
168
|
};
|
|
191
169
|
this.internals.role = 'widget';
|
|
192
170
|
}
|
|
193
171
|
};
|
|
194
|
-
|
|
172
|
+
_DuoyunDatePanelElement_increaseView = new WeakMap(), _DuoyunDatePanelElement_initState = new WeakMap(), _DuoyunDatePanelElement_onChange = new WeakMap(), _DuoyunDatePanelElement_onTimeChange = new WeakMap(), _DuoyunDatePanelElement_instances = new WeakSet(), _DuoyunDatePanelElement_currentPosition_get = function _DuoyunDatePanelElement_currentPosition_get() {
|
|
195
173
|
return new Time(`${this.state.year}-${String(this.state.month + 1).padStart(2, '0')}`);
|
|
174
|
+
}, _DuoyunDatePanelElement_highlights_get = function _DuoyunDatePanelElement_highlights_get() {
|
|
175
|
+
const highlights = [...(this.highlights || [])];
|
|
176
|
+
const value = this.value;
|
|
177
|
+
if (isNotNullish(value) && !highlights.some(([start, stop]) => value >= start && value <= stop)) {
|
|
178
|
+
const t = new Time(value);
|
|
179
|
+
highlights.push([t.startOf('d').valueOf(), t.endOf('d').valueOf()]);
|
|
180
|
+
}
|
|
181
|
+
return highlights;
|
|
196
182
|
};
|
|
183
|
+
__decorate([
|
|
184
|
+
boolattribute
|
|
185
|
+
], DuoyunDatePanelElement.prototype, "time", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
globalemitter
|
|
188
|
+
], DuoyunDatePanelElement.prototype, "change", void 0);
|
|
189
|
+
__decorate([
|
|
190
|
+
emitter
|
|
191
|
+
], DuoyunDatePanelElement.prototype, "datehover", void 0);
|
|
197
192
|
__decorate([
|
|
198
193
|
property
|
|
199
194
|
], DuoyunDatePanelElement.prototype, "value", void 0);
|
|
@@ -202,16 +197,7 @@ __decorate([
|
|
|
202
197
|
], DuoyunDatePanelElement.prototype, "highlights", void 0);
|
|
203
198
|
__decorate([
|
|
204
199
|
property
|
|
205
|
-
], DuoyunDatePanelElement.prototype, "
|
|
206
|
-
__decorate([
|
|
207
|
-
emitter
|
|
208
|
-
], DuoyunDatePanelElement.prototype, "change", void 0);
|
|
209
|
-
__decorate([
|
|
210
|
-
emitter
|
|
211
|
-
], DuoyunDatePanelElement.prototype, "changeView", void 0);
|
|
212
|
-
__decorate([
|
|
213
|
-
emitter
|
|
214
|
-
], DuoyunDatePanelElement.prototype, "enterdate", void 0);
|
|
200
|
+
], DuoyunDatePanelElement.prototype, "initValue", void 0);
|
|
215
201
|
DuoyunDatePanelElement = __decorate([
|
|
216
202
|
customElement('dy-date-panel'),
|
|
217
203
|
adoptedStyle(style)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-panel.js","sourceRoot":"","sources":["../src/elements/date-panel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"date-panel.js","sourceRoot":"","sources":["../src/elements/date-panel.ts"],"names":[],"mappings":"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"}
|
package/elements/date-pick.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Emitter } from '@mantou/gem/lib/decorators';
|
|
2
|
+
import { GemElement, TemplateResult } from '@mantou/gem/lib/element';
|
|
3
3
|
import '@mantou/gem/elements/use';
|
|
4
4
|
import './date-panel';
|
|
5
|
+
import './button';
|
|
5
6
|
export interface Option {
|
|
6
7
|
label: string | TemplateResult;
|
|
7
8
|
value?: any;
|
|
@@ -12,10 +13,13 @@ export interface Option {
|
|
|
12
13
|
export declare class DuoyunDatePickElement extends GemElement {
|
|
13
14
|
#private;
|
|
14
15
|
placeholder: string;
|
|
16
|
+
time: boolean;
|
|
17
|
+
clearable: boolean;
|
|
15
18
|
disabled: boolean;
|
|
16
19
|
active: boolean;
|
|
17
|
-
value?:
|
|
18
|
-
change: Emitter<
|
|
20
|
+
value?: number;
|
|
21
|
+
change: Emitter<number>;
|
|
22
|
+
clear: Emitter;
|
|
19
23
|
constructor();
|
|
20
24
|
mounted: () => () => false | void;
|
|
21
25
|
render: () => TemplateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-pick.d.ts","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"date-pick.d.ts","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EAIR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAc3E,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,CAAC;AAoDlB,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,qBAGa,qBAAsB,SAAQ,UAAU;;IACxC,WAAW,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAE1B,MAAM,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;;IA8ExB,OAAO,2BAEL;IAEF,MAAM,uBAQJ;CACH"}
|
package/elements/date-pick.js
CHANGED
|
@@ -9,14 +9,20 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _DuoyunDatePickElement_onOpen;
|
|
13
|
-
import {
|
|
12
|
+
var _DuoyunDatePickElement_instances, _DuoyunDatePickElement_value_get, _DuoyunDatePickElement_valueString_get, _DuoyunDatePickElement_onSubmit, _DuoyunDatePickElement_onOpen, _DuoyunDatePickElement_onClear;
|
|
13
|
+
import { connectStore, adoptedStyle, customElement, attribute, emitter, globalemitter, property, boolattribute, state, } from '@mantou/gem/lib/decorators';
|
|
14
|
+
import { GemElement, html } from '@mantou/gem/lib/element';
|
|
15
|
+
import { createCSSSheet, css, classMap } from '@mantou/gem/lib/utils';
|
|
16
|
+
import { Time } from '../lib/time';
|
|
14
17
|
import { theme } from '../lib/theme';
|
|
15
18
|
import { icons } from '../lib/icons';
|
|
19
|
+
import { locale } from '../lib/locale';
|
|
20
|
+
import { isNotNullish } from '../lib/types';
|
|
16
21
|
import { commonHandle } from '../lib/hotkeys';
|
|
17
22
|
import { ContextMenu } from './menu';
|
|
18
23
|
import '@mantou/gem/elements/use';
|
|
19
24
|
import './date-panel';
|
|
25
|
+
import './button';
|
|
20
26
|
const style = createCSSSheet(css `
|
|
21
27
|
:host {
|
|
22
28
|
cursor: pointer;
|
|
@@ -50,6 +56,20 @@ const style = createCSSSheet(css `
|
|
|
50
56
|
}
|
|
51
57
|
gem-use {
|
|
52
58
|
width: 1.2em;
|
|
59
|
+
color: ${theme.borderColor};
|
|
60
|
+
}
|
|
61
|
+
:host(:where(:hover, :--active, [data-active])) gem-use {
|
|
62
|
+
color: ${theme.textColor};
|
|
63
|
+
}
|
|
64
|
+
.icon {
|
|
65
|
+
display: flex;
|
|
66
|
+
}
|
|
67
|
+
.close,
|
|
68
|
+
.clearable:hover .date {
|
|
69
|
+
display: none;
|
|
70
|
+
}
|
|
71
|
+
.clearable:hover .close {
|
|
72
|
+
display: inline-flex;
|
|
53
73
|
}
|
|
54
74
|
`);
|
|
55
75
|
/**
|
|
@@ -58,22 +78,71 @@ const style = createCSSSheet(css `
|
|
|
58
78
|
let DuoyunDatePickElement = class DuoyunDatePickElement extends GemElement {
|
|
59
79
|
constructor() {
|
|
60
80
|
super();
|
|
81
|
+
_DuoyunDatePickElement_instances.add(this);
|
|
82
|
+
_DuoyunDatePickElement_onSubmit.set(this, ({ detail }) => {
|
|
83
|
+
this.change(detail);
|
|
84
|
+
ContextMenu.close();
|
|
85
|
+
});
|
|
61
86
|
_DuoyunDatePickElement_onOpen.set(this, () => {
|
|
62
87
|
if (this.disabled)
|
|
63
88
|
return;
|
|
64
|
-
|
|
89
|
+
let v = undefined;
|
|
90
|
+
const onChange = ({ detail, target }) => {
|
|
91
|
+
const panel = target;
|
|
92
|
+
panel.highlights = [];
|
|
93
|
+
panel.value = detail;
|
|
94
|
+
const root = panel.getRootNode();
|
|
95
|
+
const button = root.querySelector('dy-button');
|
|
96
|
+
button.disabled = false;
|
|
97
|
+
v = detail;
|
|
98
|
+
};
|
|
99
|
+
const onSubmit = () => {
|
|
100
|
+
if (isNotNullish(v)) {
|
|
101
|
+
this.change(v);
|
|
102
|
+
ContextMenu.close();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
ContextMenu.open(html `
|
|
106
|
+
<dy-date-panel
|
|
107
|
+
style="border: none;"
|
|
108
|
+
.highlights=${__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get) ? [[__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get), __classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get)]] : undefined}
|
|
109
|
+
.value=${__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get)}
|
|
110
|
+
?time=${this.time}
|
|
111
|
+
@change=${this.time ? onChange : __classPrivateFieldGet(this, _DuoyunDatePickElement_onSubmit, "f")}
|
|
112
|
+
></dy-date-panel>
|
|
113
|
+
${this.time
|
|
114
|
+
? html `
|
|
115
|
+
<style>
|
|
116
|
+
.footer {
|
|
117
|
+
margin-block-start: 2em;
|
|
118
|
+
display: flex;
|
|
119
|
+
justify-content: flex-end;
|
|
120
|
+
}
|
|
121
|
+
</style>
|
|
122
|
+
<div class="footer">
|
|
123
|
+
<dy-button disabled @click=${onSubmit} small>${locale.ok}</dy-button>
|
|
124
|
+
</div>
|
|
125
|
+
`
|
|
126
|
+
: ''}
|
|
127
|
+
`, {
|
|
65
128
|
activeElement: this,
|
|
129
|
+
width: this.time ? '30em' : undefined,
|
|
66
130
|
});
|
|
67
131
|
});
|
|
132
|
+
_DuoyunDatePickElement_onClear.set(this, (e) => {
|
|
133
|
+
e.stopPropagation();
|
|
134
|
+
this.clear(null);
|
|
135
|
+
});
|
|
68
136
|
this.mounted = () => {
|
|
69
137
|
return () => this.active && ContextMenu.close();
|
|
70
138
|
};
|
|
71
139
|
this.render = () => {
|
|
72
140
|
return html `
|
|
73
|
-
<div class=${classMap({ value: true, placeholder: !this
|
|
74
|
-
|
|
141
|
+
<div class=${classMap({ value: true, placeholder: !__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get) })}>${__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_valueString_get) || this.placeholder}</div>
|
|
142
|
+
<div class=${classMap({ icon: true, clearable: this.clearable })}>
|
|
143
|
+
<gem-use class="date" .element=${icons.date}></gem-use>
|
|
144
|
+
<gem-use @click=${__classPrivateFieldGet(this, _DuoyunDatePickElement_onClear, "f")} class="close" .element=${icons.close}></gem-use>
|
|
75
145
|
</div>
|
|
76
|
-
<gem-use .element=${icons.date}></gem-use>
|
|
77
146
|
`;
|
|
78
147
|
};
|
|
79
148
|
this.addEventListener('click', __classPrivateFieldGet(this, _DuoyunDatePickElement_onOpen, "f"));
|
|
@@ -82,10 +151,20 @@ let DuoyunDatePickElement = class DuoyunDatePickElement extends GemElement {
|
|
|
82
151
|
this.internals.role = 'combobox';
|
|
83
152
|
}
|
|
84
153
|
};
|
|
85
|
-
_DuoyunDatePickElement_onOpen = new WeakMap()
|
|
154
|
+
_DuoyunDatePickElement_onSubmit = new WeakMap(), _DuoyunDatePickElement_onOpen = new WeakMap(), _DuoyunDatePickElement_onClear = new WeakMap(), _DuoyunDatePickElement_instances = new WeakSet(), _DuoyunDatePickElement_value_get = function _DuoyunDatePickElement_value_get() {
|
|
155
|
+
return isNotNullish(this.value) ? this.value : undefined;
|
|
156
|
+
}, _DuoyunDatePickElement_valueString_get = function _DuoyunDatePickElement_valueString_get() {
|
|
157
|
+
return __classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get) && new Time(__classPrivateFieldGet(this, _DuoyunDatePickElement_instances, "a", _DuoyunDatePickElement_value_get)).format(this.time ? undefined : 'YYYY-MM-DD');
|
|
158
|
+
};
|
|
86
159
|
__decorate([
|
|
87
160
|
attribute
|
|
88
161
|
], DuoyunDatePickElement.prototype, "placeholder", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
boolattribute
|
|
164
|
+
], DuoyunDatePickElement.prototype, "time", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
boolattribute
|
|
167
|
+
], DuoyunDatePickElement.prototype, "clearable", void 0);
|
|
89
168
|
__decorate([
|
|
90
169
|
boolattribute
|
|
91
170
|
], DuoyunDatePickElement.prototype, "disabled", void 0);
|
|
@@ -98,6 +177,9 @@ __decorate([
|
|
|
98
177
|
__decorate([
|
|
99
178
|
globalemitter
|
|
100
179
|
], DuoyunDatePickElement.prototype, "change", void 0);
|
|
180
|
+
__decorate([
|
|
181
|
+
emitter
|
|
182
|
+
], DuoyunDatePickElement.prototype, "clear", void 0);
|
|
101
183
|
DuoyunDatePickElement = __decorate([
|
|
102
184
|
customElement('dy-date-pick'),
|
|
103
185
|
adoptedStyle(style),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-pick.js","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"date-pick.js","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,OAAO,EACP,aAAa,EAEb,QAAQ,EACR,aAAa,EACb,KAAK,GACN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAkB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,CAAC;AAElB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;wBAKR,KAAK,CAAC,WAAW;qBACpB,KAAK,CAAC,WAAW;;;;;;;;;wBASd,KAAK,CAAC,oBAAoB;;;;;kBAKhC,KAAK,CAAC,aAAa;;;;;;;;;aASxB,KAAK,CAAC,aAAa;;;;aAInB,KAAK,CAAC,WAAW;;;aAGjB,KAAK,CAAC,SAAS;;;;;;;;;;;;CAY3B,CAAC,CAAC;AAOH;;GAEG;AAIH,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,UAAU;IAmBnD;QACE,KAAK,EAAE,CAAC;;QAOV,0CAAY,CAAC,EAAE,MAAM,EAAuB,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpB,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,EAAC;QAEF,wCAAU,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,GAAuB,SAAS,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuB,EAAE,EAAE;gBAC3D,MAAM,KAAK,GAAG,MAAgC,CAAC;gBAC/C,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAgB,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAwB,CAAC;gBACtE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC,GAAG,MAAM,CAAC;YACb,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACf,WAAW,CAAC,KAAK,EAAE,CAAC;iBACrB;YACH,CAAC,CAAC;YACF,WAAW,CAAC,IAAI,CACd,IAAI,CAAA;;;wBAGc,uBAAA,IAAI,0EAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAA,IAAI,0EAAO,EAAE,uBAAA,IAAI,0EAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;mBAC3D,uBAAA,IAAI,0EAAO;kBACZ,IAAI,CAAC,IAAI;oBACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAA,IAAI,uCAAU;;UAE/C,IAAI,CAAC,IAAI;gBACT,CAAC,CAAC,IAAI,CAAA;;;;;;;;;6CAS6B,QAAQ,UAAU,MAAM,CAAC,EAAE;;aAE3D;gBACH,CAAC,CAAC,EAAE;OACP,EACD;gBACE,aAAa,EAAE,IAAI;gBACnB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACtC,CACF,CAAC;QACJ,CAAC,EAAC;QAEF,yCAAW,CAAC,CAAQ,EAAE,EAAE;YACtB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,EAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACb,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAA;mBACI,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,uBAAA,IAAI,0EAAO,EAAE,CAAC,IAAI,uBAAA,IAAI,gFAAa,IAAI,IAAI,CAAC,WAAW;mBAC7F,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;yCAC7B,KAAK,CAAC,IAAI;0BACzB,uBAAA,IAAI,sCAAS,2BAA2B,KAAK,CAAC,KAAK;;KAExE,CAAC;QACJ,CAAC,CAAC;QA9EA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,qCAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;IACnC,CAAC;CA2EF,CAAA;;IAxFG,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;IAGC,OAAO,uBAAA,IAAI,0EAAO,IAAI,IAAI,IAAI,CAAC,uBAAA,IAAI,0EAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAC3F,CAAC;AAhBU;IAAV,SAAS;0DAAqB;AAChB;IAAd,aAAa;mDAAe;AACd;IAAd,aAAa;wDAAoB;AACnB;IAAd,aAAa;uDAAmB;AAE1B;IAAN,KAAK;qDAAiB;AACb;IAAT,QAAQ;oDAAgB;AACV;IAAd,aAAa;qDAAyB;AAC9B;IAAR,OAAO;oDAAgB;AATb,qBAAqB;IAHjC,aAAa,CAAC,cAAc,CAAC;IAC7B,YAAY,CAAC,KAAK,CAAC;IACnB,YAAY,CAAC,KAAK,CAAC;GACP,qBAAqB,CAoGjC;SApGY,qBAAqB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Emitter } from '@mantou/gem/lib/decorators';
|
|
2
|
+
import { GemElement } from '@mantou/gem/lib/element';
|
|
2
3
|
import './date-panel';
|
|
3
4
|
import './button';
|
|
4
5
|
import './action-text';
|
|
@@ -10,19 +11,17 @@ declare type State = {
|
|
|
10
11
|
};
|
|
11
12
|
/**
|
|
12
13
|
* @customElement dy-date-range-panel
|
|
14
|
+
* @attr time
|
|
13
15
|
*/
|
|
14
16
|
export declare class DuoyunDateRangePanelElement extends GemElement<State> {
|
|
15
17
|
#private;
|
|
16
|
-
quickRanges?: {
|
|
17
|
-
label: string;
|
|
18
|
-
value: string | number[];
|
|
19
|
-
}[];
|
|
20
18
|
value?: string | number[];
|
|
21
19
|
change: Emitter<string | number[]>;
|
|
20
|
+
time: boolean;
|
|
22
21
|
constructor();
|
|
23
22
|
state: State;
|
|
24
23
|
willMount: () => void;
|
|
25
|
-
render: () => import("@mantou/gem").TemplateResult;
|
|
24
|
+
render: () => import("@mantou/gem/lib/element").TemplateResult;
|
|
26
25
|
}
|
|
27
26
|
export {};
|
|
28
27
|
//# sourceMappingURL=date-range-panel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-panel.d.ts","sourceRoot":"","sources":["../src/elements/date-range-panel.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"date-range-panel.d.ts","sourceRoot":"","sources":["../src/elements/date-range-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EAGR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAQ,MAAM,yBAAyB,CAAC;AAO3D,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AAkBnB,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,qBAEa,2BAA4B,SAAQ,UAAU,CAAC,KAAK,CAAC;;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,OAAO,CAAC;;IAO7B,KAAK,EAAE,KAAK,CAAM;IAiBlB,SAAS,aAmBP;IAEF,MAAM,yDAkCJ;CACH"}
|