Commit Graph

88 Commits

Author SHA1 Message Date
Brandy Carney
afcc46e1cc fix(radio): properly announce radios on screen readers and resolve axe errors (#22507) 2020-11-24 11:43:59 -05:00
Brandy Carney
a9b2260100 test(core): add lang attr to html tag to resolve axe errors (#22410) 2020-11-02 17:08:03 -05:00
Liam DeBeasi
18ad9efa4b chore(): sync vue branch with master 2020-10-08 11:38:58 -04:00
Brandy Carney
ea0e0499e2 fix(radio): update to follow accessibility guidelines outlined by wai-aria (#22113)
This also fixes the Select "popover" interface as it is made up of radio buttons

WAI-ARIA Guidelines:

- Tab and Shift + Tab: Move focus into and out of the radio group. When focus moves into a radio group :
  - If a radio button is checked, focus is set on the checked button.
  - If none of the radio buttons are checked, focus is set on the first radio button in the group.
- Space: checks the focused radio button if it is not already checked.
- Right Arrow and Down Arrow: move focus to the next radio button in the group, uncheck the previously focused button, and check the newly focused button. If focus is on the last button, focus moves to the first button.
- Left Arrow and Up Arrow: move focus to the previous radio button in the group, uncheck the previously focused button, and check the newly focused button. If focus is on the first button, focus moves to the last button.

Closes #21743
2020-09-24 14:33:27 -04:00
Liam DeBeasi
9ca8b9de46 chore(): sync with master 2020-09-21 11:36:45 -04:00
Liam DeBeasi
db2cac20fb docs(vue): update component usage examples for vue 3 (#22050) 2020-09-11 13:48:21 -04:00
Liam DeBeasi
5ffa65f84a feat(vue): add ionic vue beta (#22062) 2020-09-10 15:20:49 -04:00
Adam Bradley
753fd2f910 chore(colorClass): update createColorClasses() for ts4 (#21896)
Change the createColorClasses() fn so the returned type and jsx class property work well with typescript 4
2020-08-10 09:18:41 -05:00
Brandy Carney
687122127c docs(stencil): add stencil usage to components (#21261) 2020-05-12 20:35:48 -04:00
Liam DeBeasi
228ca2b093 feat(radio): add parts support for container, mark (#20952) 2020-04-23 12:18:58 -04:00
Ely Lucas
972e361bdc docs(react): updating react input usages with binding examples (#20557) 2020-02-19 17:49:53 -07:00
Liam DeBeasi
ff78e6e8ca fix(radio): do not clear value of radio group from radio (#20343)
fixes #20323
2020-01-30 12:29:11 -05:00
Liam DeBeasi
eb57723785 fix(radio): set default radio value if undefined (#20329) 2020-01-29 14:01:27 -05:00
Brandy Carney
94159291b2 feat(components): improve button states and add new css properties (#19440)
Before users had to know the exact opacity that the MD/iOS spec called for in order to change the hover or focused background color. This allows them to change the background without having to know the opacity. 

- changes apply to Action Sheet (Buttons), Back Button, Button, FAB Button, Item, Menu Button, Segment Button, Tab Button
- greatly reduces the requirement by users to set the background hover, focused states for dark modes and custom themes, also eliminates the need to know what the hover opacity is for each based on the spec
- updates the MD dark theme per their spec
- adds a component guide for internal use changing Ionic components

references #18279 fixes #20213 fixes #19965

BREAKING CHANGE:

*Activated Class*

The `activated` class that is automatically added to buttons on press has been renamed to `ion-activated`. This will be more consistent with our `ion-focused` class we add and also will reduce conflicts with user's CSS.

*CSS Variables*

The `--background-hover`, `--background-focused` and `--background-activated` CSS variables on components that render native buttons will now have an opacity automatically set. If you are setting any of these like the following:

```
--background-hover: rgba(44, 44, 44, 0.08);
```

You will likely not see a hover state anymore. It should be updated to only set the desired color:

```
--background-hover: rgba(44, 44, 44);
```

If the opacity desired is something other than what the spec asks for, use:

```
--background-hover: rgba(44, 44, 44);
--background-hover-opacity: 1;
```
2020-01-23 16:57:47 -05:00
Manu MA
a5229d90ca refactor(): remove checked property in favor of parent value (#19449)
BREAKING CHANGE:


The following components have been updated to remove the checked or selected properties:

- Radio
- Segment Button
- Select

Developers should set the value property on the respective parent components in order to managed checked/selected status.

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2020-01-17 17:22:26 -05:00
Liam DeBeasi
a01c10267e feat(radio): add --border-radius and --inner-border-radius variables (#20140) 2020-01-03 13:14:39 -05:00
Brandy Carney
5bbb95fae1 feat(list-header): redesign list header for iOS spec (#19915) 2019-11-19 14:53:37 -05:00
Manu MA
48a27636c7 fix(all): component reusage (#18963)
Use new stencil APIs to allow ionic elements to be reused once removed from the DOM.

fixes #18843
fixes #17344
fixes #16453
fixes #15879
fixes #15788
fixes #15484
fixes #17890
fixes #16364
2019-08-27 16:29:37 +02:00
Manu MA
930b271a4a Master react (#18998)
* chore(): bump to beta 8

* fix(): IonFabButton href fix

* fix(react): support components with href attributes

* fix(): Prep work to break router out

* fix(): breaking react-router and react-core into own packages

* chore(): moving view stuff out of react-core

* chore(): dev build 8-1

* chore(): update to react beta 8

* chore(): fixes to deps

* fix(): removing IonAnchor in favor of IonRouterLink

* chore(): beta 9 release

* refactor(react): treeshake, minify, api

* wip

* fix(): react dev builds

* fix(): fixes to get app builds working again

* fix(): removing tgz file

* feat(): adding platform helper methods

* fix(): don't map attributes to props

* chore(): add test app

* feat(): copy css folder from core

* chore(): move rollup node resolve to devDependencies

* fix(): expose setupConfig()

* perf(): improve treeshaking

* fix(): removing crypto from generateUniqueId

* fix(): adding missing rollup dp

* fix(): test cleanup and fixes to make tests pass

* chore(): moving react to packages folder

* fix(): fixing react build due to move to packages

* feat(): adding missing IonInfiniteScrollContent component

* chore(): add automated testing using cypress

* fix(): adding option onDidDismiss to controller components

* 0.0.10 react

* wip

* fix(): removing deprecated React calls

* fix(): exporting setupConfig from core

* chore(): bump to 4.8.0-rc.0

* chore(): updating test-app deps and fixing test

* chore(): updates to react readme
2019-08-13 14:24:44 -06:00
Adam Bradley
598a13ecc0 chore(test): remove unused preview tests (#18608) 2019-06-24 17:15:57 -05:00
Manu MA
34dfc3ce98 refactor(all): updating to newest stencil apis (#18578)
* chore(): update ionicons

* refactor(all): updating to newest stencil apis

* fix lint issues

* more changes

* moreee

* fix treeshaking

* fix config

* fix checkbox

* fix stuff

* chore(): update ionicons

* fix linting errors
2019-06-23 11:26:42 +02:00
Manu MA
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
Brandy Carney
6252458d49 test(components): add rtl tests and remove skips (#18319)
references #17012
2019-05-21 13:16:07 -04:00
Brandy Carney
e5c8c10029 fix(components): include mode classes on components for use in shadow (#17838)
- removes mode-less component classes from the internal CSS, use element instead
- adds mode specific classes `md` or `ios` for styling inside of shadow components
- adds e2e test that verifies mode classes exist on all ionic components, plus checks for specific classes that the components need for internal styling

fixes #17608
2019-04-16 17:28:21 -04:00
Josh Thomas
d023eb5b71 docs(vue): add usage docs for all non-controller components (#17643) 2019-02-28 22:01:07 -06:00
Josh Thomas
22d1aeebaa docs(react): update component usage docs (#17615) 2019-02-26 08:54:01 -06:00
Manu MA
6364e4e2a1 fix(inputs): keyboard focus improvements (#16838)
fixes #16815
fixes #16872
fixes #13978
fixes #16610
2019-01-11 19:36:02 +01:00
Adam Bradley
c68292b78f test(rtl): add rtl script to all e2e tests (#17009) 2019-01-08 15:06:23 -06:00
kplhub
09726b0d35 feat(radio-group): add missing implementation for property allowEmptySelection (#16880)
fixes #16841
2018-12-31 17:24:44 +01:00
Manu Mtz.-Almeida
3d656ac312 docs(all): improve type docs for event 2018-12-28 20:38:24 +01:00
Brandy Carney
4053f386fd refactor(components): consistent css variables for size (#16600)
Reviews the `--width` and `--height` variables in each component to either remove or add them based on need.

- fixes a bug where the spinner color wasn't being set properly in loading
- adds css variables for customizing background, color, some borders in overlays
- fixes a bug where prefix, suffix are taking up too much width in picker

closes #16097
references ionic-team/ionic-docs#228

BREAKING CHANGES

## Core Components

Removes the `--width` and `--height` variables from the following components, in favor of CSS:

- Button
- FAB Button
- Checkbox
  - Removes the `--width`/`--height` and adds a `--size` variable that is set on the width and height, allowing width and height to still be set and border-radius to still use it as a variable
- Radio
  - Removes the `--width`/`--height` and `--inner-width`/`--inner-height` variables. Calculates inner values based on parent element size.

## Overlay Components

The following components have all be converted to shadow (or scoped) and have CSS variables for width/height:

- Action Sheet _(scoped)_
- Alert  _(scoped)_
- Loading  _(scoped)_
- Menu _(shadow)_
- Modal  _(scoped)_
- Picker _(scoped)_
- Popover  _(scoped)_
- Toast _(shadow)_

The above components will now have the following CSS variables for consistency among overlays:

| Name              |
| ----------------- |
| `--height`        |
| `--max-height`    |
| `--max-width`     |
| `--min-height`    |
| `--min-width`     |
| `--width`         |

If the component does not set the value, it will default to `auto`.

## Removed CSS Variables

The following CSS properties have been removed:

| Component      | Property            | Reason                          |
| ---------------| --------------------| --------------------------------|
| **Button**     | `--height`          | Use CSS instead                 |
| **Button**     | `--margin-bottom`   | Use CSS instead                 |
| **Button**     | `--margin-end`      | Use CSS instead                 |
| **Button**     | `--margin-start`    | Use CSS instead                 |
| **Button**     | `--margin-top`      | Use CSS instead                 |
| **Button**     | `--width`           | Use CSS instead                 |
| **Checkbox**   | `--height`          | Use CSS or `--size`             |
| **Checkbox**   | `--width`           | Use CSS or `--size`             |
| **FAB Button** | `--width`           | Use CSS instead                 |
| **FAB Button** | `--height`          | Use CSS instead                 |
| **FAB Button** | `--margin-bottom`   | Use CSS instead                 |
| **FAB Button** | `--margin-end`      | Use CSS instead                 |
| **FAB Button** | `--margin-start`    | Use CSS instead                 |
| **FAB Button** | `--margin-top       | Use CSS instead                 |
| **Menu**       | `--width-small`     | Use a media query and `--width` |
| **Radio**      | `--width`           | Use CSS instead                 |
| **Radio**      | `--height`          | Use CSS instead                 |
| **Radio**      | `--inner-height`    | Calculated based on parent      |
| **Radio**      | `--inner-width`     | Calculated based on parent      |
2018-12-14 15:45:14 -05:00
Brandy Carney
7ba94900bb refactor(themes): remove the outer-content class from core (#16589)
BREAKING CHANGES

The outer-content class has been removed in favor of setting the color in your app instead:

```
.outer-content {
  --background: #f2f2f2;
 }
```
2018-12-04 16:38:50 -05:00
Manu MA
6b7f8ae201 chore(): update stencil (#16506) 2018-11-29 18:54:51 +01:00
Daniel Karlsson
509650349e fix(radio): removd hard coded inner-width and inner-height for iOS 2018-11-29 13:53:25 +01:00
Manu MA
50b0c6f15d fix(alert): accepts any value (#16476)
fixes #16170
2018-11-27 16:29:12 +01:00
Manu Mtz.-Almeida
a85ef06ac9 chore(): update stencil + api-spec file 2018-11-20 10:06:02 +01:00
Manu MA
fd79b57748 fix(inputs): fix aria with shadow-dom (#16329) 2018-11-16 19:26:55 +01:00
Brandy Carney
e416c23b3b fix(item): update to match Material Design spec (#16182)
- splits the item min height by mode
- removes padding end from the slotted end components in favor of using 16px on the item
- updates the icon color to lighter gray (rgb)
- removes font size change from text wrapped labels
- add list spec test to include MD examples

fixes #14799
2018-11-04 10:58:57 -05:00
Manu MA
ecc2c55370 docs(all): possible values are extracted by stencil (#16190)
* docs(all): possible values are extracted by stencil

* add defaults

* remove all hardcoded defaults

* update stencil
2018-11-02 00:06:40 +01:00
Cam Wiegert
018fb9876f test(all): use test() instead of it() where appropriate (#16129)
This replaces uses of Jest's it() function in end-to-end tests with the alias test() where it makes sense semantically.
2018-10-29 12:40:06 -05:00
Manu MA
ef6895acbd fix(inputs): disabled handling (#16071) 2018-10-25 22:50:06 +02:00
Cam Wiegert
672324886a fix(radio): match MD sizing (#16087)
This adjusts the sizing and proportions of our radio input to match the updated Material Design spec.
2018-10-25 10:58:19 -05:00
Adam Bradley
3c7fee5cca test(e2e): relative paths (#16077) 2018-10-24 22:41:48 -05:00
Adam Bradley
a9fd3399de test(e2e): force roboto font on all systems (#15993) 2018-10-19 15:22:15 -05:00
Manu Mtz.-Almeida
3a4b21457f chore(): update stencil 2018-10-12 11:44:43 -05:00
Manu Mtz.-Almeida
a72fced6fe fix(all): docs for all missing props 2018-10-11 16:24:08 -05:00
Cam Wiegert
ae3271f2d7 test(all): inject test styles on flag 2018-10-11 15:13:23 -05:00
Brandy Carney
798b4f6935 test(radio): update standalone test 2018-10-10 11:35:23 -05:00
Manu Mtz.-Almeida
a999c1f0a9 perf(): prevent unnecesary event listener changes 2018-10-09 16:03:14 -05:00
Daniel Imhoff
2172aa9dae test(screenshot): use Arial for testing 2018-10-09 13:40:31 -05:00