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.
Files changed (176) hide show
  1. package/.github/workflows/publish.yml +28 -0
  2. package/components/Base.js +1 -90
  3. package/components/ea-alert/index.js +1 -298
  4. package/components/ea-alert/src/style/stylesheet.js +1 -0
  5. package/components/ea-aside/index.js +1 -0
  6. package/components/ea-avatar/index.js +1 -277
  7. package/components/ea-avatar/src/assets/defaultAvatar.js +1 -0
  8. package/components/ea-avatar/src/assets/errorAvatar.js +1 -0
  9. package/components/ea-avatar/src/assets/iconAndTextAvatar.js +1 -0
  10. package/components/ea-avatar/src/style/stylesheet.js +1 -0
  11. package/components/ea-backtop/index.js +1 -232
  12. package/components/ea-backtop/src/style/stylesheet.js +1 -0
  13. package/components/ea-badge/index.js +1 -160
  14. package/components/ea-badge/src/style/stylesheet.js +1 -0
  15. package/components/ea-breadcrumb/index.js +1 -0
  16. package/components/ea-breadcrumb/src/style/stylesheet.js +1 -0
  17. package/components/ea-breadcrumb-item/index.js +1 -0
  18. package/components/ea-breadcrumb-item/src/style/style.js +1 -0
  19. package/components/ea-button/index.js +1 -584
  20. package/components/ea-button/src/components/ButtonComm.js +1 -0
  21. package/components/ea-button/src/components/HrefComm.js +1 -0
  22. package/components/ea-button/src/style/stylesheet.js +1 -0
  23. package/components/ea-button-group/index.js +1 -459
  24. package/components/ea-button-group/src/style/stylesheet.js +1 -0
  25. package/components/ea-calendar/index.js +1 -409
  26. package/components/ea-calendar/src/style/stylesheet.js +1 -0
  27. package/components/ea-calendar/src/utils/createChangerElement.js +1 -0
  28. package/components/ea-calendar/src/utils/createThead.js +1 -0
  29. package/components/ea-calendar/src/utils/getDate.js +1 -0
  30. package/components/ea-calendar/src/utils/getUserWeekStart.js +1 -0
  31. package/components/ea-card/index.js +1 -77
  32. package/components/ea-card/src/style/stylesheet.js +1 -0
  33. package/components/ea-carousel/index.js +1 -434
  34. package/components/ea-carousel/src/style/stylesheet.js +1 -0
  35. package/components/ea-carousel/src/utils/handleIndexOverflow.js +1 -0
  36. package/components/ea-carousel-item/index.js +1 -0
  37. package/components/ea-carousel-item/src/style/stylesheet.js +1 -0
  38. package/components/ea-checkbox/index.js +1 -314
  39. package/components/ea-checkbox/src/style/stylesheet.js +1 -0
  40. package/components/ea-checkbox-group/index.js +1 -107
  41. package/components/ea-checkbox-group/src/style/stylesheet.js +1 -0
  42. package/components/ea-collapse/index.js +1 -293
  43. package/components/ea-collapse-item/index.js +1 -0
  44. package/components/ea-collapse-item/src/style/stylesheet.js +1 -0
  45. package/components/ea-container/index.js +1 -0
  46. package/components/ea-date-picker/index.js +1 -0
  47. package/components/ea-date-picker/src/style/stylesheet.js +1 -0
  48. package/components/ea-descriptions/index.js +1 -240
  49. package/components/ea-descriptions/src/components/contentTemplate.js +1 -0
  50. package/components/ea-descriptions/src/components/getTdTemplate_border.js +1 -0
  51. package/components/ea-descriptions/src/components/getTdTemplate_direction.js +1 -0
  52. package/components/ea-descriptions/src/components/getThTemplate_direction.js +1 -0
  53. package/components/ea-descriptions/src/components/getThTemplate_normal.js +1 -0
  54. package/components/ea-descriptions/src/style/stylesheet.js +1 -0
  55. package/components/ea-descriptions-item/index.js +1 -110
  56. package/components/ea-descriptions-item/src/stylesheet.js +1 -0
  57. package/components/ea-drawer/index.js +1 -0
  58. package/components/ea-drawer/src/style/stylesheet.js +1 -0
  59. package/components/ea-empty/index.js +1 -141
  60. package/components/ea-empty/src/assets/emptyStatusSVG.js +1 -0
  61. package/components/ea-empty/src/style/stylesheet.js +1 -0
  62. package/components/ea-footer/index.js +1 -0
  63. package/components/ea-form/index.js +1 -0
  64. package/components/ea-form-item/index.js +1 -0
  65. package/components/ea-form-item/src/style/stylesheet.js +1 -0
  66. package/components/ea-header/index.js +1 -0
  67. package/components/ea-icon/config.json +1029 -1017
  68. package/components/ea-icon/css/animation.css +85 -85
  69. package/components/ea-icon/css/fontello.css +226 -224
  70. package/components/ea-icon/font/fontello.eot +0 -0
  71. package/components/ea-icon/font/fontello.svg +350 -683
  72. package/components/ea-icon/font/fontello.ttf +0 -0
  73. package/components/ea-icon/font/fontello.woff +0 -0
  74. package/components/ea-icon/font/fontello.woff2 +0 -0
  75. package/components/ea-icon/index.js +1 -47
  76. package/components/ea-image/index.js +1 -412
  77. package/components/ea-image/src/assets/errorImage.js +1 -0
  78. package/components/ea-image/src/style/stylesheet.js +1 -0
  79. package/components/ea-image/src/utils/createPreviewTools.js +1 -0
  80. package/components/ea-infinite-scroll/index.js +1 -170
  81. package/components/ea-infinite-scroll-item/index.js +1 -0
  82. package/components/ea-input/index.js +1 -765
  83. package/components/ea-input/src/components/createFixIcon.js +1 -0
  84. package/components/ea-input/src/components/createSuggestionBoard.js +1 -0
  85. package/components/ea-input/src/components/createWordLimitElement.js +1 -0
  86. package/components/ea-input/src/style/stylesheet.js +1 -0
  87. package/components/ea-input/src/utils/dispatchEvent.js +1 -0
  88. package/components/ea-input/src/utils/handleSearchResult.js +1 -0
  89. package/components/ea-input/src/utils/handleSuggestionBoardTrigger.js +1 -0
  90. package/components/ea-input-number/index.js +1 -458
  91. package/components/ea-input-number/src/style/stylesheet.js +1 -0
  92. package/components/ea-input-number/src/utils/handleCustomEvent.js +1 -0
  93. package/components/ea-link/index.js +1 -200
  94. package/components/ea-link/src/style/stylesheet.js +1 -0
  95. package/components/ea-loading/index.js +1 -218
  96. package/components/ea-loading/src/style/stylesheet.js +1 -0
  97. package/components/ea-main/index.js +1 -0
  98. package/components/ea-menu/index.js +1 -0
  99. package/components/ea-menu/src/style/stylesheet.js +1 -0
  100. package/components/ea-menu/src/utils/handleMenuItemEvent.js +1 -0
  101. package/components/ea-menu-item/index.js +1 -0
  102. package/components/ea-menu-item/src/style/stylesheet.js +1 -0
  103. package/components/ea-menu-item-group/index.js +1 -0
  104. package/components/ea-menu-item-group/src/style/stylesheet.js +1 -0
  105. package/components/ea-message/index.js +1 -233
  106. package/components/ea-message/src/style/stylesheet.js +1 -0
  107. package/components/ea-message/src/utils/MessageClass.js +1 -0
  108. package/components/ea-message-box/index.js +1 -202
  109. package/components/ea-message-box/src/style/stylesheet.js +1 -0
  110. package/components/ea-message-box/src/utils/EaMessageBoxClass.js +1 -0
  111. package/components/ea-option/index.js +1 -0
  112. package/components/ea-option/src/style/stylesheet.js +1 -0
  113. package/components/ea-option-gropu/index.js +1 -0
  114. package/components/ea-page-header/index.js +1 -0
  115. package/components/ea-page-header/src/style/stylesheet.js +1 -0
  116. package/components/ea-pagination/index.js +1 -444
  117. package/components/ea-pagination/src/components/getMoreItem.js +1 -0
  118. package/components/ea-pagination/src/components/getPageItem.js +1 -0
  119. package/components/ea-pagination/src/components/getShowTotalItem.js +1 -0
  120. package/components/ea-pagination/src/style/stylesheet.js +1 -0
  121. package/components/ea-pane/index.js +1 -0
  122. package/components/ea-pane/src/stylesheet.js +1 -0
  123. package/components/ea-progress/index.js +1 -333
  124. package/components/ea-progress/src/components/SVGComm.js +1 -0
  125. package/components/ea-progress/src/style/stylesheet.js +1 -0
  126. package/components/ea-radio/index.js +1 -287
  127. package/components/ea-radio/src/style/stylesheet.js +1 -0
  128. package/components/ea-radio-group/index.js +1 -59
  129. package/components/ea-rate/index.js +1 -326
  130. package/components/ea-rate/src/components/rateComm.js +1 -0
  131. package/components/ea-rate/src/style/stylesheet.js +1 -0
  132. package/components/ea-result/index.js +1 -167
  133. package/components/ea-result/src/style/stylesheet.js +1 -0
  134. package/components/ea-select/index.js +1 -34
  135. package/components/ea-select/src/style/stylesheet.js +1 -0
  136. package/components/ea-skeleton/index.js +1 -341
  137. package/components/ea-skeleton/src/style/stylesheet.js +1 -0
  138. package/components/ea-skeleton/src/utils/createSkeletonElement.js +1 -0
  139. package/components/ea-skeleton-item/index.js +1 -0
  140. package/components/ea-skeleton-item/src/assets/imageSVG.js +1 -0
  141. package/components/ea-skeleton-item/src/style/stylesheet.js +1 -0
  142. package/components/ea-step/index.js +1 -0
  143. package/components/ea-step/src/style/stylesheet.js +1 -0
  144. package/components/ea-steps/index.js +1 -0
  145. package/components/ea-steps/src/style/stylesheet.js +1 -0
  146. package/components/ea-submenu/index.js +1 -0
  147. package/components/ea-submenu/src/style/stylesheet.js +1 -0
  148. package/components/ea-switch/index.js +1 -301
  149. package/components/ea-switch/src/style/stylesheet.js +1 -0
  150. package/components/ea-tab/index.js +1 -0
  151. package/components/ea-tab/src/style/stylesheet.js +1 -0
  152. package/components/ea-table/index.js +1 -0
  153. package/components/ea-table/src/style/stylesheet.js +1 -0
  154. package/components/ea-table-column/index.js +1 -0
  155. package/components/ea-tabs/index.js +1 -0
  156. package/components/ea-tabs/src/style/stylesheet.js +1 -0
  157. package/components/ea-tag/index.js +1 -212
  158. package/components/ea-tag/src/style/stylesheet.js +1 -0
  159. package/components/ea-textarea/index.js +1 -333
  160. package/components/ea-textarea/src/style/stylesheet.js +1 -0
  161. package/components/ea-time-picker/index.js +1 -0
  162. package/components/ea-time-picker/src/style/stylesheet.js +1 -0
  163. package/components/ea-timeline/index.js +1 -334
  164. package/components/ea-timeline/style/stylesheet.js +1 -0
  165. package/components/ea-timeline-item/index.js +1 -0
  166. package/components/ea-timeline-item/src/style/stylesheet.js +1 -0
  167. package/package.json +11 -11
  168. package/utils/Validator.js +1 -0
  169. package/utils/createElement.js +1 -30
  170. package/utils/handleDefaultAttrIsTrue.js +1 -0
  171. package/utils/handleTemplate.js +1 -19
  172. package/utils/setStyle.js +1 -8
  173. package/utils/timeout.js +1 -0
  174. package/components/ea-message/MessageClass.js +0 -71
  175. package/components/ea-message-box/EaMessageBoxClass.js +0 -48
  176. package/components/ea-ui-base-style.css +0 -0
@@ -1,110 +1 @@
1
- // @ts-nocheck
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
- // @ts-nocheck
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);