feat(webwidget): Enhanced widget animations and styling
This commit is contained in:
		| @@ -1,5 +1,13 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## 2025-01-09 - 1.2.0 - feat(webwidget) | ||||
| Enhanced widget animations and styling | ||||
|  | ||||
| - Enabled reflect option for 'isOnTop' and 'showExpanded' properties. | ||||
| - Improved the animation and styling of the 'mainbox' when it gains focus. | ||||
| - Mainbox now has smoother opacity transitions and better background handling. | ||||
| - Enhanced functionality of widget positioning for better rendering. | ||||
|  | ||||
| ## 2024-06-28 - 1.1.2 - fix(elements) | ||||
| Fix blur effect in UptimelinkWebwidget component | ||||
|  | ||||
|   | ||||
							
								
								
									
										14
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								package.json
									
									
									
									
									
								
							| @@ -14,16 +14,16 @@ | ||||
|   "author": "Lossless GmbH", | ||||
|   "license": "UNLICENSED", | ||||
|   "dependencies": { | ||||
|     "@design.estate/dees-catalog": "^1.0.289", | ||||
|     "@design.estate/dees-domtools": "^2.0.57", | ||||
|     "@design.estate/dees-element": "^2.0.34", | ||||
|     "@design.estate/dees-catalog": "^1.3.3", | ||||
|     "@design.estate/dees-domtools": "^2.1.1", | ||||
|     "@design.estate/dees-element": "^2.0.39", | ||||
|     "@design.estate/dees-wcctools": "^1.0.90" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@git.zone/tsbuild": "^2.1.82", | ||||
|     "@git.zone/tsbundle": "^2.0.15", | ||||
|     "@git.zone/tsrun": "^1.2.49", | ||||
|     "@git.zone/tswatch": "^2.0.23", | ||||
|     "@git.zone/tsbuild": "^2.2.0", | ||||
|     "@git.zone/tsbundle": "^2.1.0", | ||||
|     "@git.zone/tsrun": "^1.3.3", | ||||
|     "@git.zone/tswatch": "^2.0.37", | ||||
|     "@push.rocks/projectinfo": "^5.0.2" | ||||
|   }, | ||||
|   "files": [ | ||||
|   | ||||
							
								
								
									
										4907
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4907
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@uptime.link/webwidget', | ||||
|   version: '1.1.2', | ||||
|   version: '1.2.0', | ||||
|   description: 'The web widget for public use of uptimelink, allowing users to monitor uptime status through a user-friendly interface.' | ||||
| } | ||||
|   | ||||
| @@ -15,7 +15,8 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|   `; | ||||
|  | ||||
|   @property({ | ||||
|     type: Boolean | ||||
|     type: Boolean, | ||||
|     reflect: true | ||||
|   }) | ||||
|   isOnTop = false; | ||||
|  | ||||
| @@ -28,9 +29,14 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|   @property() | ||||
|   public isElevated = false; | ||||
|  | ||||
|   @property() | ||||
|   @property({ | ||||
|     type: Boolean, | ||||
|     reflect: true | ||||
|   }) | ||||
|   public showExpanded: boolean = false; | ||||
|  | ||||
|   public parentWebwidget: UptimelinkWebwidget; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
|     this.setupEventing(); | ||||
| @@ -60,14 +66,19 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|           width: 150px; | ||||
|           border-radius: 15px; | ||||
|           height: 30px; | ||||
|           background: ${this.goBright ? '#fff' : '#222' }; | ||||
|           background: ${this.goBright ? '#ffffff00' : '#22222200' }; | ||||
|           box-shadow: ${this.goBright ? '0px 0px 5px rgba(0,0,0,0.1)' : ''}; | ||||
|           padding: 5px; | ||||
|           border: 1px solid ${this.goBright ? '#22222220' : '#ffffff20' }; | ||||
|           padding: 4px; | ||||
|           color: ${this.goBright ? '#333' : '#CCC' }; | ||||
|           cursor: pointer; | ||||
|           transition: all 0.2s; | ||||
|           transition: all 0.2s, background 0.1s; | ||||
|           overflow: hidden; | ||||
|           will-change: transform; | ||||
|           opacity: 1; | ||||
|         } | ||||
|         .mainbox.hidden { | ||||
|           opacity: 0; | ||||
|         } | ||||
|  | ||||
|         .firstLine { | ||||
| @@ -78,7 +89,9 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|         .mainbox.focused { | ||||
|           width: 182px; | ||||
|           height: 117px; | ||||
|           transform: scale(1.1, 1.1); | ||||
|           transform: translateX(-16px)scale(1.1, 1.1); | ||||
|           background: ${this.goBright ? '#ffffff' : '#222222' } !important; | ||||
|           box-shadow: ${this.goBright ? '0px 0px 5px rgba(0,0,0,0.1)' : ''} !important; | ||||
|         } | ||||
|  | ||||
|         .statusindicator { | ||||
| @@ -183,11 +196,13 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|         const mainbox = this.shadowRoot.querySelector('.mainbox') as HTMLElement; | ||||
|         const rect = mainbox.getBoundingClientRect(); | ||||
|         const uptimelinkWidget = new UptimelinkWebwidget(); | ||||
|         uptimelinkWidget.parentWebwidget = this; | ||||
|         uptimelinkWidget.isOnTop = true; | ||||
|         uptimelinkWidget.style.position = 'fixed'; | ||||
|         uptimelinkWidget.style.top = `${rect.top}px`; | ||||
|         uptimelinkWidget.style.left = `${rect.left}px`; | ||||
|         document.body.append(uptimelinkWidget); | ||||
|         mainbox.classList.add('hidden'); | ||||
|         return; | ||||
|       } | ||||
|       this.isElevated = true; | ||||
| @@ -210,9 +225,11 @@ export class UptimelinkWebwidget extends DeesElement { | ||||
|         return; | ||||
|       } | ||||
|       this.windowLayer.destroy(); | ||||
|       domtools.convenience.smartdelay.delayFor(200).then(() => { | ||||
|       domtools.convenience.smartdelay.delayFor(200).then(async() => { | ||||
|         if (!this.isFocused) { | ||||
|           this.isElevated = false; | ||||
|           this.parentWebwidget.shadowRoot.querySelector('.mainbox').classList.remove('hidden'); | ||||
|           await domtools.convenience.smartdelay.delayFor(100); | ||||
|           this.remove(); | ||||
|         } | ||||
|       }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user