- updates segment button so that when layout is not provided the following will happen
- if both label and icon are there, it will apply icon-top
- if only label or only icon, it will style as such
This moves item-specific margin and flex values out of label and into item as a slotted style to prevent those styles from leaking into labels further down the tree.
closes#15393
fixes#16384
BREAKING CHANGES
The default background color for the Toolbar and Tab Bar is now white (#fff).
This can be changed by overriding the following CSS variables:
```
--ion-toolbar-background
--ion-tab-bar-background
--ion-tab-bar-background-focused
```
See https://beta.ionicframework.com/docs/theming/css-variables for more information.
Updates the tab-bar to match the MD bottom navigation spec: https://material.io/design/components/bottom-navigation.html#specs
Changes proposed in this pull request:
- moved flex properties to host, inherit in child anchor element
- this allows the user to customize the tab-button flex properties & fixes#16231
- increased letter spacing
- removed transforms / transitions on active tab
- decreased badge size, add badge styling when empty for MD
- fix badge positioning on both iOS and MD
- updates e2e tests, adds a preview test for tab-bar
- updates documentation surrounding tabs
fixes#16231fixesionic-team/ionic-docs#175fixesionic-team/ionic-docs#163
Adds the ability to apply a layout to the segment button in order to better match the Material Design spec, updates the design and UI to match the spec more, and separates the segment button styles back into the proper directory.
- moves the segment button css back into segment-button directory
- updates the design to match the MD spec better
- adds layout property to match MD spec
- adds custom properties for better styling
- allows for overscroll / scrolling tabs via scrollable attribute
- changes the indicator to a div - will need to animate it
- updates e2e tests and add spec test
fixes#16232fixes#16081
references #14853
BREAKING CHANGES
Segment Button now requires the text to be wrapped in an `ion-label` element for improved styling.
*Old usage:*
```html
<ion-segment-button>
Item One
</ion-segment-button>
```
*New usage:*
```html
<ion-segment-button>
<ion-label>Item One</ion-label>
</ion-segment-button>
```
Note: this will not technically break your app, but the styles may look wrong.