@greypan/web-ui 8.0.0 → 9.0.0
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/README.CN.md +277 -146
- package/README.md +323 -191
- package/dist/assets/glass.js +1 -1
- package/dist/assets/glass.js.map +1 -1
- package/dist/assets/menu-portal.js +1 -1
- package/dist/assets/menu-portal.js.map +1 -1
- package/dist/assets/selection-control.js +1 -1
- package/dist/assets/selection-control.js.map +1 -1
- package/dist/assets/toast-containers.js +1 -1
- package/dist/assets/toast-containers.js.map +1 -1
- package/dist/components/autocomplete/index.d.ts +3 -2
- package/dist/components/autocomplete/index.js +46 -50
- package/dist/components/autocomplete/index.js.map +1 -1
- package/dist/components/autocomplete/style.js +1 -1
- package/dist/components/autocomplete/style.js.map +1 -1
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/style.js +1 -1
- package/dist/components/avatar/style.js.map +1 -1
- package/dist/components/back-top/style.js +1 -1
- package/dist/components/back-top/style.js.map +1 -1
- package/dist/components/badge/style.js +1 -1
- package/dist/components/badge/style.js.map +1 -1
- package/dist/components/button/index.d.ts +368 -1
- package/dist/components/button/index.js +56 -36
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/style.js +1 -1
- package/dist/components/button/style.js.map +1 -1
- package/dist/components/button-group/index.js +0 -1
- package/dist/components/button-group/index.js.map +1 -1
- package/dist/components/button-group/style.js +1 -1
- package/dist/components/button-group/style.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.js +35 -37
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/style.js +1 -1
- package/dist/components/checkbox/style.js.map +1 -1
- package/dist/components/checkbox-group/index.js +8 -8
- package/dist/components/checkbox-group/style.js +1 -1
- package/dist/components/checkbox-group/style.js.map +1 -1
- package/dist/components/context-menu/index.d.ts +167 -3
- package/dist/components/context-menu/index.js +162 -91
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/context-menu/scrim.js +6 -0
- package/dist/components/context-menu/scrim.js.map +1 -0
- package/dist/components/context-menu/style.js +1 -1
- package/dist/components/context-menu/style.js.map +1 -1
- package/dist/components/dialog/index.d.ts +9 -0
- package/dist/components/dialog/index.js +61 -46
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/style.js +1 -1
- package/dist/components/dialog/style.js.map +1 -1
- package/dist/components/drawer/index.d.ts +45 -0
- package/dist/components/drawer/index.js +116 -52
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/style.js +1 -1
- package/dist/components/drawer/style.js.map +1 -1
- package/dist/components/dropdown/index.d.ts +12 -0
- package/dist/components/dropdown/index.js +13 -10
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/dropdown-divider/style.js +1 -1
- package/dist/components/dropdown-divider/style.js.map +1 -1
- package/dist/components/dropdown-header/style.js +1 -1
- package/dist/components/dropdown-header/style.js.map +1 -1
- package/dist/components/dropdown-item/style.js +1 -1
- package/dist/components/dropdown-item/style.js.map +1 -1
- package/dist/components/editable-text/index.d.ts +41 -0
- package/dist/components/editable-text/index.js +55 -31
- package/dist/components/editable-text/index.js.map +1 -1
- package/dist/components/empty/index.d.ts +21 -4
- package/dist/components/empty/index.js +37 -32
- package/dist/components/empty/index.js.map +1 -1
- package/dist/components/empty/style.js +1 -1
- package/dist/components/empty/style.js.map +1 -1
- package/dist/components/icon/index.js +7 -7
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image-preview/index.js +9 -2
- package/dist/components/image-preview/index.js.map +1 -1
- package/dist/components/image-preview/style.js +1 -1
- package/dist/components/image-preview/style.js.map +1 -1
- package/dist/components/index.js +23 -23
- package/dist/components/input/index.d.ts +7 -0
- package/dist/components/input/index.js +34 -29
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/style.js +1 -1
- package/dist/components/input/style.js.map +1 -1
- package/dist/components/input-number/index.d.ts +1 -0
- package/dist/components/input-number/index.js +28 -26
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/input-number/style.js +1 -1
- package/dist/components/input-number/style.js.map +1 -1
- package/dist/components/layout/index.d.ts +0 -3
- package/dist/components/layout/index.js +1 -1
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/style.js +1 -1
- package/dist/components/layout/style.js.map +1 -1
- package/dist/components/option/style.js +1 -1
- package/dist/components/option/style.js.map +1 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/style.js +1 -1
- package/dist/components/popover/style.js.map +1 -1
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.js +23 -19
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/style.js +1 -1
- package/dist/components/radio/style.js.map +1 -1
- package/dist/components/radio-group/index.js +8 -8
- package/dist/components/radio-group/style.js +1 -1
- package/dist/components/radio-group/style.js.map +1 -1
- package/dist/components/segmented/index.d.ts +5 -0
- package/dist/components/segmented/index.js +49 -32
- package/dist/components/segmented/index.js.map +1 -1
- package/dist/components/segmented/style.js +1 -1
- package/dist/components/segmented/style.js.map +1 -1
- package/dist/components/segmented-trigger/style.js +1 -1
- package/dist/components/segmented-trigger/style.js.map +1 -1
- package/dist/components/select/index.js +0 -1
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/style.js +1 -1
- package/dist/components/select/style.js.map +1 -1
- package/dist/components/slider/index.js +9 -9
- package/dist/components/slider/style.js +1 -1
- package/dist/components/slider/style.js.map +1 -1
- package/dist/components/spinner/style.js +1 -1
- package/dist/components/spinner/style.js.map +1 -1
- package/dist/components/svg-draw-lines/index.js.map +1 -1
- package/dist/components/switch/index.d.ts +1 -0
- package/dist/components/switch/index.js +26 -24
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/style.js +1 -1
- package/dist/components/switch/style.js.map +1 -1
- package/dist/components/textarea/index.d.ts +7 -1
- package/dist/components/textarea/index.js +45 -43
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/style.js +1 -1
- package/dist/components/textarea/style.js.map +1 -1
- package/dist/components/theme/index.d.ts +9 -0
- package/dist/components/theme/index.js +128 -85
- package/dist/components/theme/index.js.map +1 -1
- package/dist/components/theme/style.js +1 -1
- package/dist/components/theme/style.js.map +1 -1
- package/dist/components/toast/style.js +1 -1
- package/dist/components/toast/style.js.map +1 -1
- package/dist/components/toast/toast.js +8 -8
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/style.js +1 -1
- package/dist/components/tooltip/style.js.map +1 -1
- package/dist/icons/generated/akar-icons-check.d.ts +6 -0
- package/dist/icons/generated/akar-icons-check.js +10 -0
- package/dist/icons/generated/akar-icons-check.js.map +1 -0
- package/dist/icons/generated/akar-icons-circle-check.d.ts +6 -0
- package/dist/icons/generated/akar-icons-circle-check.js +10 -0
- package/dist/icons/generated/akar-icons-circle-check.js.map +1 -0
- package/dist/icons/generated/bi-check-lg.d.ts +6 -0
- package/dist/icons/generated/bi-check-lg.js +10 -0
- package/dist/icons/generated/bi-check-lg.js.map +1 -0
- package/dist/icons/generated/bi-check.d.ts +6 -0
- package/dist/icons/generated/bi-check.js +10 -0
- package/dist/icons/generated/bi-check.js.map +1 -0
- package/dist/icons/generated/fluent-tag-search-24-regular.d.ts +6 -0
- package/dist/icons/generated/fluent-tag-search-24-regular.js +10 -0
- package/dist/icons/generated/fluent-tag-search-24-regular.js.map +1 -0
- package/dist/icons/generated/mdi-tag-search-outline.d.ts +6 -0
- package/dist/icons/generated/mdi-tag-search-outline.js +10 -0
- package/dist/icons/generated/mdi-tag-search-outline.js.map +1 -0
- package/dist/icons/index.d.ts +6 -0
- package/dist/icons/index.js +7 -1
- package/dist/shared/element-height/index.js +47 -0
- package/dist/shared/element-height/index.js.map +1 -0
- package/dist/shared/form-association/field-id.js +9 -0
- package/dist/shared/form-association/field-id.js.map +1 -0
- package/dist/shared/form-association/index.js +9 -1
- package/dist/shared/form-association/index.js.map +1 -1
- package/dist/shared/label-emptiness/index.js +45 -0
- package/dist/shared/label-emptiness/index.js.map +1 -0
- package/dist/shared/menu-portal/menu-portal.js +11 -11
- package/dist/shared/menu-portal/menu-portal.js.map +1 -1
- package/dist/shared/menu-portal/menu-tree.js +2 -2
- package/dist/shared/menu-portal/menu-tree.js.map +1 -1
- package/dist/shared/overlay/anchored-panel.js.map +1 -1
- package/dist/shared/overlay/native-dialog-presence.js +23 -11
- package/dist/shared/overlay/native-dialog-presence.js.map +1 -1
- package/dist/shared/overlay/nested-drawer-layers.js +30 -23
- package/dist/shared/overlay/nested-drawer-layers.js.map +1 -1
- package/dist/shared/scroll-lock/scroll-lock.js +3 -3
- package/dist/shared/scroll-lock/scroll-lock.js.map +1 -1
- package/dist/shared/theme/root-sync.js +24 -18
- package/dist/shared/theme/root-sync.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
export type EmptySize = 'small' | 'medium' | 'large';
|
|
3
2
|
export declare class WebUiEmpty extends LitElement {
|
|
4
3
|
static styles: import('lit').CSSResult[];
|
|
5
4
|
title: string;
|
|
6
5
|
description: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* 版面缩放基准,单位 px,默认 56。驱动图标盒、min-height、padding 与标题/描述字号,
|
|
8
|
+
* 使大图标不再配 medium 留白。
|
|
9
|
+
*
|
|
10
|
+
* 派生规则:图标容器边长即 `size`,默认字形边长 `round(size * 3 / 7)`,min-height
|
|
11
|
+
* `round(size * 30 / 7)`,padding 块 `round(size * 4 / 7)`、行 `round(size * 3 / 7)`;
|
|
12
|
+
* 字号在 56 处分两档,低于 56 为 14px / 13px,56 及以上为 16px / 14px。段间距与内容宽度
|
|
13
|
+
* 不随它变化。
|
|
14
|
+
*
|
|
15
|
+
* 派生值全部落在 `--wui-internal-empty-*` 上,`--wui-empty-*` 仍压在其上,所以逐项覆盖
|
|
16
|
+
* 优先于本属性。非法输入(非有限数、0、负数)回退默认边长 56。
|
|
17
|
+
*/
|
|
18
|
+
get size(): number;
|
|
19
|
+
set size(value: number);
|
|
10
20
|
private _size;
|
|
21
|
+
private get _iconSize();
|
|
22
|
+
/**
|
|
23
|
+
* `size` 派生的整套度量。CSS 侧按 `var(--wui-empty-*, var(--wui-internal-empty-*, 默认值))`
|
|
24
|
+
* 消费,公开 token 因此始终压在派生值之上。
|
|
25
|
+
*/
|
|
26
|
+
private get _sizeStyle();
|
|
11
27
|
private _hasTitleSlot;
|
|
12
28
|
private _hasDescriptionSlot;
|
|
13
29
|
private _hasActionSlot;
|
|
14
30
|
connectedCallback(): void;
|
|
31
|
+
protected updated(): void;
|
|
15
32
|
private _syncSlotContent;
|
|
16
33
|
private _hasAssignedContent;
|
|
17
34
|
render(): import('lit').TemplateResult<1>;
|
|
@@ -1,65 +1,70 @@
|
|
|
1
1
|
import e from "../../_virtual/_@oxc-project_runtime@0.149.0/helpers/esm/decorate.js";
|
|
2
2
|
import "../icon/index.js";
|
|
3
3
|
import t from "../../icons/generated/lucide-inbox.js";
|
|
4
|
-
import
|
|
5
|
-
import r from "
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { classMap as u } from "lit/directives/class-map.js";
|
|
4
|
+
import n from "./style.js";
|
|
5
|
+
import { LitElement as r, html as i, unsafeCSS as a } from "lit";
|
|
6
|
+
import { customElement as o, property as s, state as c } from "lit/decorators.js";
|
|
7
|
+
import { classMap as l } from "lit/directives/class-map.js";
|
|
9
8
|
//#region src/components/empty/index.ts
|
|
10
|
-
var d =
|
|
11
|
-
"small",
|
|
12
|
-
"medium",
|
|
13
|
-
"large"
|
|
14
|
-
], f = class extends i {
|
|
9
|
+
var u = 56, d = 7, f = 3, p = 30, m = 4, h = 3, g = 56, _ = 14, v = 13, y = 16, b = 14, x = (e) => Number.isFinite(e) && e > 0 ? e : u, S = class extends r {
|
|
15
10
|
constructor(...e) {
|
|
16
|
-
super(...e), this.title = "", this.description = "", this._size =
|
|
11
|
+
super(...e), this.title = "", this.description = "", this._size = u, this._hasTitleSlot = !1, this._hasDescriptionSlot = !1, this._hasActionSlot = !1, this._syncSlotContent = () => {
|
|
17
12
|
this._hasTitleSlot = this._hasAssignedContent(), this._hasDescriptionSlot = this._hasAssignedContent("description"), this._hasActionSlot = this._hasAssignedContent("action");
|
|
18
13
|
};
|
|
19
14
|
}
|
|
20
15
|
static {
|
|
21
|
-
this.styles = [
|
|
16
|
+
this.styles = [a(n)];
|
|
22
17
|
}
|
|
23
|
-
get
|
|
24
|
-
return this._size
|
|
18
|
+
get size() {
|
|
19
|
+
return this._size;
|
|
25
20
|
}
|
|
26
21
|
set size(e) {
|
|
27
|
-
let t = n(e
|
|
28
|
-
|
|
29
|
-
let e = this._size;
|
|
30
|
-
this._size = t, this.requestUpdate("size", e);
|
|
31
|
-
}
|
|
32
|
-
this.getAttribute("size") !== t && this.setAttribute("size", t);
|
|
22
|
+
let t = this._size, n = x(e);
|
|
23
|
+
n !== t && (this._size = n, this.requestUpdate("size", t));
|
|
33
24
|
}
|
|
34
|
-
get
|
|
35
|
-
return this.
|
|
25
|
+
get _iconSize() {
|
|
26
|
+
return Math.round(this.size * f / d);
|
|
27
|
+
}
|
|
28
|
+
get _sizeStyle() {
|
|
29
|
+
let e = this.size, t = e < g, n = (t) => `${Math.round(e * t / d)}px`;
|
|
30
|
+
return {
|
|
31
|
+
"--wui-internal-empty-size": `${e}px`,
|
|
32
|
+
"--wui-internal-empty-min-height": n(p),
|
|
33
|
+
"--wui-internal-empty-padding-block": n(m),
|
|
34
|
+
"--wui-internal-empty-padding-inline": n(h),
|
|
35
|
+
"--wui-internal-empty-title-font-size": `${t ? _ : y}px`,
|
|
36
|
+
"--wui-internal-empty-description-font-size": `${t ? v : b}px`
|
|
37
|
+
};
|
|
36
38
|
}
|
|
37
39
|
connectedCallback() {
|
|
38
40
|
super.connectedCallback(), this._syncSlotContent();
|
|
39
41
|
}
|
|
42
|
+
updated() {
|
|
43
|
+
for (let [e, t] of Object.entries(this._sizeStyle)) this.style.setProperty(e, t);
|
|
44
|
+
}
|
|
40
45
|
_hasAssignedContent(e) {
|
|
41
46
|
return [...this.childNodes].some((t) => t instanceof HTMLElement && (t.getAttribute("slot") ?? "") === (e ?? "") || !e && t.nodeType === Node.TEXT_NODE && !!t.textContent?.trim());
|
|
42
47
|
}
|
|
43
48
|
render() {
|
|
44
49
|
let e = this._hasTitleSlot || !!this.title, n = this._hasDescriptionSlot || !!this.description;
|
|
45
|
-
return
|
|
50
|
+
return i`
|
|
46
51
|
<section class="empty">
|
|
47
52
|
<div class="empty-icon" aria-hidden="true">
|
|
48
53
|
<slot name="icon"><web-ui-icon .icon=${t} .size=${this._iconSize}></web-ui-icon></slot>
|
|
49
54
|
</div>
|
|
50
|
-
<div class=${
|
|
55
|
+
<div class=${l({
|
|
51
56
|
"empty-title": !0,
|
|
52
57
|
"is-hidden": !e
|
|
53
58
|
})}>
|
|
54
59
|
<slot @slotchange=${this._syncSlotContent}>${this.title}</slot>
|
|
55
60
|
</div>
|
|
56
|
-
<div class=${
|
|
61
|
+
<div class=${l({
|
|
57
62
|
"empty-description": !0,
|
|
58
63
|
"is-hidden": !n
|
|
59
64
|
})}>
|
|
60
65
|
<slot name="description" @slotchange=${this._syncSlotContent}>${this.description}</slot>
|
|
61
66
|
</div>
|
|
62
|
-
<div class=${
|
|
67
|
+
<div class=${l({
|
|
63
68
|
"empty-action": !0,
|
|
64
69
|
"is-hidden": !this._hasActionSlot
|
|
65
70
|
})}>
|
|
@@ -69,17 +74,17 @@ var d = [
|
|
|
69
74
|
`;
|
|
70
75
|
}
|
|
71
76
|
};
|
|
72
|
-
e([
|
|
77
|
+
e([s({
|
|
73
78
|
type: String,
|
|
74
79
|
reflect: !0
|
|
75
|
-
})],
|
|
80
|
+
})], S.prototype, "title", void 0), e([s({
|
|
76
81
|
type: String,
|
|
77
82
|
reflect: !0
|
|
78
|
-
})],
|
|
79
|
-
type:
|
|
83
|
+
})], S.prototype, "description", void 0), e([s({
|
|
84
|
+
type: Number,
|
|
80
85
|
reflect: !0
|
|
81
|
-
})],
|
|
86
|
+
})], S.prototype, "size", null), e([c()], S.prototype, "_hasTitleSlot", void 0), e([c()], S.prototype, "_hasDescriptionSlot", void 0), e([c()], S.prototype, "_hasActionSlot", void 0), S = e([o("web-ui-empty")], S);
|
|
82
87
|
//#endregion
|
|
83
|
-
export {
|
|
88
|
+
export { S as WebUiEmpty };
|
|
84
89
|
|
|
85
90
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/empty/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nimport '@/components/icon'\nimport { lucideInbox } from '@/icons'\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/empty/index.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nimport '@/components/icon'\nimport { lucideInbox } from '@/icons'\n\nimport style from './style.css?inline'\n\n/**\n * 图标容器边长默认值(px),也是非法输入的回退目标。\n */\nconst DEFAULT_SIZE = 56\n\n/**\n * 派生度量统一除以 7。取 7 是为了让默认档 56 整除出改前 medium 的四个值:字形 3/7 → 24、\n * min-height 30/7 → 240、padding 块 4/7 → 32、padding 行 3/7 → 24。40 与 72 因此落到\n * 171 / 23 / 17 与 309 / 41 / 31,字形 17 与 31。\n */\nconst DERIVED_DENOMINATOR = 7\nconst GLYPH_NUMERATOR = 3\nconst MIN_HEIGHT_NUMERATOR = 30\nconst PADDING_BLOCK_NUMERATOR = 4\nconst PADDING_INLINE_NUMERATOR = 3\n\n/**\n * 字号只有两档,阈值与默认边长同为 56:低于阈值取改前 small 的字号,其余取改前 medium 的\n * 字号。大尺寸靠留白撑开而不是靠字变大,所以 72 与 56 同档。\n */\nconst COMPACT_SIZE_THRESHOLD = 56\nconst COMPACT_TITLE_FONT_SIZE = 14\nconst COMPACT_DESCRIPTION_FONT_SIZE = 13\nconst DEFAULT_TITLE_FONT_SIZE = 16\nconst DEFAULT_DESCRIPTION_FONT_SIZE = 14\n\n/**\n * 只做数值合法性判断,不做枚举映射:有限正数原样采用,其余输入(NaN、±Infinity、0、负数)\n * 回退默认边长。\n *\n * 这一层是必要的:`size` 会同时写进 `--wui-internal-empty-size`,未守卫时\n * `size=\"abc\"` 会产出失效的 `NaNpx`(盒退回 unset 而涨成 300×300),\n * `size=\"\"` 会产出 `0px`(图标不可见)。回退的是边长本身,整套派生度量因此一起回到默认档\n * 56,而不是按 `NaN` 算出垃圾值。\n */\nconst normalizeSize = (value: number): number => (Number.isFinite(value) && value > 0 ? value : DEFAULT_SIZE)\n\n@customElement('web-ui-empty')\nexport class WebUiEmpty extends LitElement {\n static override styles = [unsafeCSS(style)]\n\n @property({ type: String, reflect: true }) override title = ''\n\n @property({ type: String, reflect: true }) description = ''\n\n /**\n * 版面缩放基准,单位 px,默认 56。驱动图标盒、min-height、padding 与标题/描述字号,\n * 使大图标不再配 medium 留白。\n *\n * 派生规则:图标容器边长即 `size`,默认字形边长 `round(size * 3 / 7)`,min-height\n * `round(size * 30 / 7)`,padding 块 `round(size * 4 / 7)`、行 `round(size * 3 / 7)`;\n * 字号在 56 处分两档,低于 56 为 14px / 13px,56 及以上为 16px / 14px。段间距与内容宽度\n * 不随它变化。\n *\n * 派生值全部落在 `--wui-internal-empty-*` 上,`--wui-empty-*` 仍压在其上,所以逐项覆盖\n * 优先于本属性。非法输入(非有限数、0、负数)回退默认边长 56。\n */\n @property({ type: Number, reflect: true })\n get size(): number {\n return this._size\n }\n\n set size(value: number) {\n const old = this._size\n const normalized = normalizeSize(value)\n if (normalized === old) return\n this._size = normalized\n this.requestUpdate('size', old)\n }\n\n private _size = DEFAULT_SIZE\n\n private get _iconSize(): number {\n return Math.round((this.size * GLYPH_NUMERATOR) / DERIVED_DENOMINATOR)\n }\n\n /**\n * `size` 派生的整套度量。CSS 侧按 `var(--wui-empty-*, var(--wui-internal-empty-*, 默认值))`\n * 消费,公开 token 因此始终压在派生值之上。\n */\n private get _sizeStyle(): Record<string, string> {\n const size = this.size\n const compact = size < COMPACT_SIZE_THRESHOLD\n const scaled = (numerator: number) => `${Math.round((size * numerator) / DERIVED_DENOMINATOR)}px`\n return {\n '--wui-internal-empty-size': `${size}px`,\n '--wui-internal-empty-min-height': scaled(MIN_HEIGHT_NUMERATOR),\n '--wui-internal-empty-padding-block': scaled(PADDING_BLOCK_NUMERATOR),\n '--wui-internal-empty-padding-inline': scaled(PADDING_INLINE_NUMERATOR),\n '--wui-internal-empty-title-font-size': `${compact ? COMPACT_TITLE_FONT_SIZE : DEFAULT_TITLE_FONT_SIZE}px`,\n '--wui-internal-empty-description-font-size': `${\n compact ? COMPACT_DESCRIPTION_FONT_SIZE : DEFAULT_DESCRIPTION_FONT_SIZE\n }px`\n }\n }\n\n @state() private _hasTitleSlot = false\n @state() private _hasDescriptionSlot = false\n @state() private _hasActionSlot = false\n\n override connectedCallback() {\n super.connectedCallback()\n this._syncSlotContent()\n }\n\n protected override updated() {\n // 无条件写:条件写同样覆盖得到默认实例(实测首次 changedProperties 里带 size)。\n // 这里换来的不变量是「派生 token 永远与当前 size 一致」——将来新增派生 token 不必\n // 再补一处 changed 判断,而同值 setProperty 不触发样式失效,代价可忽略。\n for (const [token, value] of Object.entries(this._sizeStyle)) {\n this.style.setProperty(token, value)\n }\n }\n\n private _syncSlotContent = () => {\n this._hasTitleSlot = this._hasAssignedContent()\n this._hasDescriptionSlot = this._hasAssignedContent('description')\n this._hasActionSlot = this._hasAssignedContent('action')\n }\n\n private _hasAssignedContent(slotName?: string): boolean {\n return [...this.childNodes].some(node => {\n if (node instanceof HTMLElement && (node.getAttribute('slot') ?? '') === (slotName ?? '')) return true\n return !slotName && node.nodeType === Node.TEXT_NODE && Boolean(node.textContent?.trim())\n })\n }\n\n override render() {\n const showTitle = this._hasTitleSlot || Boolean(this.title)\n const showDescription = this._hasDescriptionSlot || Boolean(this.description)\n\n return html`\n <section class=\"empty\">\n <div class=\"empty-icon\" aria-hidden=\"true\">\n <slot name=\"icon\"><web-ui-icon .icon=${lucideInbox} .size=${this._iconSize}></web-ui-icon></slot>\n </div>\n <div class=${classMap({ 'empty-title': true, 'is-hidden': !showTitle })}>\n <slot @slotchange=${this._syncSlotContent}>${this.title}</slot>\n </div>\n <div class=${classMap({ 'empty-description': true, 'is-hidden': !showDescription })}>\n <slot name=\"description\" @slotchange=${this._syncSlotContent}>${this.description}</slot>\n </div>\n <div class=${classMap({ 'empty-action': true, 'is-hidden': !this._hasActionSlot })}>\n <slot name=\"action\" @slotchange=${this._syncSlotContent}></slot>\n </div>\n </section>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-empty': WebUiEmpty\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/components/empty/style.css?inline
|
|
2
|
-
var e = "*,:before,:after{box-sizing:border-box}:host{display:block}.empty{width:100%;min-block-size:var(--wui-empty-min-height,240px);padding:var(--wui-empty-padding,32px 24px);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-icon{width:var(--wui-empty-icon-size,56px);height:var(--wui-empty-icon-size,56px);border-radius:var(--wui-internal-empty-icon-radius,
|
|
2
|
+
var e = "*,:before,:after{box-sizing:border-box}:host{display:block}.empty{width:100%;min-block-size:var(--wui-empty-min-height,var(--wui-internal-empty-min-height,240px));padding:var(--wui-empty-padding,var(--wui-internal-empty-padding-block,32px) var(--wui-internal-empty-padding-inline,24px));text-align:center;flex-direction:column;align-items:center;display:flex}.empty-icon{width:var(--wui-empty-icon-size,var(--wui-internal-empty-size,56px));height:var(--wui-empty-icon-size,var(--wui-internal-empty-size,56px));border-radius:var(--wui-internal-empty-icon-radius,18px);color:var(--wui-color-text-secondary,#6a6a6a);background-color:var(--wui-color-surface-track,#e5e5ea);box-shadow:none;flex:none;justify-content:center;align-items:center;display:flex}.empty-title,.empty-description,.empty-action{max-inline-size:var(--wui-empty-content-width,480px)}.empty-title{margin-top:var(--wui-empty-title-margin-top,var(--wui-space-4,16px));font-size:var(--wui-empty-title-font-size,var(--wui-internal-empty-title-font-size,16px));font-weight:var(--wui-font-weight-semibold,600);line-height:var(--wui-line-height-normal,1.5);color:var(--wui-color-text,#1b1b1b);overflow-wrap:anywhere}.empty-description{font-size:var(--wui-empty-description-font-size,var(--wui-internal-empty-description-font-size,14px));line-height:var(--wui-line-height-relaxed,1.6);color:var(--wui-color-text-secondary,#6a6a6a);overflow-wrap:anywhere;margin-top:6px}.empty-action{margin-top:var(--wui-empty-action-margin-top,var(--wui-space-5,20px))}.is-hidden{display:none}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":[],"sources":["../../../src/components/empty/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n width: 100%;\n min-block-size: var(--wui-empty-min-height, 240px);\n padding: var(--wui-empty-padding, 32px 24px);\n\n text-align: center;\n}\n\n.empty-icon {\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: var(--wui-empty-icon-size, 56px);\n height: var(--wui-empty-icon-size, 56px);\n border-radius: var(--wui-internal-empty-icon-radius,
|
|
1
|
+
{"version":3,"file":"style.js","names":[],"sources":["../../../src/components/empty/style.css?inline"],"sourcesContent":["*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n width: 100%;\n min-block-size: var(--wui-empty-min-height, var(--wui-internal-empty-min-height, 240px));\n padding: var(\n --wui-empty-padding,\n var(--wui-internal-empty-padding-block, 32px) var(--wui-internal-empty-padding-inline, 24px)\n );\n\n text-align: center;\n}\n\n.empty-icon {\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: var(--wui-empty-icon-size, var(--wui-internal-empty-size, 56px));\n height: var(--wui-empty-icon-size, var(--wui-internal-empty-size, 56px));\n border-radius: var(--wui-internal-empty-icon-radius, 18px);\n\n color: var(--wui-color-text-secondary, #6a6a6a);\n\n background-color: var(--wui-color-surface-track, #e5e5ea);\n box-shadow: none;\n}\n\n.empty-title,\n.empty-description,\n.empty-action {\n max-inline-size: var(--wui-empty-content-width, 480px);\n}\n\n.empty-title {\n margin-top: var(--wui-empty-title-margin-top, var(--wui-space-4, 16px));\n\n font-size: var(--wui-empty-title-font-size, var(--wui-internal-empty-title-font-size, 16px));\n font-weight: var(--wui-font-weight-semibold, 600);\n line-height: var(--wui-line-height-normal, 1.5);\n color: var(--wui-color-text, #1b1b1b);\n overflow-wrap: anywhere;\n}\n\n.empty-description {\n margin-top: 6px;\n\n font-size: var(--wui-empty-description-font-size, var(--wui-internal-empty-description-font-size, 14px));\n line-height: var(--wui-line-height-relaxed, 1.6);\n color: var(--wui-color-text-secondary, #6a6a6a);\n overflow-wrap: anywhere;\n}\n\n.empty-action {\n margin-top: var(--wui-empty-action-margin-top, var(--wui-space-5, 20px));\n}\n\n.is-hidden {\n display: none;\n}\n"],"mappings":""}
|
|
@@ -5,7 +5,7 @@ import { customElement as o, property as s } from "lit/decorators.js";
|
|
|
5
5
|
import { classMap as c } from "lit/directives/class-map.js";
|
|
6
6
|
import { unsafeSVG as l } from "lit/directives/unsafe-svg.js";
|
|
7
7
|
//#region src/components/icon/index.ts
|
|
8
|
-
var u = class extends n {
|
|
8
|
+
var u = 16, d = class extends n {
|
|
9
9
|
constructor(...e) {
|
|
10
10
|
super(...e), this.spin = !1, this.size = 18;
|
|
11
11
|
}
|
|
@@ -14,7 +14,7 @@ var u = class extends n {
|
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
16
|
if (!this.icon) return i;
|
|
17
|
-
let e = this.color ? `color: ${this.color}` : "", t = `${this.icon.left ?? 0} ${this.icon.top ?? 0} ${this.icon.width ??
|
|
17
|
+
let e = this.color ? `color: ${this.color}` : "", t = `${this.icon.left ?? 0} ${this.icon.top ?? 0} ${this.icon.width ?? u} ${this.icon.height ?? u}`;
|
|
18
18
|
return r`
|
|
19
19
|
<svg
|
|
20
20
|
class=${c({ spin: this.spin })}
|
|
@@ -29,17 +29,17 @@ var u = class extends n {
|
|
|
29
29
|
`;
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
t([s({ attribute: !1 })],
|
|
32
|
+
t([s({ attribute: !1 })], d.prototype, "icon", void 0), t([s({
|
|
33
33
|
type: Boolean,
|
|
34
34
|
reflect: !0
|
|
35
|
-
})],
|
|
35
|
+
})], d.prototype, "spin", void 0), t([s({
|
|
36
36
|
type: Number,
|
|
37
37
|
reflect: !0
|
|
38
|
-
})],
|
|
38
|
+
})], d.prototype, "size", void 0), t([s({
|
|
39
39
|
type: String,
|
|
40
40
|
reflect: !0
|
|
41
|
-
})],
|
|
41
|
+
})], d.prototype, "color", void 0), d = t([o("web-ui-icon")], d);
|
|
42
42
|
//#endregion
|
|
43
|
-
export {
|
|
43
|
+
export { d as WebUiIcon };
|
|
44
44
|
|
|
45
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/icon/index.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\nimport { html, LitElement, nothing, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\n\nimport style from './style.css?inline'\n\n@customElement('web-ui-icon')\nexport class WebUiIcon extends LitElement {\n static override styles = unsafeCSS(style)\n\n @property({ attribute: false }) icon?: IconifyIcon\n @property({ type: Boolean, reflect: true }) spin = false\n @property({ type: Number, reflect: true }) size: number = 18\n @property({ type: String, reflect: true }) color?: string\n\n override render() {\n if (!this.icon) return nothing\n\n const svgStyle = this.color ? `color: ${this.color}` : ''\n const viewBox = `${this.icon.left ?? 0} ${this.icon.top ?? 0} ${this.icon.width ??
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/icon/index.ts"],"sourcesContent":["import type { IconifyIcon } from '@iconify/types'\nimport { html, LitElement, nothing, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\n\nimport style from './style.css?inline'\n\n/*\n * Iconify 规范里 width/height 缺省即 16(见 @iconify/types README),这里必须跟规范一致:\n * 猜成别的值不会报错,只会把图形按错误比例缩放并偏到画布一角。生成资产已自带尺寸,\n * 这条兜底服务的是直接喂进来的原始 IconifyIcon 对象。\n */\nconst ICONIFY_DEFAULT_CANVAS = 16\n\n@customElement('web-ui-icon')\nexport class WebUiIcon extends LitElement {\n static override styles = unsafeCSS(style)\n\n @property({ attribute: false }) icon?: IconifyIcon\n @property({ type: Boolean, reflect: true }) spin = false\n @property({ type: Number, reflect: true }) size: number = 18\n @property({ type: String, reflect: true }) color?: string\n\n override render() {\n if (!this.icon) return nothing\n\n const svgStyle = this.color ? `color: ${this.color}` : ''\n const viewBox = `${this.icon.left ?? 0} ${this.icon.top ?? 0} ${this.icon.width ?? ICONIFY_DEFAULT_CANVAS} ${this.icon.height ?? ICONIFY_DEFAULT_CANVAS}`\n\n return html`\n <svg\n class=${classMap({ spin: this.spin })}\n style=${svgStyle}\n viewBox=\"${viewBox}\"\n width=\"${this.size}\"\n height=\"${this.size}\"\n aria-hidden=\"true\"\n >\n ${unsafeSVG(this.icon.body)}\n </svg>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'web-ui-icon': WebUiIcon\n }\n}\n"],"mappings":";;;;;;;AAaA,IAAM,IAAyB,IAGlB,IAAN,cAAwB,EAAW;;EAKkB,aADP,KAAA,OAAA,IACO,KAAA,OAAA;;;EAJjC,KAAA,SAAA,EAAU,CAAK;;CAOxC,SAAkB;EAChB,IAAI,CAAC,KAAK,MAAM,OAAO;EAEvB,IAAM,IAAW,KAAK,QAAQ,UAAU,KAAK,UAAU,IACjD,IAAU,GAAG,KAAK,KAAK,QAAQ,EAAE,GAAG,KAAK,KAAK,OAAO,EAAE,GAAG,KAAK,KAAK,SAAS,EAAuB,GAAG,KAAK,KAAK,UAAU;EAEjI,OAAO,CAAI;;gBAEC,EAAS,EAAE,MAAM,KAAK,KAAK,CAAC,EAAE;gBAC9B,EAAS;mBACN,EAAQ;iBACV,KAAK,KAAK;kBACT,KAAK,KAAK;;;UAGlB,EAAU,KAAK,KAAK,IAAI,EAAE;;;CAGlC;AACF;AAxBG,EAAA,CAAA,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,GAC7B,EAAA,CAAA,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,GACzC,EAAA,CAAA,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,GACxC,EAAA,CAAA,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,GAP1C,IAAA,EAAA,CAAA,EAAc,aAAa,CAAA,GAAA,CAAA"}
|
|
@@ -33,7 +33,7 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
33
33
|
isOpen: () => this._open
|
|
34
34
|
}), this._dismissed = !1, this._swipeGesture = !1, this._panOriginX = 0, this._panOriginY = 0, this._dragged = !1, this._blankPointerDown = !1, this._pinchScale = D, this._pinchLocalX = 0, this._pinchLocalY = 0, this._handleImageSettled = (e) => {
|
|
35
35
|
let t = e.currentTarget;
|
|
36
|
-
t && (this.
|
|
36
|
+
t && (this._markLoaded(t), this.requestUpdate());
|
|
37
37
|
}, this._handleCancel = (e) => {
|
|
38
38
|
e.preventDefault(), this.close();
|
|
39
39
|
}, this._handleNativeClose = () => {
|
|
@@ -184,7 +184,7 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
184
184
|
updated(e) {
|
|
185
185
|
if (super.updated(e), this.isConnected) {
|
|
186
186
|
if (e.has("_open")) {
|
|
187
|
-
this._presence.sync(this._open);
|
|
187
|
+
this._presence.sync(this._open), this._open && window.getSelection()?.removeAllRanges();
|
|
188
188
|
let e = this.dialog;
|
|
189
189
|
e && (this._open ? (this._handle?.release(), this._handle = this._overlay.claim(e, { ancestryFrom: this })) : (this._handle?.release(), this._handle = null)), !this._open && !this.dialog?.open && queueMicrotask(() => this._notifyDismissed());
|
|
190
190
|
}
|
|
@@ -253,6 +253,10 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
253
253
|
_isBlank(e) {
|
|
254
254
|
return e === this.dialog || e === this._stage;
|
|
255
255
|
}
|
|
256
|
+
_markLoaded(e) {
|
|
257
|
+
let t = this.images[Number(e.dataset.index)]?.src;
|
|
258
|
+
t !== void 0 && this._loadedSources.add(t);
|
|
259
|
+
}
|
|
256
260
|
_endGesture() {
|
|
257
261
|
this._gesture?.destroy(), this._gesture = void 0, this._dragging = !1, this._cancelSwipeSettle(), this._swipeDir = 0, this._swipeOffset = 0;
|
|
258
262
|
}
|
|
@@ -326,6 +330,7 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
326
330
|
"wui-image-preview-image": !0,
|
|
327
331
|
"is-loaded": this._loadedSources.has(this.images[c].src)
|
|
328
332
|
})}
|
|
333
|
+
data-index=${c}
|
|
329
334
|
src=${this.images[c].src}
|
|
330
335
|
alt=${this.images[c].alt ?? ""}
|
|
331
336
|
draggable="false"
|
|
@@ -342,6 +347,7 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
342
347
|
"wui-image-preview-image": !0,
|
|
343
348
|
"is-loaded": this._loadedSources.has(this.images[this._index].src)
|
|
344
349
|
})}
|
|
350
|
+
data-index=${this._index}
|
|
345
351
|
src=${this.images[this._index].src}
|
|
346
352
|
alt=${this.images[this._index].alt ?? ""}
|
|
347
353
|
draggable="false"
|
|
@@ -358,6 +364,7 @@ var D = 1, O = 4, k = .5, A = .002, j = 3, M = .15, N = 320, P = 16, F = 160, I
|
|
|
358
364
|
"wui-image-preview-image": !0,
|
|
359
365
|
"is-loaded": this._loadedSources.has(this.images[l].src)
|
|
360
366
|
})}
|
|
367
|
+
data-index=${l}
|
|
361
368
|
src=${this.images[l].src}
|
|
362
369
|
alt=${this.images[l].alt ?? ""}
|
|
363
370
|
draggable="false"
|