@rdlabo/ionic-theme-ios26 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A CSS theme library that applies iOS26 design system to Ionic applications.
4
4
 
5
+ DEMO is here: https://ionic-theme-ios26.netlify.app/
6
+
5
7
  ## Overview
6
8
 
7
9
  This library provides CSS files to apply the iOS26 design system used in real projects to Ionic applications. It customizes the appearance and behavior of Ionic components based on the latest iOS26 design guidelines.
@@ -25,6 +27,7 @@ Import the theme in your project's main CSS file (e.g., `src/styles.scss`) and s
25
27
 
26
28
  ```scss
27
29
  @import '@rdlabo/ionic-theme-ios26/css/ionic-theme-ios26.css';
30
+ @import '@rdlabo/ionic-theme-ios26/css/ion-list-inset.css';
28
31
 
29
32
  /* Required: Safe area configuration */
30
33
  :root {
@@ -43,7 +46,8 @@ Add CSS file to `angular.json`:
43
46
  ```json
44
47
  {
45
48
  "styles": [
46
- "node_modules/@rdlabo/ionic-theme-ios26/css/ionic-theme-ios26.css"
49
+ "node_modules/@rdlabo/ionic-theme-ios26/css/ionic-theme-ios26.css",
50
+ "node_modules/@rdlabo/ionic-theme-ios26/css/ion-list-inset.css"
47
51
  ]
48
52
  }
49
53
  ```
@@ -62,6 +66,7 @@ Import CSS file in `index.js` or `App.js`:
62
66
 
63
67
  ```javascript
64
68
  import '@rdlabo/ionic-theme-ios26/css/ionic-theme-ios26.css';
69
+ import '@rdlabo/ionic-theme-ios26/css/ion-list-inset.css';
65
70
  ```
66
71
 
67
72
  **Required**: Set `--max-safe-area` in main CSS file:
@@ -78,6 +83,7 @@ Import CSS file in `main.js`:
78
83
 
79
84
  ```javascript
80
85
  import '@rdlabo/ionic-theme-ios26/css/ionic-theme-ios26.css';
