@liwe3/webcomponents 1.0.14 → 1.1.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/dist/AITextEditor.d.ts +173 -0
- package/dist/AITextEditor.d.ts.map +1 -0
- package/dist/ChunkUploader.d.ts +103 -0
- package/dist/ChunkUploader.d.ts.map +1 -0
- package/dist/ChunkUploader.js +614 -0
- package/dist/ChunkUploader.js.map +1 -0
- package/dist/ContainerBox.d.ts +112 -0
- package/dist/ContainerBox.d.ts.map +1 -0
- package/dist/ContainerBox.js +359 -0
- package/dist/ContainerBox.js.map +1 -0
- package/dist/DateSelector.d.ts +103 -0
- package/dist/DateSelector.d.ts.map +1 -0
- package/dist/Drawer.d.ts +63 -0
- package/dist/Drawer.d.ts.map +1 -0
- package/dist/Drawer.js +340 -0
- package/dist/Drawer.js.map +1 -0
- package/dist/ImageView.d.ts +42 -0
- package/dist/ImageView.d.ts.map +1 -0
- package/dist/ImageView.js +209 -0
- package/dist/ImageView.js.map +1 -0
- package/dist/PopoverMenu.d.ts +103 -0
- package/dist/PopoverMenu.d.ts.map +1 -0
- package/dist/SmartSelect.d.ts +99 -0
- package/dist/SmartSelect.d.ts.map +1 -0
- package/dist/Toast.d.ts +127 -0
- package/dist/Toast.d.ts.map +1 -0
- package/dist/Toast.js +79 -49
- package/dist/Toast.js.map +1 -1
- package/dist/TreeView.d.ts +84 -0
- package/dist/TreeView.d.ts.map +1 -0
- package/dist/TreeView.js +478 -0
- package/dist/TreeView.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -12
- package/dist/index.js.map +1 -1
- package/package.json +28 -3
- package/src/ChunkUploader.ts +921 -0
- package/src/ContainerBox.ts +570 -0
- package/src/Drawer.ts +435 -0
- package/src/ImageView.ts +265 -0
- package/src/Toast.ts +96 -32
- package/src/TreeView.ts +673 -0
- package/src/index.ts +45 -6
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
class s extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super(), this._src = "", this._width = "100%", this._height = "auto", this._mode = "cover", this._position = "center", this._fx = "none", this._fxHover = "none", this._alt = "", this._isHovering = !1, this.attachShadow({ mode: "open" });
|
|
4
|
+
const t = document.createElement("style");
|
|
5
|
+
t.textContent = `
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
position: relative;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.container {
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
position: relative;
|
|
17
|
+
display: flex;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
img {
|
|
21
|
+
display: block;
|
|
22
|
+
transition: transform 0.5s ease, filter 0.5s ease;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Modes */
|
|
26
|
+
.mode-stretch img {
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: 100%;
|
|
29
|
+
object-fit: fill;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.mode-cover img {
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
object-fit: cover;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mode-contain img {
|
|
39
|
+
width: 100%;
|
|
40
|
+
height: 100%;
|
|
41
|
+
object-fit: contain;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.mode-1-1 img {
|
|
45
|
+
max-width: none;
|
|
46
|
+
max-height: none;
|
|
47
|
+
/* Default to auto, controlled by position */
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Positions for 1:1 and others if applicable */
|
|
51
|
+
.pos-center { justify-content: center; align-items: center; }
|
|
52
|
+
.pos-top { justify-content: center; align-items: flex-start; }
|
|
53
|
+
.pos-bottom { justify-content: center; align-items: flex-end; }
|
|
54
|
+
.pos-left { justify-content: flex-start; align-items: center; }
|
|
55
|
+
.pos-right { justify-content: flex-end; align-items: center; }
|
|
56
|
+
.pos-top-left { justify-content: flex-start; align-items: flex-start; }
|
|
57
|
+
.pos-top-right { justify-content: flex-end; align-items: flex-start; }
|
|
58
|
+
.pos-bottom-left { justify-content: flex-start; align-items: flex-end; }
|
|
59
|
+
.pos-bottom-right { justify-content: flex-end; align-items: flex-end; }
|
|
60
|
+
|
|
61
|
+
/* FX */
|
|
62
|
+
.fx-bokeh img {
|
|
63
|
+
filter: blur(3px);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@keyframes pan-left {
|
|
67
|
+
0% { transform: scale(1.2) translateX(0); }
|
|
68
|
+
100% { transform: scale(1.2) translateX(-10%); }
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@keyframes pan-right {
|
|
72
|
+
0% { transform: scale(1.2) translateX(0); }
|
|
73
|
+
100% { transform: scale(1.2) translateX(10%); }
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@keyframes zoom-in {
|
|
77
|
+
0% { transform: scale(1); }
|
|
78
|
+
100% { transform: scale(1.2); }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@keyframes zoom-out {
|
|
82
|
+
0% { transform: scale(1.2); }
|
|
83
|
+
100% { transform: scale(1); }
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.fx-pan-left img {
|
|
87
|
+
animation: pan-left 10s linear infinite alternate;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.fx-pan-right img {
|
|
91
|
+
animation: pan-right 10s linear infinite alternate;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.fx-zoom-in img {
|
|
95
|
+
animation: zoom-in 10s linear infinite alternate;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.fx-zoom-out img {
|
|
99
|
+
animation: zoom-out 10s linear infinite alternate;
|
|
100
|
+
}
|
|
101
|
+
`, this.container = document.createElement("div"), this.container.classList.add("container"), this.img = document.createElement("img"), this.container.appendChild(this.img), this.shadowRoot.appendChild(t), this.shadowRoot.appendChild(this.container), this.addEventListener("mouseenter", this._handleMouseEnter.bind(this)), this.addEventListener("mouseleave", this._handleMouseLeave.bind(this));
|
|
102
|
+
}
|
|
103
|
+
_handleMouseEnter() {
|
|
104
|
+
this._fxHover !== "none" && (this._isHovering = !0, this.updateClasses());
|
|
105
|
+
}
|
|
106
|
+
_handleMouseLeave() {
|
|
107
|
+
this._fxHover !== "none" && (this._isHovering = !1, this.updateClasses());
|
|
108
|
+
}
|
|
109
|
+
static get observedAttributes() {
|
|
110
|
+
return ["src", "width", "height", "mode", "position", "fx", "fx-hover", "alt"];
|
|
111
|
+
}
|
|
112
|
+
attributeChangedCallback(t, i, e) {
|
|
113
|
+
if (i !== e)
|
|
114
|
+
switch (t) {
|
|
115
|
+
case "src":
|
|
116
|
+
this._src = e || "", this.render();
|
|
117
|
+
break;
|
|
118
|
+
case "width":
|
|
119
|
+
this._width = e || "100%", this.updateDimensions();
|
|
120
|
+
break;
|
|
121
|
+
case "height":
|
|
122
|
+
this._height = e || "auto", this.updateDimensions();
|
|
123
|
+
break;
|
|
124
|
+
case "mode":
|
|
125
|
+
this._mode = e || "cover", this.updateClasses();
|
|
126
|
+
break;
|
|
127
|
+
case "position":
|
|
128
|
+
this._position = e || "center", this.updateClasses();
|
|
129
|
+
break;
|
|
130
|
+
case "fx":
|
|
131
|
+
this._fx = e || "none", this.updateClasses();
|
|
132
|
+
break;
|
|
133
|
+
case "fx-hover":
|
|
134
|
+
this._fxHover = e || "none", this.updateClasses();
|
|
135
|
+
break;
|
|
136
|
+
case "alt":
|
|
137
|
+
this._alt = e || "", this.render();
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
connectedCallback() {
|
|
142
|
+
this.updateDimensions(), this.updateClasses(), this.render();
|
|
143
|
+
}
|
|
144
|
+
updateDimensions() {
|
|
145
|
+
this.style.width = this._width, this.style.height = this._height;
|
|
146
|
+
}
|
|
147
|
+
updateClasses() {
|
|
148
|
+
this.container.className = "container", this.container.classList.add(`mode-${this._mode}`), this.container.classList.add(`pos-${this._position}`);
|
|
149
|
+
const t = this._isHovering && this._fxHover !== "none" ? this._fxHover : this._fx;
|
|
150
|
+
this.container.classList.add(`fx-${t}`);
|
|
151
|
+
}
|
|
152
|
+
render() {
|
|
153
|
+
this.img.getAttribute("src") !== this._src && (this._src ? this.img.setAttribute("src", this._src) : this.img.removeAttribute("src")), this.img.getAttribute("alt") !== this._alt && (this._alt ? this.img.setAttribute("alt", this._alt) : this.img.removeAttribute("alt"));
|
|
154
|
+
}
|
|
155
|
+
// Public API
|
|
156
|
+
get src() {
|
|
157
|
+
return this._src;
|
|
158
|
+
}
|
|
159
|
+
set src(t) {
|
|
160
|
+
this.setAttribute("src", t);
|
|
161
|
+
}
|
|
162
|
+
get width() {
|
|
163
|
+
return this._width;
|
|
164
|
+
}
|
|
165
|
+
set width(t) {
|
|
166
|
+
this.setAttribute("width", t);
|
|
167
|
+
}
|
|
168
|
+
get height() {
|
|
169
|
+
return this._height;
|
|
170
|
+
}
|
|
171
|
+
set height(t) {
|
|
172
|
+
this.setAttribute("height", t);
|
|
173
|
+
}
|
|
174
|
+
get mode() {
|
|
175
|
+
return this._mode;
|
|
176
|
+
}
|
|
177
|
+
set mode(t) {
|
|
178
|
+
this.setAttribute("mode", t);
|
|
179
|
+
}
|
|
180
|
+
get position() {
|
|
181
|
+
return this._position;
|
|
182
|
+
}
|
|
183
|
+
set position(t) {
|
|
184
|
+
this.setAttribute("position", t);
|
|
185
|
+
}
|
|
186
|
+
get fx() {
|
|
187
|
+
return this._fx;
|
|
188
|
+
}
|
|
189
|
+
set fx(t) {
|
|
190
|
+
this.setAttribute("fx", t);
|
|
191
|
+
}
|
|
192
|
+
get fxHover() {
|
|
193
|
+
return this._fxHover;
|
|
194
|
+
}
|
|
195
|
+
set fxHover(t) {
|
|
196
|
+
this.setAttribute("fx-hover", t);
|
|
197
|
+
}
|
|
198
|
+
get alt() {
|
|
199
|
+
return this._alt;
|
|
200
|
+
}
|
|
201
|
+
set alt(t) {
|
|
202
|
+
this.setAttribute("alt", t);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
customElements.define("liwe3-image-view", s);
|
|
206
|
+
export {
|
|
207
|
+
s as ImageView
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=ImageView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageView.js","sources":["../src/ImageView.ts"],"sourcesContent":["export type ImageMode = 'stretch' | '1:1' | 'cover' | 'contain';\nexport type ImagePosition = 'center' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\nexport type ImageFX = 'none' | 'bokeh' | 'pan-left' | 'pan-right' | 'zoom-in' | 'zoom-out';\n\nexport class ImageView extends HTMLElement {\n\tprivate _src: string = '';\n\tprivate _width: string = '100%';\n\tprivate _height: string = 'auto';\n\tprivate _mode: ImageMode = 'cover';\n\tprivate _position: ImagePosition = 'center';\n\tprivate _fx: ImageFX = 'none';\n\tprivate _fxHover: ImageFX = 'none';\n\tprivate _alt: string = '';\n\tprivate _isHovering: boolean = false;\n\n\tprivate container: HTMLDivElement;\n\tprivate img: HTMLImageElement;\n\n\tconstructor () {\n\t\tsuper();\n\t\tthis.attachShadow( { mode: 'open' } );\n\n\t\tconst style = document.createElement( 'style' );\n\t\tstyle.textContent = `\n :host {\n display: block;\n overflow: hidden;\n position: relative;\n }\n\n .container {\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: relative;\n display: flex;\n }\n\n img {\n display: block;\n transition: transform 0.5s ease, filter 0.5s ease;\n }\n\n /* Modes */\n .mode-stretch img {\n width: 100%;\n height: 100%;\n object-fit: fill;\n }\n\n .mode-cover img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .mode-contain img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n\n .mode-1-1 img {\n max-width: none;\n max-height: none;\n /* Default to auto, controlled by position */\n }\n\n /* Positions for 1:1 and others if applicable */\n .pos-center { justify-content: center; align-items: center; }\n .pos-top { justify-content: center; align-items: flex-start; }\n .pos-bottom { justify-content: center; align-items: flex-end; }\n .pos-left { justify-content: flex-start; align-items: center; }\n .pos-right { justify-content: flex-end; align-items: center; }\n .pos-top-left { justify-content: flex-start; align-items: flex-start; }\n .pos-top-right { justify-content: flex-end; align-items: flex-start; }\n .pos-bottom-left { justify-content: flex-start; align-items: flex-end; }\n .pos-bottom-right { justify-content: flex-end; align-items: flex-end; }\n\n /* FX */\n .fx-bokeh img {\n filter: blur(3px);\n }\n\n @keyframes pan-left {\n 0% { transform: scale(1.2) translateX(0); }\n 100% { transform: scale(1.2) translateX(-10%); }\n }\n\n @keyframes pan-right {\n 0% { transform: scale(1.2) translateX(0); }\n 100% { transform: scale(1.2) translateX(10%); }\n }\n\n @keyframes zoom-in {\n 0% { transform: scale(1); }\n 100% { transform: scale(1.2); }\n }\n\n @keyframes zoom-out {\n 0% { transform: scale(1.2); }\n 100% { transform: scale(1); }\n }\n\n .fx-pan-left img {\n animation: pan-left 10s linear infinite alternate;\n }\n\n .fx-pan-right img {\n animation: pan-right 10s linear infinite alternate;\n }\n\n .fx-zoom-in img {\n animation: zoom-in 10s linear infinite alternate;\n }\n\n .fx-zoom-out img {\n animation: zoom-out 10s linear infinite alternate;\n }\n `;\n\n\t\tthis.container = document.createElement( 'div' );\n\t\tthis.container.classList.add( 'container' );\n\n\t\tthis.img = document.createElement( 'img' );\n\n\t\tthis.container.appendChild( this.img );\n\t\tthis.shadowRoot!.appendChild( style );\n\t\tthis.shadowRoot!.appendChild( this.container );\n\n\t\t// Add hover listeners\n\t\tthis.addEventListener( 'mouseenter', this._handleMouseEnter.bind( this ) );\n\t\tthis.addEventListener( 'mouseleave', this._handleMouseLeave.bind( this ) );\n\t}\n\n\tprivate _handleMouseEnter () {\n\t\tif ( this._fxHover !== 'none' ) {\n\t\t\tthis._isHovering = true;\n\t\t\tthis.updateClasses();\n\t\t}\n\t}\n\n\tprivate _handleMouseLeave () {\n\t\tif ( this._fxHover !== 'none' ) {\n\t\t\tthis._isHovering = false;\n\t\t\tthis.updateClasses();\n\t\t}\n\t}\n\n\tstatic get observedAttributes () {\n\t\treturn [ 'src', 'width', 'height', 'mode', 'position', 'fx', 'fx-hover', 'alt' ];\n\t}\n\n\tattributeChangedCallback ( name: string, oldValue: string, newValue: string ) {\n\t\tif ( oldValue === newValue ) return;\n\n\t\tswitch ( name ) {\n\t\t\tcase 'src':\n\t\t\t\tthis._src = newValue || '';\n\t\t\t\tthis.render();\n\t\t\t\tbreak;\n\t\t\tcase 'width':\n\t\t\t\tthis._width = newValue || '100%';\n\t\t\t\tthis.updateDimensions();\n\t\t\t\tbreak;\n\t\t\tcase 'height':\n\t\t\t\tthis._height = newValue || 'auto';\n\t\t\t\tthis.updateDimensions();\n\t\t\t\tbreak;\n\t\t\tcase 'mode':\n\t\t\t\tthis._mode = ( newValue as ImageMode ) || 'cover';\n\t\t\t\tthis.updateClasses();\n\t\t\t\tbreak;\n\t\t\tcase 'position':\n\t\t\t\tthis._position = ( newValue as ImagePosition ) || 'center';\n\t\t\t\tthis.updateClasses();\n\t\t\t\tbreak;\n\t\t\tcase 'fx':\n\t\t\t\tthis._fx = ( newValue as ImageFX ) || 'none';\n\t\t\t\tthis.updateClasses();\n\t\t\t\tbreak;\n\t\t\tcase 'fx-hover':\n\t\t\t\tthis._fxHover = ( newValue as ImageFX ) || 'none';\n\t\t\t\tthis.updateClasses();\n\t\t\t\tbreak;\n\t\t\tcase 'alt':\n\t\t\t\tthis._alt = newValue || '';\n\t\t\t\tthis.render();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tconnectedCallback () {\n\t\tthis.updateDimensions();\n\t\tthis.updateClasses();\n\t\tthis.render();\n\t}\n\n\tprivate updateDimensions () {\n\t\tthis.style.width = this._width;\n\t\tthis.style.height = this._height;\n\t}\n\n\tprivate updateClasses () {\n\t\t// Reset classes\n\t\tthis.container.className = 'container';\n\n\t\t// Add mode class\n\t\tthis.container.classList.add( `mode-${ this._mode }` );\n\n\t\t// Add position class\n\t\tthis.container.classList.add( `pos-${ this._position }` );\n\n\t\t// Add FX class - use hover fx if hovering and defined, otherwise use regular fx\n\t\tconst activeFx = ( this._isHovering && this._fxHover !== 'none' ) ? this._fxHover : this._fx;\n\t\tthis.container.classList.add( `fx-${ activeFx }` );\n\t}\n\n\tprivate render () {\n\t\tconst currentSrc = this.img.getAttribute( 'src' );\n\t\tif ( currentSrc !== this._src ) {\n\t\t\tif ( this._src ) {\n\t\t\t\tthis.img.setAttribute( 'src', this._src );\n\t\t\t} else {\n\t\t\t\tthis.img.removeAttribute( 'src' );\n\t\t\t}\n\t\t}\n\n\t\tconst currentAlt = this.img.getAttribute( 'alt' );\n\t\tif ( currentAlt !== this._alt ) {\n\t\t\tif ( this._alt ) {\n\t\t\t\tthis.img.setAttribute( 'alt', this._alt );\n\t\t\t} else {\n\t\t\t\tthis.img.removeAttribute( 'alt' );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Public API\n\tget src (): string { return this._src; }\n\tset src ( value: string ) { this.setAttribute( 'src', value ); }\n\n\tget width (): string { return this._width; }\n\tset width ( value: string ) { this.setAttribute( 'width', value ); }\n\n\tget height (): string { return this._height; }\n\tset height ( value: string ) { this.setAttribute( 'height', value ); }\n\n\tget mode (): ImageMode { return this._mode; }\n\tset mode ( value: ImageMode ) { this.setAttribute( 'mode', value ); }\n\n\tget position (): ImagePosition { return this._position; }\n\tset position ( value: ImagePosition ) { this.setAttribute( 'position', value ); }\n\n\tget fx (): ImageFX { return this._fx; }\n\tset fx ( value: ImageFX ) { this.setAttribute( 'fx', value ); }\n\n\tget fxHover (): ImageFX { return this._fxHover; }\n\tset fxHover ( value: ImageFX ) { this.setAttribute( 'fx-hover', value ); }\n\n\tget alt (): string { return this._alt; }\n\tset alt ( value: string ) { this.setAttribute( 'alt', value ); }\n}\n\ncustomElements.define( 'liwe3-image-view', ImageView );\n"],"names":["ImageView","style","name","oldValue","newValue","activeFx","value"],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PopoverMenu Web Component
|
|
3
|
+
* A customizable menu component using fixed positioning with support for nested submenus
|
|
4
|
+
*/
|
|
5
|
+
export type PopoverMenuItem = {
|
|
6
|
+
label: string;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
items?: PopoverMenuItem[];
|
|
9
|
+
onclick?: () => void;
|
|
10
|
+
};
|
|
11
|
+
export type PopoverMenuConfig = {
|
|
12
|
+
label: string;
|
|
13
|
+
items: PopoverMenuItem[];
|
|
14
|
+
};
|
|
15
|
+
export declare class PopoverMenuElement extends HTMLElement {
|
|
16
|
+
shadowRoot: ShadowRoot;
|
|
17
|
+
private items;
|
|
18
|
+
private openPopovers;
|
|
19
|
+
private hoverTimeouts;
|
|
20
|
+
private initialized;
|
|
21
|
+
private globalClickHandler;
|
|
22
|
+
constructor();
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
disconnectedCallback(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Set up global event listeners
|
|
27
|
+
*/
|
|
28
|
+
private setupGlobalListeners;
|
|
29
|
+
/**
|
|
30
|
+
* Clean up global event listeners
|
|
31
|
+
*/
|
|
32
|
+
private cleanupGlobalListeners;
|
|
33
|
+
/**
|
|
34
|
+
* Set menu items
|
|
35
|
+
*/
|
|
36
|
+
setItems(items: PopoverMenuConfig[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* Get current menu items
|
|
39
|
+
*/
|
|
40
|
+
getItems(): PopoverMenuConfig[];
|
|
41
|
+
/**
|
|
42
|
+
* Add a new menu item
|
|
43
|
+
*/
|
|
44
|
+
addMenuItem(item: PopoverMenuConfig, index?: number | null): void;
|
|
45
|
+
/**
|
|
46
|
+
* Remove a menu item
|
|
47
|
+
*/
|
|
48
|
+
removeMenuItem(index: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* Update a menu item
|
|
51
|
+
*/
|
|
52
|
+
updateMenuItem(index: number, item: PopoverMenuConfig): void;
|
|
53
|
+
/**
|
|
54
|
+
* Render the menu component
|
|
55
|
+
*/
|
|
56
|
+
private render;
|
|
57
|
+
/**
|
|
58
|
+
* Create a menu trigger button
|
|
59
|
+
*/
|
|
60
|
+
private createMenuTrigger;
|
|
61
|
+
/**
|
|
62
|
+
* Create a popover if it doesn't exist
|
|
63
|
+
*/
|
|
64
|
+
private createPopoverIfNeeded;
|
|
65
|
+
/**
|
|
66
|
+
* Populate a popover with menu items
|
|
67
|
+
*/
|
|
68
|
+
private populatePopover;
|
|
69
|
+
/**
|
|
70
|
+
* Create a menu item element
|
|
71
|
+
*/
|
|
72
|
+
private createMenuItem;
|
|
73
|
+
/**
|
|
74
|
+
* Show a submenu
|
|
75
|
+
*/
|
|
76
|
+
private showSubmenu;
|
|
77
|
+
/**
|
|
78
|
+
* Close other submenus except the specified one and its ancestors
|
|
79
|
+
*/
|
|
80
|
+
private closeOtherSubmenus;
|
|
81
|
+
/**
|
|
82
|
+
* Close all menus
|
|
83
|
+
*/
|
|
84
|
+
private closeAllMenus;
|
|
85
|
+
/**
|
|
86
|
+
* Handle menu trigger click
|
|
87
|
+
*/
|
|
88
|
+
private handleMenuTriggerClick;
|
|
89
|
+
/**
|
|
90
|
+
* Show the main menu
|
|
91
|
+
*/
|
|
92
|
+
private showMainMenu;
|
|
93
|
+
/**
|
|
94
|
+
* Adjust popover position to handle overflow
|
|
95
|
+
*/
|
|
96
|
+
private adjustPopoverPosition;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Conditionally defines the custom element if in a browser environment.
|
|
100
|
+
*/
|
|
101
|
+
declare const definePopoverMenu: (tagName?: string) => void;
|
|
102
|
+
export { definePopoverMenu };
|
|
103
|
+
//# sourceMappingURL=PopoverMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverMenu.d.ts","sourceRoot":"","sources":["../src/PopoverMenu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,WAAW;IACzC,UAAU,EAAE,UAAU,CAAC;IAC/B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAA8C;;IAOxE,iBAAiB,IAAK,IAAI;IAQ1B,oBAAoB,IAAK,IAAI;IAI7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,QAAQ,CAAG,KAAK,EAAE,iBAAiB,EAAE,GAAI,IAAI;IAK7C;;OAEG;IACH,QAAQ,IAAK,iBAAiB,EAAE;IAIhC;;OAEG;IACH,WAAW,CAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,GAAI,IAAI;IAS1E;;OAEG;IACH,cAAc,CAAG,KAAK,EAAE,MAAM,GAAI,IAAI;IAOtC;;OAEG;IACH,cAAc,CAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAI,IAAI;IAO/D;;OAEG;IACH,OAAO,CAAC,MAAM;IAiId;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsDtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CA8F9B;AAED;;GAEG;AACH,QAAA,MAAM,iBAAiB,GAAK,gBAA8B,KAAI,IAI7D,CAAC;AAKF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SmartSelect Web Component
|
|
3
|
+
* A customizable select dropdown with search, multi-select, and keyboard navigation
|
|
4
|
+
*/
|
|
5
|
+
export type SelectOption = {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class SmartSelectElement extends HTMLElement {
|
|
10
|
+
shadowRoot: ShadowRoot;
|
|
11
|
+
private isOpen;
|
|
12
|
+
private selectedOptions;
|
|
13
|
+
private filteredOptions;
|
|
14
|
+
private focusedIndex;
|
|
15
|
+
private searchValue;
|
|
16
|
+
private keyboardNavigating;
|
|
17
|
+
private keyboardTimer?;
|
|
18
|
+
constructor();
|
|
19
|
+
static get observedAttributes(): string[];
|
|
20
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
21
|
+
get multiple(): boolean;
|
|
22
|
+
set multiple(value: boolean);
|
|
23
|
+
get searchable(): boolean;
|
|
24
|
+
set searchable(value: boolean);
|
|
25
|
+
get placeholder(): string;
|
|
26
|
+
set placeholder(value: string);
|
|
27
|
+
get disabled(): boolean;
|
|
28
|
+
set disabled(value: boolean);
|
|
29
|
+
get value(): string | string[];
|
|
30
|
+
set value(val: string | string[]);
|
|
31
|
+
get options(): SelectOption[];
|
|
32
|
+
set options(opts: SelectOption[]);
|
|
33
|
+
/**
|
|
34
|
+
* Opens the dropdown
|
|
35
|
+
*/
|
|
36
|
+
open(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Closes the dropdown
|
|
39
|
+
*/
|
|
40
|
+
close(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Toggles the dropdown open/closed state
|
|
43
|
+
*/
|
|
44
|
+
toggle(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Selects an option by its value
|
|
47
|
+
*/
|
|
48
|
+
selectOption(value: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Deselects an option by its value
|
|
51
|
+
*/
|
|
52
|
+
deselectOption(value: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Returns an array of currently selected options
|
|
55
|
+
*/
|
|
56
|
+
getSelectedOptions(): SelectOption[];
|
|
57
|
+
/**
|
|
58
|
+
* Sets the options for the select component
|
|
59
|
+
*/
|
|
60
|
+
setOptions(options: SelectOption[]): void;
|
|
61
|
+
/**
|
|
62
|
+
* Handles search functionality
|
|
63
|
+
*/
|
|
64
|
+
private handleSearch;
|
|
65
|
+
/**
|
|
66
|
+
* Updates the visual focus state without full re-render
|
|
67
|
+
*/
|
|
68
|
+
private updateFocusedOption;
|
|
69
|
+
/**
|
|
70
|
+
* Scrolls the focused option into view
|
|
71
|
+
*/
|
|
72
|
+
private scrollToFocusedOption;
|
|
73
|
+
/**
|
|
74
|
+
* Calculates the optimal dropdown position based on viewport constraints
|
|
75
|
+
*/
|
|
76
|
+
private _calculateDropdownPosition;
|
|
77
|
+
/**
|
|
78
|
+
* Updates dropdown position using fixed positioning relative to viewport
|
|
79
|
+
*/
|
|
80
|
+
private _updateDropdownPosition;
|
|
81
|
+
/**
|
|
82
|
+
* Handles keyboard navigation
|
|
83
|
+
*/
|
|
84
|
+
private handleKeydown;
|
|
85
|
+
/**
|
|
86
|
+
* Binds all event listeners
|
|
87
|
+
*/
|
|
88
|
+
private bindEvents;
|
|
89
|
+
/**
|
|
90
|
+
* Renders the component
|
|
91
|
+
*/
|
|
92
|
+
private render;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Conditionally defines the custom element if in a browser environment.
|
|
96
|
+
*/
|
|
97
|
+
declare const defineSmartSelect: (tagName?: string) => void;
|
|
98
|
+
export { defineSmartSelect };
|
|
99
|
+
//# sourceMappingURL=SmartSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartSelect.d.ts","sourceRoot":"","sources":["../src/SmartSelect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,WAAW;IACzC,UAAU,EAAE,UAAU,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAS;;IAe/B,MAAM,KAAK,kBAAkB,IAAK,MAAM,EAAE,CAEzC;IAED,wBAAwB,CAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAI,IAAI;IASjG,IAAI,QAAQ,IAAK,OAAO,CAEvB;IAED,IAAI,QAAQ,CAAG,KAAK,EAAE,OAAO,EAM5B;IAED,IAAI,UAAU,IAAK,OAAO,CAEzB;IAED,IAAI,UAAU,CAAG,KAAK,EAAE,OAAO,EAM9B;IAED,IAAI,WAAW,IAAK,MAAM,CAEzB;IAED,IAAI,WAAW,CAAG,KAAK,EAAE,MAAM,EAE9B;IAED,IAAI,QAAQ,IAAK,OAAO,CAEvB;IAED,IAAI,QAAQ,CAAG,KAAK,EAAE,OAAO,EAM5B;IAED,IAAI,KAAK,IAAK,MAAM,GAAG,MAAM,EAAE,CAK9B;IAED,IAAI,KAAK,CAAG,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAQjC;IAED,IAAI,OAAO,IAAK,YAAY,EAAE,CAW7B;IAED,IAAI,OAAO,CAAG,IAAI,EAAE,YAAY,EAAE,EAEjC;IAED;;OAEG;IACH,IAAI,IAAK,IAAI;IAyBb;;OAEG;IACH,KAAK,IAAK,IAAI;IAuBd;;OAEG;IACH,MAAM,IAAK,IAAI;IAQf;;OAEG;IACH,YAAY,CAAG,KAAK,EAAE,MAAM,GAAI,IAAI;IAiBpC;;OAEG;IACH,cAAc,CAAG,KAAK,EAAE,MAAM,GAAI,IAAI;IAMtC;;OAEG;IACH,kBAAkB,IAAK,YAAY,EAAE;IAIrC;;OAEG;IACH,UAAU,CAAG,OAAO,EAAE,YAAY,EAAE,GAAI,IAAI;IAO5C;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2ClC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;IACH,OAAO,CAAC,aAAa;IA0FrB;;OAEG;IACH,OAAO,CAAC,UAAU;IA4FlB;;OAEG;IACH,OAAO,CAAC,MAAM;CAwNf;AAED;;GAEG;AACH,QAAA,MAAM,iBAAiB,GAAK,UAAS,MAAuB,KAAI,IAI/D,CAAC;AAKF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/Toast.d.ts
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast Web Component
|
|
3
|
+
* A customizable toast notification system with multiple types, icons, buttons, and auto-dismiss
|
|
4
|
+
*/
|
|
5
|
+
export type ToastType = 'info' | 'warning' | 'error' | 'success';
|
|
6
|
+
export type ToastPosition = 'TL' | 'T' | 'TR' | 'BL' | 'B' | 'BR';
|
|
7
|
+
export type ToastButton = {
|
|
8
|
+
label: string;
|
|
9
|
+
onClick: () => void;
|
|
10
|
+
};
|
|
11
|
+
export type ToastConfig = {
|
|
12
|
+
title: string;
|
|
13
|
+
text: string;
|
|
14
|
+
type?: ToastType;
|
|
15
|
+
icon?: string;
|
|
16
|
+
buttons?: ToastButton[];
|
|
17
|
+
closable?: boolean;
|
|
18
|
+
duration?: number;
|
|
19
|
+
position?: ToastPosition;
|
|
20
|
+
onClose?: () => void;
|
|
21
|
+
};
|
|
22
|
+
export declare class ToastElement extends HTMLElement {
|
|
23
|
+
shadowRoot: ShadowRoot;
|
|
24
|
+
private config;
|
|
25
|
+
private autoCloseTimer?;
|
|
26
|
+
private remainingTime;
|
|
27
|
+
private pauseTime;
|
|
28
|
+
private progressBar?;
|
|
29
|
+
constructor();
|
|
30
|
+
static get observedAttributes(): string[];
|
|
31
|
+
attributeChangedCallback(_name: string, oldValue: string | null, newValue: string | null): void;
|
|
32
|
+
connectedCallback(): void;
|
|
33
|
+
disconnectedCallback(): void;
|
|
34
|
+
get title(): string;
|
|
35
|
+
set title(value: string);
|
|
36
|
+
get text(): string;
|
|
37
|
+
set text(value: string);
|
|
38
|
+
get type(): ToastType;
|
|
39
|
+
set type(value: ToastType);
|
|
40
|
+
get icon(): string | undefined;
|
|
41
|
+
set icon(value: string | undefined);
|
|
42
|
+
get closable(): boolean;
|
|
43
|
+
set closable(value: boolean);
|
|
44
|
+
get duration(): number;
|
|
45
|
+
set duration(value: number);
|
|
46
|
+
get buttons(): ToastButton[];
|
|
47
|
+
set buttons(value: ToastButton[]);
|
|
48
|
+
/**
|
|
49
|
+
* Shows the toast with the given configuration
|
|
50
|
+
*/
|
|
51
|
+
show(config: ToastConfig): void;
|
|
52
|
+
/**
|
|
53
|
+
* Closes the toast
|
|
54
|
+
*/
|
|
55
|
+
close(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Starts the auto-close timer if duration is set
|
|
58
|
+
*/
|
|
59
|
+
private startAutoCloseTimer;
|
|
60
|
+
/**
|
|
61
|
+
* Pauses the auto-close timer
|
|
62
|
+
*/
|
|
63
|
+
private pauseAutoCloseTimer;
|
|
64
|
+
/**
|
|
65
|
+
* Resumes the auto-close timer
|
|
66
|
+
*/
|
|
67
|
+
private resumeAutoCloseTimer;
|
|
68
|
+
/**
|
|
69
|
+
* Clears the auto-close timer
|
|
70
|
+
*/
|
|
71
|
+
private clearAutoCloseTimer;
|
|
72
|
+
/**
|
|
73
|
+
* Starts the progress bar animation
|
|
74
|
+
*/
|
|
75
|
+
private startProgressBarAnimation;
|
|
76
|
+
/**
|
|
77
|
+
* Pauses the progress bar animation
|
|
78
|
+
*/
|
|
79
|
+
private pauseProgressBarAnimation;
|
|
80
|
+
/**
|
|
81
|
+
* Resumes the progress bar animation
|
|
82
|
+
*/
|
|
83
|
+
private resumeProgressBarAnimation;
|
|
84
|
+
/**
|
|
85
|
+
* Gets the color scheme for the toast type
|
|
86
|
+
*/
|
|
87
|
+
private getTypeColors;
|
|
88
|
+
/**
|
|
89
|
+
* Gets the default icon for the toast type
|
|
90
|
+
*/
|
|
91
|
+
private getDefaultIcon;
|
|
92
|
+
/**
|
|
93
|
+
* Binds all event listeners
|
|
94
|
+
*/
|
|
95
|
+
private bindEvents;
|
|
96
|
+
/**
|
|
97
|
+
* Renders the component
|
|
98
|
+
*/
|
|
99
|
+
private render;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Conditionally defines the custom element if in a browser environment.
|
|
103
|
+
*/
|
|
104
|
+
declare const defineToast: (tagName?: string) => void;
|
|
105
|
+
/**
|
|
106
|
+
* Shows a toast notification with the given configuration.
|
|
107
|
+
* This is the recommended way to display toasts.
|
|
108
|
+
*
|
|
109
|
+
* @param config - The toast configuration
|
|
110
|
+
* @returns The toast element instance
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import { toastAdd } from '@liwe3/webcomponents';
|
|
115
|
+
*
|
|
116
|
+
* toastAdd({
|
|
117
|
+
* title: 'Success!',
|
|
118
|
+
* text: 'Your changes have been saved.',
|
|
119
|
+
* type: 'success',
|
|
120
|
+
* duration: 5000,
|
|
121
|
+
* position: 'TR' // Optional: top-right (default)
|
|
122
|
+
* });
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
declare const toastAdd: (config: ToastConfig) => ToastElement;
|
|
126
|
+
export { defineToast, toastAdd };
|
|
127
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../src/Toast.ts"],"names":[],"mappings":"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"}
|