@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.
- package/components/buttons.js +6 -6
- package/components/ion-item-option.js +21 -5
- package/components/ion-item-options.js +3 -3
- package/components/ion-menu-button.js +6 -6
- package/components/ion-searchbar.js +8 -8
- package/components/ion-tab-bar.js +3 -3
- package/components/ion-tab-button.js +1 -1
- package/components/ion-title.js +6 -6
- package/components/ion-toolbar.js +11 -7
- package/components/list.js +22 -3
- package/dist/cjs/ion-app_8.cjs.entry.js +21 -18
- package/dist/cjs/ion-item-option_3.cjs.entry.js +22 -7
- package/dist/cjs/ion-item_8.cjs.entry.js +21 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-searchbar.cjs.entry.js +8 -8
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/buttons/buttons.ionic.css +101 -0
- package/dist/collection/components/buttons/buttons.ios.css +37 -3
- package/dist/collection/components/buttons/buttons.js +4 -4
- package/dist/collection/components/buttons/buttons.md.css +37 -3
- package/dist/collection/components/item-option/item-option.ionic.css +325 -0
- package/dist/collection/components/item-option/item-option.js +36 -4
- package/dist/collection/components/item-options/item-options.ionic.css +260 -0
- package/dist/collection/components/item-options/item-options.js +3 -3
- package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +1 -1
- package/dist/collection/components/item-sliding/test/shapes/item-sliding.e2e.js +28 -0
- package/dist/collection/components/list/list.ionic.css +174 -0
- package/dist/collection/components/list/list.js +38 -3
- package/dist/collection/components/list/list.md.css +2 -2
- package/dist/collection/components/list/test/shape/list.e2e.js +204 -0
- package/dist/collection/components/menu-button/menu-button.ionic.css +240 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +32 -10
- package/dist/collection/components/menu-button/menu-button.js +4 -4
- package/dist/collection/components/menu-button/menu-button.md.css +32 -10
- package/dist/collection/components/searchbar/searchbar.ionic.css +269 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +42 -16
- package/dist/collection/components/searchbar/searchbar.js +6 -6
- package/dist/collection/components/searchbar/searchbar.md.css +42 -16
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +94 -57
- package/dist/collection/components/tab-bar/tab-bar.ios.css +46 -43
- package/dist/collection/components/tab-bar/tab-bar.md.css +46 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +2 -2
- package/dist/collection/components/title/test/theme-ionic/title.e2e.js +14 -0
- package/dist/collection/components/title/title.ionic.css +155 -0
- package/dist/collection/components/title/title.ios.css +26 -4
- package/dist/collection/components/title/title.js +4 -4
- package/dist/collection/components/title/title.md.css +26 -4
- package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +82 -51
- package/dist/collection/components/toolbar/toolbar.js +25 -4
- package/dist/collection/components/toolbar/toolbar.md.css +82 -51
- package/dist/docs.json +89 -1
- package/dist/esm/ion-app_8.entry.js +21 -18
- package/dist/esm/ion-item-option_3.entry.js +22 -7
- package/dist/esm/ion-item_8.entry.js +21 -3
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-searchbar.entry.js +8 -8
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/html.html-data.json +34 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-12a0de44.system.entry.js +4 -0
- package/dist/ionic/p-214631b2.system.entry.js +4 -0
- package/dist/ionic/p-224ad51a.entry.js +4 -0
- package/dist/ionic/{p-12c07c03.system.entry.js → p-663d8429.system.entry.js} +1 -1
- package/dist/ionic/p-7141dfca.entry.js +4 -0
- package/dist/ionic/p-7b590e46.system.js +1 -1
- package/dist/ionic/p-8052f3ad.entry.js +4 -0
- package/dist/ionic/p-82297db9.system.entry.js +4 -0
- package/dist/ionic/{p-89efe86f.entry.js → p-9a52a085.entry.js} +1 -1
- package/dist/ionic/p-b14d56c8.system.entry.js +4 -0
- package/dist/ionic/{p-59cd0dd7.system.entry.js → p-c2eece5e.system.entry.js} +1 -1
- package/dist/ionic/p-cd9a7c32.entry.js +4 -0
- package/dist/ionic/p-d718695f.entry.js +4 -0
- package/dist/types/components/item-option/item-option.d.ts +9 -0
- package/dist/types/components/list/list.d.ts +13 -0
- package/dist/types/components/toolbar/toolbar.d.ts +5 -0
- package/dist/types/components.d.ts +24 -0
- package/hydrate/index.js +88 -49
- package/package.json +1 -1
- package/dist/ionic/p-0116d120.entry.js +0 -4
- package/dist/ionic/p-24d2aea3.entry.js +0 -4
- package/dist/ionic/p-2fdc82b4.entry.js +0 -4
- package/dist/ionic/p-350462f9.system.entry.js +0 -4
- package/dist/ionic/p-37e801db.entry.js +0 -4
- package/dist/ionic/p-cdc9a11c.system.entry.js +0 -4
- package/dist/ionic/p-d5fc7d63.entry.js +0 -4
- package/dist/ionic/p-ea8c8541.system.entry.js +0 -4
- package/dist/ionic/p-fc0922fa.system.entry.js +0 -4
|
@@ -59,6 +59,28 @@
|
|
|
59
59
|
* }
|
|
60
60
|
* }
|
|
61
61
|
*/
|
|
62
|
+
/**
|
|
63
|
+
* A heuristic that applies CSS to tablet
|
|
64
|
+
* viewports.
|
|
65
|
+
*
|
|
66
|
+
* Usage:
|
|
67
|
+
* @include tablet-viewport() {
|
|
68
|
+
* :host {
|
|
69
|
+
* background-color: green;
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* A heuristic that applies CSS to mobile
|
|
75
|
+
* viewports (i.e. phones, not tablets).
|
|
76
|
+
*
|
|
77
|
+
* Usage:
|
|
78
|
+
* @include mobile-viewport() {
|
|
79
|
+
* :host {
|
|
80
|
+
* background-color: blue;
|
|
81
|
+
* }
|
|
82
|
+
* }
|
|
83
|
+
*/
|
|
62
84
|
:host {
|
|
63
85
|
/**
|
|
64
86
|
* @prop --background: Background of the searchbar input
|
|
@@ -76,7 +98,7 @@
|
|
|
76
98
|
--placeholder-color: initial;
|
|
77
99
|
--placeholder-font-style: initial;
|
|
78
100
|
--placeholder-font-weight: initial;
|
|
79
|
-
--placeholder-opacity:
|
|
101
|
+
--placeholder-opacity: 0.5;
|
|
80
102
|
-moz-osx-font-smoothing: grayscale;
|
|
81
103
|
-webkit-font-smoothing: antialiased;
|
|
82
104
|
display: flex;
|
|
@@ -84,24 +106,9 @@
|
|
|
84
106
|
align-items: center;
|
|
85
107
|
width: 100%;
|
|
86
108
|
color: var(--color);
|
|
87
|
-
font-family: var(--ion-font-family, inherit);
|
|
88
109
|
box-sizing: border-box;
|
|
89
110
|
}
|
|
90
111
|
|
|
91
|
-
:host(.ion-color) {
|
|
92
|
-
color: var(--ion-color-contrast);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
:host(.ion-color) .searchbar-input {
|
|
96
|
-
background: var(--ion-color-base);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
:host(.ion-color) .searchbar-clear-button,
|
|
100
|
-
:host(.ion-color) .searchbar-cancel-button,
|
|
101
|
-
:host(.ion-color) .searchbar-search-icon {
|
|
102
|
-
color: inherit;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
112
|
.searchbar-search-icon {
|
|
106
113
|
color: var(--icon-color);
|
|
107
114
|
pointer-events: none;
|
|
@@ -203,6 +210,25 @@
|
|
|
203
210
|
display: block;
|
|
204
211
|
}
|
|
205
212
|
|
|
213
|
+
:host {
|
|
214
|
+
--placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
|
|
215
|
+
font-family: var(--ion-font-family, inherit);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
:host(.ion-color) {
|
|
219
|
+
color: var(--ion-color-contrast);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
:host(.ion-color) .searchbar-input {
|
|
223
|
+
background: var(--ion-color-base);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
:host(.ion-color) .searchbar-clear-button,
|
|
227
|
+
:host(.ion-color) .searchbar-cancel-button,
|
|
228
|
+
:host(.ion-color) .searchbar-search-icon {
|
|
229
|
+
color: inherit;
|
|
230
|
+
}
|
|
231
|
+
|
|
206
232
|
:host(.searchbar-disabled) {
|
|
207
233
|
cursor: default;
|
|
208
234
|
opacity: 0.4;
|
|
@@ -421,8 +421,8 @@ export class Searchbar {
|
|
|
421
421
|
* icon in sync.
|
|
422
422
|
*/
|
|
423
423
|
const searchbarCancelIcon = (_a = this.cancelButtonIcon) !== null && _a !== void 0 ? _a : config.get('searchbarCancelIcon', config.get('backButtonIcon', arrowBackSharp));
|
|
424
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
425
|
-
return (h(Host, { key: '
|
|
424
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '48861dba9f544739202e134ad984a06df37411fa', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '04433af176306e9cae044a90433382c980bacd89', "aria-hidden": "true" }, theme === 'md' ? (h("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
|
|
425
|
+
return (h(Host, { key: 'a84f110e531e04fcad2a7643fdb50d79e94b7c51', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
426
426
|
[theme]: true,
|
|
427
427
|
'searchbar-animated': animated,
|
|
428
428
|
'searchbar-disabled': this.disabled,
|
|
@@ -432,14 +432,14 @@ export class Searchbar {
|
|
|
432
432
|
'searchbar-has-focus': this.focused,
|
|
433
433
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
434
434
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
435
|
-
}) }, h("div", { key: '
|
|
435
|
+
}) }, h("div", { key: 'a5f04dfb5f89cfa81521234439c85c3b15a051c1', class: "searchbar-input-container" }, h("input", Object.assign({ key: '0dcb88c659f846e3188b1964839d8a433c9885e2', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), theme === 'md' && cancelButton, h("ion-icon", { key: '46e3fdeadadbe6733671aba130907b76a147d74a', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: 'b020615f7cf03cfea759a884abb6a96cc85df231', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
436
436
|
/**
|
|
437
437
|
* This prevents mobile browsers from
|
|
438
438
|
* blurring the input when the clear
|
|
439
439
|
* button is activated.
|
|
440
440
|
*/
|
|
441
441
|
ev.preventDefault();
|
|
442
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
442
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '02c603fb06def9f5cd7badb3036f8cb1781c33ba', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" }))), theme === 'ios' && cancelButton));
|
|
443
443
|
}
|
|
444
444
|
static get is() { return "ion-searchbar"; }
|
|
445
445
|
static get encapsulation() { return "scoped"; }
|
|
@@ -447,14 +447,14 @@ export class Searchbar {
|
|
|
447
447
|
return {
|
|
448
448
|
"ios": ["searchbar.ios.scss"],
|
|
449
449
|
"md": ["searchbar.md.scss"],
|
|
450
|
-
"ionic": ["searchbar.
|
|
450
|
+
"ionic": ["searchbar.ionic.scss"]
|
|
451
451
|
};
|
|
452
452
|
}
|
|
453
453
|
static get styleUrls() {
|
|
454
454
|
return {
|
|
455
455
|
"ios": ["searchbar.ios.css"],
|
|
456
456
|
"md": ["searchbar.md.css"],
|
|
457
|
-
"ionic": ["searchbar.
|
|
457
|
+
"ionic": ["searchbar.ionic.css"]
|
|
458
458
|
};
|
|
459
459
|
}
|
|
460
460
|
static get properties() {
|
|
@@ -59,6 +59,28 @@
|
|
|
59
59
|
* }
|
|
60
60
|
* }
|
|
61
61
|
*/
|
|
62
|
+
/**
|
|
63
|
+
* A heuristic that applies CSS to tablet
|
|
64
|
+
* viewports.
|
|
65
|
+
*
|
|
66
|
+
* Usage:
|
|
67
|
+
* @include tablet-viewport() {
|
|
68
|
+
* :host {
|
|
69
|
+
* background-color: green;
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* A heuristic that applies CSS to mobile
|
|
75
|
+
* viewports (i.e. phones, not tablets).
|
|
76
|
+
*
|
|
77
|
+
* Usage:
|
|
78
|
+
* @include mobile-viewport() {
|
|
79
|
+
* :host {
|
|
80
|
+
* background-color: blue;
|
|
81
|
+
* }
|
|
82
|
+
* }
|
|
83
|
+
*/
|
|
62
84
|
:host {
|
|
63
85
|
/**
|
|
64
86
|
* @prop --background: Background of the searchbar input
|
|
@@ -76,7 +98,7 @@
|
|
|
76
98
|
--placeholder-color: initial;
|
|
77
99
|
--placeholder-font-style: initial;
|
|
78
100
|
--placeholder-font-weight: initial;
|
|
79
|
-
--placeholder-opacity:
|
|
101
|
+
--placeholder-opacity: 0.5;
|
|
80
102
|
-moz-osx-font-smoothing: grayscale;
|
|
81
103
|
-webkit-font-smoothing: antialiased;
|
|
82
104
|
display: flex;
|
|
@@ -84,24 +106,9 @@
|
|
|
84
106
|
align-items: center;
|
|
85
107
|
width: 100%;
|
|
86
108
|
color: var(--color);
|
|
87
|
-
font-family: var(--ion-font-family, inherit);
|
|
88
109
|
box-sizing: border-box;
|
|
89
110
|
}
|
|
90
111
|
|
|
91
|
-
:host(.ion-color) {
|
|
92
|
-
color: var(--ion-color-contrast);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
:host(.ion-color) .searchbar-input {
|
|
96
|
-
background: var(--ion-color-base);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
:host(.ion-color) .searchbar-clear-button,
|
|
100
|
-
:host(.ion-color) .searchbar-cancel-button,
|
|
101
|
-
:host(.ion-color) .searchbar-search-icon {
|
|
102
|
-
color: inherit;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
112
|
.searchbar-search-icon {
|
|
106
113
|
color: var(--icon-color);
|
|
107
114
|
pointer-events: none;
|
|
@@ -203,6 +210,25 @@
|
|
|
203
210
|
display: block;
|
|
204
211
|
}
|
|
205
212
|
|
|
213
|
+
:host {
|
|
214
|
+
--placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
|
|
215
|
+
font-family: var(--ion-font-family, inherit);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
:host(.ion-color) {
|
|
219
|
+
color: var(--ion-color-contrast);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
:host(.ion-color) .searchbar-input {
|
|
223
|
+
background: var(--ion-color-base);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
:host(.ion-color) .searchbar-clear-button,
|
|
227
|
+
:host(.ion-color) .searchbar-cancel-button,
|
|
228
|
+
:host(.ion-color) .searchbar-search-icon {
|
|
229
|
+
color: inherit;
|
|
230
|
+
}
|
|
231
|
+
|
|
206
232
|
:host(.searchbar-disabled) {
|
|
207
233
|
cursor: default;
|
|
208
234
|
opacity: 0.4;
|
|
@@ -9,10 +9,26 @@
|
|
|
9
9
|
* Ionic Design System
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
+
* }
|
|
16
32
|
*/
|
|
17
33
|
/**
|
|
18
34
|
* Convert a font size to a dynamic font size.
|
|
@@ -47,28 +63,6 @@
|
|
|
47
63
|
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
48
64
|
* convert to a unit other than $baselineUnit.
|
|
49
65
|
*/
|
|
50
|
-
/**
|
|
51
|
-
* A heuristic that applies CSS to tablet
|
|
52
|
-
* viewports.
|
|
53
|
-
*
|
|
54
|
-
* Usage:
|
|
55
|
-
* @include tablet-viewport() {
|
|
56
|
-
* :host {
|
|
57
|
-
* background-color: green;
|
|
58
|
-
* }
|
|
59
|
-
* }
|
|
60
|
-
*/
|
|
61
|
-
/**
|
|
62
|
-
* A heuristic that applies CSS to mobile
|
|
63
|
-
* viewports (i.e. phones, not tablets).
|
|
64
|
-
*
|
|
65
|
-
* Usage:
|
|
66
|
-
* @include mobile-viewport() {
|
|
67
|
-
* :host {
|
|
68
|
-
* background-color: blue;
|
|
69
|
-
* }
|
|
70
|
-
* }
|
|
71
|
-
*/
|
|
72
66
|
:host {
|
|
73
67
|
/**
|
|
74
68
|
* @prop --background: Background of the tab bar
|
|
@@ -90,30 +84,10 @@
|
|
|
90
84
|
text-align: center;
|
|
91
85
|
contain: strict;
|
|
92
86
|
user-select: none;
|
|
93
|
-
z-index: 10;
|
|
94
87
|
/* stylelint-disable-next-line declaration-no-important */
|
|
95
88
|
box-sizing: content-box !important;
|
|
96
89
|
}
|
|
97
90
|
|
|
98
|
-
:host(.ion-color) ::slotted(ion-tab-button) {
|
|
99
|
-
--background-focused: var(--ion-color-shade);
|
|
100
|
-
--color-selected: var(--ion-color-contrast);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
:host(.ion-color) ::slotted(.tab-selected) {
|
|
104
|
-
color: var(--ion-color-contrast);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
:host(.ion-color),
|
|
108
|
-
:host(.ion-color) ::slotted(ion-tab-button) {
|
|
109
|
-
color: rgba(var(--ion-color-contrast-rgb), 0.7);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
:host(.ion-color),
|
|
113
|
-
:host(.ion-color) ::slotted(ion-tab-button) {
|
|
114
|
-
background: var(--ion-color-base);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
91
|
:host(.ion-color) ::slotted(ion-tab-button.ion-focused),
|
|
118
92
|
:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused) {
|
|
119
93
|
background: var(--background-focused);
|
|
@@ -145,19 +119,82 @@
|
|
|
145
119
|
* This is an auto-generated file, please do not change it directly.
|
|
146
120
|
* Ionic Design System
|
|
147
121
|
*/
|
|
122
|
+
/**
|
|
123
|
+
* A heuristic that applies CSS to tablet
|
|
124
|
+
* viewports.
|
|
125
|
+
*
|
|
126
|
+
* Usage:
|
|
127
|
+
* @include tablet-viewport() {
|
|
128
|
+
* :host {
|
|
129
|
+
* background-color: green;
|
|
130
|
+
* }
|
|
131
|
+
* }
|
|
132
|
+
*/
|
|
133
|
+
/**
|
|
134
|
+
* A heuristic that applies CSS to mobile
|
|
135
|
+
* viewports (i.e. phones, not tablets).
|
|
136
|
+
*
|
|
137
|
+
* Usage:
|
|
138
|
+
* @include mobile-viewport() {
|
|
139
|
+
* :host {
|
|
140
|
+
* background-color: blue;
|
|
141
|
+
* }
|
|
142
|
+
* }
|
|
143
|
+
*/
|
|
144
|
+
/**
|
|
145
|
+
* Convert a font size to a dynamic font size.
|
|
146
|
+
* Fonts that participate in Dynamic Type should use
|
|
147
|
+
* dynamic font sizes.
|
|
148
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
149
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
150
|
+
* convert to a unit other than $baselineUnit.
|
|
151
|
+
*/
|
|
152
|
+
/**
|
|
153
|
+
* Convert a font size to a dynamic font size but impose
|
|
154
|
+
* a maximum font size.
|
|
155
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
156
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
157
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
158
|
+
* convert to a unit other than $baselineUnit.
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* Convert a font size to a dynamic font size but impose
|
|
162
|
+
* a minimum font size.
|
|
163
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
164
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
165
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
166
|
+
* convert to a unit other than $baselineUnit.
|
|
167
|
+
*/
|
|
168
|
+
/**
|
|
169
|
+
* Convert a font size to a dynamic font size but impose
|
|
170
|
+
* maximum and minimum font sizes.
|
|
171
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
172
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
173
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
174
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
175
|
+
* convert to a unit other than $baselineUnit.
|
|
176
|
+
*/
|
|
148
177
|
:host {
|
|
149
178
|
--background: var(--ion-tab-bar-background, var(--ionic-color-base-white, #ffffff));
|
|
150
179
|
--background-activated: var(--ion-tab-bar-background-activated, #ececec);
|
|
151
180
|
--background-focused: var(--ion-tab-bar-background-focused, transparent);
|
|
152
|
-
--color: var(--ion-tab-bar-color, var(--ionic-color-neutral-
|
|
153
|
-
--color-selected: var(--ion-tab-bar-color-selected, var(--ionic-color-primary-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
181
|
+
--color: var(--ion-tab-bar-color, var(--ionic-color-neutral-800, #626262));
|
|
182
|
+
--color-selected: var(--ion-tab-bar-color-selected, var(--ionic-color-primary-base, #105cef));
|
|
183
|
+
/**
|
|
184
|
+
* Tab bar has a box sizing of content-box to ensure the padding
|
|
185
|
+
* is not included in the height. This is important for the
|
|
186
|
+
* component to adjust to the safe area bottom.
|
|
187
|
+
*
|
|
188
|
+
* In order for the height to be calculated correctly, the padding
|
|
189
|
+
* top and bottom must be excluded from the height calculation.
|
|
190
|
+
*/
|
|
191
|
+
min-height: calc(var(--ionic-scale-1400, 56px) - var(--ionic-space-100, 4px) * 2);
|
|
192
|
+
padding-top: calc(var(--ionic-space-100, 4px) + var(--ion-safe-area-top, 0));
|
|
193
|
+
padding-bottom: calc(var(--ionic-space-100, 4px) + var(--ion-safe-area-bottom, 0));
|
|
194
|
+
/* stylelint-disable */
|
|
195
|
+
padding-right: calc(var(--ionic-space-400, 16px) + var(--ion-safe-area-right, 0));
|
|
196
|
+
padding-left: calc(var(--ionic-space-400, 16px) + var(--ion-safe-area-left, 0));
|
|
197
|
+
/* stylelint-enable */
|
|
198
|
+
gap: var(--ionic-space-300, 12px);
|
|
199
|
+
z-index: 10;
|
|
163
200
|
}
|
|
@@ -1,3 +1,49 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
/**
|
|
3
|
+
* @prop --background: Background of the tab bar
|
|
4
|
+
* @prop --border: Border of the tab bar
|
|
5
|
+
* @prop --color: Color of the tab bar
|
|
6
|
+
*/
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
width: auto;
|
|
11
|
+
/* stylelint-disable */
|
|
12
|
+
padding-right: var(--ion-safe-area-right);
|
|
13
|
+
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
14
|
+
padding-left: var(--ion-safe-area-left);
|
|
15
|
+
/* stylelint-enable */
|
|
16
|
+
border-top: var(--border);
|
|
17
|
+
background: var(--background);
|
|
18
|
+
color: var(--color);
|
|
19
|
+
text-align: center;
|
|
20
|
+
contain: strict;
|
|
21
|
+
user-select: none;
|
|
22
|
+
/* stylelint-disable-next-line declaration-no-important */
|
|
23
|
+
box-sizing: content-box !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host(.ion-color) ::slotted(ion-tab-button.ion-focused),
|
|
27
|
+
:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused) {
|
|
28
|
+
background: var(--background-focused);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host(.tab-bar-translucent) ::slotted(ion-tab-button) {
|
|
32
|
+
background: transparent;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([slot=top]) {
|
|
36
|
+
padding-top: var(--ion-safe-area-top, 0);
|
|
37
|
+
padding-bottom: 0;
|
|
38
|
+
border-top: 0;
|
|
39
|
+
border-bottom: var(--border);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:host(.tab-bar-hidden) {
|
|
43
|
+
/* stylelint-disable-next-line declaration-no-important */
|
|
44
|
+
display: none !important;
|
|
45
|
+
}
|
|
46
|
+
|
|
1
47
|
/**
|
|
2
48
|
* Convert a pixels given value into rem
|
|
3
49
|
*
|
|
@@ -60,29 +106,7 @@
|
|
|
60
106
|
* }
|
|
61
107
|
*/
|
|
62
108
|
:host {
|
|
63
|
-
/**
|
|
64
|
-
* @prop --background: Background of the tab bar
|
|
65
|
-
* @prop --border: Border of the tab bar
|
|
66
|
-
* @prop --color: Color of the tab bar
|
|
67
|
-
*/
|
|
68
|
-
display: flex;
|
|
69
|
-
align-items: center;
|
|
70
|
-
justify-content: center;
|
|
71
|
-
width: auto;
|
|
72
|
-
/* stylelint-disable */
|
|
73
|
-
padding-right: var(--ion-safe-area-right);
|
|
74
|
-
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
75
|
-
padding-left: var(--ion-safe-area-left);
|
|
76
|
-
/* stylelint-enable */
|
|
77
|
-
border-top: var(--border);
|
|
78
|
-
background: var(--background);
|
|
79
|
-
color: var(--color);
|
|
80
|
-
text-align: center;
|
|
81
|
-
contain: strict;
|
|
82
|
-
user-select: none;
|
|
83
109
|
z-index: 10;
|
|
84
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
85
|
-
box-sizing: content-box !important;
|
|
86
110
|
}
|
|
87
111
|
|
|
88
112
|
:host(.ion-color) ::slotted(ion-tab-button) {
|
|
@@ -104,27 +128,6 @@
|
|
|
104
128
|
background: var(--ion-color-base);
|
|
105
129
|
}
|
|
106
130
|
|
|
107
|
-
:host(.ion-color) ::slotted(ion-tab-button.ion-focused),
|
|
108
|
-
:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused) {
|
|
109
|
-
background: var(--background-focused);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
:host(.tab-bar-translucent) ::slotted(ion-tab-button) {
|
|
113
|
-
background: transparent;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
:host([slot=top]) {
|
|
117
|
-
padding-top: var(--ion-safe-area-top, 0);
|
|
118
|
-
padding-bottom: 0;
|
|
119
|
-
border-top: 0;
|
|
120
|
-
border-bottom: var(--border);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
:host(.tab-bar-hidden) {
|
|
124
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
125
|
-
display: none !important;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
131
|
/**
|
|
129
132
|
* Convert a pixels given value into rem
|
|
130
133
|
*
|
|
@@ -1,3 +1,49 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
/**
|
|
3
|
+
* @prop --background: Background of the tab bar
|
|
4
|
+
* @prop --border: Border of the tab bar
|
|
5
|
+
* @prop --color: Color of the tab bar
|
|
6
|
+
*/
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
width: auto;
|
|
11
|
+
/* stylelint-disable */
|
|
12
|
+
padding-right: var(--ion-safe-area-right);
|
|
13
|
+
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
14
|
+
padding-left: var(--ion-safe-area-left);
|
|
15
|
+
/* stylelint-enable */
|
|
16
|
+
border-top: var(--border);
|
|
17
|
+
background: var(--background);
|
|
18
|
+
color: var(--color);
|
|
19
|
+
text-align: center;
|
|
20
|
+
contain: strict;
|
|
21
|
+
user-select: none;
|
|
22
|
+
/* stylelint-disable-next-line declaration-no-important */
|
|
23
|
+
box-sizing: content-box !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host(.ion-color) ::slotted(ion-tab-button.ion-focused),
|
|
27
|
+
:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused) {
|
|
28
|
+
background: var(--background-focused);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host(.tab-bar-translucent) ::slotted(ion-tab-button) {
|
|
32
|
+
background: transparent;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([slot=top]) {
|
|
36
|
+
padding-top: var(--ion-safe-area-top, 0);
|
|
37
|
+
padding-bottom: 0;
|
|
38
|
+
border-top: 0;
|
|
39
|
+
border-bottom: var(--border);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:host(.tab-bar-hidden) {
|
|
43
|
+
/* stylelint-disable-next-line declaration-no-important */
|
|
44
|
+
display: none !important;
|
|
45
|
+
}
|
|
46
|
+
|
|
1
47
|
/**
|
|
2
48
|
* Convert a pixels given value into rem
|
|
3
49
|
*
|
|
@@ -60,29 +106,7 @@
|
|
|
60
106
|
* }
|
|
61
107
|
*/
|
|
62
108
|
:host {
|
|
63
|
-
/**
|
|
64
|
-
* @prop --background: Background of the tab bar
|
|
65
|
-
* @prop --border: Border of the tab bar
|
|
66
|
-
* @prop --color: Color of the tab bar
|
|
67
|
-
*/
|
|
68
|
-
display: flex;
|
|
69
|
-
align-items: center;
|
|
70
|
-
justify-content: center;
|
|
71
|
-
width: auto;
|
|
72
|
-
/* stylelint-disable */
|
|
73
|
-
padding-right: var(--ion-safe-area-right);
|
|
74
|
-
padding-bottom: var(--ion-safe-area-bottom, 0);
|
|
75
|
-
padding-left: var(--ion-safe-area-left);
|
|
76
|
-
/* stylelint-enable */
|
|
77
|
-
border-top: var(--border);
|
|
78
|
-
background: var(--background);
|
|
79
|
-
color: var(--color);
|
|
80
|
-
text-align: center;
|
|
81
|
-
contain: strict;
|
|
82
|
-
user-select: none;
|
|
83
109
|
z-index: 10;
|
|
84
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
85
|
-
box-sizing: content-box !important;
|
|
86
110
|
}
|
|
87
111
|
|
|
88
112
|
:host(.ion-color) ::slotted(ion-tab-button) {
|
|
@@ -104,27 +128,6 @@
|
|
|
104
128
|
background: var(--ion-color-base);
|
|
105
129
|
}
|
|
106
130
|
|
|
107
|
-
:host(.ion-color) ::slotted(ion-tab-button.ion-focused),
|
|
108
|
-
:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused) {
|
|
109
|
-
background: var(--background-focused);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
:host(.tab-bar-translucent) ::slotted(ion-tab-button) {
|
|
113
|
-
background: transparent;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
:host([slot=top]) {
|
|
117
|
-
padding-top: var(--ion-safe-area-top, 0);
|
|
118
|
-
padding-bottom: 0;
|
|
119
|
-
border-top: 0;
|
|
120
|
-
border-bottom: var(--border);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
:host(.tab-bar-hidden) {
|
|
124
|
-
/* stylelint-disable-next-line declaration-no-important */
|
|
125
|
-
display: none !important;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
131
|
/**
|
|
129
132
|
* Convert a pixels given value into rem
|
|
130
133
|
*
|
|
@@ -242,8 +242,8 @@ ion-ripple-effect {
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
:host {
|
|
245
|
-
--focus-ring-color: #9ec4fd;
|
|
246
|
-
--focus-ring-width: 2px;
|
|
245
|
+
--focus-ring-color: var(--ionic-state-focus-1, #9ec4fd);
|
|
246
|
+
--focus-ring-width: var(--ionic-border-radius-050, 2px);
|
|
247
247
|
border-radius: var(--ionic-border-radius-200, 8px);
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ modes: ['ionic-md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('title: basic'), () => {
|
|
8
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
9
|
+
await page.goto('/src/components/title/test/theme-ionic', config);
|
|
10
|
+
const wrapper = page.locator('#header-wrapper');
|
|
11
|
+
await expect(wrapper).toHaveScreenshot(screenshot(`title-basic`));
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
});
|