Skip to content

Commit faa7065

Browse files
committed
feat(segment-content): add disabled prop and hide the content
1 parent d8f27d8 commit faa7065

File tree

7 files changed

+34
-6
lines changed

7 files changed

+34
-6
lines changed

core/api.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1608,6 +1608,7 @@ ion-segment-button,part,indicator-background
16081608
ion-segment-button,part,native
16091609

16101610
ion-segment-content,shadow
1611+
ion-segment-content,prop,disabled,boolean,false,false,false
16111612

16121613
ion-segment-view,shadow
16131614
ion-segment-view,prop,disabled,boolean,false,false,false

core/src/components.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2717,6 +2717,10 @@ export namespace Components {
27172717
"value": SegmentValue;
27182718
}
27192719
interface IonSegmentContent {
2720+
/**
2721+
* If `true`, the segment content will not be displayed.
2722+
*/
2723+
"disabled": boolean;
27202724
}
27212725
interface IonSegmentView {
27222726
/**
@@ -7505,6 +7509,10 @@ declare namespace LocalJSX {
75057509
"value"?: SegmentValue;
75067510
}
75077511
interface IonSegmentContent {
7512+
/**
7513+
* If `true`, the segment content will not be displayed.
7514+
*/
7515+
"disabled"?: boolean;
75087516
}
75097517
interface IonSegmentView {
75107518
/**

core/src/components/segment-content/segment-content.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@
88

99
width: 100%;
1010
}
11+
12+
:host(.segment-content-disabled) {
13+
display: none;
14+
}

core/src/components/segment-content/segment-content.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
import type { ComponentInterface } from '@stencil/core';
2-
import { Component, Host, h } from '@stencil/core';
2+
import { Component, Host, Prop, h } from '@stencil/core';
33

44
@Component({
55
tag: 'ion-segment-content',
66
styleUrl: 'segment-content.scss',
77
shadow: true,
88
})
99
export class SegmentContent implements ComponentInterface {
10+
/**
11+
* If `true`, the segment content will not be displayed.
12+
*/
13+
@Prop() disabled = false;
14+
1015
render() {
16+
const { disabled } = this;
17+
1118
return (
12-
<Host>
19+
<Host
20+
class={{
21+
'segment-content-disabled': disabled,
22+
}}
23+
>
1324
<slot></slot>
1425
</Host>
1526
);

packages/angular/src/directives/proxies.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2006,13 +2006,14 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {}
20062006

20072007

20082008
@ProxyCmp({
2009+
inputs: ['disabled']
20092010
})
20102011
@Component({
20112012
selector: 'ion-segment-content',
20122013
changeDetection: ChangeDetectionStrategy.OnPush,
20132014
template: '<ng-content></ng-content>',
20142015
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2015-
inputs: [],
2016+
inputs: ['disabled'],
20162017
})
20172018
export class IonSegmentContent {
20182019
protected el: HTMLElement;

packages/angular/standalone/src/directives/proxies.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1841,14 +1841,15 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {}
18411841

18421842

18431843
@ProxyCmp({
1844-
defineCustomElementFn: defineIonSegmentContent
1844+
defineCustomElementFn: defineIonSegmentContent,
1845+
inputs: ['disabled']
18451846
})
18461847
@Component({
18471848
selector: 'ion-segment-content',
18481849
changeDetection: ChangeDetectionStrategy.OnPush,
18491850
template: '<ng-content></ng-content>',
18501851
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1851-
inputs: [],
1852+
inputs: ['disabled'],
18521853
standalone: true
18531854
})
18541855
export class IonSegmentContent {

packages/vue/src/proxies.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,9 @@ export const IonSegmentButton = /*@__PURE__*/ defineContainer<JSX.IonSegmentButt
755755
'value', 'ion-change');
756756

757757

758-
export const IonSegmentContent = /*@__PURE__*/ defineContainer<JSX.IonSegmentContent>('ion-segment-content', defineIonSegmentContent);
758+
export const IonSegmentContent = /*@__PURE__*/ defineContainer<JSX.IonSegmentContent>('ion-segment-content', defineIonSegmentContent, [
759+
'disabled'
760+
]);
759761

760762

761763
export const IonSegmentView = /*@__PURE__*/ defineContainer<JSX.IonSegmentView>('ion-segment-view', defineIonSegmentView, [

0 commit comments

Comments
 (0)