@ionic/core 8.2.3-dev.11718879673.1a3f486b → 8.2.3-dev.11719301373.17616928

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.
Files changed (100) hide show
  1. package/components/buttons.js +6 -6
  2. package/components/ion-item-option.js +21 -5
  3. package/components/ion-item-options.js +3 -3
  4. package/components/ion-menu-button.js +6 -6
  5. package/components/ion-searchbar.js +8 -8
  6. package/components/ion-tab-bar.js +3 -3
  7. package/components/ion-tab-button.js +1 -1
  8. package/components/ion-title.js +6 -6
  9. package/components/ion-toolbar.js +11 -7
  10. package/components/list.js +22 -3
  11. package/dist/cjs/ion-app_8.cjs.entry.js +21 -18
  12. package/dist/cjs/ion-item-option_3.cjs.entry.js +22 -7
  13. package/dist/cjs/ion-item_8.cjs.entry.js +21 -3
  14. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  15. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -8
  16. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  17. package/dist/cjs/ionic.cjs.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/components/buttons/buttons.ionic.css +101 -0
  20. package/dist/collection/components/buttons/buttons.ios.css +37 -3
  21. package/dist/collection/components/buttons/buttons.js +4 -4
  22. package/dist/collection/components/buttons/buttons.md.css +37 -3
  23. package/dist/collection/components/item-option/item-option.ionic.css +325 -0
  24. package/dist/collection/components/item-option/item-option.js +36 -4
  25. package/dist/collection/components/item-options/item-options.ionic.css +260 -0
  26. package/dist/collection/components/item-options/item-options.js +3 -3
  27. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +1 -1
  28. package/dist/collection/components/item-sliding/test/shapes/item-sliding.e2e.js +28 -0
  29. package/dist/collection/components/list/list.ionic.css +174 -0
  30. package/dist/collection/components/list/list.js +38 -3
  31. package/dist/collection/components/list/list.md.css +2 -2
  32. package/dist/collection/components/list/test/shape/list.e2e.js +204 -0
  33. package/dist/collection/components/menu-button/menu-button.ionic.css +240 -0
  34. package/dist/collection/components/menu-button/menu-button.ios.css +32 -10
  35. package/dist/collection/components/menu-button/menu-button.js +4 -4
  36. package/dist/collection/components/menu-button/menu-button.md.css +32 -10
  37. package/dist/collection/components/searchbar/searchbar.ionic.css +269 -0
  38. package/dist/collection/components/searchbar/searchbar.ios.css +42 -16
  39. package/dist/collection/components/searchbar/searchbar.js +6 -6
  40. package/dist/collection/components/searchbar/searchbar.md.css +42 -16
  41. package/dist/collection/components/tab-bar/tab-bar.ionic.css +94 -57
  42. package/dist/collection/components/tab-bar/tab-bar.ios.css +46 -43
  43. package/dist/collection/components/tab-bar/tab-bar.md.css +46 -43
  44. package/dist/collection/components/tab-button/tab-button.ionic.css +2 -2
  45. package/dist/collection/components/title/test/theme-ionic/title.e2e.js +14 -0
  46. package/dist/collection/components/title/title.ionic.css +155 -0
  47. package/dist/collection/components/title/title.ios.css +26 -4
  48. package/dist/collection/components/title/title.js +4 -4
  49. package/dist/collection/components/title/title.md.css +26 -4
  50. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  51. package/dist/collection/components/toolbar/toolbar.ios.css +82 -51
  52. package/dist/collection/components/toolbar/toolbar.js +25 -4
  53. package/dist/collection/components/toolbar/toolbar.md.css +82 -51
  54. package/dist/docs.json +89 -1
  55. package/dist/esm/ion-app_8.entry.js +21 -18
  56. package/dist/esm/ion-item-option_3.entry.js +22 -7
  57. package/dist/esm/ion-item_8.entry.js +21 -3
  58. package/dist/esm/ion-menu_3.entry.js +6 -6
  59. package/dist/esm/ion-searchbar.entry.js +8 -8
  60. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  61. package/dist/esm/ionic.js +1 -1
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  64. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  65. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  66. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  67. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  68. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  69. package/dist/esm-es5/ionic.js +1 -1
  70. package/dist/esm-es5/loader.js +1 -1
  71. package/dist/html.html-data.json +34 -0
  72. package/dist/ionic/ionic.esm.js +1 -1
  73. package/dist/ionic/p-12a0de44.system.entry.js +4 -0
  74. package/dist/ionic/p-214631b2.system.entry.js +4 -0
  75. package/dist/ionic/p-224ad51a.entry.js +4 -0
  76. package/dist/ionic/{p-12c07c03.system.entry.js → p-663d8429.system.entry.js} +1 -1
  77. package/dist/ionic/p-7141dfca.entry.js +4 -0
  78. package/dist/ionic/p-7b590e46.system.js +1 -1
  79. package/dist/ionic/p-8052f3ad.entry.js +4 -0
  80. package/dist/ionic/p-82297db9.system.entry.js +4 -0
  81. package/dist/ionic/{p-89efe86f.entry.js → p-9a52a085.entry.js} +1 -1
  82. package/dist/ionic/p-b14d56c8.system.entry.js +4 -0
  83. package/dist/ionic/{p-59cd0dd7.system.entry.js → p-c2eece5e.system.entry.js} +1 -1
  84. package/dist/ionic/p-cd9a7c32.entry.js +4 -0
  85. package/dist/ionic/p-d718695f.entry.js +4 -0
  86. package/dist/types/components/item-option/item-option.d.ts +9 -0
  87. package/dist/types/components/list/list.d.ts +13 -0
  88. package/dist/types/components/toolbar/toolbar.d.ts +5 -0
  89. package/dist/types/components.d.ts +24 -0
  90. package/hydrate/index.js +88 -49
  91. package/package.json +1 -1
  92. package/dist/ionic/p-0116d120.entry.js +0 -4
  93. package/dist/ionic/p-24d2aea3.entry.js +0 -4
  94. package/dist/ionic/p-2fdc82b4.entry.js +0 -4
  95. package/dist/ionic/p-350462f9.system.entry.js +0 -4
  96. package/dist/ionic/p-37e801db.entry.js +0 -4
  97. package/dist/ionic/p-cdc9a11c.system.entry.js +0 -4
  98. package/dist/ionic/p-d5fc7d63.entry.js +0 -4
  99. package/dist/ionic/p-ea8c8541.system.entry.js +0 -4
  100. package/dist/ionic/p-fc0922fa.system.entry.js +0 -4
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
7
+ /**
8
+ * This is an auto-generated file, please do not change it directly.
9
+ * Ionic Design System
10
+ */
11
+ /**
12
+ * A heuristic that applies CSS to tablet
13
+ * viewports.
14
+ *
15
+ * Usage:
16
+ * @include tablet-viewport() {
17
+ * :host {
18
+ * background-color: green;
19
+ * }
20
+ * }
21
+ */
22
+ /**
23
+ * A heuristic that applies CSS to mobile
24
+ * viewports (i.e. phones, not tablets).
25
+ *
26
+ * Usage:
27
+ * @include mobile-viewport() {
28
+ * :host {
29
+ * background-color: blue;
30
+ * }
31
+ * }
32
+ */
33
+ /**
34
+ * Convert a font size to a dynamic font size.
35
+ * Fonts that participate in Dynamic Type should use
36
+ * dynamic font sizes.
37
+ * @param size - The initial font size including the unit (i.e. px or pt)
38
+ * @param unit (optional) - The unit to convert to. Use this if you want to
39
+ * convert to a unit other than $baselineUnit.
40
+ */
41
+ /**
42
+ * Convert a font size to a dynamic font size but impose
43
+ * a maximum font size.
44
+ * @param size - The initial font size including the unit (i.e. px or pt)
45
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
46
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
47
+ * convert to a unit other than $baselineUnit.
48
+ */
49
+ /**
50
+ * Convert a font size to a dynamic font size but impose
51
+ * a minimum font size.
52
+ * @param size - The initial font size including the unit (i.e. px or pt)
53
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
54
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
55
+ * convert to a unit other than $baselineUnit.
56
+ */
57
+ /**
58
+ * Convert a font size to a dynamic font size but impose
59
+ * maximum and minimum font sizes.
60
+ * @param size - The initial font size including the unit (i.e. px or pt)
61
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
62
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
63
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
64
+ * convert to a unit other than $baselineUnit.
65
+ */
66
+ /**
67
+ * A heuristic that applies CSS to tablet
68
+ * viewports.
69
+ *
70
+ * Usage:
71
+ * @include tablet-viewport() {
72
+ * :host {
73
+ * background-color: green;
74
+ * }
75
+ * }
76
+ */
77
+ /**
78
+ * A heuristic that applies CSS to mobile
79
+ * viewports (i.e. phones, not tablets).
80
+ *
81
+ * Usage:
82
+ * @include mobile-viewport() {
83
+ * :host {
84
+ * background-color: blue;
85
+ * }
86
+ * }
87
+ */
88
+ :host {
89
+ /**
90
+ * @prop --border-radius: Border radius of the menu button
91
+ *
92
+ * @prop --background: Background of the menu button
93
+ * @prop --background-hover: Background of the menu button on hover
94
+ * @prop --background-hover-opacity: Opacity of the background on hover
95
+ * @prop --background-focused: Background of the menu button when focused with the tab key
96
+ * @prop --background-focused-opacity: Opacity of the menu button background when focused with the tab key
97
+ *
98
+ * @prop --color: Color of the menu button
99
+ * @prop --color-hover: Color of the menu button on hover
100
+ * @prop --color-focused: Color of the menu button when focused with the tab key
101
+ *
102
+ * @prop --padding-top: Top padding of the button
103
+ * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the button
104
+ * @prop --padding-bottom: Bottom padding of the button
105
+ * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the button
106
+ */
107
+ --background: transparent;
108
+ --color-focused: currentColor;
109
+ --border-radius: initial;
110
+ --padding-top: 0;
111
+ --padding-bottom: 0;
112
+ color: var(--color);
113
+ text-align: center;
114
+ text-decoration: none;
115
+ text-overflow: ellipsis;
116
+ text-transform: none;
117
+ white-space: nowrap;
118
+ font-kerning: none;
119
+ }
120
+
121
+ .button-native {
122
+ border-radius: var(--border-radius);
123
+ color: inherit;
124
+ font-family: inherit;
125
+ font-size: inherit;
126
+ font-style: inherit;
127
+ font-weight: inherit;
128
+ letter-spacing: inherit;
129
+ text-align: inherit;
130
+ text-decoration: inherit;
131
+ text-indent: inherit;
132
+ text-overflow: inherit;
133
+ text-transform: inherit;
134
+ white-space: inherit;
135
+ margin-left: 0;
136
+ margin-right: 0;
137
+ margin-top: 0;
138
+ margin-bottom: 0;
139
+ -webkit-padding-start: var(--padding-start);
140
+ padding-inline-start: var(--padding-start);
141
+ -webkit-padding-end: var(--padding-end);
142
+ padding-inline-end: var(--padding-end);
143
+ padding-top: var(--padding-top);
144
+ padding-bottom: var(--padding-bottom);
145
+ -moz-osx-font-smoothing: grayscale;
146
+ -webkit-font-smoothing: antialiased;
147
+ display: flex;
148
+ position: relative;
149
+ flex-flow: row nowrap;
150
+ flex-shrink: 0;
151
+ align-items: center;
152
+ justify-content: center;
153
+ width: 100%;
154
+ height: 100%;
155
+ min-height: inherit;
156
+ border: 0;
157
+ outline: none;
158
+ background: var(--background);
159
+ line-height: 1;
160
+ cursor: pointer;
161
+ overflow: hidden;
162
+ user-select: none;
163
+ z-index: 0;
164
+ appearance: none;
165
+ }
166
+
167
+ .button-inner {
168
+ display: flex;
169
+ position: relative;
170
+ flex-flow: row nowrap;
171
+ flex-shrink: 0;
172
+ align-items: center;
173
+ justify-content: center;
174
+ width: 100%;
175
+ height: 100%;
176
+ min-height: inherit;
177
+ z-index: 1;
178
+ }
179
+
180
+ ion-icon {
181
+ margin-left: 0;
182
+ margin-right: 0;
183
+ margin-top: 0;
184
+ margin-bottom: 0;
185
+ padding-left: 0;
186
+ padding-right: 0;
187
+ padding-top: 0;
188
+ padding-bottom: 0;
189
+ pointer-events: none;
190
+ }
191
+
192
+ :host(.menu-button-hidden) {
193
+ display: none;
194
+ }
195
+
196
+ :host(.ion-focused) .button-native {
197
+ color: var(--color-focused);
198
+ }
199
+ :host(.ion-focused) .button-native::after {
200
+ background: var(--background-focused);
201
+ opacity: var(--background-focused-opacity);
202
+ }
203
+
204
+ .button-native::after {
205
+ right: 0;
206
+ left: 0;
207
+ top: 0;
208
+ bottom: 0;
209
+ position: absolute;
210
+ content: "";
211
+ opacity: 0;
212
+ }
213
+
214
+ @media (any-hover: hover) {
215
+ :host(:hover) .button-native {
216
+ color: var(--color-hover);
217
+ }
218
+ :host(:hover) .button-native::after {
219
+ background: var(--background-hover);
220
+ opacity: var(--background-hover-opacity, 0);
221
+ }
222
+ }
223
+ :host(.in-toolbar:not(.in-toolbar-color)) {
224
+ color: var(--ion-toolbar-color, var(--color));
225
+ }
226
+
227
+ :host {
228
+ --background-focused: currentColor;
229
+ --background-focused-opacity: 0.12;
230
+ --background-hover: currentColor;
231
+ --background-hover-opacity: 0.04;
232
+ --border-radius: var(--ionic-border-radius-full, 999px);
233
+ --color: initial;
234
+ --padding-start: 0;
235
+ --padding-end: 0;
236
+ position: relative;
237
+ width: var(--ionic-scale-1000, 40px);
238
+ height: var(--ionic-scale-1000, 40px);
239
+ font-size: var(--ionic-font-size-600, 1.5rem);
240
+ }
@@ -120,6 +120,28 @@
120
120
  * }
