Commit Graph

84 Commits

Author SHA1 Message Date
Manu MA
f4818a1f3a refactor(animation): update animation API (#19529) 2019-10-02 19:52:46 +02:00
Manu MA
a65d897214 refactor(): deprecate web component controllers (#19109) 2019-08-27 14:00:45 +02:00
Liam DeBeasi
30ca46ab12 feat(animation): add animation utility (#18918)
* Add new keyframes proof of concept

* update esm import

* add base before and after methods, add tests

* add base before and after hooks

* update clean up methods, add tests

* add web animations support, change to arrow functions

* remove console logs

* add from, to, fromTo, and other properties

* add more tests, fix onFinish functionality, being testing with nav transitions

* add progress methods, use force linear

* run linter

* Add playSync

* integrate animations with framework components

* onFinish now supports multiple callbacks

* change const to let

* testing reverse

* add support for both animation utilities

* bug fix

* export createAnimation, a few tweaks

* add base tests

* fix issue with onFinish being called out of order. added tests

* fix race conditions in tests

* clean up

* fix bug where onFinish not calling for empty elements array,  update test

* clean up

* fix treeshaking, remove old comments

* remove old tests

* Add test for animationbuilder backwards compat

* update typings for menu controller

* mock web animations in tests

* run build

* fix type errors

* sync with master

* use requestAnimationFrame instead of writeTask

* fix flaky tests, fix menu

* fix ordering

* update webdriver

* fix wrong version

* Revert "fix wrong version"

This reverts commit be91296e97.

Revert chromedriver update

* Revert "update webdriver"

This reverts commit e49bc9d76e.

Revert chromedriver update

* expose raw animation object, add tests

* add stylesheet recycling

* finalize before and after hook tests

* a few styling changes

* fix lint warnings

* get rid of old code

* Fix progressStep overflow bug

* disable reuse stylesheet

* small updates

* fix old animation create

* setStyleProperty helper

* reuse keyframe styles

* keyframes

* fix css animation issue with display: none, add tests

* add comment

* fix issue with progress animations and css animations

* clean up

* clean up pt2

* fix tests

* fix linter

* add fill for overlays

* fix swipe to go back

* clean up css animations when done

* fix edge cases with css animations

* fix menu open and close

* add reset function

* clean up reset fn

* Fix issue where animation always being reset

* allow updating animations on the fly

* add clear onfinish method

* fix linter

* add callback options, expand force direction

* ensure opts is defined

* fix css animations open and close for menus

* remove test

* add extra check

* clean up

* fix css anim bug swipe to go back

* fix pause

* setup alt animation to avoid flickering

* clean up

* reset flags on destroy

* add ability to change duration on progressEnd

* fix flicker on duration change for css animations

* fix ios transition

* remove unneeded recursion

* increase durability of updating css animations on the fly

* fix gesture anim

* fix web anim as well. more work for cleanup

* simplify progressEnd for css animations

* fix swipe to go back race condition

* clean up

* Add todo

* fix one more bug
2019-08-12 10:05:04 -04:00
Manu MA
e82648bda2 refactor(all): update to one (part 3) (#18874) 2019-07-25 20:22:44 +02:00
Manu MA
03c1d19e07 perf(all): minify better by using arrow functions (#18730) 2019-07-10 10:33:33 -04:00
Manu Mtz.-Almeida
e059fc8048 perf(angular): skip zone 2019-07-06 19:33:34 +02: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
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
Brandy Carney
464ec3b70a docs(components): update method and parameter descriptions (#18075) 2019-04-23 12:59:25 -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
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
Brandy Carney
82457d874b fix(action-sheet): remove the height shift on press and update iOS design (#16862)
This changes the border into a linear gradient background image which allows us to avoid the height decrease on press and have the same border as the background color when pressed.

- merges all action sheet tests to the basic directory (except standalone, translucent), references #16715
- removes the height shift on press, fixes #16790
- fixes the cancel button on iOS so it is `#ffffff` by default
- gets the look of the action sheet closer to native for iOS
- only applies the translucent and backdrop filter if it is supported by the browser (chrome will not show transparent anymore)
- updates documentation to describe when translucent will show up
- adds documentation on how to use screenshot tests
2019-01-10 18:13:31 -05:00
Adam Bradley
1338d71dff fix(picker): do not change datetime/picker column order in RTL (#17018)
Closes #16294
2019-01-09 12:06:13 -06:00
Adam Bradley
c68292b78f test(rtl): add rtl script to all e2e tests (#17009) 2019-01-08 15:06:23 -06:00
Manu MA
302be5392c fix(overlays): make them hidden until presented (#16903)
fixes #16685
2018-12-29 01:31:33 +01:00
Manu Mtz.-Almeida
3d656ac312 docs(all): improve type docs for event 2018-12-28 20:38:24 +01:00
Manu MA
8b140306ef refactor(animation): remove ion-animation-controller (#16842) 2018-12-21 13:17:42 +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
Manu MA
2933f61e8d fix(react): add class based APIs (#16665)
fixes #16583
2018-12-11 01:08:00 +01:00
Manu MA
d09e55500c chore(): update stencil (#16460) 2018-11-26 22:19:48 +01:00
Manu Mtz.-Almeida
a85ef06ac9 chore(): update stencil + api-spec file 2018-11-20 10:06:02 +01: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
Manu MA
c982856dba feat(toast): add "color" prop (#16100)
This commit also refactors ion-toast, so it uses shadow-dom,
this is required since CSS variables
does not work well in non-shadow-dom components.

fixes #16099
2018-10-26 18:53:02 +02: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
Manu Mtz.-Almeida
3a4b21457f chore(): update stencil 2018-10-12 11:44:43 -05:00
Manu Mtz.-Almeida
fb3b752198 chore(): update stencil 2018-10-11 16:49:05 -05:00
Manu Mtz.-Almeida
a72fced6fe fix(all): docs for all missing props 2018-10-11 16:24:08 -05:00
Manu Mtz.-Almeida
4036db5480 chore(): update readme 2018-10-08 15:46:34 -05:00
Manu Mtz.-Almeida
dc976cc745 feat(overlays): expose animation customization 2018-10-04 17:21:15 +02:00
Manu Mtz.-Almeida
c49d896e08 refactor(all): using ComponentInterface 2018-09-14 18:47:00 +02:00
Manu Mtz.-Almeida
6e5c035b39 chore(tslint): disable 'no-floating-promises' 2018-09-14 00:50:44 +02:00
Brandy Carney
6ed4690834 style(tap-click): rename activable to activatable 2018-09-12 11:38:20 -04:00
Manu Mtz.-Almeida
bf486e2c99 docs(overlay): onDidDismiss() and onWillDismiss() 2018-09-07 16:45:11 +02:00
Manu Mtz.-Almeida
281f9a307f fix(menu): ios styles 2018-09-01 18:08:03 +02:00
Manu Mtz.-Almeida
e7416435d8 refactor(all): additional tslint rules 2018-09-01 18:06:59 +02:00
Manu Mtz.-Almeida
ba2230510e refactor(all): strict boolean conditions 2018-09-01 17:23:03 +02:00
Brandy Carney
09187c9c92 docs(datetime): fix typos 2018-08-31 17:30:25 -04:00
Manu Mtz.-Almeida
cc960c3d48 fix(overlays): expose mode, id, keyboardClose
fixes #15366
2018-08-29 16:19:51 +02:00
Manu Mtz.-Almeida
1d46973785 refactor(all): make all method return a promise 2018-08-28 22:20:10 +02:00
Manu Mtz.-Almeida
57d23753a6 feat(all): strong typed ComponentProps 2018-08-27 00:47:10 +02:00
Manu Mtz.-Almeida
8b768fb73d fix(overlay): expose "animated" API
fixes #14775
2018-08-26 19:06:50 +02:00
Manu Mtz.-Almeida
3ffa3cd7db fix(platform): better detect platforms + css API
fixes #15165
fixes #15116
2018-08-25 16:53:31 +02:00
Manu Mtz.-Almeida
d12ef78de6 refactor(all): cleanup mode font 2018-08-24 03:33:44 +02:00
Manu Mtz.-Almeida
3d6caae13f chore(): update to latest stencil 2018-08-22 23:38:23 +02:00
pwespi
d19061c863 fix(picker): allow 0 as the selectedIndex
fixes #14563
2018-08-14 11:12:58 -04:00
Manu Mtz.-Almeida
bd5a4a0294 refactor(overlays): enableBackdropDismiss => backdropDismiss 2018-08-13 18:32:24 +02:00
Manu Mtz.-Almeida
d856ecfbbf chore(): update to latest stencil 2018-08-12 12:04:27 +02:00
Manu Mtz.-Almeida
2d70ee4ca9 fix(all): user-select for desktop 2018-08-12 01:19:00 +02:00