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,416 @@
|
|
|
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 _DuoyunSelectElement_instances, _DuoyunSelectElement_searchable_get, _DuoyunSelectElement_fiteredOptions_get, _DuoyunSelectElement_value_get, _DuoyunSelectElement_open, _DuoyunSelectElement_close, _DuoyunSelectElement_onKeydown, _DuoyunSelectElement_onSearchKeydown, _DuoyunSelectElement_onSearch, _DuoyunSelectElement_onChange, _DuoyunSelectElement_onRemoveTag, _DuoyunSelectElement_valueSet, _DuoyunSelectElement_valueOptions;
|
|
19
|
+
import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, connectStore, attribute, state, globalemitter, boolattribute, classMap, styleMap, refobject, } from '@mantou/gem';
|
|
20
|
+
import { theme } from '../lib/theme';
|
|
21
|
+
import { icons } from '../lib/icons';
|
|
22
|
+
import { locale } from '../lib/locale';
|
|
23
|
+
import { isIncludesString, setBodyInert } from '../lib/utils';
|
|
24
|
+
import { hotkeys } from '../lib/hotkeys';
|
|
25
|
+
import { isNotNullish } from '../lib/types';
|
|
26
|
+
import '@mantou/gem/elements/reflect';
|
|
27
|
+
import '@mantou/gem/elements/use';
|
|
28
|
+
import './options';
|
|
29
|
+
import './input';
|
|
30
|
+
import './tag';
|
|
31
|
+
const style = createCSSSheet(css `
|
|
32
|
+
:host {
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
display: inline-flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
border: 1px solid ${theme.borderColor};
|
|
37
|
+
border-radius: ${theme.normalRound};
|
|
38
|
+
line-height: 2;
|
|
39
|
+
padding: 0.1em 0.5em;
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
gap: 0.5em;
|
|
42
|
+
font-size: 0.875em;
|
|
43
|
+
width: 15em;
|
|
44
|
+
}
|
|
45
|
+
:host(:where(:focus-visible, :hover, :--active, [data-active])) {
|
|
46
|
+
border-color: ${theme.textColor};
|
|
47
|
+
}
|
|
48
|
+
:host([borderless]) {
|
|
49
|
+
width: auto;
|
|
50
|
+
border-color: transparent;
|
|
51
|
+
}
|
|
52
|
+
:host([inline]) {
|
|
53
|
+
display: contents;
|
|
54
|
+
font-size: 1em;
|
|
55
|
+
border-color: ${theme.textColor};
|
|
56
|
+
}
|
|
57
|
+
:host([disabled]) {
|
|
58
|
+
cursor: not-allowed;
|
|
59
|
+
border-color: transparent;
|
|
60
|
+
background: ${theme.disabledColor};
|
|
61
|
+
}
|
|
62
|
+
.inline-options {
|
|
63
|
+
box-shadow: none;
|
|
64
|
+
max-height: inherit;
|
|
65
|
+
padding-block: 0;
|
|
66
|
+
}
|
|
67
|
+
.value-wrap {
|
|
68
|
+
width: 0;
|
|
69
|
+
flex-grow: 1;
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
}
|
|
73
|
+
:host([borderless]) .value-wrap {
|
|
74
|
+
width: auto;
|
|
75
|
+
}
|
|
76
|
+
.placeholder {
|
|
77
|
+
color: ${theme.describeColor};
|
|
78
|
+
}
|
|
79
|
+
.value {
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
gap: 0.5em;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
white-space: nowrap;
|
|
85
|
+
text-overflow: ellipsis;
|
|
86
|
+
padding-inline-end: 0.4em;
|
|
87
|
+
--m: linear-gradient(to right, #000 calc(100% - 0.6em), #fff0 100%);
|
|
88
|
+
-webkit-mask-image: var(--m);
|
|
89
|
+
mask-image: var(--m);
|
|
90
|
+
}
|
|
91
|
+
.search {
|
|
92
|
+
width: 2em;
|
|
93
|
+
flex-grow: 1;
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
border: none;
|
|
96
|
+
font-size: 1em;
|
|
97
|
+
margin-block: -1em;
|
|
98
|
+
}
|
|
99
|
+
.search::part(input) {
|
|
100
|
+
padding: 0;
|
|
101
|
+
}
|
|
102
|
+
.icon {
|
|
103
|
+
flex-shrink: 0;
|
|
104
|
+
width: 1.2em;
|
|
105
|
+
padding-block: 0.4em;
|
|
106
|
+
color: ${theme.borderColor};
|
|
107
|
+
}
|
|
108
|
+
:host(:where(:hover, :--active, [data-active])) .icon {
|
|
109
|
+
color: ${theme.textColor};
|
|
110
|
+
}
|
|
111
|
+
`);
|
|
112
|
+
/**
|
|
113
|
+
* @customElement dy-select
|
|
114
|
+
* @attr multiple
|
|
115
|
+
* @attr disabled
|
|
116
|
+
* @attr searchable
|
|
117
|
+
* @attr inline
|
|
118
|
+
* @attr placeholder
|
|
119
|
+
* @attr borderless
|
|
120
|
+
*/
|
|
121
|
+
let DuoyunSelectElement = class DuoyunSelectElement extends GemElement {
|
|
122
|
+
constructor() {
|
|
123
|
+
super();
|
|
124
|
+
_DuoyunSelectElement_instances.add(this);
|
|
125
|
+
this.state = {
|
|
126
|
+
open: false,
|
|
127
|
+
left: 0,
|
|
128
|
+
top: 0,
|
|
129
|
+
width: 0,
|
|
130
|
+
maxHeight: 'auto',
|
|
131
|
+
transform: 'none',
|
|
132
|
+
search: '',
|
|
133
|
+
};
|
|
134
|
+
_DuoyunSelectElement_open.set(this, () => {
|
|
135
|
+
if (this.disabled)
|
|
136
|
+
return;
|
|
137
|
+
this.setState({ open: true });
|
|
138
|
+
});
|
|
139
|
+
_DuoyunSelectElement_close.set(this, () => {
|
|
140
|
+
this.setState({ open: false });
|
|
141
|
+
});
|
|
142
|
+
_DuoyunSelectElement_onKeydown.set(this, hotkeys({
|
|
143
|
+
esc: (evt) => {
|
|
144
|
+
if (this.state.open) {
|
|
145
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_close, "f").call(this);
|
|
146
|
+
if (!this.inline) {
|
|
147
|
+
evt.stopPropagation();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
'space,enter': (evt) => {
|
|
152
|
+
var _a;
|
|
153
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_open, "f").call(this);
|
|
154
|
+
(_a = this.searchRef.element) === null || _a === void 0 ? void 0 : _a.focus();
|
|
155
|
+
evt.preventDefault();
|
|
156
|
+
},
|
|
157
|
+
}));
|
|
158
|
+
_DuoyunSelectElement_onSearchKeydown.set(this, hotkeys({
|
|
159
|
+
backspace: () => {
|
|
160
|
+
var _a;
|
|
161
|
+
if (!this.state.search && ((_a = __classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
162
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_onRemoveTag, "f").call(this, __classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")[__classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f").length - 1]);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
esc: (evt) => {
|
|
166
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_close, "f").call(this);
|
|
167
|
+
this.focus();
|
|
168
|
+
evt.stopPropagation();
|
|
169
|
+
},
|
|
170
|
+
enter: (evt) => {
|
|
171
|
+
const options = __classPrivateFieldGet(this, _DuoyunSelectElement_instances, "a", _DuoyunSelectElement_fiteredOptions_get);
|
|
172
|
+
if ((options === null || options === void 0 ? void 0 : options.length) === 1) {
|
|
173
|
+
const { value, label } = options[0];
|
|
174
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_onChange, "f").call(this, value !== null && value !== void 0 ? value : label);
|
|
175
|
+
}
|
|
176
|
+
evt.stopPropagation();
|
|
177
|
+
},
|
|
178
|
+
}));
|
|
179
|
+
_DuoyunSelectElement_onSearch.set(this, (evt) => {
|
|
180
|
+
this.setState({ search: evt.detail });
|
|
181
|
+
evt.stopPropagation();
|
|
182
|
+
});
|
|
183
|
+
_DuoyunSelectElement_onChange.set(this, (value) => {
|
|
184
|
+
if (this.multiple) {
|
|
185
|
+
if (!this.value) {
|
|
186
|
+
this.change([value]);
|
|
187
|
+
}
|
|
188
|
+
else if (this.value.includes(value)) {
|
|
189
|
+
this.change(this.value.filter((e) => e !== value));
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
this.change([...this.value, value]);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
this.change(value);
|
|
197
|
+
this.setState({ open: false });
|
|
198
|
+
}
|
|
199
|
+
this.setState({ search: '' });
|
|
200
|
+
});
|
|
201
|
+
_DuoyunSelectElement_onRemoveTag.set(this, ({ value, label }) => {
|
|
202
|
+
__classPrivateFieldGet(this, _DuoyunSelectElement_onChange, "f").call(this, value !== null && value !== void 0 ? value : label);
|
|
203
|
+
});
|
|
204
|
+
_DuoyunSelectElement_valueSet.set(this, void 0);
|
|
205
|
+
_DuoyunSelectElement_valueOptions.set(this, void 0);
|
|
206
|
+
this.willMount = () => {
|
|
207
|
+
this.memo(() => {
|
|
208
|
+
var _a, _b;
|
|
209
|
+
const map = new Map();
|
|
210
|
+
(_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach((option) => {
|
|
211
|
+
const { value, label } = option;
|
|
212
|
+
map.set(value !== null && value !== void 0 ? value : label, option);
|
|
213
|
+
});
|
|
214
|
+
__classPrivateFieldSet(this, _DuoyunSelectElement_valueSet, new Set(__classPrivateFieldGet(this, _DuoyunSelectElement_instances, "a", _DuoyunSelectElement_value_get)), "f");
|
|
215
|
+
__classPrivateFieldSet(this, _DuoyunSelectElement_valueOptions, (_b = __classPrivateFieldGet(this, _DuoyunSelectElement_instances, "a", _DuoyunSelectElement_value_get)) === null || _b === void 0 ? void 0 : _b.map((value) => map.get(value)).filter(isNotNullish), "f");
|
|
216
|
+
}, () => [this.value, this.options]);
|
|
217
|
+
};
|
|
218
|
+
this.mounted = () => {
|
|
219
|
+
this.effect(() => {
|
|
220
|
+
const { open } = this.state;
|
|
221
|
+
this.active = open;
|
|
222
|
+
if (open) {
|
|
223
|
+
const { top, bottom, left, width, height } = this.getBoundingClientRect();
|
|
224
|
+
const isShowTop = innerHeight - bottom < 300;
|
|
225
|
+
this.setState({
|
|
226
|
+
left,
|
|
227
|
+
width,
|
|
228
|
+
open: true,
|
|
229
|
+
top: bottom + 4,
|
|
230
|
+
maxHeight: isShowTop ? `${top - 8}px` : `calc(100vh - ${bottom + 8}px)`,
|
|
231
|
+
transform: isShowTop ? `translateY(calc(-100% - 8px - ${height}px))` : 'none',
|
|
232
|
+
});
|
|
233
|
+
addEventListener('pointerup', __classPrivateFieldGet(this, _DuoyunSelectElement_close, "f"));
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
this.setState({ open: false });
|
|
237
|
+
}
|
|
238
|
+
return () => removeEventListener('pointerup', __classPrivateFieldGet(this, _DuoyunSelectElement_close, "f"));
|
|
239
|
+
}, () => [this.state.open]);
|
|
240
|
+
this.effect(() => {
|
|
241
|
+
var _a;
|
|
242
|
+
if (this.state.open && !this.searchable && !this.inline) {
|
|
243
|
+
const restoreInert = setBodyInert(this.optionsRef.element);
|
|
244
|
+
(_a = this.optionsRef.element) === null || _a === void 0 ? void 0 : _a.focus();
|
|
245
|
+
return () => {
|
|
246
|
+
restoreInert();
|
|
247
|
+
this.focus();
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
}, () => [this.state.open]);
|
|
251
|
+
};
|
|
252
|
+
this.render = () => {
|
|
253
|
+
var _a;
|
|
254
|
+
const { open, left, top, width, maxHeight, transform, search } = this.state;
|
|
255
|
+
const isEmpty = !((_a = __classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")) === null || _a === void 0 ? void 0 : _a.length);
|
|
256
|
+
const getOptions = () => {
|
|
257
|
+
var _a;
|
|
258
|
+
const options = (_a = __classPrivateFieldGet(this, _DuoyunSelectElement_instances, "a", _DuoyunSelectElement_fiteredOptions_get)) === null || _a === void 0 ? void 0 : _a.map((option) => {
|
|
259
|
+
const { value, label, description, disabled } = option;
|
|
260
|
+
return {
|
|
261
|
+
label: this.renderLabel ? this.renderLabel(option) : label,
|
|
262
|
+
description,
|
|
263
|
+
icon: __classPrivateFieldGet(this, _DuoyunSelectElement_valueSet, "f").has(value !== null && value !== void 0 ? value : label) ? icons.check : undefined,
|
|
264
|
+
onPointerUp: (e) => e.stopPropagation(),
|
|
265
|
+
onClick: () => __classPrivateFieldGet(this, _DuoyunSelectElement_onChange, "f").call(this, value !== null && value !== void 0 ? value : label),
|
|
266
|
+
disabled,
|
|
267
|
+
};
|
|
268
|
+
});
|
|
269
|
+
return search && (options === null || options === void 0 ? void 0 : options.length) === 0
|
|
270
|
+
? [{ label: locale.noData, disabled: true, onPointerUp: () => this.setState({ search: '' }) }]
|
|
271
|
+
: options;
|
|
272
|
+
};
|
|
273
|
+
return html `
|
|
274
|
+
${this.inline
|
|
275
|
+
? html `<dy-options class="inline-options" .options=${getOptions()}></dy-options>`
|
|
276
|
+
: html `
|
|
277
|
+
<div class=${classMap({ 'value-wrap': true, placeholder: isEmpty })}>
|
|
278
|
+
${!isEmpty || this.placeholder
|
|
279
|
+
? html `
|
|
280
|
+
<div class="value">
|
|
281
|
+
${isEmpty
|
|
282
|
+
? this.placeholder
|
|
283
|
+
: this.multiple
|
|
284
|
+
? html `
|
|
285
|
+
${__classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f").map(({ label }, index) => typeof label === 'string'
|
|
286
|
+
? html `
|
|
287
|
+
<dy-tag
|
|
288
|
+
small
|
|
289
|
+
.closeable=${this.disabled ? false : true}
|
|
290
|
+
@keydown=${(evt) => evt.stopPropagation()}
|
|
291
|
+
@close=${() => __classPrivateFieldGet(this, _DuoyunSelectElement_onRemoveTag, "f").call(this, __classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")[index])}
|
|
292
|
+
>
|
|
293
|
+
${label}
|
|
294
|
+
</dy-tag>
|
|
295
|
+
`
|
|
296
|
+
: this.renderTag
|
|
297
|
+
? this.renderTag(__classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")[index])
|
|
298
|
+
: label)}
|
|
299
|
+
`
|
|
300
|
+
: __classPrivateFieldGet(this, _DuoyunSelectElement_valueOptions, "f")[0].label}
|
|
301
|
+
</div>
|
|
302
|
+
`
|
|
303
|
+
: ''}
|
|
304
|
+
${__classPrivateFieldGet(this, _DuoyunSelectElement_instances, "a", _DuoyunSelectElement_searchable_get)
|
|
305
|
+
? html `
|
|
306
|
+
<dy-input
|
|
307
|
+
ref=${this.searchRef.ref}
|
|
308
|
+
class="search"
|
|
309
|
+
type="search"
|
|
310
|
+
value=${search}
|
|
311
|
+
@keydown=${__classPrivateFieldGet(this, _DuoyunSelectElement_onSearchKeydown, "f")}
|
|
312
|
+
@change=${__classPrivateFieldGet(this, _DuoyunSelectElement_onSearch, "f")}
|
|
313
|
+
></dy-input>
|
|
314
|
+
`
|
|
315
|
+
: ''}
|
|
316
|
+
</div>
|
|
317
|
+
<gem-use class="icon" .element=${icons.expand}></gem-use>
|
|
318
|
+
${this.options && open
|
|
319
|
+
? html `
|
|
320
|
+
<gem-reflect .target=${document.body}>
|
|
321
|
+
<dy-options
|
|
322
|
+
ref=${this.optionsRef.ref}
|
|
323
|
+
@keydown=${hotkeys({ esc: __classPrivateFieldGet(this, _DuoyunSelectElement_close, "f") })}
|
|
324
|
+
aria-multiselectable=${this.multiple}
|
|
325
|
+
style=${styleMap({
|
|
326
|
+
width: `${Math.max(120, width)}px`,
|
|
327
|
+
...this.dropdownStyle,
|
|
328
|
+
position: 'fixed',
|
|
329
|
+
zIndex: '99999999',
|
|
330
|
+
left: `${left}px`,
|
|
331
|
+
top: `${top}px`,
|
|
332
|
+
maxHeight,
|
|
333
|
+
transform,
|
|
334
|
+
})}
|
|
335
|
+
.options=${getOptions()}
|
|
336
|
+
></dy-options>
|
|
337
|
+
</gem-reflect>
|
|
338
|
+
`
|
|
339
|
+
: ''}
|
|
340
|
+
`}
|
|
341
|
+
`;
|
|
342
|
+
};
|
|
343
|
+
this.tabIndex = 0;
|
|
344
|
+
this.effect(() => {
|
|
345
|
+
this.internals.role = this.inline ? undefined : 'combobox';
|
|
346
|
+
this.internals.ariaExpanded = String(this.state.open);
|
|
347
|
+
this.internals.ariaReadOnly = String(this.disabled);
|
|
348
|
+
});
|
|
349
|
+
this.addEventListener('click', __classPrivateFieldGet(this, _DuoyunSelectElement_open, "f"));
|
|
350
|
+
this.addEventListener('keydown', __classPrivateFieldGet(this, _DuoyunSelectElement_onKeydown, "f"));
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
_DuoyunSelectElement_open = new WeakMap(), _DuoyunSelectElement_close = new WeakMap(), _DuoyunSelectElement_onKeydown = new WeakMap(), _DuoyunSelectElement_onSearchKeydown = new WeakMap(), _DuoyunSelectElement_onSearch = new WeakMap(), _DuoyunSelectElement_onChange = new WeakMap(), _DuoyunSelectElement_onRemoveTag = new WeakMap(), _DuoyunSelectElement_valueSet = new WeakMap(), _DuoyunSelectElement_valueOptions = new WeakMap(), _DuoyunSelectElement_instances = new WeakSet(), _DuoyunSelectElement_searchable_get = function _DuoyunSelectElement_searchable_get() {
|
|
354
|
+
return this.searchable && !this.disabled && !this.borderless;
|
|
355
|
+
}, _DuoyunSelectElement_fiteredOptions_get = function _DuoyunSelectElement_fiteredOptions_get() {
|
|
356
|
+
var _a;
|
|
357
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.filter(({ label, description = '' }) => isIncludesString(html `${label}${description}`, this.state.search));
|
|
358
|
+
}, _DuoyunSelectElement_value_get = function _DuoyunSelectElement_value_get() {
|
|
359
|
+
return this.multiple && Array.isArray(this.value)
|
|
360
|
+
? this.value
|
|
361
|
+
: isNotNullish(this.value)
|
|
362
|
+
? [this.value]
|
|
363
|
+
: undefined;
|
|
364
|
+
};
|
|
365
|
+
__decorate([
|
|
366
|
+
boolattribute
|
|
367
|
+
], DuoyunSelectElement.prototype, "multiple", void 0);
|
|
368
|
+
__decorate([
|
|
369
|
+
boolattribute
|
|
370
|
+
], DuoyunSelectElement.prototype, "disabled", void 0);
|
|
371
|
+
__decorate([
|
|
372
|
+
boolattribute
|
|
373
|
+
], DuoyunSelectElement.prototype, "searchable", void 0);
|
|
374
|
+
__decorate([
|
|
375
|
+
boolattribute
|
|
376
|
+
], DuoyunSelectElement.prototype, "inline", void 0);
|
|
377
|
+
__decorate([
|
|
378
|
+
attribute
|
|
379
|
+
], DuoyunSelectElement.prototype, "placeholder", void 0);
|
|
380
|
+
__decorate([
|
|
381
|
+
boolattribute
|
|
382
|
+
], DuoyunSelectElement.prototype, "borderless", void 0);
|
|
383
|
+
__decorate([
|
|
384
|
+
property
|
|
385
|
+
], DuoyunSelectElement.prototype, "dropdownStyle", void 0);
|
|
386
|
+
__decorate([
|
|
387
|
+
property
|
|
388
|
+
], DuoyunSelectElement.prototype, "options", void 0);
|
|
389
|
+
__decorate([
|
|
390
|
+
property
|
|
391
|
+
], DuoyunSelectElement.prototype, "value", void 0);
|
|
392
|
+
__decorate([
|
|
393
|
+
property
|
|
394
|
+
], DuoyunSelectElement.prototype, "renderLabel", void 0);
|
|
395
|
+
__decorate([
|
|
396
|
+
property
|
|
397
|
+
], DuoyunSelectElement.prototype, "renderTag", void 0);
|
|
398
|
+
__decorate([
|
|
399
|
+
state
|
|
400
|
+
], DuoyunSelectElement.prototype, "active", void 0);
|
|
401
|
+
__decorate([
|
|
402
|
+
globalemitter
|
|
403
|
+
], DuoyunSelectElement.prototype, "change", void 0);
|
|
404
|
+
__decorate([
|
|
405
|
+
refobject
|
|
406
|
+
], DuoyunSelectElement.prototype, "searchRef", void 0);
|
|
407
|
+
__decorate([
|
|
408
|
+
refobject
|
|
409
|
+
], DuoyunSelectElement.prototype, "optionsRef", void 0);
|
|
410
|
+
DuoyunSelectElement = __decorate([
|
|
411
|
+
customElement('dy-select'),
|
|
412
|
+
adoptedStyle(style),
|
|
413
|
+
connectStore(icons)
|
|
414
|
+
], DuoyunSelectElement);
|
|
415
|
+
export { DuoyunSelectElement };
|
|
416
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../src/elements/select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GemElement, Emitter } from '@mantou/gem';
|
|
2
|
+
import './paragraph';
|
|
3
|
+
/**
|
|
4
|
+
* @customElement dy-shortcut-record
|
|
5
|
+
* @attr placeholder
|
|
6
|
+
* @attr tooltip
|
|
7
|
+
* @attr disabled
|
|
8
|
+
*/
|
|
9
|
+
export declare class DuoyunShortcutRecordElement extends GemElement {
|
|
10
|
+
#private;
|
|
11
|
+
placeholder: string;
|
|
12
|
+
tooltip: string;
|
|
13
|
+
disabled: number;
|
|
14
|
+
change: Emitter<string[]>;
|
|
15
|
+
value?: string[];
|
|
16
|
+
constructor();
|
|
17
|
+
render: () => import("@mantou/gem").TemplateResult;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=shortcut-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcut-record.d.ts","sourceRoot":"","sources":["../src/elements/shortcut-record.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQV,OAAO,EAGR,MAAM,aAAa,CAAC;AAMrB,OAAO,aAAa,CAAC;AAsCrB;;;;;GAKG;AACH,qBAEa,2BAA4B,SAAQ,UAAU;;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;;IAuC3B,MAAM,6CAWJ;CACH"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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 _DuoyunShortcutRecordElement_instances, _DuoyunShortcutRecordElement_tooltip_get, _DuoyunShortcutRecordElement_onKeydown;
|
|
13
|
+
import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, attribute, globalemitter, property, boolattribute, } from '@mantou/gem';
|
|
14
|
+
import { theme } from '../lib/theme';
|
|
15
|
+
import { isNotNullish } from '../lib/types';
|
|
16
|
+
import { normalizeKey, getDisplayKey } from '../lib/hotkeys';
|
|
17
|
+
import './paragraph';
|
|
18
|
+
const style = createCSSSheet(css `
|
|
19
|
+
:host {
|
|
20
|
+
display: inline-flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
font-size: 0.875em;
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
width: 15em;
|
|
25
|
+
height: calc(2.2em + 2px);
|
|
26
|
+
padding-inline: 0.4em;
|
|
27
|
+
gap: 0.2em;
|
|
28
|
+
border-radius: ${theme.normalRound};
|
|
29
|
+
border: 1px solid ${theme.borderColor};
|
|
30
|
+
}
|
|
31
|
+
:host(:focus) {
|
|
32
|
+
border-color: ${theme.textColor};
|
|
33
|
+
background-color: ${theme.lightBackgroundColor};
|
|
34
|
+
}
|
|
35
|
+
.paragraph {
|
|
36
|
+
display: contents;
|
|
37
|
+
line-height: 1.2;
|
|
38
|
+
}
|
|
39
|
+
.placeholder,
|
|
40
|
+
.tooltip {
|
|
41
|
+
color: ${theme.describeColor};
|
|
42
|
+
}
|
|
43
|
+
:host(:focus) .placeholder {
|
|
44
|
+
display: none;
|
|
45
|
+
}
|
|
46
|
+
.tooltip {
|
|
47
|
+
font-style: italic;
|
|
48
|
+
}
|
|
49
|
+
:host(:not(:focus)) .tooltip {
|
|
50
|
+
display: none;
|
|
51
|
+
}
|
|
52
|
+
`);
|
|
53
|
+
/**
|
|
54
|
+
* @customElement dy-shortcut-record
|
|
55
|
+
* @attr placeholder
|
|
56
|
+
* @attr tooltip
|
|
57
|
+
* @attr disabled
|
|
58
|
+
*/
|
|
59
|
+
let DuoyunShortcutRecordElement = class DuoyunShortcutRecordElement extends GemElement {
|
|
60
|
+
constructor() {
|
|
61
|
+
super();
|
|
62
|
+
_DuoyunShortcutRecordElement_instances.add(this);
|
|
63
|
+
_DuoyunShortcutRecordElement_onKeydown.set(this, (evt) => {
|
|
64
|
+
const keys = [
|
|
65
|
+
...new Set([
|
|
66
|
+
evt.ctrlKey ? 'ctrl' : null,
|
|
67
|
+
evt.metaKey ? 'meta' : null,
|
|
68
|
+
evt.shiftKey ? 'shift' : null,
|
|
69
|
+
evt.altKey ? 'alt' : null,
|
|
70
|
+
evt.code,
|
|
71
|
+
]
|
|
72
|
+
.filter(isNotNullish)
|
|
73
|
+
.map(normalizeKey)),
|
|
74
|
+
];
|
|
75
|
+
this.change(keys);
|
|
76
|
+
evt.stopPropagation();
|
|
77
|
+
evt.preventDefault();
|
|
78
|
+
});
|
|
79
|
+
this.render = () => {
|
|
80
|
+
return html `
|
|
81
|
+
<dy-paragraph class="paragraph">
|
|
82
|
+
${this.value
|
|
83
|
+
? html `${this.value.map((key) => html `<kbd>${getDisplayKey(key)}</kbd>`)}`
|
|
84
|
+
: html `
|
|
85
|
+
<div class="placeholder">${this.placeholder}</div>
|
|
86
|
+
<div class="tooltip">${__classPrivateFieldGet(this, _DuoyunShortcutRecordElement_instances, "a", _DuoyunShortcutRecordElement_tooltip_get)}</div>
|
|
87
|
+
`}
|
|
88
|
+
</dy-paragraph>
|
|
89
|
+
`;
|
|
90
|
+
};
|
|
91
|
+
this.internals.role = 'input';
|
|
92
|
+
this.addEventListener('keydown', __classPrivateFieldGet(this, _DuoyunShortcutRecordElement_onKeydown, "f"));
|
|
93
|
+
this.effect(() => {
|
|
94
|
+
if (this.disabled) {
|
|
95
|
+
this.removeAttribute('tabindex');
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.tabIndex = 0;
|
|
99
|
+
}
|
|
100
|
+
this.internals.ariaDisabled = String(this.disabled);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
_DuoyunShortcutRecordElement_onKeydown = new WeakMap(), _DuoyunShortcutRecordElement_instances = new WeakSet(), _DuoyunShortcutRecordElement_tooltip_get = function _DuoyunShortcutRecordElement_tooltip_get() {
|
|
105
|
+
return this.tooltip || 'Please keypress...';
|
|
106
|
+
};
|
|
107
|
+
__decorate([
|
|
108
|
+
attribute
|
|
109
|
+
], DuoyunShortcutRecordElement.prototype, "placeholder", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
attribute
|
|
112
|
+
], DuoyunShortcutRecordElement.prototype, "tooltip", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
boolattribute
|
|
115
|
+
], DuoyunShortcutRecordElement.prototype, "disabled", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
globalemitter
|
|
118
|
+
], DuoyunShortcutRecordElement.prototype, "change", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
property
|
|
121
|
+
], DuoyunShortcutRecordElement.prototype, "value", void 0);
|
|
122
|
+
DuoyunShortcutRecordElement = __decorate([
|
|
123
|
+
customElement('dy-shortcut-record'),
|
|
124
|
+
adoptedStyle(style)
|
|
125
|
+
], DuoyunShortcutRecordElement);
|
|
126
|
+
export { DuoyunShortcutRecordElement };
|
|
127
|
+
//# sourceMappingURL=shortcut-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcut-record.js","sourceRoot":"","sources":["../src/elements/shortcut-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { QueryString, TemplateResult } from '@mantou/gem';
|
|
2
|
+
import { DuoyunScrollBaseElement } from './base/scroll';
|
|
3
|
+
import '@mantou/gem/elements/link';
|
|
4
|
+
interface Item {
|
|
5
|
+
title?: string;
|
|
6
|
+
slot?: TemplateResult;
|
|
7
|
+
pattern?: string;
|
|
8
|
+
params?: Record<string, string>;
|
|
9
|
+
query?: QueryString | string;
|
|
10
|
+
children?: Item[];
|
|
11
|
+
}
|
|
12
|
+
interface NavItemGroup {
|
|
13
|
+
title?: string;
|
|
14
|
+
slot?: TemplateResult;
|
|
15
|
+
group: Item[];
|
|
16
|
+
}
|
|
17
|
+
export declare type NavItems = (Item | NavItemGroup)[];
|
|
18
|
+
declare type State = Record<string, boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* @customElement dy-side-navigation
|
|
21
|
+
*/
|
|
22
|
+
export declare class DuoyunSideNavigationElement extends DuoyunScrollBaseElement<State> {
|
|
23
|
+
#private;
|
|
24
|
+
items: NavItems;
|
|
25
|
+
state: State;
|
|
26
|
+
constructor();
|
|
27
|
+
willMount: () => void;
|
|
28
|
+
render: () => TemplateResult;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=side-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-navigation.d.ts","sourceRoot":"","sources":["../src/elements/side-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,WAAW,EACX,cAAc,EAGf,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,2BAA2B,CAAC;AAEnC,UAAU,IAAI;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,oBAAY,QAAQ,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC;AA+C/C,aAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErC;;GAEG;AACH,qBAGa,2BAA4B,SAAQ,uBAAuB,CAAC,KAAK,CAAC;;IACnE,KAAK,EAAE,QAAQ,CAAM;IAG/B,KAAK,EAAE,KAAK,CAAM;;IAgDlB,SAAS,aAKP;IAEF,MAAM,uBAYJ;CACH"}
|