70 Commits

Author SHA1 Message Date
b315b0cb29 chore(docs): consolidate the developer resource files into a docs/ directory (#29266)
Start your review here 👉
[docs/README.md](https://github.com/ionic-team/ionic-framework/blob/FW-6107/docs/README.md)

## What is the current behavior?

Documentation files with information on how to contribute, component
implementations, testing, etc. are scattered throughout various folders
in this repository.

## What is the new behavior?

Consolidates the documentation files into a root `docs/` directory for
easier discovery and organization.

`/docs` tree:

```
├── _config.yml
├── component-guide.md
├── CONTRIBUTING.md
├── README.md
├── sass-guidelines.md
├── angular
│   ├── README.md
│   └── testing.md
├── core
│   ├── README.md
│   └── testing
│       ├── README.md
│       ├── api.md
│       ├── best-practices.md
│       ├── preview-changes.md
│       └── usage-instructions.md
├── react
│   ├── README.md
│   └── testing.md
├── react-router
│   ├── README.md
│   └── testing.md
├── vue
│   ├── README.md
│   └── testing.md
└── vue-router
    ├── README.md
    └── testing.md
```

**Migrates the following:**

| Previous Location | New Location |
| ----------------------------------------------------------- |
----------------------------------------- |
| `.github/COMPONENT-GUIDE.md` | `docs/component-guide.md` |
| `.github/CONTRIBUTING.md` | `docs/CONTRIBUTING.md` |
| `core/scripts/README.md` | `docs/core/testing/preview-changes.md` |
| `core/src/utils/test/playwright/docs/api.md` |
`docs/core/testing/api.md` |
| `core/src/utils/test/playwright/docs/best-practices.md` |
`docs/core/testing/best-practices.md` |
| `core/src/utils/test/playwright/docs/README.md` |
`docs/core/testing/README.md` |
| `core/src/utils/test/playwright/docs/usage-instructions.md` |
`docs/core/testing/usage-instructions.md` |
| `packages/angular/test/README.md` | `docs/angular/testing.md` |
| `packages/react-router/test/README.md` |
`docs/react-router/testing.md` |
| `packages/react/test/README.md` | `docs/react/testing.md` |
| `packages/react/test/base/README.md` | `docs/react/testing.md` |
| `packages/vue/test/README.md` | `docs/vue/testing.md` |

**Adds the following:**

| File | Description |
| ----------------------------- |
-----------------------------------------------------------------------
|
| `docs/sass-guidelines.md` | Sass Variable guidelines taken from
`ionic-framework-design-documents` |
| `docs/README.md` | Entry file that should link to all other files |
| `docs/_config.yml` | Config file for use with GitHub pages |
| `docs/core/README.md` | Description of core, links to contributing and
testing |
| `docs/angular/README.md` | Description of angular, links to
contributing and testing |
| `docs/react/README.md` | Description of react, links to contributing
and testing |
| `docs/react-router/README.md` | Description of react-router, links to
contributing and testing |
| `docs/vue/README.md` | Description of vue, links to contributing and
testing |
| `docs/vue-router/README.md` | Description of vue-router, links to
contributing and testing |
| `docs/vue-router/testing.md` | Testing file for vue-router, populated
from vue-router's main README |

**Does not** add any files for `angular-server`. This is because the
README is essentially empty and there is no testing in that directory. I
can add blank files if we want to have something to add to later.

**Does not** migrate the content of the packages' root `README.md`
files. These files are used for their npm package descriptions so we
should not edit them.

## Hosting Documentation

We can (and should) host these files using GitHub Pages. I have
duplicated them in a personal repository to see how this would look:
[docs-consolidation](https://brandyscarney.github.io/docs-consolidation/).

Doing so will require some formatting fixes (see [Sass
Guidelines](https://brandyscarney.github.io/docs-consolidation/sass-guidelines.html#-reusable-values))
so I did not publish them now but we can easily enable GitHub pages by
toggling a setting in this repository.

## Other information

- Verify that no documentation files were missed in the migration
- You can use these commands to search for `*.md` files in a directory:
    - `find core/src -type f -name "*.md" -print`
- `find packages/angular -type f -name "*.md" -not -path
"**/node_modules/*" -print`
- I did add some redirect links in some of the existing markdown files
so they might still exist for that reason
- We should probably break up the contributing + component guide
documentation into smaller files, such as including best practices, but
I wanted to get everything in the same place first
- The contributing has sections on each of the packages that we could
move to that package's docs folder:
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#core

---------

Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
2024-04-08 19:06:26 +00:00
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
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
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
af2e9b79e9 refactor(test): remove puppeteer, use playwright (#26426) 2022-12-07 15:50:59 -05:00
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
0aa6d124d6 test(e2e): add infrastructure for migration to playwright (#25033) 2022-03-31 11:23:21 -04:00
a708c41262 fix(slides): resolve prototype pollution in swiper v5 (#23344)
resolves #23342
2021-05-21 14:16:53 -04:00
6bfe1ceee7 chore(): screenshot diff runs correctly (#23319) 2021-05-17 16:32:16 -04:00
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
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
ce6e637787 chore(deps): bump deps (#21632) 2020-06-29 10:21:06 -05:00
ae0a98924f chore(api): update api generator to include parts in the public API (#21110) 2020-04-22 15:41:44 -04:00
446cf78e58 chore(): update deps (#19437) 2019-09-25 18:12:57 +02:00
a5d3c6bcd2 fix(transition): enable ios transition shadow by default (#19051) 2019-08-08 12:30:02 -05:00
84e306c1a6 feat(ssr): add ionic angular server (#18880) 2019-08-06 12:24:42 -05:00
815fa2eb06 feat(hydrate): add @ionic/core/hydrate app (#18867) 2019-07-23 16:46:06 -05:00
fb18f3ba25 feat(): support for stackblitz (#18846) 2019-07-23 01:01:36 +02:00
9b075ef529 feat(transition): iOS page transition shadow (#18695)
Closes #18661
2019-07-18 14:50:56 -05:00
97fec92365 fix(router-outlet): attach entering view before first change detection (#18821) 2019-07-18 10:26:54 +02:00
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
c551f891d3 chore(screenshot): slow down concurrent screenshot downloads (#17771) 2019-03-13 09:03:53 -05:00
8789748334 test(angular): add more ViewChild and event tests (#17099) 2019-01-14 17:38:31 +01:00
c68292b78f test(rtl): add rtl script to all e2e tests (#17009) 2019-01-08 15:06:23 -06:00
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
0c36f0501b chore(): update theme-builder (#16566) 2018-12-03 18:45:36 +01:00
d09e55500c chore(): update stencil (#16460) 2018-11-26 22:19:48 +01:00
d336054328 chore(scripts): rename npm run dev to npm start (#16416) 2018-11-21 10:05:25 -06:00
7d64879426 chore(): rename style to css-prop (#16408) 2018-11-21 11:43:27 +01:00
a85ef06ac9 chore(): update stencil + api-spec file 2018-11-20 10:06:02 +01:00
28322379e4 test(all): add medium weight of Roboto for screenshots (#16178) 2018-11-01 10:56:05 -05:00
fa965e281f test(e2e): upload svg files (#16148) 2018-10-30 14:16:34 -05:00
e9a94d2b91 chore: use system fonts in testing font stack (#16096) 2018-10-25 18:53:28 -05:00
5948a1c191 test(e2e): update test file location (#16090) 2018-10-25 14:04:34 -05:00
6b8c87e2da test(e2e): upload tests (#16078) 2018-10-25 01:03:01 -05:00
3c7fee5cca test(e2e): relative paths (#16077) 2018-10-24 22:41:48 -05:00
d96804b760 test(fonts): update md and iOS testing fonts (#16073) 2018-10-24 20:54:39 -05:00
02ed9f96fa test(e2e): update body font family (#16065) 2018-10-24 11:09:41 -05:00
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
a9fd3399de test(e2e): force roboto font on all systems (#15993) 2018-10-19 15:22:15 -05:00
33d1a61811 chore(screenshot): update screenshot caching (#15980) 2018-10-17 01:00:36 -05:00
5dc72a16f1 chore(ci): batch upload screenshot images (#15978) 2018-10-16 16:42:12 -05:00
0a8bcddf9d chore(ci): upload screenshots sequentially (#15977) 2018-10-16 16:13:04 -05:00
c1cbeb3a82 chore(ci): batch screenshot uploads (#15975) 2018-10-16 15:25:58 -05:00
d88c6e1bbc chore(ci): send correct mimetype for images (#15973) 2018-10-16 14:10:06 -05:00
277d222fb1 chore(ci): slice sha1 to 7 characters (#15974) 2018-10-16 14:04:07 -05:00
80b5c8c51d fix(screenshot): update screenshot ci (#15969) 2018-10-16 12:11:39 -05:00
b9c03e39d4 chore(screenshot): update screenshot ci 2018-10-13 14:12:10 -05:00
ae3271f2d7 test(all): inject test styles on flag 2018-10-11 15:13:23 -05:00
2172aa9dae test(screenshot): use Arial for testing 2018-10-09 13:40:31 -05:00