Skip to content

Commit 77e50df

Browse files
committed
feat(item-divider): add interface
1 parent fd9f0b5 commit 77e50df

6 files changed

Lines changed: 187 additions & 25 deletions

File tree

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
import type { IonPadding, IonMargin } from '../../themes/themes.interfaces';
2+
3+
export type IonItemDividerRecipe = {
4+
background?: string;
5+
color?: string;
6+
minHeight?: string;
7+
zIndex?: number;
8+
9+
padding?: IonPadding;
10+
11+
inner?: {
12+
padding?: IonPadding;
13+
};
14+
15+
border?: {
16+
bottom?: string;
17+
};
18+
19+
font?: {
20+
size?: string;
21+
weight?: string;
22+
};
23+
24+
leading?: {
25+
anchor?: {
26+
margin?: IonMargin;
27+
};
28+
29+
edge?: {
30+
margin?: IonMargin;
31+
};
32+
};
33+
34+
trailing?: {
35+
edge?: {
36+
margin?: IonMargin;
37+
};
38+
};
39+
40+
label?: {
41+
margin?: IonMargin;
42+
};
43+
44+
icon?: {
45+
font?: {
46+
size?: string;
47+
};
48+
49+
leading?: {
50+
edge?: {
51+
margin?: IonMargin;
52+
};
53+
};
54+
55+
trailing?: {
56+
edge?: {
57+
margin?: IonMargin;
58+
};
59+
};
60+
61+
default?: {
62+
color?: string;
63+
};
64+
65+
semantic?: {
66+
default?: {
67+
color?: string;
68+
};
69+
};
70+
};
71+
72+
note?: {
73+
align?: {
74+
self?: string;
75+
};
76+
77+
font?: {
78+
size?: string;
79+
};
80+
81+
margin?: IonMargin;
82+
padding?: IonPadding;
83+
};
84+
85+
avatar?: {
86+
height?: string;
87+
width?: string;
88+
89+
margin?: IonMargin;
90+
91+
leading?: {
92+
edge?: {
93+
margin?: IonMargin;
94+
};
95+
};
96+
97+
trailing?: {
98+
edge?: {
99+
margin?: IonMargin;
100+
};
101+
};
102+
};
103+
104+
thumbnail?: {
105+
height?: string;
106+
width?: string;
107+
108+
margin?: IonMargin;
109+
110+
leading?: {
111+
edge?: {
112+
margin?: IonMargin;
113+
};
114+
};
115+
116+
trailing?: {
117+
edge?: {
118+
margin?: IonMargin;
119+
};
120+
};
121+
};
122+
123+
header1?: {
124+
margin?: IonMargin;
125+
};
126+
127+
header2?: {
128+
margin?: IonMargin;
129+
130+
trailing?: {
131+
margin?: IonMargin;
132+
};
133+
};
134+
135+
header3?: {
136+
margin?: IonMargin;
137+
138+
trailing?: {
139+
margin?: IonMargin;
140+
};
141+
};
142+
143+
header4?: {
144+
margin?: IonMargin;
145+
146+
trailing?: {
147+
margin?: IonMargin;
148+
};
149+
};
150+
151+
header5?: {
152+
margin?: IonMargin;
153+
154+
trailing?: {
155+
margin?: IonMargin;
156+
};
157+
};
158+
159+
header6?: {
160+
margin?: IonMargin;
161+
162+
trailing?: {
163+
margin?: IonMargin;
164+
};
165+
};
166+
167+
paragraph?: {
168+
color?: string;
169+
overflow?: string;
170+
171+
margin?: IonMargin;
172+
173+
font?: {
174+
size?: string;
175+
};
176+
177+
text?: {
178+
overflow?: string;
179+
};
180+
181+
trailing?: {
182+
margin?: IonMargin;
183+
};
184+
};
185+
};

