Commit Graph

70 Commits

Author SHA1 Message Date
Liam DeBeasi
15e368c378 feat(theme): improved color contrast with color palette (#28791)
Issue number: Internal

---------

<!-- 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 team would like to ensure that Ionic Framework components that use
an Ionic color (primary, secondary, etc) on top of a contrast color pass
minimum contrast ratios as defined in the WCAG.

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

- Introduces a revised set of Ionic colors that pass AA color contrast
guidelines when with the appropriate contrast.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!--
  If this introduces a breaking change:
1. Describe the impact and migration path for existing applications
below.
  2. Update the BREAKING.md file with the breaking change.
3. Add "BREAKING CHANGE: [...]" to the commit description when merging.
See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer
for more information.
-->


## 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: Sean Perkins <13732623+sean-perkins@users.noreply.github.com>
Co-authored-by: Brandy Carney <brandy@ionic.io>
Co-authored-by: Sean Perkins <sean@ionic.io>
Co-authored-by: Shawn Taylor <shawn@ionic.io>
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
2024-01-08 15:30:35 -05:00
Sean Perkins
5c2a73b262 chore(playwright): dark mode support (#28593)
Issue number: N/A

---------

<!-- 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. -->

Testing dark mode is manual per test in Playwright. Ionic developer
needs to setup the variables and assign them to a selector that applies
in the class.

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

- The `.setContent` API will now work with a new config option to test
dark mode automatically without additional configuration/test set-up.
- Default theme is no theme (fallback theme)
- Screenshot names and test titles remain the same for all existing
tests. Only tests that opt into a theme will be pre-pended with `-dark`
or `-light` (as an example for current themes).

## 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-11-29 20:48:16 +00:00
Liam DeBeasi
f8067819ee feat(a11y): add dynamic font scaling (#28314)
Issue number: resolves #24638, resolves #18592

---------

<!-- 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. -->

Developers have requested that Ionic Framework support the dynamic type
feature on iOS for accessibility purposes. Ionic applications do not
respond to font scaling on iOS which can create inaccessible
applications particularly for users with low vision. Ionic apps on
Android devices currently support the Android equivalent due to
functionality in the Chromium webview.

Developers have also requested a way of adjusting the fonts in their
Ionic UI components consistently.

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

- Ionic components now use `rem` instead of `px` where appropriate. This
means devs can change the font size on `html` and the text in supported
Ionic components will scale up/down appropriately
- Add support for Dynamic Type on iOS (the iOS version of Dynamic Font
Scaling)

## 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. -->

---------

Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
Co-authored-by: Shawn Taylor <shawn@ionic.io>
Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Sean Perkins <sean@ionic.io>
Co-authored-by: Sean Perkins <13732623+sean-perkins@users.noreply.github.com>
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
2023-10-10 17:38:09 -04:00
Liam DeBeasi
bd4027b0fa refactor(config): remove stencil extras (#26461)
BREAKING CHANGE:

The supported version of Firefox for Ionic v7 has changed to Firefox v70+
2022-12-15 17:27:28 -05:00
Liam DeBeasi
af2e9b79e9 refactor(test): remove puppeteer, use playwright (#26426) 2022-12-07 15:50:59 -05:00
Liam DeBeasi
0f66c7b596 test(playwright): e2e tests now wait for appload event before proceeding (#25054)
* test(playwright): test new method of waiting

* test(): rename global variable to avoid collisions
2022-04-04 13:34:22 -04:00
Liam DeBeasi
0aa6d124d6 test(e2e): add infrastructure for migration to playwright (#25033) 2022-03-31 11:23:21 -04:00
Liam DeBeasi
a708c41262 fix(slides): resolve prototype pollution in swiper v5 (#23344)
resolves #23342
2021-05-21 14:16:53 -04:00
Liam DeBeasi
6bfe1ceee7 chore(): screenshot diff runs correctly (#23319) 2021-05-17 16:32:16 -04:00
Adam Bradley
0de75afbef feat(custom-elements): add experimental custom elements build (#22863)
Co-authored-by: Liam DeBeasi <liamdebeasi@icloud.com>
2021-02-11 12:08:00 -05:00
Liam DeBeasi
c83826aa73 chore(): update to stencil 2, resolve npm7 build issues (#22396)
* feat(stencil): update to stencil 2.1.2

- Updates package entry points, index.js and index.cjs.js
- Fix treeshaking unused and remove side effect globals

* chore: add typescript 4.0.5 to devDeps

* npm7 fixes

Co-authored-by: Adam Bradley <adamdbradley@users.noreply.github.com>
2020-10-27 13:42:24 -04:00
Adam Bradley
ce6e637787 chore(deps): bump deps (#21632) 2020-06-29 10:21:06 -05:00
Brandy Carney
ae0a98924f chore(api): update api generator to include parts in the public API (#21110) 2020-04-22 15:41:44 -04:00
Manu MA
446cf78e58 chore(): update deps (#19437) 2019-09-25 18:12:57 +02:00
Adam Bradley
a5d3c6bcd2 fix(transition): enable ios transition shadow by default (#19051) 2019-08-08 12:30:02 -05:00
Adam Bradley
84e306c1a6 feat(ssr): add ionic angular server (#18880) 2019-08-06 12:24:42 -05:00
Adam Bradley
815fa2eb06 feat(hydrate): add @ionic/core/hydrate app (#18867) 2019-07-23 16:46:06 -05:00
Manu MA
fb18f3ba25 feat(): support for stackblitz (#18846) 2019-07-23 01:01:36 +02:00
Adam Bradley
9b075ef529 feat(transition): iOS page transition shadow (#18695)
Closes #18661
2019-07-18 14:50:56 -05:00
Manu MA
97fec92365 fix(router-outlet): attach entering view before first change detection (#18821) 2019-07-18 10:26:54 +02:00
Manu MA
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
Adam Bradley
c551f891d3 chore(screenshot): slow down concurrent screenshot downloads (#17771) 2019-03-13 09:03:53 -05:00
Manu MA
8789748334 test(angular): add more ViewChild and event tests (#17099) 2019-01-14 17:38:31 +01:00
Adam Bradley
c68292b78f test(rtl): add rtl script to all e2e tests (#17009) 2019-01-08 15:06:23 -06:00
Manu MA
e8cec60faf fix(fab-button): adding size prop instead of [mini] (#16692)
- Consistency with rest of API
- Auto docs
- Helps react

fixes #16680
2018-12-14 23:16:20 +01:00
Manu MA
0c36f0501b chore(): update theme-builder (#16566) 2018-12-03 18:45:36 +01:00
Manu MA
d09e55500c chore(): update stencil (#16460) 2018-11-26 22:19:48 +01:00
Adam Bradley
d336054328 chore(scripts): rename npm run dev to npm start (#16416) 2018-11-21 10:05:25 -06:00
Manu MA
7d64879426 chore(): rename style to css-prop (#16408) 2018-11-21 11:43:27 +01:00
Manu Mtz.-Almeida
a85ef06ac9 chore(): update stencil + api-spec file 2018-11-20 10:06:02 +01:00
Cam Wiegert
28322379e4 test(all): add medium weight of Roboto for screenshots (#16178) 2018-11-01 10:56:05 -05:00
Adam Bradley
fa965e281f test(e2e): upload svg files (#16148) 2018-10-30 14:16:34 -05:00
Cam Wiegert
e9a94d2b91 chore: use system fonts in testing font stack (#16096) 2018-10-25 18:53:28 -05:00
Adam Bradley
5948a1c191 test(e2e): update test file location (#16090) 2018-10-25 14:04:34 -05:00
Adam Bradley
6b8c87e2da test(e2e): upload tests (#16078) 2018-10-25 01:03:01 -05:00
Adam Bradley
3c7fee5cca test(e2e): relative paths (#16077) 2018-10-24 22:41:48 -05:00
Adam Bradley
d96804b760 test(fonts): update md and iOS testing fonts (#16073) 2018-10-24 20:54:39 -05:00
Adam Bradley
02ed9f96fa test(e2e): update body font family (#16065) 2018-10-24 11:09:41 -05:00
Brandy Carney
b2021fd9c4 fix(theming): update global css variable naming and default values (#16003)
Updates all of the global variables to make sure their naming is consistent, their default values are correct, they are used properly by the related components, and remove any that are not used.

- removes some of the non mode-specific global Sass variables
- updates the md and ios values so that the default is the css variable
with different fallbacks
- removes non-color related css variables from the global file
- fixes item so it uses the background color that is set by the global
file

# Breaking Changes

## Removed Global CSS Variables

The following global CSS variables have been removed for the reasons listed.

| Variable Name                     | Reason                                          |
| ----------------------------------| ------------------------------------------------|
| `--ion-toolbar-color-inactive`    | Unused                                          |
| `--ion-ripple-background-color`   | Unused / Ripple color is based on component     |
| `--ion-header-size`               | Removed in favor of using CSS for h1-h6         |
| `--ion-header-step`               | Removed in favor of using CSS for h1-h6         |

## Renamed Global CSS Variables

The following global CSS variables have been renamed for the reasons listed.

| Old Variable Name                        | New Variable Name                  | Reason                                                                        |
| -----------------------------------------| -----------------------------------| ------------------------------------------------------------------------------|
| `--ion-toolbar-text-color`               | `--ion-toolbar-color`              | Variable is not limited to text color                                         |
| `--ion-toolbar-color-active`             | `--ion-toolbar-color-activated`    | Consistency with our component variables                                      |
| `--ion-tabbar-text-color`                | `--ion-tab-bar-color`              | Variable is not limited to text color                                         |
| `--ion-tabbar-text-color-active`         | `--ion-tab-bar-color-activated`    | Consistency with our component variables                                      |
| `--ion-tabbar-background-color`          | `--ion-tab-bar-background`         | Applies to the background property                                            |
| `--ion-tabbar-background-color-focused`  | `--ion-tab-bar-background-focused` | Applies to the background property                                            |
| `--ion-item-background-color`            | `--ion-item-background`            | Applies to the background property                                            |
| `--ion-item-background-color-active`     | `--ion-item-background-activated`  | Applies to the background property / Consistency with our component variables |
| `--ion-item-text-color`                  | `--ion-item-color`                 | Variable is not limited to text color                                         |
| `--ion-placeholder-text-color`           | `--ion-placeholder-color`          | Consistency with other variables                                              |

Fixes #15989 
Fixes #15559
2018-10-23 12:37:04 -04:00
Adam Bradley
a9fd3399de test(e2e): force roboto font on all systems (#15993) 2018-10-19 15:22:15 -05:00
Adam Bradley
33d1a61811 chore(screenshot): update screenshot caching (#15980) 2018-10-17 01:00:36 -05:00
dwieeb
5dc72a16f1 chore(ci): batch upload screenshot images (#15978) 2018-10-16 16:42:12 -05:00
dwieeb
0a8bcddf9d chore(ci): upload screenshots sequentially (#15977) 2018-10-16 16:13:04 -05:00
dwieeb
c1cbeb3a82 chore(ci): batch screenshot uploads (#15975) 2018-10-16 15:25:58 -05:00
dwieeb
d88c6e1bbc chore(ci): send correct mimetype for images (#15973) 2018-10-16 14:10:06 -05:00
dwieeb
277d222fb1 chore(ci): slice sha1 to 7 characters (#15974) 2018-10-16 14:04:07 -05:00
Adam Bradley
80b5c8c51d fix(screenshot): update screenshot ci (#15969) 2018-10-16 12:11:39 -05:00
Adam Bradley
b9c03e39d4 chore(screenshot): update screenshot ci 2018-10-13 14:12:10 -05:00
Cam Wiegert
ae3271f2d7 test(all): inject test styles on flag 2018-10-11 15:13:23 -05:00
Daniel Imhoff
2172aa9dae test(screenshot): use Arial for testing 2018-10-09 13:40:31 -05:00