Commit Graph

2969 Commits

Author SHA1 Message Date
Liam DeBeasi
bbdb0ca480 fix(item): ios active state has correct contrast (#27134)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
Issue URL: resolves
https://github.com/ionic-team/ionic-framework/issues/27130

The active/focus background colors on ion-item for iOS are always #000.
This allows for the correct contrast on light mode. This is a problem on
dark mode because the item background color defaults to #000 as well.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Updates the default active/focus colors to be the text color. This
ensures that the active/focus colors are always the opposite of what the
default item background color is.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

Note: We are updating the default values of CSS Variables, but our
implementation of the spec is wrong and creates color contrast issues.

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-04-10 19:33:09 +00:00
Liam DeBeasi
b81b0d1425 fix(menu): refs are not destroyed on unmount (#27141)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
Issue URL: resolves
https://github.com/ionic-team/ionic-framework/issues/24907

`ion-menu` currently clears the `menuInnerEl` and `backdropEl` refs
created by Stencil when `disconnectedCallback` is fired. If the
`ion-menu` component is re-mounted but _not_ re-rendered, those refs
will still be `undefined` when the `open` method is called, resulting in
the linked issue. Note that if the `ion-menu` re-renders before `open`
is called then this issue does not reproduce.

This clearing behavior was added ~6 years ago before we utilized Stencil
refs:
687b37ad3e/packages/core/src/components/menu/menu.tsx (L136-L137)

During this time we had to manually create and clear the element
references.

Several years later we moved to using Stencil refs, but we did not
remove the logic that clears the refs:
d83d8eed12

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Menu no longer sets `menuInnerEl` and `backdropEl` to `undefined` in
`disconnectedCallback`.
- The `close` method is called so that the state is reset prior to the
menu being re-added. I observed that without this, the animation to
re-present a menu did not work correctly.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-10 18:40:54 +00:00
Liam DeBeasi
f9deb1db41 test(radio): skip legacy flaky test (#27153)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
I forgot to skip the legacy radio test in
https://github.com/ionic-team/ionic-framework/pull/27126.

I also discovered we had duplicate flaky radio keyboard test tech debt
tickets.


https://github.com/ionic-team/ionic-framework/actions/runs/4658963827/jobs/8245309480?pr=27125

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- skipped legacy radio test
- closed FW-3956 in favor of FW-3747

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-10 18:27:00 +00:00
Sean Perkins
aba8b44f91 docs(input,searchbar): setFocus usage within overlays (#27142)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The `setFocus` method does not mention extra implementation details
required when working within an overlay.

<!-- Issues are required for both bug fixes and features. -->
Issue URL: N/A


## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Adds additional detail about how to use `setFocus()` when inside an
overlay
- Aligns the `ion-searchbar` documentation to match the `ion-input`
documentation

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-10 18:13:26 +00:00
Liam DeBeasi
23d9e9ed1d test(radio): skip flaky test (#27126)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
Similar to the other keyboard tests, this one is flaky on CI:
https://github.com/ionic-team/ionic-framework/actions/runs/4620380152/jobs/8170437661


## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Skipped flaky test and added tech debt ticket

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-05 16:52:31 +00:00
Liam DeBeasi
8c8908c49d test(many): use web-first assertions (#27113)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
Issue URL: N/A

Playwright recommends using Locators with web-first assertions instead
of using `waitForSelector`:
https://playwright.dev/docs/api/class-frame#frame-wait-for-selector


## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Removes waitForSelector usages for checking if components are visible
in favor of the `toBeVisible` or `toBeHidden` assertions.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-05 12:47:18 +00:00
Maria Hutt
d925237082 fix(item-divider): removal of unneeded margin unset (#27042)
## Pull request checklist

Please check if your PR fulfills the following requirements:
- [ ] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been reviewed and added / updated if needed (for bug
fixes / features)
- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See the [contributing
guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation)
for details.
- [x] Build (`npm run build`) was run locally and any changes were
pushed
- [x] Lint (`npm run lint`) has passed locally and any fixes were made
for failures


## Pull request type

Please check the type of change your PR introduces:
- [x] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other (please describe): 


## What is the current behavior?

End slots are lacking margin of 2px when in RTL.

Issue URL: Part of #17012  


## What is the new behavior?

- Simplifying `property-horizontal` by removing any margin unset

End slots with buttons will have a margin-end of 2px regardless of
direction.

### Screenshots

![Screen Shot 2023-03-24 at 13 48
25](https://user-images.githubusercontent.com/13530427/227642440-acf0f2c2-37c7-43da-bad4-67ef1b31b3ac.png)
![Screen Shot 2023-03-24 at 13 48
17](https://user-images.githubusercontent.com/13530427/227642445-79cf2986-c0b5-45d1-ba38-1beda698c2d5.png)


## Does this introduce a breaking change?

- [ ] Yes
- [x] No



## Other information

- Continuation of ionic-team/ionic-framework#27024 in order to apply it
to Framework v7

---------

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
2023-04-04 21:11:51 +00:00
Liam DeBeasi
15decdd0de test(popover): skip flaky screenshot test (#27115)
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->


<!-- Issues are required for both bug fixes and features. -->
Popover test is still flaky:
https://github.com/ionic-team/ionic-framework/actions/runs/4611219177/jobs/8150680142

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Re-open tech debt ticket and skip test

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-04-04 19:44:28 +00:00
Maria Hutt
a35886e71c fix(menu): update location when dynamically changing side or doc dir (#27079)
## Pull request checklist

Please check if your PR fulfills the following requirements:
- [x] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been reviewed and added / updated if needed (for bug
fixes / features)
- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See the [contributing
guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation)
for details.
- [x] Build (`npm run build`) was run locally and any changes were
pushed
- [x] Lint (`npm run lint`) has passed locally and any fixes were made
for failures


## Pull request type

Please check the type of change your PR introduces:
- [x] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other (please describe): 


## What is the current behavior?

- When the document direction is dynamically changed, the menu does not
switch to the correct position. For example, `<ion-menu side='start'>`
will always be on the left side regardless of direction.
- When the side property is dynamically changed, the animation starts in
the middle of the screen instead of off screen.

Issue URL: resolves #25601 #19489 


## What is the new behavior?

- Animation is smooth regardless of side property or document direction
being dynamically change.
- Menu appears on the correct side based on document direction when
dynamically updated.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

## Other information

N/A

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-04-04 19:03:13 +00:00
Brandy Carney
4e7424de03 fix(picker-column-internal): hide empty picker items from screenreaders (#27038)
* fix(picker-column): hide empty picker items from screenreaders

fixes #26809

* style(picker-column-internal): run lint

---------

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-04-04 17:49:53 +00:00
Shawn Taylor
adbb50ca5b fix(refresher): set overflow styles when using custom scroll target (#27058)
* bug(refresher): set overflow styles when using custom scroll target

* bug(refresher): set overflow styles when using custom scroll target

* Apply suggestions from code review

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>

* Add comment

---------

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-04-04 16:04:50 +00:00
Maria Hutt
f8667830dc test(breadcrumbs): check color attribute renders in the DOM (#27080)
Co-authored-by: liamdebeasi <liamdebeasi@users.noreply.github.com>
2023-04-03 11:35:14 -07:00
Maria Hutt
d939ad36e3 test(textarea): skip autogrow test due to flakiness (#27100) 2023-04-03 09:38:56 -07:00
Shawn Taylor
426913d0de fix(item-divider): set padding-end for md (#27019)
closes #23785
2023-03-31 17:00:12 -04:00
Amanda Johnston
75186d3f83 docs(content): fix typo in forceOverscroll description (#27077) 2023-03-31 10:17:36 -05:00
Sean Perkins
141ced5010 fix(breadcrumbs): color attribute shows on DOM for Vue (#27068)
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
2023-03-30 17:11:22 -04:00
Sean Perkins
abadeedc9e Revert "bug(breadcrumbs): color attribute shows on DOM for Vue (#27040)" (#27069)
This reverts commit dd419c0066.

Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
2023-03-30 13:50:34 -04:00
Maria Hutt
dd419c0066 bug(breadcrumbs): color attribute shows on DOM for Vue (#27040)
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-03-30 09:57:02 -07:00
ionitron
8ff83b8098 chore(): add updated snapshots 2023-03-29 13:40:26 +00:00
Liam DeBeasi
f750c8756f chore(): sync with main 2023-03-29 09:17:21 -04:00
Sean Perkins
ee19891542 fix(select): update iOS icon (#27001) 2023-03-28 16:49:14 -04:00
Liam DeBeasi
521063bf24 fix(item-sliding): open method works with items added async (#27035)
resolves #26991
2023-03-28 12:53:36 -04:00
Liam DeBeasi
408457aa95 fix(select): alert header defaults to label (#27034)
resolves #27028
2023-03-28 11:09:42 -04:00
Amanda Johnston
0a04310f11 test(popover): re-enable size test (#27033) 2023-03-28 09:20:28 -05:00
Liam DeBeasi
5c0ead37bf docs(config): update innerHTML comments (#27032) 2023-03-27 15:14:02 -04:00
Liam DeBeasi
b7e46038e0 fix(many): innerHTML is disabled by default (#27029)
BREAKING CHANGE:

The `innerHTMLTemplatesEnabled` Ionic Config now defaults to `false`. Developers can set this option to `true` if they would like to continue to use custom HTML features in `ion-alert`, `ion-infinite-scroll-content`, `ion-loading`, `ion-refresher-content`, and `ion-toast`.
2023-03-27 12:07:00 -04:00
Liam DeBeasi
f68644065c test(datetime): display tests wait for class (#27017) 2023-03-27 09:47:28 -04:00
Maria Hutt
a396e8857b refactor(alert): switch ev.code to ev.key (#27023) 2023-03-24 13:31:30 -07:00
Liam DeBeasi
e9208eae53 chore(): update textarea test 2023-03-24 16:22:30 -04:00
ionitron
8b1a41646e chore(): add updated snapshots 2023-03-24 19:59:09 +00:00
Maria Hutt
1ea0893643 refactor(radio-group): switch ev.code to ev.key (#27021)
Co-authored-by: Sean Perkins <sean@ionic.io>
2023-03-24 12:43:04 -07:00
Liam DeBeasi
317f4eefec test(select): update wrapping tests for v7 2023-03-24 19:37:27 +00:00
Liam DeBeasi
4349f1c2c8 test(datetime): update timezone test for v7 2023-03-24 19:13:12 +00:00
ionitron
83537bc5cf chore(): add updated snapshots 2023-03-24 18:59:37 +00:00
Liam DeBeasi
eb10a2e5f6 chore(): sync with main 2023-03-24 14:37:39 -04:00
Maria Hutt
6cecdf4145 fix(item): use thumbnail's size when present (#27014)
resolves #22935

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: liamdebeasi <liamdebeasi@users.noreply.github.com>
2023-03-24 11:32:14 -07:00
Liam DeBeasi
3b99c31bab fix(radio-group): radios participate in form submission (#27018)
resolves #27016
2023-03-24 12:43:30 -04:00
Shawn Taylor
739f5706db test(datetime): add tests for parseDate (#27015) 2023-03-24 11:57:55 -04:00
Brandy Carney
19c1e25399 fix(select): inherit white-space in select-text to allow text wrapping (#26973)
fixes #19949

Co-authored-by: Shreyas <telishreyas10@gmail.com>
2023-03-24 10:53:25 -04:00
Liam DeBeasi
e23fd9ecee fix(fab, tab-button): rtl alignment in safari and firefox (#26986)
resolves #22739
2023-03-23 17:17:09 -04:00
Liam DeBeasi
3e0a905e81 fix(segment): change event fires when clicking (#27010)
resolves #27002
2023-03-23 16:18:43 -04:00
dependabot[bot]
53af005122 chore(deps-dev): bump @playwright/test from 1.31.2 to 1.32.0 in /core (#27003) 2023-03-23 12:44:59 -04:00
Liam DeBeasi
cac3ad4c84 Merge remote-tracking branch 'origin/main' into sync-67-23 2023-03-23 09:17:19 -04:00
Sean Perkins
26a7e86338 test(ripple-effect): reduce flakiness (#26985) 2023-03-22 15:37:00 -04:00
Liam DeBeasi
3b0af7c55d feat(config): add option to disable custom html functionality (#26956) 2023-03-22 13:59:59 -04:00
Liam DeBeasi
8860a11de7 chore(): sync with main 2023-03-17 17:26:39 -04:00
Liam DeBeasi
88bd8a47c5 fix(menu): main content is not scrollable while swiping (#26976)
resolves #21193
2023-03-17 16:50:58 -04:00
Liam DeBeasi
118b6ba25f test(radio): skip flaky test (#26972) 2023-03-15 14:04:22 -04:00
Liam DeBeasi
92c1da571d chore(): sync with main 2023-03-15 10:03:38 -04:00
Brandy Carney
1eb9a085b2 fix(react/vue): properly switch ionicon based on the mode when ios/md is set (#26924)
closes #26207
2023-03-14 15:03:28 -04:00