core/src/themes/ionic/default.tokens.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -403,16 +403,13 @@ export const defaultTheme: DefaultTheme = {
403403

404404
margin: {
405405
top: components.item.media.slot.margin.top,
406-
end: components.item.media.slot.margin.end,
407406
bottom: components.item.media.slot.margin.bottom,
408-
start: components.item.media.slot.margin.start,
409407
},
410408

411409
leading: {
412410
// Targets `ion-avatar[slot="start"]`
413411
edge: {
414412
margin: {
415-
start: components.item.media.start.slot.margin.start,
416413
end: components.item.media.start.slot.margin.end,
417414
},
418415
},
@@ -423,7 +420,6 @@ export const defaultTheme: DefaultTheme = {
423420
edge: {
424421
margin: {
425422
start: components.item.media.end.slot.margin.start,
426-
end: components.item.media.end.slot.margin.end,
427423
},
428424
},
429425
},
@@ -437,16 +433,13 @@ export const defaultTheme: DefaultTheme = {
437433

438434
margin: {
439435
top: components.item.media.slot.margin.top,
440-
end: components.item.media.slot.margin.end,
441436
bottom: components.item.media.slot.margin.bottom,
442-
start: components.item.media.slot.margin.start,
443437
},
444438

445439
leading: {
446440
// Targets `ion-thumbnail[slot="start"]`
447441
edge: {
448442
margin: {
449-
start: components.item.media.start.slot.margin.start,
450443
end: components.item.media.start.slot.margin.end,
451444
},
452445
},
@@ -457,7 +450,6 @@ export const defaultTheme: DefaultTheme = {
457450
edge: {
458451
margin: {
459452
start: components.item.media.end.slot.margin.start,
460-
end: components.item.media.end.slot.margin.end,
461453
},
462454
},
463455
},

core/src/themes/ionic/shared.tokens.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,25 +103,21 @@ export const components = {
103103
slot: {
104104
margin: {
105105
top: 'var(--ion-spacing-sm)',
106-
end: null,
107106
bottom: 'var(--ion-spacing-sm)',
108-
start: null,
109107
},
110108
},
111109

112110
start: {
113111
slot: {
114112
margin: {
115113
end: 'var(--ion-spacing-lg)',
116-
start: null,
117114
},
118115
},
119116
},
120117

121118
end: {
122119
slot: {
123120
margin: {
124-
end: null,
125121
start: 'var(--ion-spacing-lg)',
126122
},
127123
},

core/src/themes/md/default.tokens.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -536,16 +536,13 @@ export const defaultTheme: DefaultTheme = {
536536

537537
margin: {
538538
top: components.item.media.slot.margin.top,
539-
end: components.item.media.slot.margin.end,
540539
bottom: components.item.media.slot.margin.bottom,
541-
start: components.item.media.slot.margin.start,
542540
},
543541

544542
leading: {
545543
// Targets `ion-avatar[slot="start"]`
546544
edge: {
547545
margin: {
548-
start: components.item.media.start.slot.margin.start,
549546
end: components.item.media.start.slot.margin.end,
550547
},
551548
},
@@ -556,7 +553,6 @@ export const defaultTheme: DefaultTheme = {
556553
edge: {
557554
margin: {
558555
start: components.item.media.end.slot.margin.start,
559-
end: components.item.media.end.slot.margin.end,
560556
},
561557
},
562558
},
@@ -570,16 +566,13 @@ export const defaultTheme: DefaultTheme = {
570566

571567
margin: {
572568
top: components.item.media.slot.margin.top,
573-
end: components.item.media.slot.margin.end,
574569
bottom: components.item.media.slot.margin.bottom,
575-
start: components.item.media.slot.margin.start,
576570
},
577571

578572
leading: {
579573
// Targets `ion-thumbnail[slot="start"]`
580574
edge: {
581575
margin: {
582-
start: components.item.media.start.slot.margin.start,
583576
end: components.item.media.start.slot.margin.end,
584577
},
585578
},
@@ -590,7 +583,6 @@ export const defaultTheme: DefaultTheme = {
590583
edge: {
591584
margin: {
592585
start: components.item.media.end.slot.margin.start,
593-
end: components.item.media.end.slot.margin.end,
594586
},
595587
},
596588
},

core/src/themes/md/shared.tokens.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,25 +114,21 @@ export const components = {
114114
slot: {
115115
margin: {
116116
top: 'var(--ion-spacing-sm)',
117-
end: null,
118117
bottom: 'var(--ion-spacing-sm)',
119-
start: null,
120118
},
121119
},
122120

123121
start: {
124122
slot: {
125123
margin: {
126124
end: 'var(--ion-spacing-lg)',
127-
start: null,
128125
},
129126
},
130127
},
131128

132129
end: {
133130
slot: {
134131
margin: {
135-
end: null,
136132
start: 'var(--ion-spacing-lg)',
137133
},
138134
},

core/src/themes/themes.interfaces.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { IonChipRecipe, IonChipConfig } from '../components/chip/chip.interfaces';
2+
import type { IonItemDividerRecipe } from '../components/item-divider/item-divider.interfaces';
23
import type { IonicConfig as IonicGlobalConfig } from '../utils/config';
34

45
// Platform-specific theme
@@ -282,7 +283,7 @@ export type DefaultTheme = BaseTheme & {
282283

283284
type Components = {
284285
IonChip?: IonChipRecipe;
285-
IonItemDivider?: any;
286+
IonItemDivider?: IonItemDividerRecipe;
286287

287288
IonCard?: any;
288289
IonItem?: any;

0 commit comments

Comments
 (0)