Commit Graph

41 Commits

Author SHA1 Message Date
Brandy Carney
7ecde36f9d fix(button): allow overflow to be overridden by the CSS variable (#20738)
fixes #20726
2020-03-11 11:35:26 -04: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
Brandy Carney
9318d2418e fix(icons): fix the ellipsis fill in ionicons (#20137)
- update docs icon usage for Ionicons 5
- update tests to remove mode prefixed icons
- update tests to use the correct icons for Ionicons 5
- update to latest ionicons dev which fixes the ellipsis icon fill
2020-01-03 12:19:17 -05:00
Adam Bradley
69e10de718 refactor(ionicons): update to ionicons v5 (#19670)
* refactor(ionicons): update to ionicons v5

* refactor(back-button): update back button icon to v5 ionicons

* refactor(item): update default detail icon to chevron-forward

* refactor(reorder): update reorder icon for ionicons v5

* refactor(searchbar): use search-sharp

* refactor(searchIcon): update v5 ionicon

* refactor(clearIcon): update searchbar clear icon

* refactor(cancelButton): update to arrow-back-sharp

* refactor(menuIcon): update to v5 ionicons

* api readme updates

* update react and vue ionicons

* add ionicons to react deps

* add ionicons to ionic/vue deps

* add icon to react test

* updates

* fix back button regression for no icon

* update tests

* fix more tests

* fix more icons

* update ionicons version

* fix circle icons

* add correct ellipsis
2019-11-20 09:53:32 -05:00
Adam Bradley
598a13ecc0 chore(test): remove unused preview tests (#18608) 2019-06-24 17:15:57 -05:00
Manu MA
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
Iván Navarro
320719b904 fix(button): set opacity on the host for disabled button (#18509)
allows for customization of the disabled button opacity

fixes #16965
2019-06-11 17:56:13 -04:00
Vlad Topala
a3e23fc9fa fix(button): use correct size on a dynamic button in an item (#18395)
fixes ##18085
2019-06-10 16:47:32 -04:00
Brandy Carney
5c5934bc24 feat(button): add variables for customizing hover state (#18499)
resolves #17974
2019-06-10 13:38:50 -04:00
Brandy Carney
4bba540311 fix(label): include the ion-text-wrap class styles for larger font (#18374)
- updates all e2e tests to use the CSS classes instead of attributes
2019-05-24 11:18:28 -04:00
Abdelaziz Bennouna
ae0ecccd2e fix(button): apply round property to button sizes in iOS (#18125)
fixes #18108
2019-04-25 11:32:23 -04:00
Adam Bradley
c68292b78f test(rtl): add rtl script to all e2e tests (#17009) 2019-01-08 15:06:23 -06: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
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
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
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
Manu Mtz.-Almeida
9d109d68c8 fix(all): disable animations in e2e tests 2018-10-08 10:18:31 -05:00
Brandy Carney
6bc35a306c test(components): migrate e2e tests to puppeteer
references #15803
2018-10-05 18:11:11 -04:00
Brandy Carney
3af43610bb fix(button): add custom properties and remove --ion-color overrides (#15463)
- adds custom properties 
- removes the overrides of `--ion-color-*` variables
- documents the properties

references #14808 references #14853 references #14850
2018-09-05 12:23:47 -04:00
Manu MA
096d9a76f3 fix(css): add core.css (#15220)
fixes #15170
2018-08-29 18:05:20 +02:00
Brandy Carney
ad006dd1ee fix(button): do not change border radius if round button in toolbar (#14941)
fixes #7661
2018-07-30 15:59:33 -04:00
Manu Mtz.-Almeida
c05d672703 fix(button): submit forms using fake button
fixes #14890
fixes #14786
2018-07-30 18:42:05 +02:00
Brandy Carney
2c37a5a7b2 docs(previews): update preview tests to have translucent white toolbars
to make ben happy
2018-07-24 16:27:17 -04:00
Adam Bradley
4ed8541579 fix(button): submit form w/ ion-button within shadow dom
Closes #14776
2018-07-16 12:23:35 -05:00
Brandy Carney
03f9c31e4c test(button): update the basic disabled buttons 2018-07-12 18:47:37 -04:00
Brandy Carney
9c9f081970 fix(button): add box-sizing so anchor buttons won't exceed max-width
fixes #14760
2018-07-12 17:24:33 -04:00
Brandy Carney
8e58ea4b58 test(button): add a dynamically disabled button to the basic test 2018-07-12 16:41:31 -04:00
Brandy Carney
a7f1f4daa7 refactor(components): update to use shadow DOM and work with css variables
- updates components to use shadow DOM or scoped if they require css variables
- moves global styles to an external stylesheet that needs to be imported
- adds support for additional colors and removes the Sass loops to generate colors for each component
- several property renames, bug fixes, and test updates

Co-authored-by: Manu Mtz.-Almeida <manu.mtza@gmail.com>
Co-authored-by: Adam Bradley <adambradley25@gmail.com>
Co-authored-by: Cam Wiegert <cam@camwiegert.com>
2018-07-09 12:57:21 -04:00
mburger81
d5cef52802 docs(button): add example for icons (#14711)
add example to show how ion-icon works in ion-button using slot start, end and icon-only, like we can see in documentation https://beta.ionicframework.com/docs/api/button
2018-07-05 14:27:25 -04:00
Manu Mtz.-Almeida
859ff45bb7 refactor(button): adds shape prop 2018-05-11 17:50:53 +02:00
Manu Mtz.-Almeida
cc7ab4e3c6 fix(all): snapshot tests 2018-05-08 16:05:06 +02:00
Brandy Carney
aa085248b9 test(button): this is why you should be careful using find and replace 2018-03-29 16:26:17 -04:00
Brandy Carney
ce5b47ef99 refactor(toolbar): rename the slots to match other component behavior
`left` -> `start`
`right` -> `end`
`start` -> `secondary`
`end` -> `primary`
2018-03-27 16:45:26 -04:00
Brandy Carney
574c346d45 revert(toolbar): revert to use old button attributes
references #14172
2018-03-23 14:39:13 -04:00
Brandy Carney
fc30ba18f3 test(preview): add preview tests for documentation previews 2018-03-21 12:18:18 -04:00
Brandy Carney
97dc113a9f test(button): remove the modified primary color 2018-03-20 15:44:44 -04:00
Brandy Carney
e8cf9927cc refactor(toolbar): remove the mode-start and mode-end slots
- adds examples of the new way to achieve this in the e2e tests
- updates breaking change to document the new slots properly and with
examples
- removes the first-child margin on buttons in toolbar
- removes the margin on ion-buttons

closes #14172
2018-03-19 17:47:52 -04:00
Brandy Carney
d37623a2ca chore(packages): move the packages to root 2018-03-12 16:02:25 -04:00