121
121
  * }
122
122
  */
123
+ /**
124
+ * A heuristic that applies CSS to tablet
125
+ * viewports.
126
+ *
127
+ * Usage:
128
+ * @include tablet-viewport() {
129
+ * :host {
130
+ * background-color: green;
131
+ * }
132
+ * }
133
+ */
134
+ /**
135
+ * A heuristic that applies CSS to mobile
136
+ * viewports (i.e. phones, not tablets).
137
+ *
138
+ * Usage:
139
+ * @include mobile-viewport() {
140
+ * :host {
141
+ * background-color: blue;
142
+ * }
143
+ * }
144
+ */
123
145
  :host {
124
146
  /**
125
147
  * @prop --border-radius: Border radius of the menu button
@@ -228,12 +250,6 @@ ion-icon {
228
250
  display: none;
229
251
  }
230
252
 
231
- :host(.menu-button-disabled) {
232
- cursor: default;
233
- opacity: 0.5;
234
- pointer-events: none;
235
- }
236
-
237
253
  :host(.ion-focused) .button-native {
238
254
  color: var(--color-focused);
239
255
  }
@@ -261,14 +277,20 @@ ion-icon {
261
277
  opacity: var(--background-hover-opacity, 0);
262
278
  }
263
279
  }
264
- :host(.ion-color) .button-native {
265
- color: var(--ion-color-base);
266
- }
267
-
268
280
  :host(.in-toolbar:not(.in-toolbar-color)) {
269
281
  color: var(--ion-toolbar-color, var(--color));
270
282
  }
271
283
 
284
+ :host(.menu-button-disabled) {
285
+ cursor: default;
286
+ opacity: 0.5;
287
+ pointer-events: none;
288
+ }
289
+
290
+ :host(.ion-color) .button-native {
291
+ color: var(--ion-color-base);
292
+ }
293
+
272
294
  :host {
273
295
  --background-focused: currentColor;
274
296
  --background-focused-opacity: 0.1;
@@ -47,7 +47,7 @@ export class MenuButton {
47
47
  type: this.type,
48
48
  };
49
49
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
50
- return (h(Host, { key: '8102c6e4a0d8e618e12fb390ca7acb9bccea888a', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
50
+ return (h(Host, { key: 'dc7af6b49fe4f1603d8b1909ddfeb0e3a13bc71f', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
51
51
  [theme]: true,
52
52
  button: true, // ion-buttons target .button
53
53
  'menu-button-hidden': hidden,
@@ -56,7 +56,7 @@ export class MenuButton {
56
56
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
57
57
  'ion-activatable': true,
58
58
  'ion-focusable': true,
59
- }) }, h("button", Object.assign({ key: '730c71e65bb2361bb8d2d372a43ed3869af34875' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '00b474f3495c800f70821b039ba48aa4faddb9e0', class: "button-inner" }, h("slot", { key: '0e8f7528ab9be81721bf1630cc0f92fb9b110ccd' }, h("ion-icon", { key: '3364f0ebf82500fe47c8f501c87ba93d207bed8e', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: 'ecc816724db1d419da5377ceee6557c9c6e1a4b0', type: "unbounded" }))));
59
+ }) }, h("button", Object.assign({ key: '470a5e29e1535fe37f1dbfb561d9dc79ce6e13d7' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '62d94fd184257cf021bc7b71a9d68d7722b12b1c', class: "button-inner" }, h("slot", { key: '49cb73d8c63853cef58ef8c4106053878407d239' }, h("ion-icon", { key: 'b26e656d335962c528b4180a49e1fc55e8331174', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: 'c99d120c6d0630f81e1b274750037f65c7d730ed', type: "unbounded" }))));
60
60
  }
61
61
  static get is() { return "ion-menu-button"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -64,14 +64,14 @@ export class MenuButton {
64
64
  return {
65
65
  "ios": ["menu-button.ios.scss"],
66
66
  "md": ["menu-button.md.scss"],
67
- "ionic": ["menu-button.md.scss"]
67
+ "ionic": ["menu-button.ionic.scss"]
68
68
  };
69
69
  }
70
70
  static get styleUrls() {
71
71
  return {
72
72
  "ios": ["menu-button.ios.css"],
73
73
  "md": ["menu-button.md.css"],
74
- "ionic": ["menu-button.md.css"]
74
+ "ionic": ["menu-button.ionic.css"]
75
75
  };
76
76
  }
77
77
  static get properties() {
@@ -120,6 +120,28 @@
120
120
  * }
121
121
  * }
122
122
  */
123
+ /**
124
+ * A heuristic that applies CSS to tablet
125
+ * viewports.
126
+ *
127
+ * Usage:
128
+ * @include tablet-viewport() {
129
+ * :host {
130
+ * background-color: green;
131
+ * }
132
+ * }
133
+ */
134
+ /**
135
+ * A heuristic that applies CSS to mobile
136
+ * viewports (i.e. phones, not tablets).
137
+ *
138
+ * Usage:
139
+ * @include mobile-viewport() {
140
+ * :host {
141
+ * background-color: blue;
142
+ * }
143
+ * }
144
+ */
123
145
  :host {
124
146
  /**
125
147
  * @prop --border-radius: Border radius of the menu button
@@ -228,12 +250,6 @@ ion-icon {
228
250
  display: none;
229
251
  }
230
252
 
231
- :host(.menu-button-disabled) {
232
- cursor: default;
233
- opacity: 0.5;
234
- pointer-events: none;
235
- }
236
-
237
253
  :host(.ion-focused) .button-native {
238
254
  color: var(--color-focused);
239
255
  }
@@ -261,14 +277,20 @@ ion-icon {
261
277
  opacity: var(--background-hover-opacity, 0);
262
278
  }
263
279
  }
264
- :host(.ion-color) .button-native {
265
- color: var(--ion-color-base);
266
- }
267
-
268
280
  :host(.in-toolbar:not(.in-toolbar-color)) {
269
281
  color: var(--ion-toolbar-color, var(--color));
270
282
  }
271
283
 
284
+ :host(.menu-button-disabled) {
285
+ cursor: default;
286
+ opacity: 0.5;
287
+ pointer-events: none;
288
+ }
289
+
290
+ :host(.ion-color) .button-native {
291
+ color: var(--ion-color-base);
292
+ }
293
+
272
294
  :host {
273
295
  --background-focused: currentColor;
274
296
  --background-focused-opacity: 0.12;
@@ -0,0 +1,269 @@
1
+ /**
2
+ * A heuristic that applies CSS to tablet
3
+ * viewports.
4
+ *
5
+ * Usage:
6
+ * @include tablet-viewport() {
7
+ * :host {
8
+ * background-color: green;
9
+ * }
10
+ * }
11
+ */
12
+ /**
13
+ * A heuristic that applies CSS to mobile
14
+ * viewports (i.e. phones, not tablets).
15
+ *
16
+ * Usage:
17
+ * @include mobile-viewport() {
18
+ * :host {
19
+ * background-color: blue;
20
+ * }
21
+ * }
22
+ */
23
+ :host {
24
+ /**
25
+ * @prop --background: Background of the searchbar input
26
+ * @prop --box-shadow: Box shadow of the searchbar input
27
+ * @prop --border-radius: Border radius of the searchbar input
28
+ * @prop --cancel-button-color: Color of the searchbar cancel button
29
+ * @prop --clear-button-color: Color of the searchbar clear button
30
+ * @prop --color: Color of the searchbar text
31
+ * @prop --icon-color: Color of the searchbar icon
32
+ * @prop --placeholder-color: Color of the searchbar placeholder
33
+ * @prop --placeholder-font-style: Font style of the searchbar placeholder
34
+ * @prop --placeholder-font-weight: Font weight of the searchbar placeholder
35
+ * @prop --placeholder-opacity: Opacity of the searchbar placeholder
36
+ */
37
+ --placeholder-color: initial;
38
+ --placeholder-font-style: initial;
39
+ --placeholder-font-weight: initial;
40
+ --placeholder-opacity: 0.5;
41
+ -moz-osx-font-smoothing: grayscale;
42
+ -webkit-font-smoothing: antialiased;
43
+ display: flex;
44
+ position: relative;
45
+ align-items: center;
46
+ width: 100%;
47
+ color: var(--color);
48
+ box-sizing: border-box;
49
+ }
50
+
51
+ .searchbar-search-icon {
52
+ color: var(--icon-color);
53
+ pointer-events: none;
54
+ }
55
+
56
+ .searchbar-input-container {
57
+ display: block;
58
+ position: relative;
59
+ flex-shrink: 1;
60
+ width: 100%;
61
+ }
62
+
63
+ .searchbar-input {
64
+ color: inherit;
65
+ font-family: inherit;
66
+ font-size: inherit;
67
+ font-style: inherit;
68
+ font-weight: inherit;
69
+ letter-spacing: inherit;
70
+ text-align: inherit;
71
+ text-decoration: inherit;
72
+ text-indent: inherit;
73
+ text-overflow: inherit;
74
+ text-transform: inherit;
75
+ white-space: inherit;
76
+ border-radius: var(--border-radius);
77
+ display: block;
78
+ width: 100%;
79
+ min-height: inherit;
80
+ border: 0;
81
+ outline: none;
82
+ background: var(--background);
83
+ font-family: inherit;
84
+ box-shadow: var(--box-shadow);
85
+ box-sizing: border-box;
86
+ appearance: none;
87
+ }
88
+ .searchbar-input::placeholder {
89
+ color: var(--placeholder-color);
90
+ font-family: inherit;
91
+ font-style: var(--placeholder-font-style);
92
+ font-weight: var(--placeholder-font-weight);
93
+ opacity: var(--placeholder-opacity);
94
+ }
95
+ .searchbar-input::-webkit-search-cancel-button, .searchbar-input::-ms-clear {
96
+ display: none;
97
+ }
98
+
99
+ .searchbar-cancel-button {
100
+ margin-left: 0;
101
+ margin-right: 0;
102
+ margin-top: 0;
103
+ margin-bottom: 0;
104
+ display: none;
105
+ height: 100%;
106
+ border: 0;
107
+ outline: none;
108
+ color: var(--cancel-button-color);
109
+ cursor: pointer;
110
+ appearance: none;
111
+ }
112
+
113
+ .searchbar-cancel-button > div {
114
+ display: flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ width: 100%;
118
+ height: 100%;
119
+ }
120
+
121
+ .searchbar-clear-button {
122
+ margin-left: 0;
123
+ margin-right: 0;
124
+ margin-top: 0;
125
+ margin-bottom: 0;
126
+ padding-left: 0;
127
+ padding-right: 0;
128
+ padding-top: 0;
129
+ padding-bottom: 0;
130
+ display: none;
131
+ min-height: 0;
132
+ outline: none;
133
+ color: var(--clear-button-color);
134
+ appearance: none;
135
+ }
136
+
137
+ /**
138
+ * Normally, we would not want to use :focus
139
+ * here because that would mean tapping the button
140
+ * on mobile would focus it (and keep it focused).
141
+ * However, the clear button always disappears after
142
+ * being activated, so we never get to that state.
143
+ */
144
+ .searchbar-clear-button:focus {
145
+ opacity: 0.5;
146
+ }
147
+
148
+ :host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button {
149
+ display: block;
150
+ }
151
+
152
+ /**
153
+ * Convert a pixels given value into rem
154
+ *
155
+ * @param pixels - Value in pixels to be converted (i.e. px)
156
+ * @param context (optional) - Baseline value
157
+ */
158
+ /**
159
+ * This is an auto-generated file, please do not change it directly.
160
+ * Ionic Design System
161
+ */
162
+ /**
163
+ * A heuristic that applies CSS to tablet
164
+ * viewports.
165
+ *
166
+ * Usage:
167
+ * @include tablet-viewport() {
168
+ * :host {
169
+ * background-color: green;
170
+ * }
171
+ * }
172
+ */
173
+ /**
174
+ * A heuristic that applies CSS to mobile
175
+ * viewports (i.e. phones, not tablets).
176
+ *
177
+ * Usage:
178
+ * @include mobile-viewport() {
179
+ * :host {
180
+ * background-color: blue;
181
+ * }
182
+ * }
183
+ */
184
+ /**
185
+ * Convert a font size to a dynamic font size.
186
+ * Fonts that participate in Dynamic Type should use
187
+ * dynamic font sizes.
188
+ * @param size - The initial font size including the unit (i.e. px or pt)
189
+ * @param unit (optional) - The unit to convert to. Use this if you want to
190
+ * convert to a unit other than $baselineUnit.
191
+ */
192
+ /**
193
+ * Convert a font size to a dynamic font size but impose
194
+ * a maximum font size.
195
+ * @param size - The initial font size including the unit (i.e. px or pt)
196
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
197
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
198
+ * convert to a unit other than $baselineUnit.
199
+ */
200
+ /**
201
+ * Convert a font size to a dynamic font size but impose
202
+ * a minimum font size.
203
+ * @param size - The initial font size including the unit (i.e. px or pt)
204
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
205
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
206
+ * convert to a unit other than $baselineUnit.
207
+ */
208
+ /**
209
+ * Convert a font size to a dynamic font size but impose
210
+ * maximum and minimum font sizes.
211
+ * @param size - The initial font size including the unit (i.e. px or pt)
212
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
213
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
214
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
215
+ * convert to a unit other than $baselineUnit.
216
+ */
217
+ :host {
218
+ --background: var(--ionic-color-neutral-100, #f1f1f1);
219
+ --border-radius: var(--ionic-border-radius-800, 32px);
220
+ --box-shadow: none;
221
+ --cancel-button-color: var(--ionic-color-neutral-800, #626262);
222
+ --clear-button-color: var(--ionic-color-neutral-800, #626262);
223
+ --color: var(--ionic-color-neutral-800, #626262);
224
+ --icon-color: var(--ionic-color-neutral-800, #626262);
225
+ padding-left: 0;
226
+ padding-right: 0;
227
+ padding-top: 0;
228
+ padding-bottom: 0;
229
+ min-height: var(--ionic-scale-1000, 40px);
230
+ contain: content;
231
+ }
232
+
233
+ .searchbar-input-container {
234
+ min-height: var(--ionic-scale-1000, 40px);
235
+ }
236
+
237
+ .searchbar-search-icon {
238
+ display: none;
239
+ }
240
+
241
+ .searchbar-input {
242
+ -webkit-padding-start: var(--ionic-space-300, 12px);
243
+ padding-inline-start: var(--ionic-space-300, 12px);
244
+ -webkit-padding-end: var(--ionic-space-300, 12px);
245
+ padding-inline-end: var(--ionic-space-300, 12px);
246
+ padding-top: var(--ionic-space-300, 12px);
247
+ padding-bottom: var(--ionic-space-300, 12px);
248
+ height: 100%;
249
+ font-size: var(--ionic-font-size-350, 0.875rem);
250
+ font-weight: var(--ionic-font-weight-regular, 400);
251
+ contain: strict;
252
+ }
253
+
254
+ .searchbar-clear-button {
255
+ top: 50%;
256
+ position: absolute;
257
+ width: var(--ionic-scale-600, 24px);
258
+ height: var(--ionic-scale-600, 24px);
259
+ transform: translateY(-50%);
260
+ font-size: var(--ionic-font-size-400, 1rem);
261
+ contain: strict;
262
+ }
263
+ .searchbar-clear-button {
264
+ inset-inline-end: var(--ionic-space-200, 8px);
265
+ }
266
+
267
+ :host-context(ion-toolbar) {
268
+ min-height: var(--ionic-scale-1000, 40px);
269
+ }