ionic-framework

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

MIT License

Downloads
29.5K
Stars
50.9K

Bot releases are hidden (Show)

ionic-framework - 4.0.0-rc.0

Published by manucorporat almost 6 years ago

Bug Fixes

Features

Performance Improvements

  • angular: detach fromn change detection (f613b3b)
ionic-framework - 4.0.0-beta.19

Published by manucorporat almost 6 years ago

Bug Fixes

Features

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

FAB Button mini

Renamed [mini] attribute to [size=small] in ion-fab-button.

- <ion-fab-button mini></ion-fab-button>
+ <ion-fab-button size="small"></ion-fab-button>
ionic-framework - 4.0.0-beta.18

Published by manucorporat almost 6 years ago

Bug Fixes

Features

BREAKING CHANGES

[ANGULAR] Tabs

Tabs got the last bit of changes needed in order to support lazy loading of components. To support this, some changes are required for the router config. Using the tabs starter as an example, here's a diff of the changes:

 import { RouterModule, Routes } from '@angular/router';

 import { TabsPage } from './tabs.page';
-import { Tab1Page } from '../tab1/tab1.page';
-import { Tab2Page } from '../tab2/tab2.page';
-import { Tab3Page } from '../tab3/tab3.page';

 const routes: Routes = [
   {
     path: 'tabs',
     component: TabsPage,
     children: [
-      {
-        path: '',
-        redirectTo: '/tabs/(tab1:tab1)',
-        pathMatch: 'full',
-      },
       {
         path: 'tab1',
-        outlet: 'tab1',
-        component: Tab1Page
+        children: [
+          {
+            path: '',
+            loadChildren: '../tab1/tab1.module#Tab1PageModule'
+          }
+        ]
       },
       {
         path: 'tab2',
-        outlet: 'tab2',
-        component: Tab2Page
+        children: [
+          {
+            path: '',
+            loadChildren: '../tab2/tab2.module#Tab2PageModule'
+          }
+        ]
       },
       {
         path: 'tab3',
-        outlet: 'tab3',
-        component: Tab3Page
+        children: [
+          {
+            path: '',
+            loadChildren: '../tab3/tab3.module#Tab3PageModule'
+          }
+        ]
+      },
+      {
+        path: '',
+        redirectTo: '/tabs/tab1',
+        pathMatch: 'full'
       }
     ]
   },
   {
     path: '',
-    redirectTo: '/tabs/(tab1:tab1)',
+    redirectTo: '/tabs/tab1',
     pathMatch: 'full'
   }
 ];

And for the tabs markup, we have something close to pre-beta 16 tabs, but still provides a custom tab-bar.

 <ion-tabs>

-  <ion-tab tab="tab1">
-    <ion-router-outlet name="tab1"></ion-router-outlet>
-  </ion-tab>
-  <ion-tab tab="tab2">
-    <ion-router-outlet name="tab2"></ion-router-outlet>
-  </ion-tab>
-  <ion-tab tab="tab3">
-    <ion-router-outlet name="tab3"></ion-router-outlet>
-  </ion-tab>
-
   <ion-tab-bar slot="bottom">
-
-    <ion-tab-button tab="tab1" href="/tabs/(tab1:tab1)">
+    <ion-tab-button tab="tab1">
       <ion-icon name="flash"></ion-icon>
       <ion-label>Tab One</ion-label>
     </ion-tab-button>

-    <ion-tab-button tab="tab2" href="/tabs/(tab2:tab2)">
+    <ion-tab-button tab="tab2">
       <ion-icon name="apps"></ion-icon>
       <ion-label>Tab Two</ion-label>
     </ion-tab-button>

-    <ion-tab-button tab="tab3" href="/tabs/(tab3:tab3)">
+    <ion-tab-button tab="tab3">
       <ion-icon name="send"></ion-icon>
       <ion-label>Tab Three</ion-label>
     </ion-tab-button>
-
   </ion-tab-bar>

 </ion-tabs>

[ANGULAR] href does not cause Angular Router to navigate

For consistency sake, the href attribute of ion-button, ion-item and ion-anchor no longer
trigger navigation using the Angular’s Router,instead use angular’s [routerLink]:

- <ion-button href="/path/to/page">
+ <ion-button routerLink="/path/to/page">

This change will not affect SEO since ionic will still use href under the hood.

[ANGULAR] Prefixed Ion- components

For consistency with other frameworks and the rest of APIs and tooling, the exported
ionic components are prefixed with Ion.

- import { Input } from '@ionic/angular';
+ import { IonInput } from '@ionic/angular';

