Merge branch 'develop' into no-websocket
This commit is contained in:
commit
cde5be767f
|
@ -0,0 +1 @@
|
||||||
|
20.10.0
|
|
@ -17,7 +17,6 @@ jobs:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22.11.0]
|
|
||||||
api-json-name: [api-base.json, api-head.json]
|
api-json-name: [api-base.json, api-head.json]
|
||||||
include:
|
include:
|
||||||
- api-json-name: api-base.json
|
- api-json-name: api-base.json
|
||||||
|
@ -32,10 +31,10 @@ jobs:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
|
|
@ -15,22 +15,17 @@ jobs:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [22.11.0]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.2.2
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
|
||||||
- name: Publish package
|
- name: Publish package
|
||||||
run: |
|
run: |
|
||||||
pnpm i --frozen-lockfile
|
pnpm i --frozen-lockfile
|
||||||
|
|
|
@ -38,7 +38,7 @@ jobs:
|
||||||
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
|
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js 20.x
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
|
|
|
@ -22,10 +22,11 @@ jobs:
|
||||||
unit:
|
unit:
|
||||||
name: Unit tests (backend)
|
name: Unit tests (backend)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22.11.0]
|
node-version-file:
|
||||||
|
- .node-version
|
||||||
|
- .github/min.node-version
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
|
@ -61,10 +62,10 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
@ -84,10 +85,11 @@ jobs:
|
||||||
e2e:
|
e2e:
|
||||||
name: E2E tests (backend)
|
name: E2E tests (backend)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22.11.0]
|
node-version-file:
|
||||||
|
- .node-version
|
||||||
|
- .github/min.node-version
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
|
@ -108,10 +110,10 @@ jobs:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
|
|
@ -21,7 +21,9 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22.11.0]
|
node-version-file:
|
||||||
|
- .node-version
|
||||||
|
- .github/min.node-version
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
|
@ -43,10 +45,10 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- name: Build Misskey
|
- name: Build Misskey
|
||||||
run: |
|
run: |
|
||||||
|
@ -54,6 +56,7 @@ jobs:
|
||||||
pnpm build
|
pnpm build
|
||||||
- name: Setup
|
- name: Setup
|
||||||
run: |
|
run: |
|
||||||
|
echo "NODE_VERSION=$(cat ${{ matrix.node-version-file }})" >> $GITHUB_ENV
|
||||||
cd packages/backend/test-federation
|
cd packages/backend/test-federation
|
||||||
bash ./setup.sh
|
bash ./setup.sh
|
||||||
sudo chmod 644 ./certificates/*.test.key
|
sudo chmod 644 ./certificates/*.test.key
|
||||||
|
|
|
@ -27,20 +27,16 @@ jobs:
|
||||||
name: Unit tests (frontend)
|
name: Unit tests (frontend)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [22.11.0]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.2.2
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
@ -64,7 +60,6 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [22.11.0]
|
|
||||||
browser: [chrome]
|
browser: [chrome]
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
@ -92,10 +87,10 @@ jobs:
|
||||||
# if: ${{ matrix.browser == 'firefox' }}
|
# if: ${{ matrix.browser == 'firefox' }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Copy Configure
|
- name: Copy Configure
|
||||||
|
|
|
@ -20,11 +20,6 @@ jobs:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [22.11.0]
|
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4.2.2
|
uses: actions/checkout@v4.2.2
|
||||||
|
@ -32,10 +27,10 @@ jobs:
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
|
|
||||||
- name: Setup Node.js ${{ matrix.node-version }}
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
|
|
@ -15,20 +15,16 @@ jobs:
|
||||||
name: Production build
|
name: Production build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [22.11.0]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.2.2
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
|
|
@ -16,20 +16,16 @@ jobs:
|
||||||
validate-api-json:
|
validate-api-json:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [22.11.0]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.2.2
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.1.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v4.4.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- name: Install Redocly CLI
|
- name: Install Redocly CLI
|
||||||
run: npm i -g @redocly/cli
|
run: npm i -g @redocly/cli
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
- Feat: マウスでもタイムラインを引っ張って更新できるように
|
- Feat: マウスでもタイムラインを引っ張って更新できるように
|
||||||
- アクセシビリティ設定からオフにすることもできます
|
- アクセシビリティ設定からオフにすることもできます
|
||||||
- Enhance: タイムラインのパフォーマンスを向上
|
- Enhance: タイムラインのパフォーマンスを向上
|
||||||
|
- Fix: 一部のブラウザでアコーディオンメニューのアニメーションが動作しない問題を修正
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Enhance: 凍結されたユーザのノートが各種タイムラインで表示されないように `#15775`
|
- Enhance: 凍結されたユーザのノートが各種タイムラインで表示されないように `#15775`
|
||||||
|
|
|
@ -10,15 +10,15 @@ cd packages/backend/test-federation
|
||||||
First, you need to start servers by executing following commands:
|
First, you need to start servers by executing following commands:
|
||||||
```sh
|
```sh
|
||||||
bash ./setup.sh
|
bash ./setup.sh
|
||||||
docker compose up --scale tester=0
|
NODE_VERSION=22 docker compose up --scale tester=0
|
||||||
```
|
```
|
||||||
|
|
||||||
Then you can run all tests by a following command:
|
Then you can run all tests by a following command:
|
||||||
```sh
|
```sh
|
||||||
docker compose run --no-deps --rm tester
|
NODE_VERSION=22 docker compose run --no-deps --rm tester
|
||||||
```
|
```
|
||||||
|
|
||||||
For testing a specific file, run a following command:
|
For testing a specific file, run a following command:
|
||||||
```sh
|
```sh
|
||||||
docker compose run --no-deps --rm tester -- pnpm -F backend test:fed packages/backend/test-federation/test/user.test.ts
|
NODE_VERSION=22 docker compose run --no-deps --rm tester -- pnpm -F backend test:fed packages/backend/test-federation/test/user.test.ts
|
||||||
```
|
```
|
||||||
|
|
|
@ -12,7 +12,7 @@ services:
|
||||||
retries: 20
|
retries: 20
|
||||||
|
|
||||||
misskey:
|
misskey:
|
||||||
image: node:20
|
image: node:${NODE_VERSION}
|
||||||
env_file:
|
env_file:
|
||||||
- ./.config/docker.env
|
- ./.config/docker.env
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -16,7 +16,7 @@ services:
|
||||||
"
|
"
|
||||||
|
|
||||||
tester:
|
tester:
|
||||||
image: node:20
|
image: node:${NODE_VERSION}
|
||||||
depends_on:
|
depends_on:
|
||||||
a.test:
|
a.test:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
@ -85,7 +85,7 @@ services:
|
||||||
command: pnpm -F backend test:fed
|
command: pnpm -F backend test:fed
|
||||||
|
|
||||||
daemon:
|
daemon:
|
||||||
image: node:20
|
image: node:${NODE_VERSION}
|
||||||
depends_on:
|
depends_on:
|
||||||
redis.test:
|
redis.test:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
|
@ -31,6 +31,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
:leaveActiveClass="prefer.s.animation ? $style.transition_toggle_leaveActive : ''"
|
:leaveActiveClass="prefer.s.animation ? $style.transition_toggle_leaveActive : ''"
|
||||||
:enterFromClass="prefer.s.animation ? $style.transition_toggle_enterFrom : ''"
|
:enterFromClass="prefer.s.animation ? $style.transition_toggle_enterFrom : ''"
|
||||||
:leaveToClass="prefer.s.animation ? $style.transition_toggle_leaveTo : ''"
|
:leaveToClass="prefer.s.animation ? $style.transition_toggle_leaveTo : ''"
|
||||||
|
@enter="enter"
|
||||||
|
@afterEnter="afterEnter"
|
||||||
|
@leave="leave"
|
||||||
|
@afterLeave="afterLeave"
|
||||||
>
|
>
|
||||||
<KeepAlive>
|
<KeepAlive>
|
||||||
<div v-show="opened">
|
<div v-show="opened">
|
||||||
|
@ -86,6 +90,42 @@ const bgSame = ref(false);
|
||||||
const opened = ref(props.defaultOpen);
|
const opened = ref(props.defaultOpen);
|
||||||
const openedAtLeastOnce = ref(props.defaultOpen);
|
const openedAtLeastOnce = ref(props.defaultOpen);
|
||||||
|
|
||||||
|
//#region interpolate-sizeに対応していないブラウザ向け(TODO: 主要ブラウザが対応したら消す)
|
||||||
|
function enter(el: Element) {
|
||||||
|
if (CSS.supports('interpolate-size', 'allow-keywords')) return;
|
||||||
|
if (!(el instanceof HTMLElement)) return;
|
||||||
|
|
||||||
|
const elementHeight = el.getBoundingClientRect().height;
|
||||||
|
el.style.height = '0';
|
||||||
|
el.offsetHeight; // reflow
|
||||||
|
el.style.height = `${Math.min(elementHeight, props.maxHeight ?? Infinity)}px`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function afterEnter(el: Element) {
|
||||||
|
if (CSS.supports('interpolate-size', 'allow-keywords')) return;
|
||||||
|
if (!(el instanceof HTMLElement)) return;
|
||||||
|
|
||||||
|
el.style.height = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function leave(el: Element) {
|
||||||
|
if (CSS.supports('interpolate-size', 'allow-keywords')) return;
|
||||||
|
if (!(el instanceof HTMLElement)) return;
|
||||||
|
|
||||||
|
const elementHeight = el.getBoundingClientRect().height;
|
||||||
|
el.style.height = `${elementHeight}px`;
|
||||||
|
el.offsetHeight; // reflow
|
||||||
|
el.style.height = '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
function afterLeave(el: Element) {
|
||||||
|
if (CSS.supports('interpolate-size', 'allow-keywords')) return;
|
||||||
|
if (!(el instanceof HTMLElement)) return;
|
||||||
|
|
||||||
|
el.style.height = '';
|
||||||
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
function toggle() {
|
function toggle() {
|
||||||
if (!opened.value) {
|
if (!opened.value) {
|
||||||
openedAtLeastOnce.value = true;
|
openedAtLeastOnce.value = true;
|
||||||
|
@ -108,18 +148,28 @@ onMounted(() => {
|
||||||
.transition_toggle_enterActive,
|
.transition_toggle_enterActive,
|
||||||
.transition_toggle_leaveActive {
|
.transition_toggle_leaveActive {
|
||||||
overflow-y: hidden; // 子要素のmarginが突き出るため clip を使ってはいけない
|
overflow-y: hidden; // 子要素のmarginが突き出るため clip を使ってはいけない
|
||||||
transition: opacity 0.3s, height 0.3s !important;
|
transition: opacity 0.3s, height 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@supports (interpolate-size: allow-keywords) {
|
||||||
.transition_toggle_enterFrom,
|
.transition_toggle_enterFrom,
|
||||||
.transition_toggle_leaveTo {
|
.transition_toggle_leaveTo {
|
||||||
opacity: 0;
|
|
||||||
height: 0;
|
height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.root {
|
.root {
|
||||||
display: block;
|
|
||||||
interpolate-size: allow-keywords; // heightのtransitionを動作させるために必要
|
interpolate-size: allow-keywords; // heightのtransitionを動作させるために必要
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.transition_toggle_enterFrom,
|
||||||
|
.transition_toggle_leaveTo {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -378,18 +378,38 @@ defineExpose({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" module>
|
<style lang="scss" module>
|
||||||
.transition_x_move,
|
.transition_x_move {
|
||||||
.transition_x_enterActive,
|
transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
|
||||||
.transition_x_leaveActive {
|
|
||||||
transition: opacity 0.3s cubic-bezier(0,.5,.5,1), transform 0.3s cubic-bezier(0,.5,.5,1) !important;
|
|
||||||
}
|
}
|
||||||
.transition_x_enterFrom,
|
|
||||||
|
.transition_x_enterActive {
|
||||||
|
transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1);
|
||||||
|
|
||||||
|
&.note,
|
||||||
|
.note {
|
||||||
|
/* Skip Note Rendering有効時、TransitionGroupでnoteを追加するときに一瞬がくっとなる問題を抑制する */
|
||||||
|
content-visibility: visible !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.transition_x_leaveActive {
|
||||||
|
transition: height 0.2s cubic-bezier(0,.5,.5,1), opacity 0.2s cubic-bezier(0,.5,.5,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.transition_x_enterFrom {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(max(-64px, -100%));
|
||||||
|
}
|
||||||
|
|
||||||
|
@supports (interpolate-size: allow-keywords) {
|
||||||
|
.transition_x_leaveTo {
|
||||||
|
interpolate-size: allow-keywords; // heightのtransitionを動作させるために必要
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.transition_x_leaveTo {
|
.transition_x_leaveTo {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
.transition_x_leaveActive {
|
|
||||||
position: absolute;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.notes {
|
.notes {
|
||||||
|
|
Loading…
Reference in New Issue