Compare commits

..

72 Commits

Author SHA1 Message Date
ionitron
3794363130 v6.4.0 2022-12-07 14:58:41 +00:00
Liam DeBeasi
6d3a4a271a chore(): sync with main
chore(): sync with main
2022-12-07 09:48:34 -05:00
Liam DeBeasi
d506d7037e chore(): sync with main 2022-12-07 09:26:55 -05:00
Liam DeBeasi
e47ff25002 merge release-6.3.10
Release 6.3.10
2022-12-07 09:25:10 -05:00
Liam DeBeasi
29476529c8 chore(): remove reverted feature from changelog 2022-12-07 09:04:55 -05:00
ionitron
609a1f63eb chore(): update package lock files 2022-12-07 14:04:04 +00:00
ionitron
ebf9bb5dee v6.3.10 2022-12-07 14:03:42 +00:00
Amanda Johnston
aab63c25a5 test(toolbar): migrate to Playwright (#26419) 2022-12-06 13:03:39 -06:00
Sean Perkins
fcfbcdbc20 fix(datetime): md highlight does not clip at start or end of month (#26366)
Resolves #24891
2022-12-06 13:43:44 -05:00
Amanda Johnston
a67a827fed feat(toast): add global config toastDuration (#26425)
Co-authored-by: DwieDima <DwieDima@users.noreply.github.com>
2022-12-06 09:52:52 -06:00
Amanda Johnston
b6c001935b Revert "feat(toast): add global config toastDuration (#26401)" (#26424)
This reverts commit e375e9a1e7.
2022-12-06 09:42:21 -06:00
DwieDima
e375e9a1e7 feat(toast): add global config toastDuration (#26401)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2022-12-06 09:13:19 -06:00
Liam DeBeasi
1353bc0c36 test(tab-bar): migrate tests to playwright (#26412) 2022-12-05 15:46:41 -05:00
Liam DeBeasi
59e5ad361d test(list): remove datetime from test (#26414) 2022-12-05 14:12:51 -05:00
Liam DeBeasi
c6353d4da7 test(popover, item): fix flaky tests (#26415) 2022-12-05 13:42:26 -05:00
Liam DeBeasi
1a5ee2f30f test(config): remove playwright diff threshold (#26405) 2022-12-05 11:08:59 -05:00
Sean Perkins
e32b9ce8f4 test(router): migrate to playwright (#26406) 2022-12-05 10:46:51 -05:00
Ryan Waskiewicz
12a21b67b3 chore(deps): upgrade @stencil/sass to v2.0 (#26403)
this commit bumps `@stencil/sass` to v2.0.0. v2.0.0 is the first release
of the library from the stencil team in over a year, and contains mostly
under-the-hood improvements. the only breaking change in this version of
the library is dropping support for stencil v1

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2022-12-02 12:57:11 -05:00
Sean Perkins
9729f62c92 chore(prettier): use prettier caching (#26175) 2022-12-02 11:56:16 -05:00
Liam DeBeasi
1b30fc97d3 feat(modal): data and role are passed to canDismiss (#26384)
resolves #26292
2022-12-02 10:46:41 -05:00
Liam DeBeasi
5d035abdb0 chore(): sync with main
chore(): sync with main
2022-12-02 10:19:46 -05:00
Liam DeBeasi
e135d19697 chore(): sync with main 2022-12-02 09:57:07 -05:00
Sean Perkins
fef2fe3efc test(list): set static value for datetime (#26397) 2022-12-01 15:40:25 -05:00
Liam DeBeasi
f06e438db3 test(config): reduce diff threshold to 0.0025 (#26387) 2022-12-01 10:26:14 -05:00
Liam DeBeasi
db4cdeb444 test(utils): migrate utils e2e tests to playwright (#26377) 2022-11-30 15:53:25 -05:00
Amanda Johnston
13fe669dc1 fix(datetime): add flipRTL to monthAndYear dropdown icon (#26378)
Co-authored-by: cdes <cdes@users.noreply.github.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2022-11-30 12:15:38 -06:00
Liam DeBeasi
e6aab3b7ff chore(): sync feature-6.4 with main
chore(): sync feature-6.4 with main
2022-11-30 12:57:06 -05:00
Liam DeBeasi
00e44b9c67 Merge remote-tracking branch 'origin/main' into sync-6.4-11-30 2022-11-30 12:26:23 -05:00
Liam DeBeasi
df6064e986 test(config): reduce playwright pixel threshold to 0.005 (#26375) 2022-11-30 12:25:49 -05:00
Liam DeBeasi
778312552e test(tabs): migrate placement tests (#26376) 2022-11-30 12:06:47 -05:00
Liam DeBeasi
9778961e77 chore(): sync with main 2022-11-30 11:47:05 -05:00
Liam DeBeasi
a2d570b7ad fix(segment): scrolling button into view is more consistent (#26369)
resolves #26368
2022-11-30 10:15:48 -05:00
Liam DeBeasi
88d327b6f7 merge release-6.3.9
Release 6.3.9
2022-11-30 09:44:18 -05:00
ionitron
9243840d1d chore(): update package lock files 2022-11-30 14:21:56 +00:00
ionitron
a907a4a70e v6.3.9 2022-11-30 14:21:39 +00:00
Liam DeBeasi
50e86e895f test(icon): migrate to playwright (#26373) 2022-11-29 16:16:28 -05:00
Liam DeBeasi
ccaff8d0dc fix(input): clear icon can be styled (#26354)
resolves #19178, resolves #17168

Co-authored-by: Mathieu-COSYNS <Mathieu-COSYNS@users.noreply.github.com>
2022-11-23 13:00:50 -05:00
Liam DeBeasi
5a243ccebc fix(segment): segment in toolbar uses correct contrast (#26353)
resolves #26350
2022-11-23 11:53:01 -05:00
Liam DeBeasi
4b501fd00c chore(ci): always bootstrap packages (#26349) 2022-11-23 10:26:57 -05:00
Liam DeBeasi
181c44e4bb test(split-pane): migrate to playwright (#26344) 2022-11-22 16:00:53 -05:00
Liam DeBeasi
2fe23d9d46 fix(button): fill can be set to undefined (#26339)
resolves #25886
2022-11-22 13:46:17 -05:00
Liam DeBeasi
7ae8117284 fix(reorder): items animate once in firefox (#26326)
resolves #21182

Co-authored-by: dan-rp1 <dan-rp1@users.noreply.github.com>
2022-11-22 11:38:42 -05:00
Liam DeBeasi
c46ef91f46 merge release-6.3.8
Release 6.3.8
2022-11-22 10:44:06 -05:00
ionitron
000f27d364 chore(): update package lock files 2022-11-22 15:12:24 +00:00
ionitron
4d1081ae2a v6.3.8 2022-11-22 15:12:01 +00:00
Liam DeBeasi
184b793733 chore(ci): fix release dependency (#26332) 2022-11-22 10:05:08 -05:00
Sean Perkins
be9a399eee fix(popover): popover positions correctly on all frameworks (#26306)
Resolves #25337
2022-11-21 22:32:46 -05:00
Sean Perkins
c943dff5a3 chore(overlays): generic for present/dismiss options (#26287) 2022-11-21 16:57:17 -05:00
Sean Perkins
8aa0aeca6b Merge pull request #26330 from ionic-team/chore/sync-feature-6-4-with-main
chore: sync with main
2022-11-21 16:37:59 -05:00
Sean Perkins
714cec4af6 Merge remote-tracking branch 'origin/main' into chore/sync-feature-6-4-with-main 2022-11-21 16:12:09 -05:00
Sean Perkins
a6c9e55adc fix(modal): status bar style defaults to app settings (#26291)
Resolves #26173
2022-11-21 16:10:57 -05:00
Sean Perkins
dd727dbd44 chore(angular): remove unused dep from test apps (#26328) 2022-11-21 15:15:44 -05:00
Sean Perkins
124e1b505f chore(angular): test app support for angular 15 (#26313) 2022-11-21 13:51:13 -05:00
Liam DeBeasi
0932f89f5d fix(toggle): rtl layout renders correctly in safari (#26315) 2022-11-21 11:33:11 -05:00
Matias Salles
e14c94722c fix(normalize): normalize css resets button padding (#26214)
resolves #23928
2022-11-18 13:57:17 -05:00
Rene Dellefont
89e3cd67ce fix(react): useIonRouter hook has stable router reference (#25000)
resolves #24987
2022-11-18 13:34:59 -05:00
Alice
d78cda29fd chore(tests): harmonize Jest package version to address test file matching (#26320)
This harmonizes the versions of Jest installed in Framework to address
an issue reported in Stencil here:
https://github.com/ionic-team/stencil/issues/3785

The issue is essentially that certain test commands, such as this one:

```
npx stencil test --spec --max-workers=2 src/utils/keyboard/test/
```

will, at present, alternate between running the tests as expected and
failing. Not good!

The issue is caused by having different versions of `@jest/core`, on the
one hand, and `jest` and `jest-cli` on the other. After updating `jest`
and `jest-cli` to match the version of `@jest/core` (`27.5.1`) and the
issue can no longer be reproduced.
2022-11-18 12:46:42 -05:00
Liam DeBeasi
bacc4f3e21 chore(ci): nightly is pushed to temp branch (#26319) 2022-11-18 10:48:10 -05:00
Liam DeBeasi
d7b86d7625 chore(ci): release workflows now use reusable workflow (#26304) 2022-11-17 11:20:15 -05:00
Liam DeBeasi
842573477b fix(reorder-group): support custom components (#26289)
resolves #19447

Co-authored-by: Gwe-n <gwe-n@users.noreply.github.com>
2022-11-17 10:50:12 -05:00
Liam DeBeasi
a52bfe6525 chore(ci): clean up nightly builds (#26312) 2022-11-17 09:55:57 -05:00
Sean Perkins
f642c29f92 test(nav): migrate tests to playwright (#26294) 2022-11-16 15:19:29 -05:00
Liam DeBeasi
843d386479 test(router-outlet): migrate tests to playwright (#26296) 2022-11-16 14:53:45 -05:00
Liam DeBeasi
7f393e0fdf test(text): migrate tests to playwright (#26288) 2022-11-16 14:27:29 -05:00
Liam DeBeasi
73ea64c02f fix(segment): scrollable segments center button on click (#26285)
resolves #25367
2022-11-16 13:58:03 -05:00
Liam DeBeasi
4aabbdf97b chore(ci): nightly builds now run in parallel (#26301) 2022-11-16 12:35:25 -05:00
Liam DeBeasi
eaf2c301b1 chore(ci): dev build runs in parallel (#26302) 2022-11-16 11:55:05 -05:00
Liam DeBeasi
522f15dfab merge release-6.3.7
Release 6.3.7
2022-11-16 11:21:13 -05:00
ionitron
af5c57efa5 chore(): update package lock files 2022-11-16 15:00:40 +00:00
Liam DeBeasi
8cae2d9e05 chore(): sync feature-6.4 with main
chore(): sync feature-6.4 with main
2022-11-01 11:31:43 -05:00
Liam DeBeasi
03c7210250 Merge remote-tracking branch 'origin/main' into sync-6.4 2022-11-01 11:51:37 -04:00
Hans
43e2b3975d feat(toggle): add toggleOnOffLabels global config option (#26087)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2022-10-31 09:49:15 -05:00
1359 changed files with 7270 additions and 21012 deletions

View File

@@ -21,11 +21,11 @@ runs:
with:
node-version: 16.x
- name: Install Dependencies
run: lerna bootstrap --scope ${{ inputs.scope }} --ignore-scripts -- --legacy-peer-deps
run: lerna bootstrap --include-dependencies --scope ${{ inputs.scope }} --ignore-scripts -- --legacy-peer-deps
shell: bash
working-directory: ${{ inputs.working-directory }}
- name: Update Version
run: npm version ${{ inputs.version }}
run: lerna version ${{ inputs.version }} --yes --exact --no-changelog --no-push --no-git-tag-version
shell: bash
working-directory: ${{ inputs.working-directory }}
- name: Run Build
@@ -39,6 +39,6 @@ runs:
env:
NPM_TOKEN: ${{ inputs.token }}
- name: Publish to NPM
run: npm publish ${{ inputs.folder }} --tag ${{ inputs.tag }} --git-tag-version false
run: npm publish ${{ inputs.folder }} --tag ${{ inputs.tag }}
shell: bash
working-directory: ${{ inputs.working-directory }}

View File

@@ -29,7 +29,7 @@ runs:
shell: bash
working-directory: ./angular/test
- name: Install Dependencies
run: npm install --legacy-peer-deps
run: npm install
shell: bash
working-directory: ./angular/test/build/${{ inputs.app }}
- name: Sync Built Changes

View File

@@ -4,42 +4,37 @@ on:
workflow_dispatch:
jobs:
dev-build:
create-dev-hash:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.dev-build.outputs.version }}
dev-hash: ${{ steps.create-dev-hash.outputs.DEV_HASH }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: npm ci --no-package-lock && lerna bootstrap --ignore-scripts -- --legacy-peer-deps
shell: bash
- name: Prepare NPM Token
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
shell: bash
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# A 1 is required before the timestamp
# as lerna will fail when there is a leading 0
# See https://github.com/lerna/lerna/issues/2840
- name: Create Dev Hash
run: |
echo "HASH=1$(git log -1 --format=%H | cut -c 1-7)" >> $GITHUB_ENV
echo "TIMESTAMP=1$(date +%s)" >> $GITHUB_ENV
echo "CURRENT_VERSION=$(node ./.scripts/bump-version.js)" >> $GITHUB_ENV
- name: Install Dependencies
run: npm ci --no-package-lock
shell: bash
- name: Create Dev Build
- id: create-dev-hash
name: Create Dev Hash
run: |
HUSKY_SKIP_HOOKS=1 lerna publish $(echo "${{ env.CURRENT_VERSION }}")-dev.$(echo "${{ env.TIMESTAMP }}").$(echo "${{ env.HASH }}") --no-verify-access --yes --force-publish='*' --dist-tag dev --no-git-tag-version --no-push --exact
echo "DEV_HASH=$(node ./.scripts/bump-version.js)-dev.1$(date +%s).1$(git log -1 --format=%H | cut -c 1-7)" >> $GITHUB_OUTPUT
shell: bash
- id: dev-build
run: echo "::set-output name=version::$(echo "${{ env.CURRENT_VERSION }}")-dev.$(echo "${{ env.TIMESTAMP }}").$(echo "${{ env.HASH }}")"
release-ionic:
needs: [create-dev-hash]
uses: ./.github/workflows/release-ionic.yml
with:
tag: dev
version: ${{ needs.create-dev-hash.outputs.dev-hash }}
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
get-build:
name: Get your dev build!
runs-on: ubuntu-latest
needs: dev-build
needs: [create-dev-hash, release-ionic]
steps:
- run: echo ${{ needs.dev-build.outputs.version }}
- run: echo ${{ needs.create-dev-hash.outputs.dev-hash }}

View File

@@ -7,54 +7,73 @@ on:
- cron: '00 06 * * 1-5'
jobs:
nightly-build:
create-nightly-hash:
runs-on: ubuntu-latest
outputs:
nightly-hash: ${{ steps.create-nightly-hash.outputs.NIGHTLY_HASH }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: npm ci --no-package-lock && lerna bootstrap --ignore-scripts -- --legacy-peer-deps
shell: bash
- name: Prepare NPM Token
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
shell: bash
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Configure Identity
run: |
git config user.name github-actions
git config user.email github-actions@github.com
# A 1 is required before the timestamp
# as lerna will fail when there is a leading 0
# See https://github.com/lerna/lerna/issues/2840
- name: Create Nightly Hash
- name: Install Dependencies
run: npm ci --no-package-lock
shell: bash
- id: create-nightly-hash
name: Create Nightly Hash
# The date should output YYYYMMDD
# so that it is human readable
run: |
echo "DATE=$(date +%Y%m%d)" >> $GITHUB_ENV
echo "CURRENT_VERSION=$(node ./.scripts/bump-version.js)" >> $GITHUB_ENV
shell: bash
- name: Checkout Nightly Branch
run: |
git checkout -b nightly-$(echo "${{ env.DATE }}")
git push origin nightly-$(echo "${{ env.DATE }}")
shell: bash
- name: Create Nightly Build
run: |
HUSKY_SKIP_HOOKS=1 lerna publish $(echo "${{ env.CURRENT_VERSION }}")-nightly.$(echo "${{ env.DATE }}") --no-verify-access --yes --force-publish='*' --dist-tag nightly --conventional-commits --conventional-prerelease --exact --create-release github
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
# We need to push the commit changes in order for the tags
# to get updated, but we don't need to keep the changelog
# changes around.
- name: Delete Nightly Branch
run: |
git checkout main
git branch -D nightly-$(echo "${{ env.DATE }}")
git push origin --delete nightly-$(echo "${{ env.DATE }}")
echo "NIGHTLY_HASH=$(node ./.scripts/bump-version.js)-nightly.$(date +%Y%m%d)" >> $GITHUB_OUTPUT
shell: bash
release-ionic:
needs: [create-nightly-hash]
uses: ./.github/workflows/release-ionic.yml
with:
tag: nightly
version: ${{ needs.create-nightly-hash.outputs.nightly-hash }}
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
finalize-release:
needs: [create-nightly-hash, release-ionic]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.IONITRON_TOKEN }}
fetch-depth: 0
- name: Configure Identity
# Commits from github-actions do not
# trigger other GitHub Actions. As a result,
# we publish releases from Ionitron instead
# so actions run when merging the release branch
# back into main.
run: |
git config user.name ionitron
git config user.email hi@ionicframework.com
shell: bash
- name: Checkout Nightly Branch
# There are branch protection rules for our version
# branches (i.e. "6.2.x"), so we cannot name the branch
# the nightly hash as it would fall under the protection
# rule. As a result, we prefix "tmp-" to the branch.
run: |
git checkout -b tmp-${{ needs.create-nightly-hash.outputs.nightly-hash }}
git push origin tmp-${{ needs.create-nightly-hash.outputs.nightly-hash }}
shell: bash
- name: Create GitHub Release
run: lerna version ${{ needs.create-nightly-hash.outputs.nightly-hash }} --yes --force-publish='*' --conventional-commits --conventional-prerelease --create-release github
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
# We need to push the commit changes in order for the tags
# to get updated, but we don't need to keep the changelog
# changes around.
- name: Delete Nightly Branch
run: |
git checkout main
git branch -D tmp-${{ needs.create-nightly-hash.outputs.nightly-hash }}
git push origin --delete tmp-${{ needs.create-nightly-hash.outputs.nightly-hash }}
shell: bash

212
.github/workflows/release-ionic.yml vendored Normal file
View File

@@ -0,0 +1,212 @@
name: 'Release Ionic'
on:
workflow_call:
inputs:
version:
description: 'The type of version to release.'
type: string
required: true
tag:
description: 'The tag to publish to on NPM.'
type: string
required: true
secrets:
NPM_TOKEN:
required: true
jobs:
release-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/core'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'core'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/core
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-core
output: core/CoreBuild.zip
paths: core/dist core/components core/css core/hydrate core/loader core/src/components.d.ts
- name: Cache Built @ionic/docs
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-docs
output: docs/DocsBuild.zip
paths: docs/core.json docs/core.d.ts
release-docs:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/docs built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-docs
path: ./docs
filename: DocsBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/docs'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'docs'
token: ${{ secrets.NPM_TOKEN }}
release-angular:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/angular'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'angular'
folder: './dist'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/angular
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-angular
output: ./angular/AngularBuild.zip
paths: ./angular/dist
release-react:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/react'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/react'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/react
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-react
output: packages/react/ReactBuild.zip
paths: packages/react/dist packages/react/css
release-vue:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/vue'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/vue'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/vue
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-vue
output: packages/vue/VueBuild.zip
paths: packages/vue/dist packages/vue/css
release-angular-server:
needs: [release-angular]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- name: Restore @ionic/angular built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-angular
path: ./angular
filename: AngularBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/angular-server'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/angular-server'
folder: './dist'
token: ${{ secrets.NPM_TOKEN }}
release-react-router:
needs: [release-react]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- name: Restore @ionic/react built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-react
path: ./packages/react
filename: ReactBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/react-router'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/react-router'
token: ${{ secrets.NPM_TOKEN }}
release-vue-router:
needs: [release-vue]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- name: Restore @ionic/vue built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-vue
path: ./packages/vue
filename: VueBuild.zip
- uses: ./.github/workflows/actions/publish-npm
with:
scope: '@ionic/vue-router'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/vue-router'
token: ${{ secrets.NPM_TOKEN }}

View File

@@ -21,185 +21,16 @@ on:
- v4-lts
jobs:
release-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/core'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'core'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/core
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-core
output: core/CoreBuild.zip
paths: core/dist core/components core/css core/hydrate core/loader core/src/components.d.ts
- name: Cache Built @ionic/docs
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-docs
output: docs/DocsBuild.zip
paths: docs/core.json docs/core.d.ts
release-docs:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/docs built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-docs
path: ./docs
filename: DocsBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/docs'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'docs'
token: ${{ secrets.NPM_TOKEN }}
release-angular:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/angular'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'angular'
folder: './dist'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/angular
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-angular
output: ./angular/AngularBuild.zip
paths: ./angular/dist
release-react:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/react'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/react'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/react
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-react
output: packages/react/ReactBuild.zip
paths: packages/react/dist packages/react/css
release-vue:
needs: [release-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/core built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/vue'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/vue'
token: ${{ secrets.NPM_TOKEN }}
- name: Cache Built @ionic/vue
uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-vue
output: packages/vue/VueBuild.zip
paths: packages/vue/dist packages/vue/css
release-angular-server:
needs: [release-angular]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/angular built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-angular
path: ./angular
filename: AngularBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/angular-server'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/angular-server'
folder: './dist'
token: ${{ secrets.NPM_TOKEN }}
release-react-router:
needs: [release-react]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/react built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-react
path: ./packages/react
filename: ReactBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/react-router'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/react-router'
token: ${{ secrets.NPM_TOKEN }}
release-vue-router:
needs: [release-vue]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Restore @ionic/vue built cache
uses: ./.github/workflows/actions/download-archive
with:
name: ionic-vue
path: ./packages/vue
filename: VueBuild.zip
- uses: ./.github/workflows/actions/release
with:
scope: '@ionic/vue-router'
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
working-directory: 'packages/vue-router'
token: ${{ secrets.NPM_TOKEN }}
release-ionic:
uses: ./.github/workflows/release-ionic.yml
with:
tag: ${{ inputs.tag }}
version: ${{ inputs.version }}
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
finalize-release:
needs: [release-react-router, release-angular-server, release-vue-router]
needs: [release-ionic]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -233,7 +64,7 @@ jobs:
shell: bash
purge-cdn-cache:
needs: [release-react-router, release-angular-server, release-vue-router]
needs: [release-ionic]
runs-on: ubuntu-latest
steps:
- name: Purge JSDelivr Cache

View File

@@ -3,6 +3,63 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.4.0](https://github.com/ionic-team/ionic-framework/compare/v6.3.10...v6.4.0) (2022-12-07)
### Features
* **modal:** data and role are passed to canDismiss ([#26384](https://github.com/ionic-team/ionic-framework/issues/26384)) ([1b30fc9](https://github.com/ionic-team/ionic-framework/commit/1b30fc97d33e761866b4bcf7518efcdeb753032d)), closes [#26292](https://github.com/ionic-team/ionic-framework/issues/26292)
* **toast:** add global config toastDuration ([#26425](https://github.com/ionic-team/ionic-framework/issues/26425)) ([a67a827](https://github.com/ionic-team/ionic-framework/commit/a67a827fedc8adf44a35c786f615871facca60fc))
* **toggle:** add toggleOnOffLabels global config option ([#26087](https://github.com/ionic-team/ionic-framework/issues/26087)) ([43e2b39](https://github.com/ionic-team/ionic-framework/commit/43e2b3975d003e29b8060e5f5484bfb3daf457a2))
## [6.3.10](https://github.com/ionic-team/ionic-framework/compare/v6.3.9...v6.3.10) (2022-12-07)
### Bug Fixes
* **datetime:** add flipRTL to monthAndYear dropdown icon ([#26378](https://github.com/ionic-team/ionic-framework/issues/26378)) ([13fe669](https://github.com/ionic-team/ionic-framework/commit/13fe669dc14eb4c9feda8ee956fec42b994b0f96))
* **datetime:** md highlight does not clip at start or end of month ([#26366](https://github.com/ionic-team/ionic-framework/issues/26366)) ([fcfbcdb](https://github.com/ionic-team/ionic-framework/commit/fcfbcdbc200b1354b9128a691fbd9b68d50d8668)), closes [#24891](https://github.com/ionic-team/ionic-framework/issues/24891)
* **segment:** scrolling button into view is more consistent ([#26369](https://github.com/ionic-team/ionic-framework/issues/26369)) ([a2d570b](https://github.com/ionic-team/ionic-framework/commit/a2d570b7ad8b799b072ba6eb79d8fe4c6dd77cf0)), closes [#26368](https://github.com/ionic-team/ionic-framework/issues/26368)
## [6.3.9](https://github.com/ionic-team/ionic-framework/compare/v6.3.8...v6.3.9) (2022-11-30)
### Bug Fixes
* **button:** fill can be set to undefined ([#26339](https://github.com/ionic-team/ionic-framework/issues/26339)) ([2fe23d9](https://github.com/ionic-team/ionic-framework/commit/2fe23d9d46c3593843c781c57340332e5a86fd64)), closes [#25886](https://github.com/ionic-team/ionic-framework/issues/25886)
* **input:** clear icon can be styled ([#26354](https://github.com/ionic-team/ionic-framework/issues/26354)) ([ccaff8d](https://github.com/ionic-team/ionic-framework/commit/ccaff8d0dc66f8adc9cde838c084629391e4200d)), closes [#19178](https://github.com/ionic-team/ionic-framework/issues/19178) [#17168](https://github.com/ionic-team/ionic-framework/issues/17168)
* **reorder:** items animate once in firefox ([#26326](https://github.com/ionic-team/ionic-framework/issues/26326)) ([7ae8117](https://github.com/ionic-team/ionic-framework/commit/7ae81172844659d7f4581956ce17e5324f73beef)), closes [#21182](https://github.com/ionic-team/ionic-framework/issues/21182)
* **segment:** segment in toolbar uses correct contrast ([#26353](https://github.com/ionic-team/ionic-framework/issues/26353)) ([5a243cc](https://github.com/ionic-team/ionic-framework/commit/5a243ccebc8e27bef6eb1ed2f797a0c1166199bf)), closes [#26350](https://github.com/ionic-team/ionic-framework/issues/26350)
## [6.3.8](https://github.com/ionic-team/ionic-framework/compare/v6.3.7...v6.3.8) (2022-11-22)
### Bug Fixes
* **modal:** status bar style defaults to app settings ([#26291](https://github.com/ionic-team/ionic-framework/issues/26291)) ([a6c9e55](https://github.com/ionic-team/ionic-framework/commit/a6c9e55adcaa963f4829d6963b9b1a7b246cef4e)), closes [#26173](https://github.com/ionic-team/ionic-framework/issues/26173)
* **normalize:** normalize css resets button padding ([#26214](https://github.com/ionic-team/ionic-framework/issues/26214)) ([e14c947](https://github.com/ionic-team/ionic-framework/commit/e14c94722c2c8ec145d680f911b708a34f095cd3)), closes [#23928](https://github.com/ionic-team/ionic-framework/issues/23928)
* **popover:** popover positions correctly on all frameworks ([#26306](https://github.com/ionic-team/ionic-framework/issues/26306)) ([be9a399](https://github.com/ionic-team/ionic-framework/commit/be9a399eeed37ae4a67add78ac1283ba0c5e4b14)), closes [#25337](https://github.com/ionic-team/ionic-framework/issues/25337)
* **react:** useIonRouter hook has stable router reference ([#25000](https://github.com/ionic-team/ionic-framework/issues/25000)) ([89e3cd6](https://github.com/ionic-team/ionic-framework/commit/89e3cd67ce6d9cfc0607d6a89362483878a1820b)), closes [#24987](https://github.com/ionic-team/ionic-framework/issues/24987)
* **reorder-group:** support custom components ([#26289](https://github.com/ionic-team/ionic-framework/issues/26289)) ([8425734](https://github.com/ionic-team/ionic-framework/commit/842573477b1b498f2280badc8c7411832c1650a5)), closes [#19447](https://github.com/ionic-team/ionic-framework/issues/19447)
* **segment:** scrollable segments center button on click ([#26285](https://github.com/ionic-team/ionic-framework/issues/26285)) ([73ea64c](https://github.com/ionic-team/ionic-framework/commit/73ea64c02fff1d63651f6c98f03b43265ba5227a)), closes [#25367](https://github.com/ionic-team/ionic-framework/issues/25367)
* **toggle:** rtl layout renders correctly in safari ([#26315](https://github.com/ionic-team/ionic-framework/issues/26315)) ([0932f89](https://github.com/ionic-team/ionic-framework/commit/0932f89f5db63a1e6149f2f45de798d7485d72ee))
## [6.3.7](https://github.com/ionic-team/ionic-framework/compare/v6.3.6...v6.3.7) (2022-11-16)

View File

@@ -3,6 +3,38 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.4.0](https://github.com/ionic-team/ionic/compare/v6.3.10...v6.4.0) (2022-12-07)
**Note:** Version bump only for package @ionic/angular
## [6.3.10](https://github.com/ionic-team/ionic/compare/v6.3.9...v6.3.10) (2022-12-07)
**Note:** Version bump only for package @ionic/angular
## [6.3.9](https://github.com/ionic-team/ionic/compare/v6.3.8...v6.3.9) (2022-11-30)
**Note:** Version bump only for package @ionic/angular
## [6.3.8](https://github.com/ionic-team/ionic/compare/v6.3.7...v6.3.8) (2022-11-22)
**Note:** Version bump only for package @ionic/angular
## [6.3.7](https://github.com/ionic-team/ionic/compare/v6.3.6...v6.3.7) (2022-11-16)

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/angular",
"version": "6.3.7",
"version": "6.4.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/angular",
"version": "6.3.7",
"version": "6.4.0",
"license": "MIT",
"dependencies": {
"@ionic/core": "^6.3.7",
"@ionic/core": "^6.4.0",
"ionicons": "^6.0.4",
"jsonc-parser": "^3.0.0",
"tslib": "^2.0.0"
@@ -1024,9 +1024,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "6.3.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz",
"integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==",
"version": "6.3.10",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.10.tgz",
"integrity": "sha512-Tf9MTWpchermpRLrECIzUXvQKMpv+fTecHXJJLx1uRtjV879ZH37CpDXKomwo+kRFtITCSrg6kAbCLzOubPsMQ==",
"dependencies": {
"@stencil/core": "^2.18.0",
"ionicons": "^6.0.4",
@@ -7940,9 +7940,9 @@
"dev": true
},
"@ionic/core": {
"version": "6.3.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz",
"integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==",
"version": "6.3.10",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.10.tgz",
"integrity": "sha512-Tf9MTWpchermpRLrECIzUXvQKMpv+fTecHXJJLx1uRtjV879ZH37CpDXKomwo+kRFtITCSrg6kAbCLzOubPsMQ==",
"requires": {
"@stencil/core": "^2.18.0",
"ionicons": "^6.0.4",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/angular",
"version": "6.3.7",
"version": "6.4.0",
"description": "Angular specific wrappers for @ionic/core",
"keywords": [
"ionic",
@@ -30,9 +30,9 @@
"build.ng": "ng-packagr -p package.json -c tsconfig.json",
"clean": "node scripts/clean.js",
"clean-generated": "node ./scripts/clean-generated.js",
"lint": "npm run eslint && npm run prettier -- --write",
"lint": "npm run eslint && npm run prettier -- --write --cache",
"lint.fix": "npm run eslint -- --fix",
"fmt": "npm run eslint -- --fix && npm run prettier -- --write",
"fmt": "npm run eslint -- --fix && npm run prettier -- --write --cache",
"prettier": "prettier \"**/*.ts\"",
"eslint": "eslint . --ext .ts",
"prerelease": "npm run validate && np prerelease --yolo --any-branch --tag next",
@@ -42,7 +42,7 @@
"validate": "npm i && npm run lint && npm run test && npm run build"
},
"dependencies": {
"@ionic/core": "^6.3.7",
"@ionic/core": "^6.4.0",
"ionicons": "^6.0.4",
"jsonc-parser": "^3.0.0",
"tslib": "^2.0.0"

View File

@@ -21,7 +21,6 @@
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^12.1.3",
"angular-in-memory-web-api": "^0.11.0",
"core-js": "^2.6.11",
"express": "^4.15.2",
"ionicons": "^6.0.4",
@@ -4503,16 +4502,6 @@
"ajv": "^6.9.1"
}
},
"node_modules/angular-in-memory-web-api": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.11.0.tgz",
"integrity": "sha512-QV1qYHm+Zd+wrvlcPLnAcqqGpOmCN1EUj4rRuYHpek8+QqFFdxBNuPZOJCKvU7I97z5QSKHsdc6PNKlpUQr3UA==",
"peerDependencies": {
"@angular/common": ">=8.0.0",
"@angular/core": ">=8.0.0",
"rxjs": "^6.0.0"
}
},
"node_modules/ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -23204,11 +23193,6 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"angular-in-memory-web-api": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.11.0.tgz",
"integrity": "sha512-QV1qYHm+Zd+wrvlcPLnAcqqGpOmCN1EUj4rRuYHpek8+QqFFdxBNuPZOJCKvU7I97z5QSKHsdc6PNKlpUQr3UA=="
},
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",

View File

@@ -32,7 +32,6 @@
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^12.1.3",
"angular-in-memory-web-api": "^0.11.0",
"core-js": "^2.6.11",
"express": "^4.15.2",
"ionicons": "^6.0.4",

View File

@@ -21,7 +21,6 @@
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^13.1.1",
"angular-in-memory-web-api": "^0.11.0",
"core-js": "^2.6.11",
"express": "^4.15.2",
"ionicons": "^6.0.4",
@@ -4766,16 +4765,6 @@
"ajv": "^6.9.1"
}
},
"node_modules/angular-in-memory-web-api": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.11.0.tgz",
"integrity": "sha512-QV1qYHm+Zd+wrvlcPLnAcqqGpOmCN1EUj4rRuYHpek8+QqFFdxBNuPZOJCKvU7I97z5QSKHsdc6PNKlpUQr3UA==",
"peerDependencies": {
"@angular/common": ">=8.0.0",
"@angular/core": ">=8.0.0",
"rxjs": "^6.0.0"
}
},
"node_modules/ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -19780,11 +19769,6 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"angular-in-memory-web-api": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.11.0.tgz",
"integrity": "sha512-QV1qYHm+Zd+wrvlcPLnAcqqGpOmCN1EUj4rRuYHpek8+QqFFdxBNuPZOJCKvU7I97z5QSKHsdc6PNKlpUQr3UA=="
},
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",

View File

@@ -32,7 +32,6 @@
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^13.1.1",
"angular-in-memory-web-api": "^0.11.0",
"core-js": "^2.6.11",
"express": "^4.15.2",
"ionicons": "^6.0.4",

View File

File diff suppressed because it is too large Load Diff

View File

@@ -31,7 +31,6 @@
"@angular/router": "^14.1.0",
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^14.0.3",
"angular-in-memory-web-api": "^0.11.0",
"core-js": "^2.6.11",
"express": "^4.15.2",

View File

File diff suppressed because it is too large Load Diff

View File

@@ -20,19 +20,18 @@
"test.watch": "concurrently \"npm run start\" \"wait-on http-get://localhost:4200 && npm run cy.open\" --kill-others --success first"
},
"dependencies": {
"@angular/animations": "^15.0.0-rc.1",
"@angular/common": "^15.0.0-rc.1",
"@angular/compiler": "^15.0.0-rc.1",
"@angular/core": "^15.0.0-rc.1",
"@angular/forms": "^15.0.0-rc.1",
"@angular/platform-browser": "^15.0.0-rc.1",
"@angular/platform-browser-dynamic": "^15.0.0-rc.1",
"@angular/platform-server": "^15.0.0-rc.1",
"@angular/router": "^15.0.0-rc.1",
"@angular/animations": "^15.0.0",
"@angular/common": "^15.0.0",
"@angular/compiler": "^15.0.0",
"@angular/core": "^15.0.0",
"@angular/forms": "^15.0.0",
"@angular/platform-browser": "^15.0.0",
"@angular/platform-browser-dynamic": "^15.0.0",
"@angular/platform-server": "^15.0.0",
"@angular/router": "^15.0.0",
"@ionic/angular": "^6.1.15",
"@ionic/angular-server": "^6.1.15",
"@nguniversal/express-engine": "^14.0.3",
"angular-in-memory-web-api": "^0.11.0",
"@nguniversal/express-engine": "^15.0.0",
"core-js": "^2.6.11",
"express": "^4.15.2",
"ionicons": "^6.0.4",
@@ -42,15 +41,15 @@
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^15.0.0-rc.1",
"@angular-eslint/builder": "^14.0.2",
"@angular-eslint/eslint-plugin": "^14.0.2",
"@angular-eslint/eslint-plugin-template": "^14.0.2",
"@angular-eslint/schematics": "^14.0.2",
"@angular-eslint/template-parser": "^14.0.2",
"@angular/cli": "^15.0.0-rc.1",
"@angular/compiler-cli": "^15.0.0-rc.1",
"@angular/language-service": "^15.0.0-rc.1",
"@angular-devkit/build-angular": "^15.0.0",
"@angular-eslint/builder": "^15.0.0-alpha.0",
"@angular-eslint/eslint-plugin": "^15.0.0-alpha.0",
"@angular-eslint/eslint-plugin-template": "^15.0.0-alpha.0",
"@angular-eslint/schematics": "^15.0.0-alpha.0",
"@angular-eslint/template-parser": "^15.0.0-alpha.0",
"@angular/cli": "^15.0.0",
"@angular/compiler-cli": "^15.0.0",
"@angular/language-service": "^15.0.0",
"@nguniversal/builders": "^15.0.0-next.0",
"@types/express": "^4.17.7",
"@types/node": "^12.12.54",

View File

@@ -3,6 +3,72 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.4.0](https://github.com/ionic-team/ionic/compare/v6.3.10...v6.4.0) (2022-12-07)
### Features
* **modal:** data and role are passed to canDismiss ([#26384](https://github.com/ionic-team/ionic/issues/26384)) ([1b30fc9](https://github.com/ionic-team/ionic/commit/1b30fc97d33e761866b4bcf7518efcdeb753032d)), closes [#26292](https://github.com/ionic-team/ionic/issues/26292)
* **toast:** add global config toastDuration ([#26425](https://github.com/ionic-team/ionic/issues/26425)) ([a67a827](https://github.com/ionic-team/ionic/commit/a67a827fedc8adf44a35c786f615871facca60fc))
* **toggle:** add toggleOnOffLabels global config option ([#26087](https://github.com/ionic-team/ionic/issues/26087)) ([43e2b39](https://github.com/ionic-team/ionic/commit/43e2b3975d003e29b8060e5f5484bfb3daf457a2))
## [6.3.10](https://github.com/ionic-team/ionic/compare/v6.3.9...v6.3.10) (2022-12-07)
### Bug Fixes
* **datetime:** add flipRTL to monthAndYear dropdown icon ([#26378](https://github.com/ionic-team/ionic/issues/26378)) ([13fe669](https://github.com/ionic-team/ionic/commit/13fe669dc14eb4c9feda8ee956fec42b994b0f96))
* **datetime:** md highlight does not clip at start or end of month ([#26366](https://github.com/ionic-team/ionic/issues/26366)) ([fcfbcdb](https://github.com/ionic-team/ionic/commit/fcfbcdbc200b1354b9128a691fbd9b68d50d8668)), closes [#24891](https://github.com/ionic-team/ionic/issues/24891)
* **segment:** scrolling button into view is more consistent ([#26369](https://github.com/ionic-team/ionic/issues/26369)) ([a2d570b](https://github.com/ionic-team/ionic/commit/a2d570b7ad8b799b072ba6eb79d8fe4c6dd77cf0)), closes [#26368](https://github.com/ionic-team/ionic/issues/26368)
### Features
* **toast:** add global config toastDuration ([#26401](https://github.com/ionic-team/ionic/issues/26401)) ([e375e9a](https://github.com/ionic-team/ionic/commit/e375e9a1e7d30c481772e84c0ae34f39a019aad3))
### Reverts
* Revert "feat(toast): add global config toastDuration (#26401)" (#26424) ([b6c0019](https://github.com/ionic-team/ionic/commit/b6c001935b4e51a04aa94b0bd6d849e783c8f607)), closes [#26401](https://github.com/ionic-team/ionic/issues/26401) [#26424](https://github.com/ionic-team/ionic/issues/26424)
## [6.3.9](https://github.com/ionic-team/ionic/compare/v6.3.8...v6.3.9) (2022-11-30)
### Bug Fixes
* **button:** fill can be set to undefined ([#26339](https://github.com/ionic-team/ionic/issues/26339)) ([2fe23d9](https://github.com/ionic-team/ionic/commit/2fe23d9d46c3593843c781c57340332e5a86fd64)), closes [#25886](https://github.com/ionic-team/ionic/issues/25886)
* **input:** clear icon can be styled ([#26354](https://github.com/ionic-team/ionic/issues/26354)) ([ccaff8d](https://github.com/ionic-team/ionic/commit/ccaff8d0dc66f8adc9cde838c084629391e4200d)), closes [#19178](https://github.com/ionic-team/ionic/issues/19178) [#17168](https://github.com/ionic-team/ionic/issues/17168)
* **reorder:** items animate once in firefox ([#26326](https://github.com/ionic-team/ionic/issues/26326)) ([7ae8117](https://github.com/ionic-team/ionic/commit/7ae81172844659d7f4581956ce17e5324f73beef)), closes [#21182](https://github.com/ionic-team/ionic/issues/21182)
* **segment:** segment in toolbar uses correct contrast ([#26353](https://github.com/ionic-team/ionic/issues/26353)) ([5a243cc](https://github.com/ionic-team/ionic/commit/5a243ccebc8e27bef6eb1ed2f797a0c1166199bf)), closes [#26350](https://github.com/ionic-team/ionic/issues/26350)
## [6.3.8](https://github.com/ionic-team/ionic/compare/v6.3.7...v6.3.8) (2022-11-22)
### Bug Fixes
* **modal:** status bar style defaults to app settings ([#26291](https://github.com/ionic-team/ionic/issues/26291)) ([a6c9e55](https://github.com/ionic-team/ionic/commit/a6c9e55adcaa963f4829d6963b9b1a7b246cef4e)), closes [#26173](https://github.com/ionic-team/ionic/issues/26173)
* **normalize:** normalize css resets button padding ([#26214](https://github.com/ionic-team/ionic/issues/26214)) ([e14c947](https://github.com/ionic-team/ionic/commit/e14c94722c2c8ec145d680f911b708a34f095cd3)), closes [#23928](https://github.com/ionic-team/ionic/issues/23928)
* **popover:** popover positions correctly on all frameworks ([#26306](https://github.com/ionic-team/ionic/issues/26306)) ([be9a399](https://github.com/ionic-team/ionic/commit/be9a399eeed37ae4a67add78ac1283ba0c5e4b14)), closes [#25337](https://github.com/ionic-team/ionic/issues/25337)
* **reorder-group:** support custom components ([#26289](https://github.com/ionic-team/ionic/issues/26289)) ([8425734](https://github.com/ionic-team/ionic/commit/842573477b1b498f2280badc8c7411832c1650a5)), closes [#19447](https://github.com/ionic-team/ionic/issues/19447)
* **segment:** scrollable segments center button on click ([#26285](https://github.com/ionic-team/ionic/issues/26285)) ([73ea64c](https://github.com/ionic-team/ionic/commit/73ea64c02fff1d63651f6c98f03b43265ba5227a)), closes [#25367](https://github.com/ionic-team/ionic/issues/25367)
* **toggle:** rtl layout renders correctly in safari ([#26315](https://github.com/ionic-team/ionic/issues/26315)) ([0932f89](https://github.com/ionic-team/ionic/commit/0932f89f5db63a1e6149f2f45de798d7485d72ee))
## [6.3.7](https://github.com/ionic-team/ionic/compare/v6.3.6...v6.3.7) (2022-11-16)

View File

@@ -780,7 +780,7 @@ ion-modal,prop,animated,boolean,true,false,false
ion-modal,prop,backdropBreakpoint,number,0,false,false
ion-modal,prop,backdropDismiss,boolean,true,false,false
ion-modal,prop,breakpoints,number[] | undefined,undefined,false,false
ion-modal,prop,canDismiss,(() => Promise<boolean>) | boolean | undefined,undefined,false,false
ion-modal,prop,canDismiss,((data?: any, role?: string | undefined) => Promise<boolean>) | boolean | undefined,undefined,false,false
ion-modal,prop,enterAnimation,((baseEl: any, opts?: any) => Animation) | undefined,undefined,false,false
ion-modal,prop,handle,boolean | undefined,undefined,false,false
ion-modal,prop,handleBehavior,"cycle" | "none" | undefined,'none',false,false
@@ -1382,7 +1382,7 @@ ion-toast,prop,animated,boolean,true,false,false
ion-toast,prop,buttons,(string | ToastButton)[] | undefined,undefined,false,false
ion-toast,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record<never, never> | undefined,undefined,false,true
ion-toast,prop,cssClass,string | string[] | undefined,undefined,false,false
ion-toast,prop,duration,number,0,false,false
ion-toast,prop,duration,number,config.getNumber('toastDuration', 0),false,false
ion-toast,prop,enterAnimation,((baseEl: any, opts?: any) => Animation) | undefined,undefined,false,false
ion-toast,prop,header,string | undefined,undefined,false,false
ion-toast,prop,htmlAttributes,undefined | { [key: string]: any; },undefined,false,false
@@ -1428,7 +1428,7 @@ ion-toggle,shadow
ion-toggle,prop,checked,boolean,false,false,false
ion-toggle,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record<never, never> | undefined,undefined,false,true
ion-toggle,prop,disabled,boolean,false,false,false
ion-toggle,prop,enableOnOffLabels,boolean | undefined,undefined,false,false
ion-toggle,prop,enableOnOffLabels,boolean | undefined,config.get('toggleOnOffLabels'),false,false
ion-toggle,prop,mode,"ios" | "md",undefined,false,false
ion-toggle,prop,name,string,this.inputId,false,false
ion-toggle,prop,value,null | string | undefined,'on',false,false

13667
core/package-lock.json generated
View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "6.3.7",
"version": "6.4.0",
"description": "Base components for Ionic",
"keywords": [
"ionic",
@@ -46,7 +46,7 @@
"@rollup/plugin-virtual": "^2.0.3",
"@stencil/angular-output-target": "^0.4.0",
"@stencil/react-output-target": "^0.2.1",
"@stencil/sass": "^1.5.2",
"@stencil/sass": "^2.0.0",
"@stencil/vue-output-target": "^0.6.2",
"@types/jest": "^27.5.2",
"@types/node": "^14.6.0",
@@ -61,8 +61,8 @@
"eslint-plugin-custom-rules": "file:custom-rules",
"execa": "^5.0.0",
"fs-extra": "^9.0.1",
"jest": "^26.4.1",
"jest-cli": "^26.4.1",
"jest": "^27.5.1",
"jest-cli": "^27.5.1",
"pixelmatch": "4.0.2",
"prettier": "^2.6.1",
"puppeteer": "^10.4.0",
@@ -84,8 +84,8 @@
"css.minify": "cleancss -O2 -o ./css/ionic.bundle.css ./css/ionic.bundle.css",
"css.sass": "sass --embed-sources src/css:./css",
"eslint": "eslint src",
"lint": "npm run lint.ts && npm run lint.sass && npm run prettier -- --write",
"lint.fix": "npm run lint.ts.fix && npm run lint.sass.fix && npm run prettier -- --write",
"lint": "npm run lint.ts && npm run lint.sass && npm run prettier -- --write --cache",
"lint.fix": "npm run lint.ts.fix && npm run lint.sass.fix && npm run prettier -- --write --cache",
"lint.sass": "stylelint \"src/**/*.scss\"",
"lint.sass.fix": "npm run lint.sass -- --fix",
"lint.ts": "npm run eslint",

View File

@@ -81,14 +81,7 @@ const config: PlaywrightTestConfig = {
* Maximum time expect() should wait for the condition to be met.
* For example in `await expect(locator).toHaveText();`
*/
timeout: 5000,
toMatchSnapshot: {
/**
* Increases the maximum allowed pixel difference to account
* for slight browser rendering inconsistencies.
*/
maxDiffPixelRatio: 0.01
}
timeout: 5000
},
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,

View File

@@ -14,7 +14,7 @@ import { PickerInternalChangeEventDetail } from "./components/picker-internal/pi
import { PinFormatter } from "./components/range/range-interface";
import { NavigationHookCallback } from "./components/route/route-interface";
import { SelectCompareFn } from "./components/select/select-interface";
import { ToastAttributes } from "./components/toast/toast-interface";
import { ToastAttributes, ToastPosition } from "./components/toast/toast-interface";
export namespace Components {
interface IonAccordion {
/**
@@ -1560,7 +1560,7 @@ export namespace Components {
/**
* Determines whether or not a modal can dismiss when calling the `dismiss` method. If the value is `true` or the value's function returns `true`, the modal will close when trying to dismiss. If the value is `false` or the value's function returns `false`, the modal will not close when trying to dismiss.
*/
"canDismiss"?: undefined | boolean | (() => Promise<boolean>);
"canDismiss"?: undefined | boolean | ((data?: any, role?: string) => Promise<boolean>);
/**
* The component to display inside of the modal.
*/
@@ -2998,7 +2998,7 @@ export namespace Components {
/**
* The position of the toast on the screen.
*/
"position": 'top' | 'bottom' | 'middle';
"position": ToastPosition;
/**
* Present the toast overlay after it has been created.
*/
@@ -5548,7 +5548,7 @@ declare namespace LocalJSX {
/**
* Determines whether or not a modal can dismiss when calling the `dismiss` method. If the value is `true` or the value's function returns `true`, the modal will close when trying to dismiss. If the value is `false` or the value's function returns `false`, the modal will not close when trying to dismiss.
*/
"canDismiss"?: undefined | boolean | (() => Promise<boolean>);
"canDismiss"?: undefined | boolean | ((data?: any, role?: string) => Promise<boolean>);
/**
* The component to display inside of the modal.
*/
@@ -7007,7 +7007,7 @@ declare namespace LocalJSX {
/**
* The position of the toast on the screen.
*/
"position"?: 'top' | 'bottom' | 'middle';
"position"?: ToastPosition;
/**
* If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
*/

View File

@@ -0,0 +1,56 @@
import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
test.describe('accordion: states', () => {
test.beforeEach(({ skip }) => {
skip.rtl();
skip.mode('ios');
});
test('should properly set readonly on child accordions', async ({ page }) => {
await page.setContent(`
<ion-accordion-group animated="false">
<ion-accordion>
<ion-item slot="header">Label</ion-item>
<div slot="content">Content</div>
</ion-accordion>
</ion-accordion-group>
`);
const accordionGroup = page.locator('ion-accordion-group');
const accordion = page.locator('ion-accordion');
expect(accordion).toHaveJSProperty('readonly', false);
await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => {
el.readonly = true;
});
await page.waitForChanges();
expect(accordion).toHaveJSProperty('readonly', true);
});
test('should properly set disabled on child accordions', async ({ page }) => {
await page.setContent(`
<ion-accordion-group animated="false">
<ion-accordion>
<ion-item slot="header">Label</ion-item>
<div slot="content">Content</div>
</ion-accordion>
</ion-accordion-group>
`);
const accordionGroup = page.locator('ion-accordion-group');
const accordion = page.locator('ion-accordion');
expect(accordion).toHaveJSProperty('disabled', false);
await accordionGroup.evaluate((el: HTMLIonAccordionGroupElement) => {
el.disabled = true;
});
await page.waitForChanges();
expect(accordion).toHaveJSProperty('disabled', true);
});
});

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

@@ -1,55 +0,0 @@
import { newE2EPage } from '@stencil/core/testing';
test('should properly set readonly on child accordions', async () => {
const page = await newE2EPage({
html: `
<ion-accordion-group animated="false">
<ion-accordion>
<ion-item slot="header">Label</ion-item>
<div slot="content">Content</div>
</ion-accordion>
</ion-accordion-group>
`,
});
const accordion = await page.find('ion-accordion');
const value = await accordion.getProperty('readonly');
expect(value).toBe(false);
await page.$eval('ion-accordion-group', (el: HTMLIonAccordionGroupElement) => {
el.readonly = true;
});
await page.waitForChanges();
const valueAgain = await accordion.getProperty('readonly');
expect(valueAgain).toBe(true);
});
test('should properly set disabled on child accordions', async () => {
const page = await newE2EPage({
html: `
<ion-accordion-group animated="false">
<ion-accordion>
<ion-item slot="header">Label</ion-item>
<div slot="content">Content</div>
</ion-accordion>
</ion-accordion-group>
`,
});
const accordion = await page.find('ion-accordion');
const value = await accordion.getProperty('disabled');
expect(value).toBe(false);
await page.$eval('ion-accordion-group', (el: HTMLIonAccordionGroupElement) => {
el.disabled = true;
});
await page.waitForChanges();
const valueAgain = await accordion.getProperty('disabled');
expect(valueAgain).toBe(true);
});

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 207 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 158 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 158 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 248 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 227 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 227 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 197 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 KiB

After

Width:  |  Height:  |  Size: 450 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 KiB

After

Width:  |  Height:  |  Size: 450 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 244 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 243 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 KiB

After

Width:  |  Height:  |  Size: 243 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 243 KiB

View File

@@ -272,7 +272,11 @@ export class Button implements ComponentInterface, AnchorInterface, ButtonInterf
target,
};
let fill = this.fill;
if (fill === undefined) {
/**
* We check both undefined and null to
* work around https://github.com/ionic-team/stencil/issues/3586.
*/
if (fill == null) {
fill = this.inToolbar || this.inListHeader ? 'clear' : 'solid';
}
return (

View File

@@ -9,6 +9,25 @@ test.describe('button: basic', () => {
expect(await page.screenshot()).toMatchSnapshot(`button-diff-${page.getSnapshotSettings()}.png`);
});
test('should correctly set fill to undefined', async ({ page, skip }) => {
test.info().annotations.push({
type: 'issue',
description: 'https://github.com/ionic-team/ionic-framework/issues/25886',
});
skip.rtl();
skip.mode('ios', 'This behavior does not differ across modes');
await page.setContent(`
<ion-button fill="outline"></ion-button>
`);
const button = page.locator('ion-button');
await expect(button).toHaveClass(/button-outline/);
await button.evaluate((el: HTMLIonButtonElement) => (el.fill = undefined));
await page.waitForChanges();
await expect(button).toHaveClass(/button-solid/);
});
});
test.describe('button: ripple effect', () => {

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 275 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 276 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 352 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 KiB

After

Width:  |  Height:  |  Size: 351 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 KiB

After

Width:  |  Height:  |  Size: 344 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 343 KiB

View File

@@ -17,7 +17,9 @@ test.describe('datetime-button: rendering', () => {
await dateButton.click();
await ionModalDidPresent.next();
expect(await page.screenshot()).toMatchSnapshot(`datetime-overlay-modal-${page.getSnapshotSettings()}.png`);
expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot(
`datetime-overlay-modal-${page.getSnapshotSettings()}.png`
);
});
test('should size the popover correctly', async ({ page }) => {
@@ -33,7 +35,9 @@ test.describe('datetime-button: rendering', () => {
await dateButton.click();
await ionPopoverDidPresent.next();
expect(await page.screenshot()).toMatchSnapshot(`datetime-overlay-popover-${page.getSnapshotSettings()}.png`);
expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot(
`datetime-overlay-popover-${page.getSnapshotSettings()}.png`
);
});
});

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Some files were not shown because too many files have changed in this diff Show More