easy-component-ui 1.0.3 → 2.0.1
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/.github/workflows/publish.yml +28 -0
- package/components/Base.js +1 -90
- package/components/ea-alert/index.js +1 -298
- package/components/ea-alert/src/style/stylesheet.js +1 -0
- package/components/ea-aside/index.js +1 -0
- package/components/ea-avatar/index.js +1 -277
- package/components/ea-avatar/src/assets/defaultAvatar.js +1 -0
- package/components/ea-avatar/src/assets/errorAvatar.js +1 -0
- package/components/ea-avatar/src/assets/iconAndTextAvatar.js +1 -0
- package/components/ea-avatar/src/style/stylesheet.js +1 -0
- package/components/ea-backtop/index.js +1 -232
- package/components/ea-backtop/src/style/stylesheet.js +1 -0
- package/components/ea-badge/index.js +1 -160
- package/components/ea-badge/src/style/stylesheet.js +1 -0
- package/components/ea-breadcrumb/index.js +1 -0
- package/components/ea-breadcrumb/src/style/stylesheet.js +1 -0
- package/components/ea-breadcrumb-item/index.js +1 -0
- package/components/ea-breadcrumb-item/src/style/style.js +1 -0
- package/components/ea-button/index.js +1 -584
- package/components/ea-button/src/components/ButtonComm.js +1 -0
- package/components/ea-button/src/components/HrefComm.js +1 -0
- package/components/ea-button/src/style/stylesheet.js +1 -0
- package/components/ea-button-group/index.js +1 -459
- package/components/ea-button-group/src/style/stylesheet.js +1 -0
- package/components/ea-calendar/index.js +1 -409
- package/components/ea-calendar/src/style/stylesheet.js +1 -0
- package/components/ea-calendar/src/utils/createChangerElement.js +1 -0
- package/components/ea-calendar/src/utils/createThead.js +1 -0
- package/components/ea-calendar/src/utils/getDate.js +1 -0
- package/components/ea-calendar/src/utils/getUserWeekStart.js +1 -0
- package/components/ea-card/index.js +1 -77
- package/components/ea-card/src/style/stylesheet.js +1 -0
- package/components/ea-carousel/index.js +1 -434
- package/components/ea-carousel/src/style/stylesheet.js +1 -0
- package/components/ea-carousel/src/utils/handleIndexOverflow.js +1 -0
- package/components/ea-carousel-item/index.js +1 -0
- package/components/ea-carousel-item/src/style/stylesheet.js +1 -0
- package/components/ea-checkbox/index.js +1 -314
- package/components/ea-checkbox/src/style/stylesheet.js +1 -0
- package/components/ea-checkbox-group/index.js +1 -107
- package/components/ea-checkbox-group/src/style/stylesheet.js +1 -0
- package/components/ea-collapse/index.js +1 -293
- package/components/ea-collapse-item/index.js +1 -0
- package/components/ea-collapse-item/src/style/stylesheet.js +1 -0
- package/components/ea-container/index.js +1 -0
- package/components/ea-date-picker/index.js +1 -0
- package/components/ea-date-picker/src/style/stylesheet.js +1 -0
- package/components/ea-descriptions/index.js +1 -240
- package/components/ea-descriptions/src/components/contentTemplate.js +1 -0
- package/components/ea-descriptions/src/components/getTdTemplate_border.js +1 -0
- package/components/ea-descriptions/src/components/getTdTemplate_direction.js +1 -0
- package/components/ea-descriptions/src/components/getThTemplate_direction.js +1 -0
- package/components/ea-descriptions/src/components/getThTemplate_normal.js +1 -0
- package/components/ea-descriptions/src/style/stylesheet.js +1 -0
- package/components/ea-descriptions-item/index.js +1 -110
- package/components/ea-descriptions-item/src/stylesheet.js +1 -0
- package/components/ea-drawer/index.js +1 -0
- package/components/ea-drawer/src/style/stylesheet.js +1 -0
- package/components/ea-empty/index.js +1 -141
- package/components/ea-empty/src/assets/emptyStatusSVG.js +1 -0
- package/components/ea-empty/src/style/stylesheet.js +1 -0
- package/components/ea-footer/index.js +1 -0
- package/components/ea-form/index.js +1 -0
- package/components/ea-form-item/index.js +1 -0
- package/components/ea-form-item/src/style/stylesheet.js +1 -0
- package/components/ea-header/index.js +1 -0
- package/components/ea-icon/config.json +1029 -1017
- package/components/ea-icon/css/animation.css +85 -85
- package/components/ea-icon/css/fontello.css +226 -224
- package/components/ea-icon/font/fontello.eot +0 -0
- package/components/ea-icon/font/fontello.svg +350 -683
- package/components/ea-icon/font/fontello.ttf +0 -0
- package/components/ea-icon/font/fontello.woff +0 -0
- package/components/ea-icon/font/fontello.woff2 +0 -0
- package/components/ea-icon/index.js +1 -47
- package/components/ea-image/index.js +1 -412
- package/components/ea-image/src/assets/errorImage.js +1 -0
- package/components/ea-image/src/style/stylesheet.js +1 -0
- package/components/ea-image/src/utils/createPreviewTools.js +1 -0
- package/components/ea-infinite-scroll/index.js +1 -170
- package/components/ea-infinite-scroll-item/index.js +1 -0
- package/components/ea-input/index.js +1 -765
- package/components/ea-input/src/components/createFixIcon.js +1 -0
- package/components/ea-input/src/components/createSuggestionBoard.js +1 -0
- package/components/ea-input/src/components/createWordLimitElement.js +1 -0
- package/components/ea-input/src/style/stylesheet.js +1 -0
- package/components/ea-input/src/utils/dispatchEvent.js +1 -0
- package/components/ea-input/src/utils/handleSearchResult.js +1 -0
- package/components/ea-input/src/utils/handleSuggestionBoardTrigger.js +1 -0
- package/components/ea-input-number/index.js +1 -458
- package/components/ea-input-number/src/style/stylesheet.js +1 -0
- package/components/ea-input-number/src/utils/handleCustomEvent.js +1 -0
- package/components/ea-link/index.js +1 -200
- package/components/ea-link/src/style/stylesheet.js +1 -0
- package/components/ea-loading/index.js +1 -218
- package/components/ea-loading/src/style/stylesheet.js +1 -0
- package/components/ea-main/index.js +1 -0
- package/components/ea-menu/index.js +1 -0
- package/components/ea-menu/src/style/stylesheet.js +1 -0
- package/components/ea-menu/src/utils/handleMenuItemEvent.js +1 -0
- package/components/ea-menu-item/index.js +1 -0
- package/components/ea-menu-item/src/style/stylesheet.js +1 -0
- package/components/ea-menu-item-group/index.js +1 -0
- package/components/ea-menu-item-group/src/style/stylesheet.js +1 -0
- package/components/ea-message/index.js +1 -233
- package/components/ea-message/src/style/stylesheet.js +1 -0
- package/components/ea-message/src/utils/MessageClass.js +1 -0
- package/components/ea-message-box/index.js +1 -202
- package/components/ea-message-box/src/style/stylesheet.js +1 -0
- package/components/ea-message-box/src/utils/EaMessageBoxClass.js +1 -0
- package/components/ea-option/index.js +1 -0
- package/components/ea-option/src/style/stylesheet.js +1 -0
- package/components/ea-option-gropu/index.js +1 -0
- package/components/ea-page-header/index.js +1 -0
- package/components/ea-page-header/src/style/stylesheet.js +1 -0
- package/components/ea-pagination/index.js +1 -444
- package/components/ea-pagination/src/components/getMoreItem.js +1 -0
- package/components/ea-pagination/src/components/getPageItem.js +1 -0
- package/components/ea-pagination/src/components/getShowTotalItem.js +1 -0
- package/components/ea-pagination/src/style/stylesheet.js +1 -0
- package/components/ea-pane/index.js +1 -0
- package/components/ea-pane/src/stylesheet.js +1 -0
- package/components/ea-progress/index.js +1 -333
- package/components/ea-progress/src/components/SVGComm.js +1 -0
- package/components/ea-progress/src/style/stylesheet.js +1 -0
- package/components/ea-radio/index.js +1 -287
- package/components/ea-radio/src/style/stylesheet.js +1 -0
- package/components/ea-radio-group/index.js +1 -59
- package/components/ea-rate/index.js +1 -326
- package/components/ea-rate/src/components/rateComm.js +1 -0
- package/components/ea-rate/src/style/stylesheet.js +1 -0
- package/components/ea-result/index.js +1 -167
- package/components/ea-result/src/style/stylesheet.js +1 -0
- package/components/ea-select/index.js +1 -34
- package/components/ea-select/src/style/stylesheet.js +1 -0
- package/components/ea-skeleton/index.js +1 -341
- package/components/ea-skeleton/src/style/stylesheet.js +1 -0
- package/components/ea-skeleton/src/utils/createSkeletonElement.js +1 -0
- package/components/ea-skeleton-item/index.js +1 -0
- package/components/ea-skeleton-item/src/assets/imageSVG.js +1 -0
- package/components/ea-skeleton-item/src/style/stylesheet.js +1 -0
- package/components/ea-step/index.js +1 -0
- package/components/ea-step/src/style/stylesheet.js +1 -0
- package/components/ea-steps/index.js +1 -0
- package/components/ea-steps/src/style/stylesheet.js +1 -0
- package/components/ea-submenu/index.js +1 -0
- package/components/ea-submenu/src/style/stylesheet.js +1 -0
- package/components/ea-switch/index.js +1 -301
- package/components/ea-switch/src/style/stylesheet.js +1 -0
- package/components/ea-tab/index.js +1 -0
- package/components/ea-tab/src/style/stylesheet.js +1 -0
- package/components/ea-table/index.js +1 -0
- package/components/ea-table/src/style/stylesheet.js +1 -0
- package/components/ea-table-column/index.js +1 -0
- package/components/ea-tabs/index.js +1 -0
- package/components/ea-tabs/src/style/stylesheet.js +1 -0
- package/components/ea-tag/index.js +1 -212
- package/components/ea-tag/src/style/stylesheet.js +1 -0
- package/components/ea-textarea/index.js +1 -333
- package/components/ea-textarea/src/style/stylesheet.js +1 -0
- package/components/ea-time-picker/index.js +1 -0
- package/components/ea-time-picker/src/style/stylesheet.js +1 -0
- package/components/ea-timeline/index.js +1 -334
- package/components/ea-timeline/style/stylesheet.js +1 -0
- package/components/ea-timeline-item/index.js +1 -0
- package/components/ea-timeline-item/src/style/stylesheet.js +1 -0
- package/package.json +11 -11
- package/utils/Validator.js +1 -0
- package/utils/createElement.js +1 -30
- package/utils/handleDefaultAttrIsTrue.js +1 -0
- package/utils/handleTemplate.js +1 -19
- package/utils/setStyle.js +1 -8
- package/utils/timeout.js +1 -0
- package/components/ea-message/MessageClass.js +0 -71
- package/components/ea-message-box/EaMessageBoxClass.js +0 -48
- package/components/ea-ui-base-style.css +0 -0
|
@@ -1,110 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import Base from '../Base.js';
|
|
3
|
-
|
|
4
|
-
const stylesheet = `
|
|
5
|
-
@import url('/ea_ui_component/icon/index.css');
|
|
6
|
-
|
|
7
|
-
.ea-descriptions-item_wrap {
|
|
8
|
-
display: inline-flex;
|
|
9
|
-
text-align: left;
|
|
10
|
-
padding-bottom: 1rem;
|
|
11
|
-
line-height: 1.5;
|
|
12
|
-
}
|
|
13
|
-
.ea-descriptions-item_wrap .ea-descriptions-item_label {
|
|
14
|
-
margin-right: 10px;
|
|
15
|
-
}
|
|
16
|
-
.ea-descriptions-item_wrap .ea-descriptions-item_label::after {
|
|
17
|
-
content: ":";
|
|
18
|
-
}
|
|
19
|
-
.ea-descriptions-item_wrap .ea-descriptions-item_content {
|
|
20
|
-
display: inline-flex;
|
|
21
|
-
flex: 1;
|
|
22
|
-
align-items: baseline;
|
|
23
|
-
}
|
|
24
|
-
.ea-descriptions-item_wrap .ea-descriptions-item_label.is-border,
|
|
25
|
-
.ea-descriptions-item_wrap .ea-descriptions-item_content.is-border {
|
|
26
|
-
border: 1px solid #ebeef5;
|
|
27
|
-
}
|
|
28
|
-
`;
|
|
29
|
-
|
|
30
|
-
export class EaDescriptionsItem extends Base {
|
|
31
|
-
#wrap;
|
|
32
|
-
|
|
33
|
-
#label;
|
|
34
|
-
|
|
35
|
-
#labelSlot;
|
|
36
|
-
|
|
37
|
-
constructor() {
|
|
38
|
-
super();
|
|
39
|
-
|
|
40
|
-
const shadowRoot = this.attachShadow({ mode: 'open' });
|
|
41
|
-
|
|
42
|
-
const wrap = document.createElement('td');
|
|
43
|
-
wrap.className = 'ea-descriptions-item_wrap';
|
|
44
|
-
wrap.colSpan = 1;
|
|
45
|
-
|
|
46
|
-
const label = document.createElement('span');
|
|
47
|
-
const labelSlot = document.createElement('slot');
|
|
48
|
-
label.className = 'ea-descriptions-item_label';
|
|
49
|
-
label.appendChild(labelSlot);
|
|
50
|
-
wrap.appendChild(label);
|
|
51
|
-
|
|
52
|
-
const content = document.createElement('span');
|
|
53
|
-
const slot = document.createElement('slot');
|
|
54
|
-
content.className = 'ea-descriptions-item_content';
|
|
55
|
-
labelSlot.name = 'label';
|
|
56
|
-
content.appendChild(slot);
|
|
57
|
-
wrap.appendChild(content);
|
|
58
|
-
|
|
59
|
-
this.#wrap = wrap;
|
|
60
|
-
this.#label = label;
|
|
61
|
-
this.#labelSlot = labelSlot;
|
|
62
|
-
|
|
63
|
-
this.build(shadowRoot, stylesheet);
|
|
64
|
-
this.shadowRoot.appendChild(wrap);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// ------- label 该格的标题 -------
|
|
68
|
-
// #region
|
|
69
|
-
get label() {
|
|
70
|
-
return this.getAttribute('label') || '';
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
set label(value) {
|
|
74
|
-
this.setAttribute('label', value);
|
|
75
|
-
|
|
76
|
-
this.#label.innerHTML = value;
|
|
77
|
-
}
|
|
78
|
-
// #endregion
|
|
79
|
-
// ------- end -------
|
|
80
|
-
|
|
81
|
-
// ------- span 该格的大小 -------
|
|
82
|
-
// #region
|
|
83
|
-
get span() {
|
|
84
|
-
return this.getAttrNumber('span') || 1;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
set span(value) {
|
|
88
|
-
this.setAttribute('span', value);
|
|
89
|
-
|
|
90
|
-
this.#wrap.colSpan = value;
|
|
91
|
-
}
|
|
92
|
-
// #endregion
|
|
93
|
-
// ------- end -------
|
|
94
|
-
|
|
95
|
-
init() {
|
|
96
|
-
const that = this;
|
|
97
|
-
|
|
98
|
-
this.label = this.label;
|
|
99
|
-
|
|
100
|
-
this.span = this.span;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
connectedCallback() {
|
|
104
|
-
this.init();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if (!customElements.get('ea-descriptions-item')) {
|
|
109
|
-
customElements.define('ea-descriptions-item', EaDescriptionsItem);
|
|
110
|
-
}
|
|
1
|
+
import Base from"../Base.js";import{stylesheet}from"./src/stylesheet.js";export class EaDescriptionsItem extends Base{#e;#t;#s;constructor(){super();const e=this.attachShadow({mode:"open"});e.innerHTML='\n <td class="ea-descriptions-item_wrap" part="container">\n <span class="ea-descriptions-item_label" part="label-wrap">\n <slot slot="label"></slot>\n </span>\n <span class="ea-descriptions-item_content" part="content-wrap">\n <slot></slot>\n </span>\n </td>\n ',this.#e=e.querySelector(".ea-descriptions-item_wrap"),this.#t=e.querySelector(".ea-descriptions-item_label"),this.#s=e.querySelector('slot[name="label"]'),this.build(e,stylesheet)}get label(){return this.getAttribute("label")||""}set label(e){this.setAttribute("label",e),this.#t.innerHTML=e}get span(){return this.getAttrNumber("span")||1}set span(e){this.setAttribute("span",e)}connectedCallback(){this.label=this.label,this.span=this.span}}customElements.get("ea-descriptions-item")||customElements.define("ea-descriptions-item",EaDescriptionsItem);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const stylesheet='\n.ea-descriptions-item_wrap {\n display: inline-flex;\n text-align: left;\n padding-bottom: 1rem;\n line-height: 1.5;\n}\n.ea-descriptions-item_wrap .ea-descriptions-item_label {\n margin-right: 10px;\n}\n.ea-descriptions-item_wrap .ea-descriptions-item_label::after {\n content: ":";\n}\n.ea-descriptions-item_wrap .ea-descriptions-item_content {\n display: inline-flex;\n flex: 1;\n align-items: baseline;\n}\n.ea-descriptions-item_wrap .ea-descriptions-item_label.is-border,\n.ea-descriptions-item_wrap .ea-descriptions-item_content.is-border {\n border: 1px solid #ebeef5;\n}\n';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Base from"../Base.js";import"../ea-icon/index.js";import{timeout}from"../../utils/timeout.js";import{handleDefaultAttrIsTrue}from"../../utils/handleDefaultAttrIsTrue.js";import{stylesheet}from"./src/style/stylesheet.js";export class EaDrawer extends Base{#e;#t;#r;#s;#i;#a;constructor(){super();const e=this.attachShadow({mode:"open"});e.innerHTML='\n <div class="ea-drawer_wrap" part="container">\n <div class="ea-drawer_drawer-wrap" part="drawer-wrap">\n <div class="ea-drawer_header-wrap" part="header-wrap">\n <span class="ea-drawer_title" part="title-wrap">\n <slot name="title"></slot>\n </span>\n <ea-icon class="ea-drawer_icon" icon="icon-cancel" part="icon"></ea-icon>\n </div>\n <div class="ea-drawer_main-wrap" part="main-wrap">\n <slot></slot>\n </div>\n <div class="ea-drawer_mask-wrap" part="mask-wrap"></div>\n </div>\n </div>\n ',this.#e=e.querySelector(".ea-drawer_wrap"),this.#t=e.querySelector(".ea-drawer_drawer-wrap"),this.#r=e.querySelector(".ea-drawer_mask-wrap"),this.#s=e.querySelector(".ea-drawer_header-wrap"),this.#i=e.querySelector(".ea-drawer_title"),this.#a=e.querySelector(".ea-drawer_icon"),this.build(e,stylesheet)}get directionType(){return["ltr","rtl","ttb","btt"]}get direction(){const e=this.getAttribute("direction");return this.directionType.includes(e)?e:"ltr"}set direction(e){this.setAttribute("direction",e),this.#e.classList.toggle("direction-ltr","ltr"===e),this.#e.classList.toggle("direction-rtl","rtl"===e),this.#e.classList.toggle("direction-ttb","ttb"===e),this.#e.classList.toggle("direction-btt","btt"===e),this.#l(this.size)}get open(){return this.getAttrBoolean("open")||!1}set open(e){this.toggleAttr("open",e),timeout((()=>{this.#e.classList.toggle("is-open",e)}),20)}get size(){return this.getAttribute("size")||"30%"}set size(e){this.setAttribute("size",e),this.#l(e)}get withHeader(){return handleDefaultAttrIsTrue(this.getAttribute("with-header"))}set withHeader(e){this.toggleAttr("with-header",e),this.#s.style.display=e?"flex":"none"}get title(){return this.getAttribute("title")}set title(e){this.setAttribute("title",e),e&&(this.#i.innerText=e)}get showClose(){return handleDefaultAttrIsTrue(this.getAttribute("show-close"))}set showClose(e){this.toggleAttr("show-close",e),this.#a.style.display=e?"block":"none"}get modal(){return handleDefaultAttrIsTrue(this.getAttribute("modal"))}set modal(e){this.toggleAttr("modal",e),this.#r.style.display=e?"block":"none"}get wrapperClosable(){return handleDefaultAttrIsTrue(this.getAttribute("wrapper-closable"))}set wrapperClosable(e){this.setAttribute("wrapper-closable",e)}#l(e){const t="ltr"===this.direction||"rtl"===this.direction?"width":"height";this.#t.style.height="inherit",this.#t.style.width="inherit",this.#t.style[t]=e}#o(){const e=()=>{this.open=!1,this.#e.classList.remove("will-close"),this.#t.removeEventListener("transitionend",e)},t=()=>{this.#e.classList.add("will-close"),this.#t.addEventListener("transitionend",e),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))};this.wrapperClosable&&this.modal&&this.#r.addEventListener("click",(()=>{t()})),this.showClose&&this.#a.addEventListener("click",(()=>{t()}))}connectedCallback(){this.direction=this.direction,this.size=this.size,this.withHeader=this.withHeader,this.withHeader&&(this.showClose=this.showClose,this.title=this.title),this.modal=this.modal,this.wrapperClosable=this.wrapperClosable,this.open=!1,this.#o()}}customElements.get("ea-drawer")||customElements.define("ea-drawer",EaDrawer);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const stylesheet="\n.ea-drawer_wrap {\n position: fixed;\n width: 100%;\n height: 100%;\n z-index: 2001;\n}\n.ea-drawer_wrap .ea-drawer_drawer-wrap {\n position: absolute;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n transition: left 0.3s, right 0.3s, top 0.3s, bottom 0.3s;\n}\n.ea-drawer_wrap .ea-drawer_drawer-wrap .ea-drawer_header-wrap {\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n margin-bottom: 32px;\n padding: 20px 20px 0;\n color: #72767b;\n}\n.ea-drawer_wrap .ea-drawer_drawer-wrap .ea-drawer_header-wrap .ea-drawer_icon {\n cursor: pointer;\n}\n.ea-drawer_wrap .ea-drawer_drawer-wrap .ea-drawer_main-wrap {\n flex: 1;\n box-sizing: border-box;\n padding: 20px;\n overflow: auto;\n}\n.ea-drawer_wrap .ea-drawer_drawer-wrap .ea-drawer_mask-wrap {\n position: fixed;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.4);\n z-index: -1;\n opacity: 0;\n scale: 0;\n transition: opacity 0.3s, left 0.3s, right 0.3s, top 0.3s, bottom 0.3s;\n}\n.ea-drawer_wrap.direction-ltr, .ea-drawer_wrap.direction-rtl {\n top: 0;\n}\n.ea-drawer_wrap.direction-ltr .ea-drawer_drawer-wrap, .ea-drawer_wrap.direction-rtl .ea-drawer_drawer-wrap {\n top: 0;\n height: 100%;\n}\n.ea-drawer_wrap.direction-ttb, .ea-drawer_wrap.direction-btt {\n left: 0;\n}\n.ea-drawer_wrap.direction-ttb .ea-drawer_drawer-wrap, .ea-drawer_wrap.direction-btt .ea-drawer_drawer-wrap {\n left: 0;\n width: 100%;\n}\n.ea-drawer_wrap.direction-ttb .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-btt .ea-drawer_mask-wrap {\n left: 0;\n}\n.ea-drawer_wrap.direction-ltr.is-open .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-rtl.is-open .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-ttb.is-open .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-btt.is-open .ea-drawer_mask-wrap {\n opacity: 1;\n scale: 1;\n}\n.ea-drawer_wrap.direction-ltr.will-close .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-rtl.will-close .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-ttb.will-close .ea-drawer_mask-wrap, .ea-drawer_wrap.direction-btt.will-close .ea-drawer_mask-wrap {\n opacity: 0;\n scale: 0;\n}\n.ea-drawer_wrap.direction-ltr {\n left: -100%;\n}\n.ea-drawer_wrap.direction-ltr .ea-drawer_drawer-wrap {\n left: -100%;\n}\n.ea-drawer_wrap.direction-ltr .ea-drawer_mask-wrap {\n left: 0;\n}\n.ea-drawer_wrap.direction-ltr.is-open {\n left: 0;\n}\n.ea-drawer_wrap.direction-ltr.is-open .ea-drawer_drawer-wrap {\n left: 0;\n}\n.ea-drawer_wrap.direction-ltr.will-close .ea-drawer_drawer-wrap {\n left: -100%;\n}\n.ea-drawer_wrap.direction-rtl {\n right: -100%;\n}\n.ea-drawer_wrap.direction-rtl .ea-drawer_drawer-wrap {\n right: -100%;\n}\n.ea-drawer_wrap.direction-rtl .ea-drawer_mask-wrap {\n right: 0;\n}\n.ea-drawer_wrap.direction-rtl.is-open {\n right: 0;\n}\n.ea-drawer_wrap.direction-rtl.is-open .ea-drawer_drawer-wrap {\n right: 0;\n}\n.ea-drawer_wrap.direction-rtl.will-close .ea-drawer_drawer-wrap {\n right: -100%;\n}\n.ea-drawer_wrap.direction-ttb {\n bottom: -100%;\n}\n.ea-drawer_wrap.direction-ttb .ea-drawer_drawer-wrap {\n bottom: -100%;\n}\n.ea-drawer_wrap.direction-ttb .ea-drawer_mask-wrap {\n bottom: 0;\n}\n.ea-drawer_wrap.direction-ttb.is-open {\n bottom: 0;\n}\n.ea-drawer_wrap.direction-ttb.is-open .ea-drawer_drawer-wrap {\n bottom: 0;\n}\n.ea-drawer_wrap.direction-ttb.will-close .ea-drawer_drawer-wrap {\n bottom: -100%;\n}\n.ea-drawer_wrap.direction-btt {\n top: -100%;\n}\n.ea-drawer_wrap.direction-btt .ea-drawer_drawer-wrap {\n top: -100%;\n}\n.ea-drawer_wrap.direction-btt .ea-drawer_mask-wrap {\n top: 0;\n}\n.ea-drawer_wrap.direction-btt.is-open {\n top: 0;\n}\n.ea-drawer_wrap.direction-btt.is-open .ea-drawer_drawer-wrap {\n top: 0;\n}\n.ea-drawer_wrap.direction-btt.will-close .ea-drawer_drawer-wrap {\n top: -100%;\n}\n";
|
|
@@ -1,141 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import Base from '../Base.js';
|
|
3
|
-
|
|
4
|
-
const stylesheet = `
|
|
5
|
-
.ea-empty_wrap {
|
|
6
|
-
padding: 40px 0;
|
|
7
|
-
display: flex;
|
|
8
|
-
justify-content: center;
|
|
9
|
-
align-items: center;
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
}
|
|
12
|
-
.ea-empty_wrap .ea-empty_image {
|
|
13
|
-
width: 8rem;
|
|
14
|
-
object-fit: cover;
|
|
15
|
-
}
|
|
16
|
-
.ea-empty_wrap .ea-empty_image svg,
|
|
17
|
-
.ea-empty_wrap .ea-empty_image img {
|
|
18
|
-
width: 100%;
|
|
19
|
-
height: 100%;
|
|
20
|
-
}
|
|
21
|
-
.ea-empty_wrap .ea-empty_description {
|
|
22
|
-
margin-top: 20px;
|
|
23
|
-
}
|
|
24
|
-
.ea-empty_wrap .ea-empty_bottom {
|
|
25
|
-
margin-top: 20px;
|
|
26
|
-
}
|
|
27
|
-
`;
|
|
28
|
-
|
|
29
|
-
const emptyStatusSVG = `
|
|
30
|
-
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
31
|
-
<path d="M30 50v21.5a2 2 0 0 0 1 1h39a2 2 0 0 0 1-1V50H61a10 10 0 0 1-20 0h-6.5z" fill="#6E6E6F" />
|
|
32
|
-
<path d="M30.5 50.5L34 39h32.5l4 11.5" fill="none" stroke="#6E6E6F" />
|
|
33
|
-
</svg>
|
|
34
|
-
`;
|
|
35
|
-
|
|
36
|
-
export class EaEmpty extends Base {
|
|
37
|
-
#wrap;
|
|
38
|
-
#imageWrap;
|
|
39
|
-
#descriptionWrap;
|
|
40
|
-
#slot;
|
|
41
|
-
|
|
42
|
-
constructor() {
|
|
43
|
-
super();
|
|
44
|
-
|
|
45
|
-
const shadowRoot = this.attachShadow({ mode: 'open' });
|
|
46
|
-
const wrap = document.createElement('div');
|
|
47
|
-
wrap.className = 'ea-empty_wrap';
|
|
48
|
-
|
|
49
|
-
const imageWrap = document.createElement('div');
|
|
50
|
-
imageWrap.className = 'ea-empty_image';
|
|
51
|
-
imageWrap.innerHTML = emptyStatusSVG;
|
|
52
|
-
wrap.appendChild(imageWrap);
|
|
53
|
-
|
|
54
|
-
const descriptionWrap = document.createElement('div');
|
|
55
|
-
descriptionWrap.className = 'ea-empty_description';
|
|
56
|
-
descriptionWrap.innerHTML = `暂无数据`;
|
|
57
|
-
wrap.appendChild(descriptionWrap);
|
|
58
|
-
|
|
59
|
-
const bottomWrap = document.createElement('div');
|
|
60
|
-
const slot = document.createElement('slot');
|
|
61
|
-
bottomWrap.className = 'ea-empty_bottom';
|
|
62
|
-
bottomWrap.appendChild(slot);
|
|
63
|
-
wrap.appendChild(bottomWrap);
|
|
64
|
-
|
|
65
|
-
this.#wrap = wrap;
|
|
66
|
-
this.#imageWrap = imageWrap;
|
|
67
|
-
this.#descriptionWrap = descriptionWrap;
|
|
68
|
-
this.#slot = slot;
|
|
69
|
-
|
|
70
|
-
this.build(shadowRoot, stylesheet);
|
|
71
|
-
this.shadowRoot.appendChild(wrap);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// ------- description 描述文字 -------
|
|
75
|
-
// #region
|
|
76
|
-
get description() {
|
|
77
|
-
return this.getAttribute('description') || "暂无数据";
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
set description(value) {
|
|
81
|
-
this.setAttribute('description', value);
|
|
82
|
-
this.#descriptionWrap.innerHTML = value;
|
|
83
|
-
}
|
|
84
|
-
// #endregion
|
|
85
|
-
// ------- end -------
|
|
86
|
-
|
|
87
|
-
// ------- image 自定义图片 -------
|
|
88
|
-
// #region
|
|
89
|
-
get image() {
|
|
90
|
-
return this.getAttribute('image') || "";
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
set image(value) {
|
|
94
|
-
if (!value) return;
|
|
95
|
-
|
|
96
|
-
this.setAttribute('image', value);
|
|
97
|
-
|
|
98
|
-
const image = new Image();
|
|
99
|
-
image.src = value;
|
|
100
|
-
image.onload = () => {
|
|
101
|
-
// this.#imageWrap.style.width = image.width + "px";
|
|
102
|
-
this.#imageWrap.innerHTML = `<img src="${value}" />`;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
// #endregion
|
|
107
|
-
// ------- end -------
|
|
108
|
-
|
|
109
|
-
// ------- image-size 自定义图片大小 -------
|
|
110
|
-
// #region
|
|
111
|
-
get imageSize() {
|
|
112
|
-
return this.getAttribute('image-size') || "128";
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
set imageSize(value) {
|
|
116
|
-
if (!value) return;
|
|
117
|
-
|
|
118
|
-
this.setAttribute('image-size', value);
|
|
119
|
-
this.#imageWrap.style.width = value + "px";
|
|
120
|
-
}
|
|
121
|
-
// #endregion
|
|
122
|
-
// ------- end -------
|
|
123
|
-
|
|
124
|
-
init() {
|
|
125
|
-
const that = this;
|
|
126
|
-
|
|
127
|
-
this.description = this.description;
|
|
128
|
-
|
|
129
|
-
this.image = this.image;
|
|
130
|
-
|
|
131
|
-
this.imageSize = this.imageSize;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
connectedCallback() {
|
|
135
|
-
this.init();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if (!customElements.get('ea-empty')) {
|
|
140
|
-
customElements.define('ea-empty', EaEmpty);
|
|
141
|
-
}
|
|
1
|
+
import Base from"../Base.js";import{emptyStatusSVG}from"./src/assets/emptyStatusSVG.js";import{stylesheet}from"./src/style/stylesheet.js";export class EaEmpty extends Base{#t;#e;constructor(){super();const t=this.attachShadow({mode:"open"});t.innerHTML=`\n <div class="ea-empty_wrap" part="container">\n <div class="ea-empty_image" part="image-wrap">\n ${emptyStatusSVG}\n </div>\n <div class="ea-empty_description" part="description-wrap">\n 暂无数据\n </div>\n <div class="ea-empty_bottom" part="bottom-wrap">\n <slot></slot>\n </div>\n </div>\n `,this.#t=t.querySelector(".ea-empty_image"),this.#e=t.querySelector(".ea-empty_description"),this.build(t,stylesheet)}get description(){return this.getAttribute("description")||"暂无数据"}set description(t){this.setAttribute("description",t),this.#e.innerHTML=t}get image(){return this.getAttribute("image")||""}set image(t){if(!t)return;this.setAttribute("image",t);const e=new Image;e.src=t,e.onload=()=>{this.#t.innerHTML=`<img src="${t}" />`}}get imageSize(){return this.getAttribute("image-size")||"128"}set imageSize(t){t&&(this.setAttribute("image-size",t),this.#t.style.width=t+"px")}connectedCallback(){this.description=this.description,this.image=this.image,this.imageSize=this.imageSize}}customElements.get("ea-empty")||customElements.define("ea-empty",EaEmpty);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const emptyStatusSVG='\n<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">\n <path d="M30 50v21.5a2 2 0 0 0 1 1h39a2 2 0 0 0 1-1V50H61a10 10 0 0 1-20 0h-6.5z" fill="#6E6E6F" />\n <path d="M30.5 50.5L34 39h32.5l4 11.5" fill="none" stroke="#6E6E6F" />\n</svg>\n';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const stylesheet="\n.ea-empty_wrap {\n padding: 40px 0;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n}\n.ea-empty_wrap .ea-empty_image {\n width: 8rem;\n object-fit: cover;\n}\n.ea-empty_wrap .ea-empty_image svg,\n.ea-empty_wrap .ea-empty_image img {\n width: 100%;\n height: 100%;\n}\n.ea-empty_wrap .ea-empty_description {\n margin-top: 20px;\n}\n.ea-empty_wrap .ea-empty_bottom {\n margin-top: 20px;\n}\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Base from"../Base.js";import"../ea-icon/index.js";const stylesheet="\n\n";export class EaFooter extends Base{#t;constructor(){super();const t=this.attachShadow({mode:"open"});t.innerHTML='\n <footer class="ea-footer_wrap" part="container">\n <slot></slot>\n </footer>\n ',this.#t=t.querySelector(".ea-footer_wrap"),this.build(t,"\n\n")}get height(){return this.getAttrNumber("height")||60}set height(t){this.setAttribute("height",t),this.#t.style.height=`${t}px`,this.#t.style.lineHeight=`${t}px`}connectedCallback(){this.height=this.height}}customElements.get("ea-footer")||customElements.define("ea-footer",EaFooter);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Base from"../Base.js";import"../ea-icon/index.js";import{Validator}from"../../utils/Validator.js";import"../ea-form-item/index.js";import"../ea-button/index.js";export class EaForm extends Base{#e;constructor(){super();this.attachShadow({mode:"open"}).innerHTML="\n <form class='ea-form_wrap' part='container'>\n <slot></slot>\n </form>\n "}get data(){const e={};return this.querySelectorAll("[data-ea-component]").forEach((t=>{e[t.name]=t.value})),e}get rules(){return this.#e||{}}set rules(e){this.#e=e;const t=this.querySelectorAll("ea-form-item");this.querySelectorAll("[data-ea-component]").forEach(((r,a)=>{t[a].rule=e[r.name],t[a].validateEvent(),t[a].isRequired=!!e[r.name]?.required}))}validate(){const e=this.querySelectorAll("ea-form-item"),t=this.querySelectorAll("[data-ea-component]");let r=[];return t.forEach(((t,a)=>{if(this.#e[t.name])for(const o in e[a].rule)if(Validator[o]){if(!Validator[o](t.value,e[a].rule[o])){e[a].isInvalid=!0,t.isInvalid=!0,r.push(t.name);break}e[a].isInvalid=!1,t.isInvalid=!1}})),new Promise(((e,t)=>{r.length>0?t(r):e(!0)}))}reset(){const e=this.querySelectorAll("ea-form-item");this.querySelectorAll("[data-ea-component]").forEach(((t,r)=>{t.value="",t.isInvalid=!1,e[r].isInvalid=!1}))}connectedCallback(){const e=this.querySelectorAll("ea-form-item"),t=Array.from(e).map((e=>e.label.length)),r=Math.max(...t);e.forEach((e=>{e.shadowRoot.querySelector(".ea-form-item_label-wrap").style.width=20*r+"px"}))}}customElements.get("ea-form")||customElements.define("ea-form",EaForm);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Base from"../Base.js";import"../ea-icon/index.js";import{withTransitionTimeOut}from"../../utils/timeout.js";import{Validator}from"../../utils/Validator.js";import{stylesheet}from"./src/style/stylesheet.js";export class EaFromItem extends Base{#t;#e;#i;#r;constructor(){super();const t=this.attachShadow({mode:"open"});t.innerHTML="\n <div class='ea-form-item_wrap' part='container'>\n <label class=\"ea-form-item_label-wrap\" part='label-wrap'>\n <slot name='label'></slot>\n </label>\n <div class=\"ea-form-item_content-wrap\" part='content-wrap'> \n <slot></slot>\n <span class=\"ea-form-item_invalid-wrap\" part='invalid-wrap'>\n <slot name='invalid-text'></slot>\n </span>\n </div>\n </div>\n ",this.#e=t.querySelector(".ea-form-item_wrap"),this.#i=t.querySelector(".ea-form-item_label-wrap"),this.#r=t.querySelector(".ea-form-item_invalid-wrap"),this.build(t,stylesheet)}get label(){return this.getAttribute("label")}set label(t){this.setAttribute("label",t);const e=this.#i.querySelector("slot");try{0===e.assignedNodes().length&&(this.#i.innerHTML=t)}catch(t){}}get trigger(){const t=this.getAttribute("trigger");return["blur","change"].includes(t)?t:"blur"}set trigger(t){this.setAttribute("trigger",t)}get isInvalid(){return"true"===this.getAttribute("is-invalid")}set isInvalid(t){this.setAttribute("is-invalid",t),this.#e.classList.toggle("is-required",t)}get rule(){return this.#t}set rule(t){this.#t=t;for(const e in t)this[e]=t[e]}get isRequired(){return this.getAttrBoolean("is-required")}set isRequired(t){this.setAttribute("is-required",t),this.#e.classList.toggle("is-required-star",t)}validateEvent(){const t=this.querySelector("[data-ea-component]");try{t.addEventListener(this.trigger,(e=>{for(const e in this.#t)if(Validator[e]){if(!Validator[e](t.value,this.#t[e])){t.isInvalid=!0,this.#e.classList.add("is-required");break}t.isInvalid=!1,this.#e.classList.remove("is-required")}}))}catch(t){}}connectedCallback(){this.label=this.label,this.trigger=this.trigger,withTransitionTimeOut(this.#e,50)}}customElements.get("ea-form-item")||customElements.define("ea-form-item",EaFromItem);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const stylesheet='\n.ea-form-item_wrap {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n margin-bottom: 22px;\n}\n.ea-form-item_wrap .ea-form-item_label-wrap {\n text-align: right;\n float: left;\n font-size: 14px;\n color: #606266;\n line-height: 40px;\n padding: 0 12px 0 0;\n box-sizing: border-box;\n}\n.ea-form-item_wrap .ea-form-item_content-wrap {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n.ea-form-item_wrap .ea-form-item_content-wrap .ea-form-item_invalid-wrap {\n position: absolute;\n bottom: 0;\n left: 0;\n transform-origin: top center;\n transform: translateY(100%) scaleY(0);\n font-size: 12px;\n color: #f56c6c;\n white-space: nowrap;\n}\n.ea-form-item_wrap.is-required-star .ea-form-item_label-wrap::before {\n content: "*";\n color: #f56c6c;\n margin-right: 4px;\n}\n.ea-form-item_wrap.is-required .ea-form-item_content-wrap .ea-form-item_invalid-wrap {\n transform: translateY(100%) scaleY(1);\n}\n.ea-form-item_wrap.with-transition .ea-form-item_content-wrap .ea-form-item_invalid-wrap {\n transition: transform 0.3s;\n}\n';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Base from"../Base.js";import"../ea-icon/index.js";const stylesheet="";export class EaHeader extends Base{#e;constructor(){super();const e=this.attachShadow({mode:"open"});e.innerHTML='\n <header class="ea-header_wrap" part="container">\n <slot></slot>\n </header>\n ',this.#e=e.querySelector(".ea-header_wrap"),this.build(e,"")}get height(){return this.getAttrNumber("height")||60}set height(e){this.setAttribute("height",e),this.#e.style.height=`${e}px`,this.#e.style.lineHeight=`${e}px`}connectedCallback(){this.height=this.height}}customElements.get("ea-header")||customElements.define("ea-header",EaHeader);
|