86
+ import '@rdlabo/ionic-theme-ios26/css/ion-list-inset.css';
81
87
  ```
82
88
 
83
89
  **Required**: Set `--max-safe-area` in main CSS file:
@@ -0,0 +1,247 @@
1
+ ion-content[color=light] ion-list:not(.list-inset),
2
+ .ion-list-inset ion-list:not(.list-inset),
3
+ ion-accordion ion-list:not(.list-inset) {
4
+ margin: 16px 0;
5
+ padding: 0;
6
+ }
7
+ ion-content[color=light] ion-list:not(.list-inset) ion-item:last-child,
8
+ .ion-list-inset ion-list:not(.list-inset) ion-item:last-child,
9
+ ion-accordion ion-list:not(.list-inset) ion-item:last-child {
10
+ --border-width: 0px;
11
+ --show-full-highlight: 0;
12
+ --inner-border-width: 0px;
13
+ --show-inset-highlight: 0;
14
+ }
15
+ ion-content[color=light] ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only],
16
+ .ion-list-inset ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only],
17
+ ion-accordion ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only] {
18
+ font-size: 1.2rem !important;
19
+ transform: translateY(4px);
20
+ }
21
+ ion-content[color=light] ion-list.list-inset ion-item ion-text[slot=end],
22
+ .ion-list-inset ion-list.list-inset ion-item ion-text[slot=end],
23
+ ion-accordion ion-list.list-inset ion-item ion-text[slot=end] {
24
+ padding-left: 8px;
25
+ }
26
+ ion-content[color=light] ion-list.list-inset ion-item.item-disabled,
27
+ .ion-list-inset ion-list.list-inset ion-item.item-disabled,
28
+ ion-accordion ion-list.list-inset ion-item.item-disabled {
29
+ opacity: 1;
30
+ }
31
+ ion-content[color=light] ion-list.list-inset ion-item.item-disabled > *,
32
+ .ion-list-inset ion-list.list-inset ion-item.item-disabled > *,
33
+ ion-accordion ion-list.list-inset ion-item.item-disabled > * {
34
+ opacity: 0.4;
35
+ }
36
+ ion-content[color=light] ion-list.list-inset ion-item.item-disabled::part(detail-icon),
37
+ .ion-list-inset ion-list.list-inset ion-item.item-disabled::part(detail-icon),
38
+ ion-accordion ion-list.list-inset ion-item.item-disabled::part(detail-icon) {
39
+ opacity: 0.1;
40
+ }
41
+ ion-content[color=light] ion-list.list-inset.ios ion-list-header ion-label,
42
+ .ion-list-inset ion-list.list-inset.ios ion-list-header ion-label,
43
+ ion-accordion ion-list.list-inset.ios ion-list-header ion-label {
44
+ font-size: 1.1rem;
45
+ }
46
+ ion-content[color=light] ion-list.list-inset.md ion-list-header,
47
+ .ion-list-inset ion-list.list-inset.md ion-list-header,
48
+ ion-accordion ion-list.list-inset.md ion-list-header {
49
+ font-weight: bold;
50
+ margin-top: 16px;
51
+ }
52
+ ion-content[color=light] ion-list.list-inset.md ion-list-header ion-label,
53
+ .ion-list-inset ion-list.list-inset.md ion-list-header ion-label,
54
+ ion-accordion ion-list.list-inset.md ion-list-header ion-label {
55
+ font-size: 1.1rem;
56
+ }
57
+ ion-content[color=light] ion-list.list-inset.list-inset,
58
+ .ion-list-inset ion-list.list-inset.list-inset,
59
+ ion-accordion ion-list.list-inset.list-inset {
60
+ background: transparent;
61
+ }
62
+ ion-content[color=light] ion-list.list-inset.list-inset.md:not(:last-child),
63
+ .ion-list-inset ion-list.list-inset.list-inset.md:not(:last-child),
64
+ ion-accordion ion-list.list-inset.list-inset.md:not(:last-child) {
65
+ margin-bottom: 0;
66
+ }
67
+ ion-content[color=light] ion-list.list-inset.list-inset ion-list-header,
68
+ .ion-list-inset ion-list.list-inset.list-inset ion-list-header,
69
+ ion-accordion ion-list.list-inset.list-inset ion-list-header {
70
+ display: flex;
71
+ align-items: center;
72
+ }
73
+ ion-content[color=light] ion-list.list-inset.list-inset ion-list-header.md,
74
+ .ion-list-inset ion-list.list-inset.list-inset ion-list-header.md,
75
+ ion-accordion ion-list.list-inset.list-inset ion-list-header.md {
76
+ margin-top: 0;
77
+ }
78
+ ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-label,
79
+ .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-label,
80
+ ion-accordion ion-list.list-inset.list-inset ion-list-header ion-label {
81
+ font-size: 0.9rem;
82
+ margin: 8px 4px 4px;
83
+ color: var(--ion-color-medium-tint);
84
+ }
85
+ ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-button,
86
+ .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-button,
87
+ ion-accordion ion-list.list-inset.list-inset ion-list-header ion-button {
88
+ margin-top: 8px;
89
+ }
90
+ ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-note,
91
+ .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-note,
92
+ ion-accordion ion-list.list-inset.list-inset ion-list-header ion-note {
93
+ font-size: 0.9rem;
94
+ margin: 8px 16px 4px 0;
95
+ }
96
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios,
97
+ ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios,
98
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios,
99
+ .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios,
100
+ ion-accordion ion-list.list-inset.list-inset ion-item-group.ios,
101
+ ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios {
102
+ border-radius: 24px;
103
+ overflow: hidden;
104
+ }
105
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
106
+ ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child,
107
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
108
+ .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child,
109
+ ion-accordion ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
110
+ ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child {
111
+ --padding-top: 4px;
112
+ }
113
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
114
+ ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child,
115
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
116
+ .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child,
117
+ ion-accordion ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
118
+ ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child {
119
+ --padding-bottom: 4px;
120
+ }
121
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
122
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item,
123
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
124
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item,
125
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
126
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item {
127
+ --border-width: 0 !important;
128
+ --show-full-highlight: 0 !important;
129
+ --inner-border-width: 0 !important;
130
+ --show-inset-highlight: 0 !important;
131
+ }
132
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.not-first-child,
133
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group.not-first-child,
134
+ ion-accordion ion-list.list-inset.list-inset ion-item-group.not-first-child {
135
+ margin: 16px 0;
136
+ }
137
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper,
138
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper,
139
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper {
140
+ width: 100%;
141
+ text-align: center;
142
+ padding: 32px 16px 16px;
143
+ }
144
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon,
145
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon,
146
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon {
147
+ font-size: 2.8rem;
148
+ }
149
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2,
150
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2,
151
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2 {
152
+ font-size: 1rem;
153
+ font-weight: bold;
154
+ margin-top: 8px;
155
+ }
156
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text,
157
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text,
158
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text {
159
+ font-size: 0.9rem;
160
+ }
161
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item.ios,
162
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item.ios,
163
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item.ios {
164
+ --inner-padding-end: 0;
165
+ }
166
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native),
167
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native),
168
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native) {
169
+ padding-right: 16px;
170
+ }
171
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating],
172
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating],
173
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating] {
174
+ transition: transform 0.2s ease;
175
+ }
176
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating),
177
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating),
178
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating) {
179
+ transform: translateY(-7px);
180
+ }
181
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating,
182
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating,
183
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating {
184
+ transform: translateY(-4px);
185
+ }
186
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating],
187
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating],
188
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating] {
189
+ transition: transform 0.2s ease;
190
+ }
191
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating),
192
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating),
193
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating) {
194
+ transform: translateY(-2px);
195
+ }
196
+ ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end,
197
+ .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end,
198
+ ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end {
199
+ transform: translateY(-7px);
200
+ }
201
+ ion-content[color=light] ion-list.list-inset.list-inset > ion-note,
202
+ ion-content[color=light] ion-list.list-inset.list-inset ion-note.note,
203
+ .ion-list-inset ion-list.list-inset.list-inset > ion-note,
204
+ .ion-list-inset ion-list.list-inset.list-inset ion-note.note,
205
+ ion-accordion ion-list.list-inset.list-inset > ion-note,
206
+ ion-accordion ion-list.list-inset.list-inset ion-note.note {
207
+ color: var(--ion-color-medium-tint);
208
+ font-size: 0.9rem;
209
+ display: block;
210
+ margin: 8px 16px;
211
+ }
212
+ ion-content[color=light] ion-list.list-inset.list-inset ion-note.note,
213
+ .ion-list-inset ion-list.list-inset.list-inset ion-note.note,
214
+ ion-accordion ion-list.list-inset.list-inset ion-note.note {
215
+ margin: 8px 0;
216
+ }
217
+
218
+ ion-content:not([color=light]) ion-list :not(ion-item-group) ion-item.ios:last-child {
219
+ --border-width: 0px 0px 0.55px 0px;
220
+ --inner-border-width: 0px;
221
+ --show-inset-highlight: 0;
222
+ --show-full-highlight: 1;
223
+ }
224
+ ion-content:not([color=light]) ion-list :not(ion-item-group) ion-item.md:last-child {
225
+ --border-width: 0px 0px 1px 0px;
226
+ --inner-border-width: 0;
227
+ --show-full-highlight: 1;
228
+ --show-inset-highlight: 0;
229
+ }
230
+ ion-content:not([color=light]) ion-list ion-item-group ion-item:last-child {
231
+ --border-width: 0px;
232
+ --show-full-highlight: 0;
233
+ --inner-border-width: 0px;
234
+ --show-inset-highlight: 0;
235
+ }
236
+ ion-content:not([color=light]) ion-list[slot=content] {
237
+ padding: 0;
238
+ margin: 0;
239
+ }
240
+ ion-content:not([color=light]) ion-list[slot=content] ion-item.ios:last-child {
241
+ --border-width: 0;
242
+ --inner-border-width: 0px;
243
+ --show-inset-highlight: 0;
244
+ --show-full-highlight: 0;
245
+ }
246
+
247
+ /*# sourceMappingURL=ion-list-inset.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../src/assets/ion-list-inset.scss"],"names":[],"mappings":"AAGE;AAAA;AAAA;EACE;EACA;;AAIA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;EACE;EACA;;AAIA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AAKN;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;;AACA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;EACA;;AAEF;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;;AAQA;AAAA;AAAA;EACE;EACA;EACA;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;EACA;;AAEF;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;;;AAQJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA","file":"ion-list-inset.css"}
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  :root {
3
2
  --system-dark-rgb: 0, 0, 0;
4
3
  --system-light-rgb: 255, 255, 255;
@@ -14,7 +13,7 @@
14
13
  --system-tab-active-rgb: 255, 255, 255;
15
14
  --system-shadow-rgb: translarent;
16
15
  --system-background-rgb: 0, 0, 0;
17
- --system-edge-rgb: 80, 80, 80;
16
+ --system-edge-rgb: 120, 120, 120;
18
17
  }
19
18
 
20
19
  .ios ion-popover {
@@ -46,6 +45,9 @@
46
45
  .ios ion-modal ion-searchbar:not(.area-searchbar) .searchbar-input-container {
47
46
  margin: 0 6px;
48
47
  }
48
+ .ios ion-modal ion-searchbar:not(.area-searchbar) .searchbar-input-container input.searchbar-input {
49
+ backdrop-filter: none;
50
+ }
49
51
  .ios ion-searchbar:not(.area-searchbar) {
50
52
  min-height: 60px;
51
53
  padding: 0;
@@ -68,7 +70,6 @@
68
70
  border-bottom: 0.5px solid rgba(var(--system-edge-rgb), 1);
69
71
  border-left: 0.5px solid rgba(var(--system-edge-rgb), 0.6);
70
72
  transition: box-shadow 0.1s ease;
71
- backdrop-filter: none;
72
73
  border-radius: 20px;
73
74
  padding-inline-start: 2.4rem !important;
74
75
  }
@@ -76,61 +77,6 @@
76
77
  padding-inline-end: 2rem !important;
77
78
  }
78
79
 
79
- .ios app-talk-room .talk-system-message {
80
- transform: translateY(-80px);
81
- }
82
- .ios app-talk-room ion-footer#talk-footer ion-toolbar {
83
- --border-width: 0;
84
- --background: transparent;
85
- }
86
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.toolbar-blockquote {
87
- position: absolute;
88
- top: -56px;
89
- }
90
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.toolbar-blockquote ion-item {
91
- padding: 8px 12px;
92
- --inner-padding-end: 4px;
93
- }
94
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.toolbar-blockquote ion-item ion-avatar {
95
- transform: translateX(-10px);
96
- margin-right: 4px;
97
- display: flex;
98
- align-items: center;
99
- justify-content: center;
100
- }
101
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.toolbar-blockquote ion-item ion-avatar ion-icon {
102
- font-size: 1.6rem;
103
- color: var(--ion-color-medium-tint);
104
- }
105
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.toolbar-blockquote ion-item::part(native) {
106
- background: rgba(var(--system-light-rgb), 0.4);
107
- backdrop-filter: saturate(240%) blur(6px);
108
- box-shadow: inset 0 0 8px 0 rgba(var(--system-shadow-rgb), 0.2), 0 0 12px 0 rgba(var(--system-shadow-rgb), 0.8);
109
- border-top: 0.5px solid rgba(var(--system-edge-rgb), 1);
110
- border-right: 0.5px solid rgba(var(--system-edge-rgb), 0.8);
111
- border-bottom: 0.5px solid rgba(var(--system-edge-rgb), 1);
112
- border-left: 0.5px solid rgba(var(--system-edge-rgb), 0.6);
113
- transition: box-shadow 0.1s ease;
114
- border-radius: 20px;
115
- }
116
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.send-message ion-textarea.input-field {
117
- transition: width 0.5s ease;
118
- --padding-start: 16px;
119
- --padding-end: 16px;
120
- }
121
- .ios app-talk-room ion-footer#talk-footer ion-toolbar.send-message ion-textarea.input-field label.textarea-wrapper {
122
- background: rgba(var(--system-light-rgb), 0.4);
123
- backdrop-filter: saturate(240%) blur(6px);
124
- box-shadow: inset 0 0 8px 0 rgba(var(--system-shadow-rgb), 0.2), 0 0 12px 0 rgba(var(--system-shadow-rgb), 0.8);
125
- border-top: 0.5px solid rgba(var(--system-edge-rgb), 1);
126
- border-right: 0.5px solid rgba(var(--system-edge-rgb), 0.8);
127
- border-bottom: 0.5px solid rgba(var(--system-edge-rgb), 1);
128
- border-left: 0.5px solid rgba(var(--system-edge-rgb), 0.6);
129
- transition: box-shadow 0.1s ease;
130
- margin: 8px 8px;
131
- border-radius: 32px;
132
- }
133
-
134
80
  .ios ion-fab.inner-tab-bar {
135
81
  right: calc(16px + var(--ion-safe-area-right, 0px));
136
82
  bottom: var(--max-safe-area);
@@ -193,15 +139,6 @@
193
139
  background: rgba(var(--system-shadow-rgb), 0.02);
194
140
  }
195
141
 
196
- .ios {
197
- /**
198
- * パフォーマンス対策。必ず背景が単色である限りは不要
199
- */
200
- }
201
- .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-button:not(.link-setting)::part(native),
202
- .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-back-button::part(native) {
203
- backdrop-filter: none !important;
204
- }
205
142
  .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-button:not(.link-setting),
206
143
  .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-back-button,
207
144
  .ios ion-buttons.liquid-glass-buttons ion-button {
@@ -210,11 +147,12 @@
210
147
  font-size: 1.05rem !important;
211
148
  transition: transform 100ms ease-out;
212
149
  will-change: transform;
150
+ color: var(--ion-text-color, #000);
213
151
  }
214
152
  .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-button:not(.link-setting)::part(native),
215
153
  .ios .ion-page ion-header > ion-toolbar > ion-buttons ion-back-button::part(native),
216
154
  .ios ion-buttons.liquid-glass-buttons ion-button::part(native) {
217
- background: rgba(var(--system-light-rgb), 0.7);
155
+ background: rgba(var(--system-light-rgb), 0.4);
218
156
  backdrop-filter: saturate(240%) blur(6px);
219
157
  box-shadow: inset 0 0 8px 0 rgba(var(--system-shadow-rgb), 0.2), 0 0 12px 0 rgba(var(--system-shadow-rgb), 0.8);
220
158
  border-top: 0.5px solid rgba(var(--system-edge-rgb), 1);
@@ -294,6 +232,15 @@
294
232
  border-radius: 16px;
295
233
  }
296
234
 
235
+ ion-toggle.ios {
236
+ --handle-width: 38px;
237
+ --handle-height: 28px;
238
+ }
239
+ ion-toggle.ios::part(track) {
240
+ height: 28px;
241
+ width: 64px;
242
+ }
243
+
297
244
  .ion-palette-dark.ios .ion-page ion-header > ion-toolbar > ion-buttons *:not(.link-setting),
298
245
  .ion-palette-dark.ios .ion-page ion-footer > ion-toolbar > ion-buttons *:not(.link-setting) {
299
246
  opacity: 1;
@@ -328,26 +275,6 @@
328
275
  .ios ion-action-sheet {
329
276
  --button-color: var(--ion-color-medium);
330
277
  }
331
- .ios .thread-fab ion-fab-button {
332
- --background-activated: rgba(var(--system-light-rgb), 0.3);
333
- }
334
- .ios .thread-fab ion-fab-button::part(native) {
335
- background: rgba(var(--system-light-rgb), 0.4);
336
- backdrop-filter: saturate(240%) blur(6px);
337
- box-shadow: inset 0 0 8px 0 rgba(var(--system-shadow-rgb), 0.2), 0 0 12px 0 rgba(var(--system-shadow-rgb), 0.8);
338
- border-top: 0.5px solid rgba(var(--system-edge-rgb), 1);
339
- border-right: 0.5px solid rgba(var(--system-edge-rgb), 0.8);
340
- border-bottom: 0.5px solid rgba(var(--system-edge-rgb), 1);
341
- border-left: 0.5px solid rgba(var(--system-edge-rgb), 0.6);
342
- transition: box-shadow 0.1s ease;
343
- color: rgb(var(--system-dark-rgb));
344
- }
345
- .ios .thread-fab ion-fab-button ion-icon {
346
- color: var(--ion-color-medium-shade);
347
- }
348
- .ios ion-item.suggest-seeking {
349
- --padding-start: 16px !important;
350
- }
351
278
  .ios .can-go-back ion-header ion-toolbar:not(.md):first-child,
352
279
  .ios .enable-back-button ion-header ion-toolbar:not(.md):first-child {
353
280
  --border-width: 0;
@@ -362,6 +289,7 @@
362
289
  .ios ion-footer.footer-translucent ion-toolbar {
363
290
  --border-width: 0;
364
291
  --background: transparent;
292
+ --opacity: 1 !important;
365
293
  }
366
294
  .ios ion-header ion-toolbar:first-child {
367
295
  padding-right: calc(var(--ion-safe-area-right) + 4px);
@@ -396,13 +324,6 @@
396
324
  .ios .ion-page ion-header > ion-toolbar.ion-color-primary > ion-buttons *.ion-activated::part(native)::after {
397
325
  background: transparent !important;
398
326
  }
399
- .ios app-photo-image.ion-page ion-header > ion-toolbar > ion-buttons *::part(native),
400
- .ios app-editor-image.ion-page ion-header > ion-toolbar > ion-buttons *::part(native) {
401
- box-shadow: none !important;
402
- border-radius: 25px;
403
- background: transparent !important;
404
- border-width: 1px !important;
405
- }
406
327
  .ios .ion-page ion-content:not(.background-transparent)::after,
407
328
  .ios ion-footer.footer-translucent::after {
408
329
  content: "";
@@ -414,9 +335,15 @@
414
335
  pointer-events: none;
415
336
  z-index: 1;
416
337
  }
417
- .ios app-editor-image.ion-page ion-content::after,
418
- .ios app-photo-image.ion-page ion-content::after {
419
- box-shadow: none !important;
338
+ .ios ion-header.header-translucent::after {
339
+ content: "";
340
+ position: absolute;
341
+ top: 0;
342
+ width: 100%;
343
+ height: calc(66px + var(--ion-safe-area-top));
344
+ box-shadow: inset 0 0 0 0 rgba(var(--system-background-rgb), 0), inset 0 calc(66px + var(--ion-safe-area-top)) 20px -20px rgba(var(--system-background-rgb), 1);
345
+ pointer-events: none;
346
+ z-index: 1;
420
347
  }
421
348
 
422
349
  /*# sourceMappingURL=ionic-theme-ios26.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/assets/ios-variables.scss","../src/assets/ion-popover.scss","../src/assets/ion-searchbar.scss","../src/assets/ios-talk-room.scss","../src/assets/ion-tabs.scss","../src/assets/ion-button.scss","../src/assets/ion-segment.scss","../src/assets/ios-design-dark.scss","../src/assets/ios-design.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACZA;EACE;;AAKE;EDUJ;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;ECjBM;EACA;;AAGJ;EACE;;AACA;EACE;;;ACfN;EACE;EACA;;AAKE;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;EFVN;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EEIM;EACA;EACA;;AAEF;EACE;;;ACjCJ;EACE;;AAGA;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAGJ;EHVR;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EGGU;;AAKJ;EACE;EACA;EACA;;AACA;EHrBR;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EGcU;EACA;;;ACxCV;EACE;EACA;;AACA;EAKE;;AAJA;EJYJ;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EInBM;;AAMN;EJIA;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EIXE;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AACA;EACE;;AAGF;EAIE;EACA;;AAJA;EACE;;AAIF;EACE;;AAIA;EACE;EACA;EACA;EACA;;AAGF;EACE;;;ACpDV;AACE;AAAA;AAAA;;AAKE;AAAA;EACE;;AAIJ;AAAA;AAAA;EAGE;EAKA;EAEA;EAEA;EACA;;AATA;AAAA;AAAA;ELEF;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EKTI;;AAQF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA,YACE;;AAIF;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;EL1BR;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EKmBQ;;AAOJ;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;AAAA;AAAA;EACE;;AAMJ;AAAA;AAAA;EACE;EACA;;;ACtEJ;EACE;EACA;;AAEA;EACE;;;ACFJ;AAAA;EACE;;AACA;AAAA;EACE;;AAKF;AAAA;EPmBJ;EACA;EACA;EACA;EACA;;AOpBI;AAAA;EACE;;AAKF;AAAA;EACE;;;ACZN;EACE;;AAGF;EACE;;AAGF;EACE;;AAIA;EAQE;;AAPA;ERNJ;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EQDM;;AAEF;EACE;;AAON;EACE;;AAGF;AAAA;EAEE;;AAIA;AAAA;AAAA;AAAA;EAEE;;AAEF;AAAA;EACE;EACA;;AAGJ;EACE;EACA;;AAEF;EACE;;AAIA;EACE;EACA;;AAEF;EACE;;AAKA;EACE;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AACA;EACE;;AAGA;EACE;;AAQJ;AAAA;EACE;EACA;EACA;EACA;;AAKN;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA;;AAEF;AAAA;EAEE","file":"ionic-theme-ios26.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/assets/ios-variables.scss","../src/assets/ios-design/ion-popover.scss","../src/assets/ios-design/ion-searchbar.scss","../src/assets/ios-design/ion-tabs.scss","../src/assets/ios-design/ion-button.scss","../src/assets/ios-design/ion-segment.scss","../src/assets/ios-design/ion-toggle.scss","../src/assets/ios-design/ios-design-dark.scss","../src/assets/ios-design.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACZA;EACE;;AAKE;EDUJ;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;ECjBM;EACA;;AAGJ;EACE;;AACA;EACE;;;ACfN;EACE;EACA;;AAKE;EACE;;AACA;EAEE;;AAMR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;EFdN;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EEOM;EACA;;AAEF;EACE;;;ACpCN;EACE;EACA;;AACA;EAKE;;AAJA;EHYJ;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EGnBM;;AAMN;EHIA;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EGXE;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;AACA;EACE;;AAGF;EAIE;EACA;;AAJA;EACE;;AAIF;EACE;;AAIA;EACE;EACA;EACA;EACA;;AAGF;EACE;;;ACnDR;AAAA;AAAA;EAGE;EAKA;EAEA;EAEA;EACA;EACA;;AAVA;AAAA;AAAA;EJYF;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EInBI;;AASF;AAAA;AAAA;EACE;EACA;;AAMF;AAAA;AAAA;EACE;EACA,YACE;;AAIF;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;EJjBR;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EIUQ;;AAOJ;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;AAAA;AAAA;EACE;;AAMJ;AAAA;AAAA;EACE;EACA;;;AC7DJ;EACE;EACA;;AAEA;EACE;;;ACPR;EACE;EACA;;AACA;EACE;EACA;;;ACAA;AAAA;EACE;;AACA;AAAA;EACE;;AAKF;AAAA;EPmBJ;EACA;EACA;EACA;EACA;;AOpBI;AAAA;EACE;;AAKF;AAAA;EACE;;;ACZN;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAIA;AAAA;AAAA;AAAA;EAEE;;AAEF;AAAA;EACE;EACA;EACA;;AAGJ;EACE;EACA;;AAEF;EACE;;AAIA;EACE;EACA;;AAEF;EACE;;AAKA;EACE;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AACA;EACE;;AAGA;EACE;;AAKR;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA","file":"ionic-theme-ios26.css"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rdlabo/ionic-theme-ios26",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "exports": {
5
5
  "./css/*": {
6
6
  "style": "./css/*"
@@ -0,0 +1,198 @@
1
+ ion-content[color='light'],
2
+ .ion-list-inset,
3
+ ion-accordion {
4
+ ion-list:not(.list-inset) {
5
+ margin: 16px 0;
6
+ padding: 0;
7
+ //border-top: 1px solid var(--ion-color-light-shade);
8
+ //border-bottom: 1px solid var(--ion-color-light-shade);
9
+
10
+ ion-item:last-child {
11
+ --border-width: 0px;
12
+ --show-full-highlight: 0;
13
+ --inner-border-width: 0px;
14
+ --show-inset-highlight: 0;
15
+ }
16
+ }
17
+ ion-list.list-inset {
18
+ ion-item > ion-button[slot='end'] > ion-icon[slot='icon-only'] {
19
+ font-size: 1.2rem !important;
20
+ transform: translateY(4px);
21
+ }
22
+
23
+ ion-item {
24
+ ion-text[slot='end'] {
25
+ padding-left: 8px;
26
+ }
27
+ &.item-disabled {
28
+ opacity: 1;
29
+ & > * {
30
+ opacity: 0.4;
31
+ }
32
+ &::part(detail-icon) {
33
+ opacity: 0.1;
34
+ }
35
+ }
36
+ }
37
+
38
+ &.ios ion-list-header ion-label {
39
+ font-size: 1.1rem;
40
+ }
41
+
42
+ &.md ion-list-header {
43
+ font-weight: bold;
44
+ margin-top: 16px;
45
+ ion-label {
46
+ font-size: 1.1rem;
47
+ }
48
+ }
49
+
50
+ &.list-inset {
51
+ background: transparent;
52
+
53
+ &.md:not(:last-child) {
54
+ margin-bottom: 0;
55
+ }
56
+
57
+ ion-list-header {
58
+ display: flex;
59
+ align-items: center;
60
+ &.md {
61
+ margin-top: 0;
62
+ }
63
+ ion-label {
64
+ font-size: 0.9rem;
65
+ margin: 8px 4px 4px;
66
+ color: var(--ion-color-medium-tint);
67
+ }
68
+ ion-button {
69
+ margin-top: 8px;
70
+ }
71
+ ion-note {
72
+ font-size: 0.9rem;
73
+ margin: 8px 16px 4px 0;
74
+ }
75
+ }
76
+
77
+ ion-item-group.ios,
78
+ ion-reorder-group.ios {
79
+ border-radius: 24px;
80
+ overflow: hidden;
81
+
82
+ ion-item:first-child {
83
+ --padding-top: 4px;
84
+ }
85
+ ion-item:last-child {
86
+ --padding-bottom: 4px;
87
+ }
88
+ }
89
+
90
+ ion-item-group > :is(ion-item, section.autocomplete):last-child,
91
+ ion-item-group > ion-item-sliding:last-child ion-item {
92
+ --border-width: 0 !important;
93
+ --show-full-highlight: 0 !important;
94
+ --inner-border-width: 0 !important;
95
+ --show-inset-highlight: 0 !important;
96
+ }
97
+
98
+ ion-item-group.not-first-child {
99
+ margin: 16px 0;
100
+ }
101
+
102
+ & > ion-item > ion-list > ion-item {
103
+ // 入れ子にしてるコンテンツ
104
+ }
105
+
106
+ ion-item-group > ion-item {
107
+ & > div.item-title-wrapper {
108
+ width: 100%;
109
+ text-align: center;
110
+ padding: 32px 16px 16px;
111
+ ion-icon {
112
+ font-size: 2.8rem;
113
+ }
114
+ h2 {
115
+ font-size: 1rem;
116
+ font-weight: bold;
117
+ margin-top: 8px;
118
+ }
119
+ ion-text {
120
+ font-size: 0.9rem;
121
+ }
122
+ }
123
+ &.ios {
124
+ --inner-padding-end: 0;
125
+ &::part(native) {
126
+ padding-right: 16px;
127
+ }
128
+ }
129
+ & > ion-input.md[labelplacement='floating'] {
130
+ transition: transform 0.2s ease;
131
+ &:not(.label-floating) {
132
+ transform: translateY(-7px);
133
+ }
134
+ &.label-floating {
135
+ transform: translateY(-4px);
136
+ }
137
+ }
138
+ & > ion-input.ios[labelplacement='floating'] {
139
+ transition: transform 0.2s ease;
140
+ &:not(.label-floating) {
141
+ transform: translateY(-2px);
142
+ }
143
+ }
144
+ & ion-button[slot='end'].ion-align-self-end {
145
+ transform: translateY(-7px);
146
+ }
147
+ }
148
+
149
+ & > ion-note,
150
+ ion-note.note {
151
+ color: var(--ion-color-medium-tint);
152
+ font-size: 0.9rem;
153
+ display: block;
154
+ margin: 8px 16px;
155
+ }
156
+
157
+ ion-note.note {
158
+ margin: 8px 0;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ ion-content:not([color='light']) {
165
+ ion-list :not(ion-item-group) {
166
+ ion-item.ios:last-child {
167
+ --border-width: #{0px 0px 0.55px 0px};
168
+ --inner-border-width: 0px;
169
+ --show-inset-highlight: 0;
170
+ --show-full-highlight: 1;
171
+ }
172
+
173
+ ion-item.md:last-child {
174
+ --border-width: #{0px 0px 1px 0px};
175
+ --inner-border-width: 0;
176
+ --show-full-highlight: 1;
177
+ --show-inset-highlight: 0;
178
+ }
179
+ }
180
+
181
+ ion-list ion-item-group ion-item:last-child {
182
+ --border-width: 0px;
183
+ --show-full-highlight: 0;
184
+ --inner-border-width: 0px;
185
+ --show-inset-highlight: 0;
186
+ }
187
+
188
+ ion-list[slot='content'] {
189
+ padding: 0;
190
+ margin: 0;
191
+ ion-item.ios:last-child {
192
+ --border-width: 0;
193
+ --inner-border-width: 0px;
194
+ --show-inset-highlight: 0;
195
+ --show-full-highlight: 0;
196
+ }
197
+ }
198
+ }
@@ -1,22 +1,12 @@
1
- @use 'ios-variables';
1
+ @use '../ios-variables';
2
2
 
3
3
  .ios {
4
- /**
5
- * パフォーマンス対策。必ず背景が単色である限りは不要
6
- */
7
- .ion-page ion-header > ion-toolbar > ion-buttons ion-button:not(.link-setting),
8
- .ion-page ion-header > ion-toolbar > ion-buttons ion-back-button {
9
- &::part(native) {
10
- backdrop-filter: none !important;
11
- }
12
- }
13
-
14
4
  .ion-page ion-header > ion-toolbar > ion-buttons ion-button:not(.link-setting),
15
5
  .ion-page ion-header > ion-toolbar > ion-buttons ion-back-button,
16
6
  ion-buttons.liquid-glass-buttons ion-button {
17
7
  max-height: inherit;
18
8
  &::part(native) {
19
- @include ios-variables.glass-background(0.7);
9
+ @include ios-variables.glass-background();
20
10
  border-radius: 25px;
21
11
  }
22
12
  margin: 8px;
@@ -25,6 +15,7 @@
25
15
 
26
16
  transition: transform 100ms ease-out;
27
17
  will-change: transform;
18
+ color: var(--ion-text-color, #000);
28
19
  &.ion-activated {
29
20
  transform: scale(1.2);
30
21
  box-shadow: none;
@@ -1,4 +1,4 @@
1
- @use 'ios-variables';
1
+ @use '../ios-variables';
2
2
 
3
3
  .ios {
4
4
  ion-popover {
@@ -1,4 +1,4 @@
1
- @use 'ios-variables';
1
+ @use '../ios-variables';
2
2
 
3
3
  .ios {
4
4
  .toolbar-searchbar::part(container) {
@@ -10,6 +10,10 @@
10
10
  ion-searchbar:not(.area-searchbar) {
11
11
  .searchbar-input-container {
12
12
  margin: 0 6px;
13
+ input.searchbar-input {
14
+ // Modal表示でのアイコン非表示の不具合の対応
15
+ backdrop-filter: none;
16
+ }
13
17
  }
14
18
  }
15
19
  }
@@ -29,8 +33,6 @@
29
33
  input.searchbar-input {
30
34
  min-height: 44px;
31
35
  @include ios-variables.glass-background;
32
- // Modal表示でのアイコン非表示の不具合の対応
33
- backdrop-filter: none;
34
36
  border-radius: 20px;
35
37
  padding-inline-start: 2.4rem !important;
36
38
  }
@@ -1,4 +1,4 @@
1
- @use 'ios-variables';
1
+ @use '../ios-variables';
2
2
 
3
3
  .ios {
4
4
  ion-fab.inner-tab-bar {
@@ -0,0 +1,8 @@
1
+ ion-toggle.ios {
2
+ --handle-width: 38px;
3
+ --handle-height: 28px;
4
+ &::part(track) {
5
+ height: 28px;
6
+ width: 64px;
7
+ }
8
+ }
@@ -1,4 +1,4 @@
1
- @use 'ios-variables';
1
+ @use '../ios-variables';
2
2
 
3
3
  .ion-palette-dark.ios {
4
4
  .ion-page ion-header > ion-toolbar > ion-buttons *,
@@ -1,12 +1,12 @@
1
1
  @use 'ios-variables';
2
2
 
3
- @use 'ion-popover';
4
- @use 'ion-searchbar';
5
- @use 'ios-talk-room';
6
- @use 'ion-tabs';
7
- @use 'ion-button';
8
- @use 'ion-segment';
9
- @use 'ios-design-dark';
3
+ @use 'ios-design/ion-popover';
4
+ @use 'ios-design/ion-searchbar';
5
+ @use 'ios-design/ion-tabs';
6
+ @use 'ios-design/ion-button';
7
+ @use 'ios-design/ion-segment';
8
+ @use 'ios-design/ion-toggle';
9
+ @use 'ios-design/ios-design-dark';
10
10
 
11
11
  .ios {
12
12
  ion-toast {
@@ -21,24 +21,6 @@
21
21
  --button-color: var(--ion-color-medium);
22
22
  }
23
23
 
24
- .thread-fab {
25
- ion-fab-button {
26
- &::part(native) {
27
- @include ios-variables.glass-background;
28
- color: rgb(var(--system-dark-rgb));
29
- }
30
- ion-icon {
31
- color: var(--ion-color-medium-shade);
32
- }
33
- --background-activated: rgba(var(--system-light-rgb), 0.3);
34
- }
35
- }
36
-
37
- // tweet action toolbar
38
- ion-item.suggest-seeking {
39
- --padding-start: 16px !important;
40
- }
41
-
42
24
  .can-go-back ion-header ion-toolbar:not(.md):first-child,
43
25
  .enable-back-button ion-header ion-toolbar:not(.md):first-child {
44
26
  --border-width: 0;
@@ -52,6 +34,7 @@
52
34
  ion-toolbar {
53
35
  --border-width: 0;
54
36
  --background: transparent;
37
+ --opacity: 1 !important;
55
38
  }
56
39
  }
57
40
  ion-header ion-toolbar:first-child {
@@ -99,18 +82,6 @@
99
82
  }
100
83
  }
101
84
  }
102
- app-photo-image,
103
- app-editor-image {
104
- &.ion-page ion-header > ion-toolbar > ion-buttons * {
105
- &::part(native) {
106
- box-shadow: none !important;
107
- border-radius: 25px;
108
- background: transparent !important;
109
- border-width: 1px !important;
110
- }
111
- }
112
- }
113
-
114
85
  .ion-page ion-content:not(.background-transparent)::after,
115
86
  ion-footer.footer-translucent::after {
116
87
  content: '';
@@ -124,8 +95,16 @@
124
95
  pointer-events: none;
125
96
  z-index: 1;
126
97
  }
127
- app-editor-image.ion-page ion-content::after,
128
- app-photo-image.ion-page ion-content::after {
129
- box-shadow: none !important;
98
+ ion-header.header-translucent::after {
99
+ content: '';
100
+ position: absolute;
101
+ top: 0;
102
+ width: 100%;
103
+ height: calc(66px + var(--ion-safe-area-top));
104
+ box-shadow:
105
+ inset 0 0 0 0 rgba(var(--system-background-rgb), 0),
106
+ inset 0 calc(66px + var(--ion-safe-area-top)) 20px -20px rgba(var(--system-background-rgb), 1);
107
+ pointer-events: none;
108
+ z-index: 1;
130
109
  }
131
110
  }
@@ -13,7 +13,7 @@
13
13
  --system-tab-active-rgb: 255, 255, 255;
14
14
  --system-shadow-rgb: translarent;
15
15
  --system-background-rgb: 0, 0, 0;
16
- --system-edge-rgb: 80, 80, 80;
16
+ --system-edge-rgb: 120, 120, 120;
17
17
  }
18
18
 
19
19
  @mixin glass-background($opacity: 0.4, $blur: 6px) {
@@ -1,50 +0,0 @@
1
- @use 'ios-variables';
2
-
3
- .ios {
4
- app-talk-room {
5
- .talk-system-message {
6
- transform: translateY(-80px);
7
- }
8
- ion-footer#talk-footer {
9
- ion-toolbar {
10
- --border-width: 0;
11
- --background: transparent;
12
- }
13
- ion-toolbar.toolbar-blockquote {
14
- position: absolute;
15
- top: -56px;
16
- ion-item {
17
- padding: 8px 12px;
18
- --inner-padding-end: 4px;
19
- ion-avatar {
20
- transform: translateX(-10px);
21
- margin-right: 4px;
22
- display: flex;
23
- align-items: center;
24
- justify-content: center;
25
- ion-icon {
26
- font-size: 1.6rem;
27
- color: var(--ion-color-medium-tint);
28
- }
29
- }
30
- &::part(native) {
31
- @include ios-variables.glass-background;
32
- border-radius: 20px;
33
- }
34
- }
35
- }
36
- ion-toolbar.send-message {
37
- ion-textarea.input-field {
38
- transition: width 0.5s ease;
39
- --padding-start: 16px;
40
- --padding-end: 16px;
41
- label.textarea-wrapper {
42
- @include ios-variables.glass-background;
43
- margin: 8px 8px;
44
- border-radius: 32px;
45
- }
46
- }
47
- }
48
- }
49
- }
50
- }