feat(base-components): add ability to remove ios and md theme (#26669)

This commit is contained in:
Liam DeBeasi
2023-01-24 16:18:35 -05:00
committed by GitHub
parent 4d24b328e2
commit 18f109c7da
114 changed files with 1585 additions and 383 deletions

View File

@ -1,7 +1,7 @@
import type { ComponentInterface } from '@stencil/core';
import { Component, Element, Host, Prop, Method, State, forceUpdate, h } from '@stencil/core';
import { getIonMode } from '../../global/ionic-global';
import { getIonStylesheet } from '../../global/ionic-global';
import type { SegmentButtonLayout } from '../../interface';
import type { ButtonInterface } from '../../utils/element-interface';
import type { Attributes } from '../../utils/helpers';
@ -11,6 +11,7 @@ import { hostContext } from '../../utils/theme';
let ids = 0;
/**
* @virtualProp {true | false} useBase - useBase determines if base components is enabled.
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
*
* @part native - The native HTML button element that wraps all child elements.
@ -20,6 +21,7 @@ let ids = 0;
@Component({
tag: 'ion-segment-button',
styleUrls: {
base: 'segment-button.scss',
ios: 'segment-button.ios.scss',
md: 'segment-button.md.scss',
},
@ -112,7 +114,7 @@ export class SegmentButton implements ComponentInterface, ButtonInterface {
render() {
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
const mode = getIonMode(this);
const mode = getIonStylesheet(this);
const hasSegmentColor = () => segmentEl?.color !== undefined;
return (
<Host