替换通知组件图标.适应性调整动效添加后分页涉及事件
This commit is contained in:
parent
d3327c5809
commit
88ef6e4f67
|
@ -73,6 +73,10 @@ export class StarNotificationGroup extends LitElement {
|
||||||
ratio = ratio < 0 ? 0 : ratio
|
ratio = ratio < 0 ? 0 : ratio
|
||||||
this.contentOpacity = ratio
|
this.contentOpacity = ratio
|
||||||
this.containerHeight = value
|
this.containerHeight = value
|
||||||
|
let id = window.setTimeout(() => {
|
||||||
|
window.clearTimeout(id)
|
||||||
|
this.dispatchEventFurther()
|
||||||
|
}, 300)
|
||||||
}
|
}
|
||||||
|
|
||||||
_singleHeight!: number
|
_singleHeight!: number
|
||||||
|
@ -105,6 +109,10 @@ export class StarNotificationGroup extends LitElement {
|
||||||
|
|
||||||
firstUpdated() {
|
firstUpdated() {
|
||||||
this.show = false
|
this.show = false
|
||||||
|
let id = window.setTimeout(() => {
|
||||||
|
window.clearTimeout(id)
|
||||||
|
this.dispatchEventFurther()
|
||||||
|
}, 300)
|
||||||
}
|
}
|
||||||
|
|
||||||
@eventOptions({passive: false})
|
@eventOptions({passive: false})
|
||||||
|
@ -261,36 +269,12 @@ export class StarNotificationGroup extends LitElement {
|
||||||
let isShow = this.show
|
let isShow = this.show
|
||||||
if (isShow) {
|
if (isShow) {
|
||||||
// 当前是展开状态,点击需折叠
|
// 当前是展开状态,点击需折叠
|
||||||
let self = this
|
|
||||||
this.show = false
|
this.show = false
|
||||||
firstChild.setAttribute('radiusType', 'border-radius')
|
firstChild.setAttribute('radiusType', 'border-radius')
|
||||||
firstChild.withArrowUp = false
|
firstChild.withArrowUp = false
|
||||||
firstChild.setAttribute('notificationType', 'more-notifiactions-first')
|
firstChild.setAttribute('notificationType', 'more-notifiactions-first')
|
||||||
this.slotElements.forEach((element, index) => {
|
|
||||||
if (element !== firstChild) {
|
|
||||||
;(element as StarNotification).classList.add('animation-out')
|
|
||||||
element.addEventListener('animationend', function tEnd() {
|
|
||||||
if (index == self.slotElements.length - 1) {
|
|
||||||
self.show = false
|
|
||||||
self.dispatchEventFurther()
|
|
||||||
}
|
|
||||||
;(element as StarNotification).classList.remove('animation-out')
|
|
||||||
element.removeEventListener('animationend', tEnd)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
this.show = true
|
this.show = true
|
||||||
this.dispatchEventFurther()
|
|
||||||
this.slotElements.forEach((element) => {
|
|
||||||
if (element !== firstChild) {
|
|
||||||
;(element as StarNotification).classList.add('animation-in')
|
|
||||||
element.addEventListener('animationend', function tEnd() {
|
|
||||||
element.removeEventListener('animationend', tEnd)
|
|
||||||
;(element as StarNotification).classList.remove('animation-in')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
firstChild.setAttribute('radiusType', 'top-border-radius')
|
firstChild.setAttribute('radiusType', 'top-border-radius')
|
||||||
firstChild.withArrowUp = true
|
firstChild.withArrowUp = true
|
||||||
firstChild.setAttribute('notificationType', 'more-notifiactions')
|
firstChild.setAttribute('notificationType', 'more-notifiactions')
|
||||||
|
|
|
@ -22,8 +22,6 @@ export const sharedStyles: CSSResult = css`
|
||||||
--more-text-color-lm: rgba(64, 64, 64, 0.65);
|
--more-text-color-lm: rgba(64, 64, 64, 0.65);
|
||||||
--more-text-color-dm: rgba(224, 224, 224, 1);
|
--more-text-color-dm: rgba(224, 224, 224, 1);
|
||||||
|
|
||||||
// width: 71.7vw;
|
|
||||||
// height: 7.9vh;
|
|
||||||
width: calc(860px / var(--hostDevicePixelRatio));
|
width: calc(860px / var(--hostDevicePixelRatio));
|
||||||
height: var(--auto-152px);
|
height: var(--auto-152px);
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -51,8 +49,7 @@ export const sharedStyles: CSSResult = css`
|
||||||
|
|
||||||
.deletebybtn {
|
.deletebybtn {
|
||||||
transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
|
transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
|
||||||
transform: opacity translateX(-2.5vw);
|
transform: opacity translateX(-2.5vmin);
|
||||||
// animation: notification-disappear 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification[clicked] {
|
.notification[clicked] {
|
||||||
|
@ -66,33 +63,20 @@ export const sharedStyles: CSSResult = css`
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-border-radius {
|
.top-border-radius {
|
||||||
// border-top-left-radius: 1.7vw;
|
|
||||||
// border-top-right-radius: 1.7vw;
|
|
||||||
|
|
||||||
border-top-left-radius: var(--auto-20px);
|
border-top-left-radius: var(--auto-20px);
|
||||||
border-top-right-radius: var(--auto-20px);
|
border-top-right-radius: var(--auto-20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom-border-radius {
|
.bottom-border-radius {
|
||||||
// border-bottom-left-radius: 1.7vw;
|
|
||||||
// border-bottom-right-radius: 1.7vw;
|
|
||||||
border-bottom-left-radius: var(--auto-20px);
|
border-bottom-left-radius: var(--auto-20px);
|
||||||
border-bottom-right-radius: var(--auto-20px);
|
border-bottom-right-radius: var(--auto-20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-radius {
|
.border-radius {
|
||||||
// border-radius: 1.7vw;
|
|
||||||
border-radius: var(--auto-20px);
|
border-radius: var(--auto-20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification > img {
|
.notification > img {
|
||||||
// width: 48px;
|
|
||||||
// height: 48px;
|
|
||||||
// pointer-events: none;
|
|
||||||
// margin: 26px 10px 78px 26px;
|
|
||||||
|
|
||||||
// width: 4vw;
|
|
||||||
// height: 4vw;
|
|
||||||
width: var(--auto-48px);
|
width: var(--auto-48px);
|
||||||
height: var(--auto-48px);
|
height: var(--auto-48px);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -123,10 +107,8 @@ export const sharedStyles: CSSResult = css`
|
||||||
|
|
||||||
// height: 28px;
|
// height: 28px;
|
||||||
// line-height: 28px;
|
// line-height: 28px;
|
||||||
// font-size: 28px;
|
|
||||||
|
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
// font-size: 2.3vw;
|
|
||||||
font-size: var(--auto-28px);
|
font-size: var(--auto-28px);
|
||||||
max-width: var(--auto-640px);
|
max-width: var(--auto-640px);
|
||||||
}
|
}
|
||||||
|
@ -145,16 +127,8 @@ export const sharedStyles: CSSResult = css`
|
||||||
opacity: 0.65;
|
opacity: 0.65;
|
||||||
|
|
||||||
// height: 32px;
|
// height: 32px;
|
||||||
// right: 32px;
|
|
||||||
// top: -4px;
|
// top: -4px;
|
||||||
// font-size: 24px;
|
|
||||||
// line-height: 32px;
|
// line-height: 32px;
|
||||||
|
|
||||||
// right: 10.67px;
|
|
||||||
// top: -1.33px;
|
|
||||||
// font-size: 2vw;
|
|
||||||
line-height: 1;
|
|
||||||
// right: 3.7%;
|
|
||||||
font-size: var(--auto-24px);
|
font-size: var(--auto-24px);
|
||||||
right: var(--auto-32px);
|
right: var(--auto-32px);
|
||||||
line-height: var(--auto-24px);
|
line-height: var(--auto-24px);
|
||||||
|
@ -180,14 +154,8 @@ export const sharedStyles: CSSResult = css`
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
mix-blend-mode: normal;
|
mix-blend-mode: normal;
|
||||||
opacity: 0.65;
|
opacity: 0.65;
|
||||||
// font-size: 2.2vw;
|
|
||||||
|
|
||||||
font-size: var(--auto-26px);
|
font-size: var(--auto-26px);
|
||||||
max-width: var(--auto-640px);
|
max-width: var(--auto-640px);
|
||||||
// width: 246px;
|
|
||||||
// height: 11px;
|
|
||||||
// font-size: 8px;
|
|
||||||
// line-height: 11px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification > div.detail .arrow-up {
|
.notification > div.detail .arrow-up {
|
||||||
|
@ -197,18 +165,8 @@ export const sharedStyles: CSSResult = css`
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
// width: 56px;
|
|
||||||
// height: 34px;
|
|
||||||
// right: 26px;
|
|
||||||
// bottom: 30px;
|
|
||||||
// line-height: 34px;
|
|
||||||
// border-radius: 189px;
|
|
||||||
|
|
||||||
// height: 1.8vh;
|
|
||||||
// width: 4.7vw;
|
|
||||||
right: 3%;
|
right: 3%;
|
||||||
bottom: 19.7%;
|
bottom: 19.7%;
|
||||||
// border-radius: 15.75vw;
|
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
@ -220,22 +178,18 @@ export const sharedStyles: CSSResult = css`
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification > div.detail .arrow-up::after {
|
.notification > div.detail .arrow-up::after {
|
||||||
font-family: 'gaia-icons';
|
font-family: 'star-icons';
|
||||||
content: attr(data-icon);
|
content: attr(data-icon);
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 1.33vw;
|
|
||||||
|
|
||||||
// font-size: 35px;
|
|
||||||
// font-size: 12px;
|
|
||||||
|
|
||||||
width: 1.33vw;
|
|
||||||
height: 1.33vw;
|
|
||||||
|
|
||||||
width: var(--auto-16px);
|
width: var(--auto-16px);
|
||||||
height: var(--auto-16px);
|
height: var(--auto-16px);
|
||||||
font-size: var(--auto-16px);
|
font-size: var(--auto-16px);
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.one,
|
.one,
|
||||||
|
@ -271,15 +225,11 @@ export const sharedStyles: CSSResult = css`
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
transition: transform 0.1s;
|
transition: transform 0.1s;
|
||||||
width: 6.7vw;
|
|
||||||
height: 6.7vw;
|
|
||||||
|
|
||||||
width: var(--auto-80px);
|
width: var(--auto-80px);
|
||||||
height: var(--auto-80px);
|
height: var(--auto-80px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-tool > div:first-child {
|
.btn-tool > div:first-child {
|
||||||
// margin-right: 3.7vw;
|
|
||||||
margin-right: calc(44px / var(--hostDevicePixelRatio));
|
margin-right: calc(44px / var(--hostDevicePixelRatio));
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
@ -299,7 +249,7 @@ export const sharedStyles: CSSResult = css`
|
||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
content: attr(data-icon);
|
content: attr(data-icon);
|
||||||
font-family: gaia-icons;
|
font-family: 'star-icons';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-rendering: optimizelegibility;
|
text-rendering: optimizelegibility;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
@ -307,11 +257,7 @@ export const sharedStyles: CSSResult = css`
|
||||||
// width: 32px;
|
// width: 32px;
|
||||||
// height: 32px;
|
// height: 32px;
|
||||||
// line-height: 32px;
|
// line-height: 32px;
|
||||||
// font-size: 32px;
|
|
||||||
|
|
||||||
width: 40%;
|
|
||||||
height: 40%;
|
|
||||||
// font-size: 2.7vw;
|
|
||||||
font-size: var(--auto-32px);
|
font-size: var(--auto-32px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,15 +280,6 @@ export const sharedStyles: CSSResult = css`
|
||||||
flex: none;
|
flex: none;
|
||||||
order: 0;
|
order: 0;
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
|
|
||||||
// height: 28px;
|
|
||||||
// line-height: 28px;
|
|
||||||
// font-size: 28px;
|
|
||||||
|
|
||||||
// height: 18.4%;
|
|
||||||
// line-height: 1;
|
|
||||||
// font-size: 1.45vh;
|
|
||||||
// font-size: 2.3vw;
|
|
||||||
font-size: var(--auto-28px);
|
font-size: var(--auto-28px);
|
||||||
line-height: var(--auto-38px);
|
line-height: var(--auto-38px);
|
||||||
height: var(--auto-38px);
|
height: var(--auto-38px);
|
||||||
|
@ -377,17 +314,7 @@ export const sharedStyles: CSSResult = css`
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
max-width: 40%;
|
max-width: 40%;
|
||||||
|
|
||||||
// height: 34px;
|
|
||||||
// line-height: 34px;
|
|
||||||
// left: 24px;
|
|
||||||
// top: -3px;
|
|
||||||
// font-size: 26px;
|
|
||||||
|
|
||||||
left: 0.93%;
|
left: 0.93%;
|
||||||
// top: -3px;
|
|
||||||
// top: -2%;
|
|
||||||
// top: -0.16vh;
|
|
||||||
// font-size: 1.35vh;
|
|
||||||
font-size: var(--auto-26px);
|
font-size: var(--auto-26px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,24 +331,9 @@ export const sharedStyles: CSSResult = css`
|
||||||
text-align: right;
|
text-align: right;
|
||||||
mix-blend-mode: normal;
|
mix-blend-mode: normal;
|
||||||
opacity: 0.65;
|
opacity: 0.65;
|
||||||
|
|
||||||
// height: 34px;
|
|
||||||
// right: 34px;
|
|
||||||
// top: -4px;
|
|
||||||
// font-size: 24px;
|
|
||||||
// line-height: 32px;
|
|
||||||
|
|
||||||
// height: 11px;
|
|
||||||
// right: 11px;
|
|
||||||
// top: -1px;
|
|
||||||
// font-size: 8px;
|
|
||||||
// line-height: 11px;
|
|
||||||
|
|
||||||
// height: 1.8vh;
|
|
||||||
height: var(--auto-34px);
|
height: var(--auto-34px);
|
||||||
right: var(--auto-32px);
|
right: var(--auto-32px);
|
||||||
line-height: var(--auto-34px);
|
line-height: var(--auto-34px);
|
||||||
// font-size: 2vw;
|
|
||||||
font-size: var(--auto-24px);
|
font-size: var(--auto-24px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,31 +342,12 @@ export const sharedStyles: CSSResult = css`
|
||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
opacity: 0.55;
|
opacity: 0.55;
|
||||||
|
|
||||||
// width: 56px;
|
|
||||||
// height: 34px;
|
|
||||||
// right: 26px;
|
|
||||||
// bottom: 30px;
|
|
||||||
// top: -1px;
|
|
||||||
// line-height: 34px;
|
|
||||||
// font-size: 20px;
|
|
||||||
// border-radius: 189px;
|
|
||||||
|
|
||||||
// width: 4.7vw;
|
|
||||||
// height: 1.8vh;
|
|
||||||
// right: 3%;
|
|
||||||
// bottom: 19.7%;
|
|
||||||
// border-radius: 15.75vw;
|
|
||||||
// top: -0.08vw;
|
|
||||||
// font-size: 1.7vw;
|
|
||||||
// line-height: 1.8vh;
|
|
||||||
|
|
||||||
width: var(--auto-56px);
|
width: var(--auto-56px);
|
||||||
height: var(--auto-34px);
|
height: var(--auto-34px);
|
||||||
right: 3%;
|
right: 3%;
|
||||||
bottom: 19.7%;
|
bottom: 19.7%;
|
||||||
border-radius: calc(189px / var(--hostDevicePixelRatio));
|
border-radius: calc(189px / var(--hostDevicePixelRatio));
|
||||||
top: -0.08vw;
|
top: -0.08vmin;
|
||||||
font-size: var(--auto-20px);
|
font-size: var(--auto-20px);
|
||||||
line-height: var(--auto-34px);
|
line-height: var(--auto-34px);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
@ -486,7 +379,7 @@ export const sharedStyles: CSSResult = css`
|
||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
content: attr(data-icon);
|
content: attr(data-icon);
|
||||||
font-family: 'gaia-icons';
|
font-family: 'star-icons';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-size: var(--auto-48px);
|
font-size: var(--auto-48px);
|
||||||
text-rendering: optimizelegibility;
|
text-rendering: optimizelegibility;
|
||||||
|
@ -638,16 +531,6 @@ export const sharedStyles: CSSResult = css`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes notification-disappear {
|
|
||||||
0% {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.click-start {
|
.click-start {
|
||||||
transition: transform 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
|
transition: transform 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
|
||||||
transform: scale(0.95);
|
transform: scale(0.95);
|
||||||
|
@ -674,22 +557,4 @@ export const sharedStyles: CSSResult = css`
|
||||||
background: var(--notification-background-lm);
|
background: var(--notification-background-lm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:host(.animation-in) {
|
|
||||||
animation: show 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
:host(.animation-out) {
|
|
||||||
animation: notification-disappear 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes show {
|
|
||||||
0% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`
|
`
|
||||||
|
|
Loading…
Reference in New Issue