This change might also help to improve autocompletion, and prevent collisions with other libraries.

More info

ionic-framework - 4.0.0-beta.17

Published by manucorporat almost 6 years ago

Bug Fixes

Features

ionic-framework - 4.0.0-beta.16

Published by manucorporat almost 6 years ago

BREAKING CHANGES

Segment Button now requires the text to be wrapped in an ion-label element for improved styling.

Old usage:

<ion-segment-button>
 Item One
</ion-segment-button>

New usage:

<ion-segment-button>
 <ion-label>Item One</ion-label>
</ion-segment-button>

Simplifying Chip

Because of updates to the Material Design spec, ion-chip no longer requires a chip-specific version of ion-icon or ion-button. Chips themselves should be interactive and don't require a nested button.

Old usage:

<ion-chip>
  <ion-chip-icon name="checkmark"><ion-chip-icon>
</ion-chip>

New usage:

<ion-chip>
  <ion-icon name="checkmark"></ion-icon>
</ion-chip>

Bug Fixes

Features

Performance Improvements

  • angular: remove duplicated code in value-accessor (bfbbeca)

Dependencies

If you are using @ionic/angular, please update the version number of any @angular packages in your package.json file to 7.0.3.

"dependencies": {
  "@angular/common": "~7.0.3",
  "@angular/core": "~7.0.3",
  "@angular/forms": "~7.0.3",
  "@angular/http": "~7.0.3",
  "@angular/platform-browser": "~7.0.3",
  "@angular/platform-browser-dynamic": "~7.0.3",
  "@angular/router": "~7.0.3",
  "rxjs": "6.3.3",
"devDependencies": {
  "@angular-devkit/architect": "~0.10.5",
  "@angular-devkit/build-angular": "~0.10.5",
  "@angular-devkit/core": "~0.7.5",
  "@angular-devkit/schematics": "~0.7.5",
  "@angular/cli": "~7.0.3",
  "@angular/compiler": "~7.0.3",
  "@angular/compiler-cli": "~7.0.3",
  "@angular/language-service": "~7.0.3",
ionic-framework - 4.0.0-beta.15

Published by manucorporat almost 6 years ago

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

Rethinking Tabs

One of the most valuable and complex components in Ionic's toolkit is Tabs. Tabs started off as a simple component that would create a tabbed interface to allow users to switch between different views in a way that was consistent with native UX paradigms.

Over time, we started hearing people ask for more features to be added: "Can we have one tab button that is just a button?" "Can I customize how the tab buttons are displayed?" "Can I use a custom icon in the tab?"

Traditionally, these features, and many others, were difficult to accomplish because Tabs was doing a lot of magic behind the scenes to generate the Tab bar and buttons. With this in mind, we thought it was time for a refresh to offer as much flexibility as possible within Tabs.

In order to do this, we had to change how Tabs were written in an app. Prior to Beta 14, Tabs would look like this:

<ion-tabs>
  <ion-tab label="Home" icon="home" href="/tabs/(home:home)">
    <ion-router-outlet name="home"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="About" icon="information-circle" href="/tabs/(about:about)">
    <ion-router-outlet name="about"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="Contact" icon="contacts" href="/tabs/(contact:contact)">
    <ion-router-outlet name="contact"></ion-router-outlet>
  </ion-tab>
</ion-tabs>

Here, we have an ion-tab element that accepts an icon, a label, and a link to navigate to as properties. This is pretty much how Tabs have worked all the way back to Ionic 1. In Beta 14, we've removed some of the magic from Tabs which allows for more customization:

<ion-tabs>
  <ion-tab-bar>

    <!-- No ion-tab, just a link that looks like a tab -->
    <ion-tab-button href=”https://beta.ionicframework.com”>
      <!-- <a href=”https://beta.ionicframework.com”> -->
      <ion-icon name="globe"></ion-icon>
      <ion-label>Schedule</ion-label>
    </ion-tab-button>

    <!-- No ion-tab, just a button that looks like a tab -->
    <ion-tab-button (click)=”openCamera()”>
      <ion-icon name="camera"></ion-icon>
      <ion-label>Photo</ion-label>
    </ion-tab-button>

    <!-- Connected to ion-tab, on click will show the ion-tab with id home-view -->
    <ion-tab-button tab=”home-view”>
      <ion-icon name="home"></ion-icon>
      <ion-label>Home</ion-label>
    </ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”>
    <ion-content></ion-content>
    <!-- or -->
    <ion-nav></ion-nav>
    <!-- or -->
    <ion-router-outlet></ion-router-outlet>
  </ion-tab>

</ion-tabs>

There's a lot going on here, so let's break it down:

  1. A single parent ion-tabs wraps the entire layout. Same as before.
  2. A new element, ion-tab-bar, creates the Tab Bar which will contain buttons.
  3. A new element, ion-tab-button, is used to create each button in the Tab Bar. These could be static links to different routes, buttons with click handlers on them, or link to whole tab views.
  4. The ion-tab component becomes a separate container that has inline content (ion-content), a navigation component (ion-nav) or a router outlet (ion-router-outlet).

To connect the ion-tab-button to the ion-tab, the tab property must be added to both of these components. For example:

<ion-tabs>
  <ion-tab-bar>
    <ion-tab-button tab=”home-view”></ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”></ion-tab>
</ion-tabs>

Since the tab property is the same on the ion-tab-button and ion-tab, when the Tab Button is tapped, the home-view Tab will become active. This takes the magic out of Tabs while making the behavior between the tab buttons and the views much more explicit.

Some other benefits of this refactor include:

  • Can now be written as a standalone Tab Bar (with no attached Tab)
  • Works with a navigation component or a plain content element
  • Works with shadow DOM and allows easy customization of the Tab Bar
  • Gives full control over the elements inside of the Tab Bar
  • Integrates nicely with other frameworks that have different ways of rendering element nodes

Lastly, this change also fixes some outstanding issues with Tabs, so we're excited to get this out to you all!

Bug Fixes

Features

Performance Improvements

ionic-framework - 4.0.0-beta.15-0

Published by manucorporat almost 6 years ago

Rethinking Tabs

One of the most valuable and complex components in Ionic's toolkit is Tabs. Tabs started off as a simple component that would create a tabbed interface to allow users to switch between different views in a way that was consistent with native UX paradigms.

Over time, we started hearing people ask for more features to be added: "Can we have one tab button that is just a button?" "Can I customize how the tab buttons are displayed?" "Can I use a custom icon in the tab?"

Traditionally, these features, and many others, were difficult to accomplish because Tabs was doing a lot of magic behind the scenes to generate the Tab bar and buttons. With this in mind, we thought it was time for a refresh to offer as much flexibility as possible within Tabs.

In order to do this, we had to change how Tabs were written in an app. Prior to Beta 14, Tabs would look like this:

<ion-tabs>
  <ion-tab label="Home" icon="home" href="/tabs/(home:home)">
    <ion-router-outlet name="home"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="About" icon="information-circle" href="/tabs/(about:about)">
    <ion-router-outlet name="about"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="Contact" icon="contacts" href="/tabs/(contact:contact)">
    <ion-router-outlet name="contact"></ion-router-outlet>
  </ion-tab>
</ion-tabs>

Here, we have an ion-tab element that accepts an icon, a label, and a link to navigate to as properties. This is pretty much how Tabs have worked all the way back to Ionic 1. In Beta 14, we've removed some of the magic from Tabs which allows for more customization:

<ion-tabs>
  <ion-tab-bar>

    <!-- No ion-tab, just a link that looks like a tab -->
    <ion-tab-button href=”https://beta.ionicframework.com”>
      <!-- <a href=”https://beta.ionicframework.com”> -->
      <ion-icon name="globe"></ion-icon>
      <ion-label>Schedule</ion-label>
    </ion-tab-button>

    <!-- No ion-tab, just a button that looks like a tab -->
    <ion-tab-button (click)=”openCamera()”>
      <ion-icon name="camera"></ion-icon>
      <ion-label>Photo</ion-label>
    </ion-tab-button>

    <!-- Connected to ion-tab, on click will show the ion-tab with id home-view -->
    <ion-tab-button tab=”home-view”>
      <ion-icon name="home"></ion-icon>
      <ion-label>Home</ion-label>
    </ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”>
    <ion-content></ion-content>
    <!-- or -->
    <ion-nav></ion-nav>
    <!-- or -->
    <ion-router-outlet></ion-router-outlet>
  </ion-tab>

</ion-tabs>

There's a lot going on here, so let's break it down:

  1. A single parent ion-tabs wraps the entire layout. Same as before.
  2. A new element, ion-tab-bar, creates the Tab Bar which will contain buttons.
  3. A new element, ion-tab-button, is used to create each button in the Tab Bar. These could be static links to different routes, buttons with click handlers on them, or link to whole tab views.
  4. The ion-tab component becomes a separate container that has inline content (ion-content), a navigation component (ion-nav) or a router outlet (ion-router-outlet).

To connect the ion-tab-button to the ion-tab, the tab property must be added to both of these components. For example:

<ion-tabs>
  <ion-tab-bar>
    <ion-tab-button tab=”home-view”></ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”></ion-tab>
</ion-tabs>

Since the tab property is the same on the ion-tab-button and ion-tab, when the Tab Button is tapped, the home-view Tab will become active. This takes the magic out of Tabs while making the behavior between the tab buttons and the views much more explicit.

Some other benefits of this refactor include:

  • Can now be written as a standalone Tab Bar (with no attached Tab)
  • Works with a navigation component or a plain content element
  • Works with shadow DOM and allows easy customization of the Tab Bar
  • Gives full control over the elements inside of the Tab Bar
  • Integrates nicely with other frameworks that have different ways of rendering element nodes

Lastly, this change also fixes some outstanding issues with Tabs, so we're excited to get this out to you all!

Bug Fixes

Features

Performance Improvements

ionic-framework - 4.0.0-beta.14

Published by manucorporat almost 6 years ago

Rethinking Tabs

One of the most valuable and complex components in Ionic's toolkit is Tabs. Tabs started off as a simple component that would create a tabbed interface to allow users to switch between different views in a way that was consistent with native UX paradigms.

Over time, we started hearing people ask for more features to be added: "Can we have one tab button that is just a button?" "Can I customize how the tab buttons are displayed?" "Can I use a custom icon in the tab?"

Traditionally, these features, and many others, were difficult to accomplish because Tabs was doing a lot of magic behind the scenes to generate the Tab bar and buttons. With this in mind, we thought it was time for a refresh to offer as much flexibility as possible within Tabs.

In order to do this, we had to change how Tabs were written in an app. Prior to Beta 14, Tabs would look like this:

<ion-tabs>
  <ion-tab label="Home" icon="home" href="/tabs/(home:home)">
    <ion-router-outlet name="home"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="About" icon="information-circle" href="/tabs/(about:about)">
    <ion-router-outlet name="about"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="Contact" icon="contacts" href="/tabs/(contact:contact)">
    <ion-router-outlet name="contact"></ion-router-outlet>
  </ion-tab>
</ion-tabs>

Here, we have an ion-tab element that accepts an icon, a label, and a link to navigate to as properties. This is pretty much how Tabs have worked all the way back to Ionic 1. In Beta 14, we've removed some of the magic from Tabs which allows for more customization:

<ion-tabs>
  <ion-tab-bar>

    <!-- No ion-tab, just a link that looks like a tab -->
    <ion-tab-button href=”https://beta.ionicframework.com”>
      <!-- <a href=”https://beta.ionicframework.com”> -->
      <ion-icon name="globe"></ion-icon>
      <ion-label>Schedule</ion-label>
    </ion-tab-button>

    <!-- No ion-tab, just a button that looks like a tab -->
    <ion-tab-button (click)=”openCamera()”>
      <ion-icon name="camera"></ion-icon>
      <ion-label>Photo</ion-label>
    </ion-tab-button>

    <!-- Connected to ion-tab, on click will show the ion-tab with id home-view -->
    <ion-tab-button tab=”home-view”>
      <ion-icon name="home"></ion-icon>
      <ion-label>Home</ion-label>
    </ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”>
    <ion-content></ion-content>
    <!-- or -->
    <ion-nav></ion-nav>
    <!-- or -->
    <ion-router-outlet></ion-router-outlet>
  </ion-tab>

</ion-tabs>

There's a lot going on here, so let's break it down:

  1. A single parent ion-tabs wraps the entire layout. Same as before.
  2. A new element, ion-tab-bar, creates the Tab Bar which will contain buttons.
  3. A new element, ion-tab-button, is used to create each button in the Tab Bar. These could be static links to different routes, buttons with click handlers on them, or link to whole tab views.
  4. The ion-tab component becomes a separate container that has inline content (ion-content), a navigation component (ion-nav) or a router outlet (ion-router-outlet).

To connect the ion-tab-button to the ion-tab, the tab property must be added to both of these components. For example:

<ion-tabs>
  <ion-tab-bar>
    <ion-tab-button tab=”home-view”></ion-tab-button>
  </ion-tab-bar>

  <ion-tab tab=”home-view”></ion-tab>
</ion-tabs>

Since the tab property is the same on the ion-tab-button and ion-tab, when the Tab Button is tapped, the home-view Tab will become active. This takes the magic out of Tabs while making the behavior between the tab buttons and the views much more explicit.

Some other benefits of this refactor include:

  • Can now be written as a standalone Tab Bar (with no attached Tab)
  • Works with a navigation component or a plain content element
  • Works with shadow DOM and allows easy customization of the Tab Bar
  • Gives full control over the elements inside of the Tab Bar
  • Integrates nicely with other frameworks that have different ways of rendering element nodes

Lastly, this change also fixes some outstanding issues with Tabs, so we're excited to get this out to you all!

Bug Fixes

Features

Performance Improvements

ionic-framework - 4.0.0-beta.13

Published by manucorporat about 6 years ago

Bug Fixes

  • all: avoid using focus() since it conflicts with HTMLElement (5560dcd), closes #15810
  • all: disable animations in e2e tests (9d109d6)
  • all: docs for all missing props (a72fced)
  • angular: add "main" to package.json as workaround for webstorm (c57a7cc)
  • angular: backButton event uses ionBackButton (0337c7f)
  • angular: only bypass zone in high-rate events (f63c0f5), closes #15765
  • button: use class instead of reflect (e189cc6), closes #15623
  • card: include card-header in current color (b5e39c8)
  • card: update currentColor to use contrast color (a9a29f7)
  • card-header: get color property working (92514b3), closes #14723 #14853
  • col: fix CSS is undefined error on IE11 (#15882) (06a3028)
  • content: iOS should not have scroll in desktop (8cb1886), closes #15858
  • css: avoid cleancss bug (f87d4bf), closes #15807
  • css: remove selection color (6b0d812)
  • docs: Fix commit link on CONTRIBUTING.md (#15834) (fe0c3b4)
  • fab-button: add and document css properties (098bd82), closes #14808
  • fab-button: ripple-effect in safari (844c33a), closes #15768
  • hide/show: fix show-when/hide-when (fd01308), closes #15813
  • infinite-scroll: implements position="top" (b4a73ad), closes #15481
  • input: add and document custom properties (23df042), closes #14850
  • input: tabindex or tab in ion-input do not work with clearInput fix (e916500)
  • ion-datetime: keep the model value consistently an ISO string (#15907) (b46052b)
  • item: add input highlight using an absolute div (#15856) (f885f7d), closes #14036 #9639 #14952 #15690
  • item: detail context based in text color (e51f1f3)
  • label: add color variable, examples to test and document (b485eba), closes #14853 #14850
  • list: don't show inset lines for full line list (6eae95a)
  • menu: menu registers itself before it's ready (08beee3)
  • menu: overlays can block menu closing (11aa241), closes #15880
  • menu: wait until all menus are ready (a5c2cc1), closes #15727
  • menu-button: color (386cf82), closes #15546 #15545
  • menu-button: Not visible if toolbar has primary color (#15847) (e2ea08b)
  • modal/popover: lifecycle events (19c449e), closes #15806
  • picker: stop animation when it's closed (e81af2d), closes #15854
  • popover: showBackdrop hides backdrop (f00be0d), closes #15878
  • reorder-group: delegate dom reordering (5f65942), closes #15836
  • slides: disable autoplay by default (db6ddb0), closes #15766
  • tabbar: css variables assigned to the host (545db2e)
  • tabs: badgeColor works again (3d98587), closes #15559 #14840
  • tabs: fix async deadlock (905c7db)
  • title: allow color to be set for title without attribute (a9b3064), closes #14853 #14850
  • toggle: improve animation motion (5330574)

Features

  • angular: observer based api to override hardware back button (6a5aec8), closes #15820
  • menu: add new lifeycle events (64b52b5)
  • nav: animation is customizable (24f3373), closes #15851
  • overlays: expose animation customization (dc976cc)
  • initial vue support (73cff0c)

Performance Improvements

  • prevent unnecesary event listener changes (a999c1f)
ionic-framework - 4.0.0-beta.12

Published by manucorporat about 6 years ago

Bug Fixes

  • action-sheet: allow async button handler returned value (3d3e6a4)
  • alert: check if value is null instead of truthy (799f0d7), closes #15420
  • all: gesture controller can block scrolling (633360f), closes #15725
  • all: lint errors (f8eafa7)
  • all: safe margins for fab, item-header, tabbar (62eff0a)
  • angular: add event listener on window (#15628) (7bd33a7)
  • angular: import icons using webpack apis (b71b36c)
  • angular: ionic/core is only a dep (236d8a4)
  • angular: value is updates based in ionChange (e18f8bf), closes #15722
  • app: statusTap and hardwareGB can be activated with config (c048f9f), closes #15617
  • back-button: add and document custom properties (b3aebb8), closes #14808 #14850 #14853
  • back-button: default md color is inhered (d0867b5)
  • button: default button width to auto to avoid inheriting (bac49ca), closes #15522
  • button: disable :hover on non supported devices (#15705) (67eb661)
  • button: disable pointer events in toolbar buttons (d145cae), closes #15623
  • buttons: fix activated, position, animation (9d6169a)
  • color: do not accept empty color (ede5525), closes #15732
  • content: apply background to the inner scroll element (f68c457), closes #15635
  • content: nested content (5f5ba66), closes #15680
  • datetime: check for null instead of undefined (407b147), closes #15605
  • datetime: convert to shadow and fix broken styles (fa77017), closes #15547 #14850
  • fab: do not reset fab activated if it's false (d619d8d)
  • gestures: change itemSliding gesture priority (48927e6), closes #15608
  • input: fix text type for select change event (694b6a8)
  • item: add the multiple inputs class to fix select/datetime in item (1cd792e), closes #15401
  • item-divider: add and document custom properties (06cb138), closes #14850 #14808
  • item-option: add and document custom properties (2a040e0), closes #14850 #14808 #14943
  • menu: crash when menu if forcedClosed (22e15b4)
  • menu: opening a menu autocloses any opened ones (8796f9f)
  • menu-controller: expose registerAnimation (29d00da), closes #15701
  • overlay: register backbutton handler only when needed (#15615) (b2b5d93), closes #15601
  • platform: using desktop instead of window (c8de84d)
  • add safe area cutouts (#15750) (a3c85ae)
  • radio: add css variables to make it customizable (9ec8e74), closes #15729
  • select: add position styles to work as standalone (224b4f8)
  • select: placeholder can be reset if value = null (602f668)
  • select: show placeholder when multiple is empty (29862e8)
  • select-popover: add scoped to apply proper styles to list (fd1b636)
  • slides: add back zoom plugin for swiper (6890ecc), closes #15676
  • slides: fix mutable options (681981f)
  • tap-click: prevent activated while scrolling (7f38d37), closes #15752
  • toast: button color is contrast (f65ec10), closes #15737

Features

  • animation: ability to disable animations w/ querystring (734b222)
  • app: adds _forceStatusbarPadding for ionic lab (0379977)
  • ripple: ability to disable ripple effect w/ querystring (efca0ae)
  • screenshot: update to use stencil e2e screenshot testing (43b9045)

Reverts

  • content: block scrolling in ion-content (9badb08)
ionic-framework - 4.0.0-beta.11

Published by manucorporat about 6 years ago

Bug Fixes

  • slides: swiper must be a vendor (3435473)
ionic-framework - 4.0.0-beta.10

Published by manucorporat about 6 years ago

Bug Fixes

  • animation: always call onFinish() (c23c5a4)
  • button: vanilla color is usable (b8b9b83)
  • segment: unselected color (b9e42eb)
  • slides: swiper is not required as dependency (29f324b)
ionic-framework - 4.0.0-beta.9

Published by manucorporat about 6 years ago

Bug Fixes

  • anchor: make it activatable (6c62e6c)
  • angular: only append the component when the parent element is not the container element (6d6f70c), closes #14737
  • back-button: subscribe to body (37c9be7)
  • button: add custom properties and remove --ion-color overrides (#15463) (3af4361), closes #14808 #14853 #14850
  • core: matchBreakpoint will return true if breakPoint is empty string (#15498) (b362b0a), closes #15495
  • esm: reorganiza exports (bb19243)
  • fab-button: add routerDirection (2398634), closes #15551
  • input: value might be null/undefined (83543b7)
  • item: update hostContext to use ion-item element (21d1f2e)
  • item-option: add activated and ripple to button (78e2a0a), closes #14943
  • item-option: enable ripple-effect (428a5da)
  • item-sliding: make sure options are ready (7f59f91)
  • list-header: add and document custom properties (5ccc1fd), closes #14850 #14853 #14808
  • menu: ios styles (281f9a3)
  • nav: matches() function (9420b88)
  • overlay: animation can be interrupted (ca58664), closes #15506
  • overlay: only register backButton listener once (75c2d74)
  • popover: content sizing, scoped css (51d4e08), closes #15237 #15589 #15331
  • popover: remove unneeded code (b26c017)
  • radio: add and document custom properties (0f9a7b4), closes #14850
  • range: update range ratio when new min/max are passed (#15512) (f62601f), closes #15511
  • searchbar: add and document custom properties (7f57e02), closes #14850
  • searchbar: inherit color from color toolbar (3042f57)
  • searchbar: ionCancel event (20a7599), closes #15476
  • segment: fix css var + host-context() (49ab065)
  • slides: correct order of parameters (6442dfc), closes #15407
  • slides: Methods wait for execution until swiper is initialized (#15576) (ea01900)
  • slides: Update swiperOptions default to match version 4 of Swiper (#15578) (db35af2)
  • slides: Updated lockSwipes methods to match the new swiper.js API (#15469) (efb99cb)
  • sliding-item: swipe event (127da1a)
  • test: treeshake check runs last (b56f136)
  • test: workaround for nav tests (a4b1179)
  • toast: adds role timeout and cancel (2f2a255), closes #15477
  • toast: render on top (ac42180)
  • toggle: empty hidden input value when not checked (1f19862)
  • handle failure in hardware back button (6da765b)
  • remove argument-less catch() (ff919de)

Features

  • angular: integrate back-button with ng router (1bcca01)
  • app: hardware back button support (dfac9dc)
  • overlays: close overlay with back-button (4ccbefa)
  • router: add support for relative paths (b28aeab), closes #15499
  • virtual-scroller: add support (d40d0a7)

Performance Improvements

  • router: prevent initializaing page twice (3dd9604)
  • slides: tree-shake dependency (9d3a259)
ionic-framework - 4.0.0-beta.7

Published by manucorporat about 6 years ago

Bug Fixes

ionic-framework - 4.0.0-beta.6

Published by manucorporat about 6 years ago

Breaking Changes

  • All methods of all ionic components return a promise.
  • colors.css has been renamed to core.css, the global stylesheet needs to be updated:

Stencil

+ @import "~@ionic/core/css/core.css";
  @import "~@ionic/core/css/normalize.css";
  @import "~@ionic/core/css/structure.css";
  @import "~@ionic/core/css/typography.css";
- @import "~@ionic/core/css/colors.css";

  @import "~@ionic/core/css/padding.css";
  @import "~@ionic/core/css/float-elements.css";
  @import "~@ionic/core/css/text-alignment.css";
  @import "~@ionic/core/css/flex-utils.css";

Angular

+ @import "~@ionic/angular/css/core.css";
  @import "~@ionic/angular/css/normalize.css";
  @import "~@ionic/angular/css/structure.css";
  @import "~@ionic/angular/css/typography.css";
- @import "~@ionic/angular/css/colors.css";

  @import "~@ionic/angular/css/padding.css";
  @import "~@ionic/angular/css/float-elements.css";
  @import "~@ionic/angular/css/text-alignment.css";
  @import "~@ionic/angular/css/flex-utils.css";

Bug Fixes

ionic-framework - 4.0.0-beta.5

Published by manucorporat about 6 years ago

Bug Fixes

  • Ionic/angular compiler error

Breaking Changes

NavController

Changes are required to accommodate some new useful routing APIs and match the ng router ones closely:

goForward() -> navigateForward()
goBack() -> navigateBack()
goRoot() -> navigateRoot()

Dependencies

The following dependencies need to be updated to resolve build errors

  • Update Angular to 6.1 or higher
  • Update Typescript to 2.9.2
    • "typescript": "~2.9.2"
ionic-framework - 4.0.0-beta.4

Published by manucorporat about 6 years ago

Bug Fixes

  • alert: remove unneeded warning (8447f28)
  • all: add customization of font-style (c957ea6)
  • angular: back navigation and back-button play better (#15293) (9ddfb1b), closes #15290
  • angular: expose router.navigate() (7aa4f13), closes #15332
  • app: --ion-safe-area-right typo (77ca2bd)
  • app: listen statusTap event (dc82675)
  • app: statusbarPadding config is a boolean (b387de4)
  • build: do not export in component modules (da2dc7b)
  • buttons: margin between buttons (359c47f)
  • card: remove calculated width to work with dynamic margin (059d365), closes #15223
  • chip: add and document custom properties (07e99a1), closes #14850 #14853 #14808
  • config: scrollAssist boolean definition (#15203) (2af72fa)
  • config: using sessionStorage is not safe (091b433)
  • content: document and add custom properties (0372aec), closes #14850 #14808 #14853
  • content: fix scroll events (962578e), closes #15244
  • content: scrollToPoint reliability (e0f1259), closes #15257
  • datetime: allow values to be zero (#14480) (e0b8e24)
  • docs: add missed menu title in the list (#15300) (5f3c7cd)
  • docs: use shape property to get round buttons (#15321) (d4c812f)
  • docs: use shape property to get round buttons (#15322) (5c6fe45)
  • hide-when: mode is a reserved property (c446d1b)
  • img: add object-fit to the host to avoid skewing the inner img (2e94227)
  • infinite-scroll: remove unused method (926758e)
  • input: clearInput works in device (ac96705), closes #15319
  • menu: do not override --ion-color-base (a890828)
  • modal: make sure content is ready (2c8bc04), closes #14969
  • nav: remove nav-decor once transition finished (b8a87fb), closes #15121
  • note: do not overide --ion-color-base (5f90dbf)
  • overlay: expose "animated" API (8b768fb), closes #14775
  • overlays: dismiss last overlay (c1c5102)
  • overlays: esc button works closed top overlays (c567a82), closes #14662
  • picker: tune scrolling speed (bd75bf4)
  • platform: better detect platforms + css API (3ffa3cd), closes #15165 #15116
  • popover: make sure content is ready (8bf60e7)
  • popover: they should not below other overlays (d83e7f8), closes #14662
  • refresher: tune threshold (d129f62), closes #15233
  • ripple-effect: add and document custom properties (37a149c), closes #14850
  • segment: add and document custom properties (08c6c97), closes #14850 #14808 #14854
  • select: add and document custom properties (88613ff), closes #14850
  • select: random type in generated.d.ts (11edc49)
  • select: support any kind of value (151c58e), closes #15200
  • skeleton-text: add and document custom properties (b213500), closes #14850
  • slides: document custom properties (ecf1eb8), closes #14850
  • split-pane: add and document custom properties (9104850), closes #14850
  • textarea: remove autocomplete prop (5989f15)
  • title: mode is inherited (94ea0a6), closes #15187
  • toggle: cursor: pointer in desktop (86acb8c)
  • toolbar: add position relative to host for toolbar background (ac2db9f), closes #15193
  • transition: cleanup transition (70a38ac), closes #15317
  • virtual-scroll: update VS when items change (3adfb98)

Features

Performance Improvements

  • overlay: prevent layout thrashing (ed5c8eb)
  • ripple-effect: using requestIdleCallback (ea1c3d4)
ionic-framework - 4.0.0-beta.3

Published by manucorporat about 6 years ago

Bug Fixes

Features

ionic-framework - 4.0.0-beta.2

Published by manucorporat about 6 years ago

Bug Fixes

Features

Performance Improvements

  • app: move app css to global css (a71f382)
  • menu: flickering (8253b04)
  • scroll: filter velocity using exponential moving window (419ef7b)
ionic-framework - 4.0.0-beta.1

Published by manucorporat about 6 years ago

Bug Fixes

  • accesibility: boolean aria-* properties (4f9cbfe)
  • all: strong type text fields (1d001a3)
  • all: updated tslint rules to latest (92e21a8)
  • angular: events (7a0545d), closes #14866
  • angular: ion-router-outlet exposes animated (266336e), closes #14913
  • angular: pass proper animated value (7813acc)
  • app: statusbarPadding (fd8f875)
  • app: user-select on desktop (8a1ad1d)
  • button: do not change border radius if round button in toolbar (#14941) (ad006dd), closes #7661
  • button: improve text style inherency (25423a0), closes #14927
  • button: submit forms using fake button (c05d672), closes #14890 #14786
  • color: make desktop selection beautiful (0cdb500)
  • config: avoid using startWith for IE support (73a9f14), closes #14922
  • content: bottom padding (be4eda5)
  • fab: add styles for disabled (520da8d), closes #14867
  • flex-utils: add missing flex attributes (7c12e1b)
  • input: add color support for ion-input (f676f98), closes #14864
  • inputs: better customization for placeholder color (517104f)
  • item: only use pointer cursor for and (f19553f)
  • pointer-events: listening to document (afb0906)
  • refresher: default to disabled false, add to breaking changes (f1826a6), closes #14879
  • router-outlet: fix stack attribute detection (#14921) (16e992a)
  • searchbar: fix input bluring (d65174b), closes #14916
  • slides: update events to match swipers (fc0d4c0), closes #14865
  • title: can be used nested (d1969bd), closes #14905
  • title: support color (7da0ac4)

Features

Performance Improvements

  • app: tap-click is a ES (b0ac5ba)
  • css: always emit compressed css (143f0f0)
  • gesture: lazy loaded dynamic ES module (49cac8b)
  • icon: disable icon lazy loading when it's not needed (7292fc7)
Package Rankings
Top 1.24% on Npmjs.org
Top 6.73% on Proxy.golang.org
Top 27.17% on Repo1.maven.org
Top 0.15% on Bower.io
Badges
Extracted from project README
version version version version