Commit Graph

255 Commits

Author SHA1 Message Date
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
Ely Lucas
445f129e2d release-4.11.9 2020-01-23 13:56:20 -07:00
Nikos Douvlis
d76a5031c4 feat(segment-button): add --indicator-height property to segment button (#19653) 2020-01-23 15:55:57 -05:00
Ely Lucas
3a56228290 fix(core): updating type of input value to accept numbers, fixes #20173 (#20267) 2020-01-23 13:10:29 -07: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
8732a10757 refactor(): remove deprecated controllers (#20165)
* remove action-sheet-controller and alert-controller

* rmeove loading controller

* remove popover controller

* remove toast controller

* remove picker-controller

* remove modal controller

* remove menu controller

* update menu ctrl in tests

* run linter

* remove window refs

* Update core/src/components/loading/test/standalone/index.html

Co-Authored-By: Brandy Carney <brandyscarney@users.noreply.github.com>

* remove window from modal tests

* test

* testing timeout

* change timeout

Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
2020-01-14 12:09:35 -05:00
Brandy Carney
dc66ce48e1 feat(segment): implement iOS 13 segment with animation (#19036)
Changes
Closes #18663

* Converts Segment to shadow
* Enables gesture to swipe between segment buttons
* Adds indicator transition to slide the indicator between buttons
* Updates global theme variables
* Removes activated state, now handled by the gesture
* Updates iOS to latest iOS 13 UI
* Ensures customization is working for the buttons and indicator
* Updates the e2e tests
2020-01-14 11:51:28 -05:00
Asif Rahman
7b032c5e9b feat(datetime): add custom timezone display property (#19519)
resolves #19401
2020-01-09 15:29:40 -05:00
Adam Bradley
3aa47e6e2f fix(ssr): reflect content-id attribute (#20169)
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
2020-01-08 21:36:30 -06:00
Liam DeBeasi
a01c10267e feat(radio): add --border-radius and --inner-border-radius variables (#20140) 2020-01-03 13:14:39 -05:00
Alex Arvanitidis
c32a7bcd20 feat(checkbox): add --checkmark-width variable (#19933)
resolves #16803

Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2020-01-03 12:20:04 -05:00
Liam DeBeasi
02a46a1007 feat(toggle): add --border-radius and --handle-border-radius variables (#20141) 2020-01-03 12:14:02 -05:00
Liam DeBeasi
6612604733 refactor(searchbar): set inputmode default to undefined (#20080)
fixes #20074

BREAKING CHANGE: The `inputmode` property for `ion-searchbar` now defaults to `undefined`. To get the old behavior, set the `inputmode` property to `"search"`.
2019-12-16 12:16:54 -05:00
Manu MA
b3b3312711 feat(modal): add card-style presentation with swipe to close gesture (#19428)
resolves #18660
2019-12-10 16:02:41 -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
Brandy Carney
5bbb95fae1 feat(list-header): redesign list header for iOS spec (#19915) 2019-11-19 14:53:37 -05:00
Adam Bradley
0d40d3f3b7 refactor(back-button): convert to shadow component (#19411)
references #18899
2019-11-14 14:39:35 -05:00
Liam DeBeasi
bef0f53d0d feat(select): add --placeholder-opacity and --placeholder-color, expose shadow parts (#19893)
resolves #17446
2019-11-11 12:49:10 -05:00
Brandy Carney
b23c759456 docs(slides): document css vars (#19872) 2019-11-08 12:37:00 -05:00
Antoine
1ab7066aa0 feat(searchbar): add --box-shadow variable to style searchbar input (#19838)
* Updates searchbar.md.scss to expose box-shadow

We would like to style the box-shadow property in searchbar and give the parent the ability to control it.

* fix(searchbar): add box shadow to main input for both modes
2019-11-08 10:53:42 -05:00
Liam DeBeasi
d80f45516d feat(split-pane): convert to shadow component, add width, max-width, and min-width vars (#19754)
resolves #17088


Co-authored-by: troyanskiy <roman.rosluk@utopix.ch>
2019-10-30 14:16:39 -04:00
Michael Asimakopoulos
ed6f3b9f3f fix(searchbar): use back button config value (#19353)
fixes #19347
2019-10-16 11:41:25 -04:00
Liam DeBeasi
32b97582cb refactor(): remove old animation utility (#19586)
Use Ionic Animations instead
2019-10-11 13:47:52 -04:00
Adam Bradley
08bb60dcbb refactor(card): convert card to shadow (#19395)
references #18899
2019-10-10 15:55:35 -04:00
Brandy Carney
bd22926c49 feat(overlays): add global backdrop opacity variable for animations (#19533)
adds `--backdrop-opacity` to all overlays and `--ion-backdrop-opacity` for global control

closes #16446
2019-10-10 14:34:16 -04:00
Brandy Carney
3cac855e1a refactor(searchbar): remove boolean values from showCancelButton (#18953)
BREAKING CHANGES

The `show-cancel-button` property of the searchbar no longer accepts boolean values. Accepted values are strings: `"focus"`, `"always"`, `"never"`. The following should change:

```
<ion-searchbar show-cancel-button>
<ion-searchbar show-cancel-button="true">
<ion-searchbar show-cancel-button="false">
```

becomes

```
<ion-searchbar show-cancel-button="focus">
<ion-searchbar show-cancel-button="focus">
<ion-searchbar show-cancel-button="never">
```
2019-10-10 14:34:16 -04:00
Brandy Carney
97964a9e9f refactor(anchor): remove anchor in favor of router-link (#18935)
BREAKING CHANGES

The deprecated `ion-anchor` component has been removed in favor using `ion-router-link`. It should still only be used with vanilla and Stencil JavaScript projects. For Angular projects, use an `<a>` and `routerLink` with the Angular router.
2019-10-10 14:34:16 -04:00
Brandy Carney
13974c1047 refactor(skeleton-text): remove width property (#18936)
BREAKING CHANGES

Skeleton text's `width` property has been removed. Please use CSS instead to set the width.
2019-10-10 14:34:16 -04:00
Brandy Carney
07d5f77584 refactor(nav): remove nav-push, nav-pop nav-root (#19240)
BREAKING CHANGES

Removes ion-nav-pop, ion-nav-push and ion-nav-set-root in favor of using ion-nav-link with router-direction
2019-10-10 14:34:16 -04:00
Liam DeBeasi
d6c20a9dec refactor(toast): remove showCloseButton and closeButtonText (#18957)
* Remove close button

* update tests

* update tests

* add build
2019-10-10 14:34:16 -04:00
Nick Stucko
aed2dba5aa docs(range): add range pin CSS custom properties (#19537) 2019-10-07 12:02:47 -04:00
Liam DeBeasi
e90e960294 chore(header): finalize collapse API (#19276)
* make requested changes

* add e2e

* add RTL support

* fix typo

* add info on how to make collapsable title

* add usage examples

* fix typo

* fix another typo

* fix typos

* update usage

* fix alpha order

* update api

* add class to collapse buttons

* merge

* update

* change back to collapse

* remove platform specific class

* update docs

* run build

* update api again

* run build
2019-09-24 18:00:03 +01:00
Brandy Carney
e27962dcaf feat(title): add support for small title (#19215)
Updates title to include `small` size and updates searchbar and UI to match native.

closes #18898
2019-09-05 17:32:19 -04:00
Liam DeBeasi
923312ecd5 feat(title): add large iOS toolbar title (#19268)
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
2019-09-04 11:38:48 -04:00
Liam DeBeasi
e1fa461e9b feat(swiper): expose full API (#19137)
* expose full swiper API

* update types

* run build

* run angular build
2019-08-27 12:25:35 -04:00
Manu MA
c3044f59df feat(nav-link): merge nav-push/pop/set-root into a single component (#18909) 2019-08-27 18:14:13 +02:00
Simon
3e63b3c2c4 fix(input): update inputmode attribute values to match the specs (#19131) 2019-08-26 16:07:54 -04: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
Adam Bradley
e33cf854a9 feat(spinner): add circular spinner for MD default (#19052) 2019-08-08 16:08:13 -05:00
Simon
1187dc2fc7 feat(searchbar): add inputmode property (#18980) 2019-08-08 20:13:34 +02:00
Stefanos Anagnostou
00891119f7 feat(virtual-scroll): adds headerHeight and footerHeight (#18851)
Currently, if you have an ion-virtual-scroll with a list of items and a search bar for filtering them, when you change the list of items, the items disappear until rendered again, causing a flicker. This could be solved for the items using the itemHeight function to provide the exact height size and bypass some calculations and be more performant etc.

However, if you had a header or footer, they would still flicker. This commit adds two more optional functions named headerHeight and footerHeight that return the exact size of the header and footer respectively and resolve the flicker.
2019-07-24 18:29:16 +02:00
Brandy Carney
1f51ab27c4 fix(router-link): add missing target prop (#18659)
references #18655
2019-07-01 11:23:41 -04:00
Manu Mtz.-Almeida
b69fb69a1a fix(router-outlet): fix swipe to go back 2019-06-27 17:51:03 +02:00
Brandy Carney
d4c7b036fc feat(router-link): add router-link and deprecate anchor (#18620) 2019-06-25 18:06:51 -04:00
Brandy Carney
8a88dd25b6 feat(item): add hover and focused states (#18606)
references #18279 references #17624
2019-06-25 17:29:14 -04:00
Brandy Carney
ad00679da9 feat(fab-button): add hover state using tint colors (#18536)
- fixes a bug where backdrop filter was not applied on translucent buttons and checks for support first

references #17624
2019-06-25 17:26:29 -04:00
Manu MA
b40f7d36d5 fix(): update to Stencil One 🎉🎊 2019-06-19 21:33:50 +02:00
Brandy Carney
eca4121dc6 feat(components): add missing button/a props to components that render them (#17883)
Adds the following properties to the components listed under them:

`rel`, `download`, `target`:
- anchor
- button
- card
- fab-button
- item-option
- item
- tab-button

`disabled`:
- back-button
- menu-button

`type`:
- back-button
- item-option
- menu-button
- segment-button

fixes #16848 closes #16889


Co-authored-by: bitflower <matthias.max@bitflower.net>
2019-06-12 14:06:29 -04:00
Liam DeBeasi
aac60b1390 default to never 2019-06-11 14:01:12 -04:00
Liam DeBeasi
b959e0b5ec feat(searchbar): add cancel button options 2019-06-11 11:17:48 -04:00