@ionic/core 7.5.2-dev.11697834896.1fed55cc → 7.5.2-dev.11698187124.1b7ea660
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/action-sheet.js +2 -2
- package/components/alert.js +2 -2
- package/components/animation.js +29 -15
- package/components/checkbox.js +0 -2
- package/components/index8.js +0 -1
- package/components/input-shims.js +9 -1
- package/components/ion-datetime.js +2 -2
- package/components/ion-fab.js +1 -1
- package/components/ion-input.js +9 -4
- package/components/ion-menu.js +15 -3
- package/components/ion-range.js +0 -2
- package/components/ion-refresher.js +8 -1
- package/components/ion-reorder.js +2 -2
- package/components/ion-searchbar.js +9 -2
- package/components/ion-select.js +2 -4
- package/components/ion-skeleton-text.js +1 -14
- package/components/ion-textarea.js +9 -4
- package/components/ion-toggle.js +0 -2
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/radio.js +0 -3
- package/components/watch-options.js +14 -3
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{animation-1a53c50e.js → animation-1083855c.js} +29 -15
- package/dist/cjs/{index-d0fdb56d.js → index-174dc666.js} +2 -2
- package/dist/cjs/{index-4eedbc59.js → index-5a2463aa.js} +1 -1
- package/dist/cjs/{index-10873539.js → index-da2c7a37.js} +0 -1
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/{input-shims-da7dc0de.js → input-shims-b0a75a01.js} +10 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/ion-alert.cjs.entry.js +3 -3
- package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
- package/dist/cjs/ion-checkbox.cjs.entry.js +0 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +8 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +4 -17
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +17 -5
- package/dist/cjs/ion-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +0 -3
- package/dist/cjs/ion-range.cjs.entry.js +1 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +10 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +8 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +8 -3
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/ion-toggle.cjs.entry.js +0 -2
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-2af7c625.js → ios.transition-74ad019b.js} +2 -2
- package/dist/cjs/{md.transition-992379b5.js → md.transition-efcc0ad3.js} +2 -2
- package/dist/cjs/{status-tap-778e8054.js → status-tap-b19eb3c8.js} +1 -1
- package/dist/cjs/{watch-options-f3f77e54.js → watch-options-53bbb124.js} +14 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -3
- package/dist/collection/components/action-sheet/action-sheet.md.css +16 -3
- package/dist/collection/components/alert/alert.ios.css +18 -5
- package/dist/collection/components/alert/alert.md.css +18 -5
- package/dist/collection/components/checkbox/checkbox.js +0 -2
- package/dist/collection/components/datetime/datetime.ios.css +0 -1
- package/dist/collection/components/datetime/datetime.md.css +0 -1
- package/dist/collection/components/fab/fab.css +24 -36
- package/dist/collection/components/fab/test/safe-area/fab.e2e.js +63 -0
- package/dist/collection/components/input/input.js +9 -4
- package/dist/collection/components/item/item.ios.css +3 -25
- package/dist/collection/components/item/item.md.css +3 -25
- package/dist/collection/components/item/test/disabled/item.e2e.js +1 -0
- package/dist/collection/components/item/test/text/item.e2e.js +14 -0
- package/dist/collection/components/label/label.ios.css +3 -14
- package/dist/collection/components/label/label.md.css +3 -14
- package/dist/collection/components/menu/menu.js +15 -3
- package/dist/collection/components/note/test/a11y/note.e2e.js +0 -43
- package/dist/collection/components/radio/radio.js +5 -4
- package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +5 -5
- package/dist/collection/components/range/range.js +0 -2
- package/dist/collection/components/refresher/refresher.utils.js +8 -1
- package/dist/collection/components/reorder/reorder.ios.css +1 -34
- package/dist/collection/components/reorder/reorder.md.css +1 -34
- package/dist/collection/components/searchbar/searchbar.js +9 -2
- package/dist/collection/components/select/select.ios.css +0 -5
- package/dist/collection/components/select/select.js +0 -2
- package/dist/collection/components/select/select.md.css +0 -5
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +0 -39
- package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +31 -0
- package/dist/collection/components/textarea/textarea.js +9 -4
- package/dist/collection/components/toggle/toggle.js +0 -2
- package/dist/collection/utils/animation/animation.js +29 -15
- package/dist/collection/utils/content/index.js +0 -1
- package/dist/collection/utils/input-shims/hacks/common.js +9 -1
- package/dist/collection/utils/watch-options.js +14 -3
- package/dist/docs.json +2 -2
- package/dist/esm/{animation-a9cdd18b.js → animation-8aa13916.js} +29 -15
- package/dist/esm/{index-746a238e.js → index-4392efa5.js} +0 -1
- package/dist/esm/{index-5c647d55.js → index-aae132ba.js} +1 -1
- package/dist/esm/{index-533d569d.js → index-ec72506a.js} +2 -2
- package/dist/esm/index.js +5 -5
- package/dist/esm/{input-shims-d78a3c77.js → input-shims-d0c93e5d.js} +10 -2
- package/dist/esm/ion-action-sheet.entry.js +3 -3
- package/dist/esm/ion-alert.entry.js +3 -3
- package/dist/esm/ion-app_8.entry.js +4 -4
- package/dist/esm/ion-checkbox.entry.js +0 -2
- package/dist/esm/ion-datetime_3.entry.js +3 -3
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +9 -4
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +4 -17
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +17 -5
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +0 -3
- package/dist/esm/ion-range.entry.js +1 -3
- package/dist/esm/ion-refresher_2.entry.js +10 -3
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +9 -2
- package/dist/esm/ion-select_3.entry.js +3 -5
- package/dist/esm/ion-textarea.entry.js +9 -4
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/ion-toggle.entry.js +0 -2
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-b3053722.js → ios.transition-f1cea7e0.js} +2 -2
- package/dist/esm/{md.transition-bdf2eec2.js → md.transition-1bf39c32.js} +2 -2
- package/dist/esm/{status-tap-9aeeaca5.js → status-tap-4e96ecf3.js} +1 -1
- package/dist/esm/{watch-options-355a920a.js → watch-options-02d8498b.js} +14 -3
- package/dist/esm-es5/animation-8aa13916.js +4 -0
- package/dist/esm-es5/{index-5c647d55.js → index-aae132ba.js} +1 -1
- package/dist/esm-es5/{index-533d569d.js → index-ec72506a.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-d78a3c77.js → input-shims-d0c93e5d.js} +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.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-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ios.transition-b3053722.js → ios.transition-f1cea7e0.js} +1 -1
- package/dist/esm-es5/{md.transition-bdf2eec2.js → md.transition-1bf39c32.js} +1 -1
- package/dist/esm-es5/{status-tap-9aeeaca5.js → status-tap-4e96ecf3.js} +1 -1
- package/dist/esm-es5/{watch-options-355a920a.js → watch-options-02d8498b.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/p-017631df.system.entry.js +4 -0
- package/dist/ionic/{p-307b0e77.entry.js → p-0362c48a.entry.js} +1 -1
- package/dist/ionic/{p-ec4f26da.system.entry.js → p-07989b03.system.entry.js} +1 -1
- package/dist/ionic/p-0c0d536f.system.entry.js +4 -0
- package/dist/ionic/p-0e0b3668.system.entry.js +4 -0
- package/dist/ionic/{p-755b2917.system.js → p-0fb53284.system.js} +1 -1
- package/dist/ionic/p-15e6ef90.system.entry.js +4 -0
- package/dist/ionic/{p-5a12d57c.system.entry.js → p-1676eeff.system.entry.js} +1 -1
- package/dist/ionic/{p-ad12e632.system.entry.js → p-2222b68a.system.entry.js} +1 -1
- package/dist/ionic/{p-b45118c0.system.entry.js → p-23410b18.system.entry.js} +1 -1
- package/dist/ionic/{p-7b3cfd36.system.entry.js → p-26d0ec66.system.entry.js} +1 -1
- package/dist/ionic/p-2debdac3.entry.js +4 -0
- package/dist/ionic/p-2e8e0045.js +4 -0
- package/dist/ionic/{p-408e5ee6.system.entry.js → p-306d845d.system.entry.js} +1 -1
- package/dist/ionic/{p-8e24ebbc.js → p-311d91cc.js} +1 -1
- package/dist/ionic/{p-bc08029e.system.entry.js → p-3574440a.system.entry.js} +1 -1
- package/dist/ionic/p-3602001b.system.js +4 -0
- package/dist/ionic/{p-12445803.system.entry.js → p-372f1f80.system.entry.js} +1 -1
- package/dist/ionic/{p-aac723ac.system.entry.js → p-3e2ddf5e.system.entry.js} +1 -1
- package/dist/ionic/p-498f031c.entry.js +4 -0
- package/dist/ionic/p-4a329bd3.entry.js +4 -0
- package/dist/ionic/{p-32d17eee.entry.js → p-4e70a7cc.entry.js} +1 -1
- package/dist/ionic/{p-1f81b5be.entry.js → p-4e9114af.entry.js} +1 -1
- package/dist/ionic/{p-074d4971.js → p-507845ca.js} +1 -1
- package/dist/ionic/{p-c87827ca.system.js → p-5aac9314.system.js} +1 -1
- package/dist/ionic/p-5c92c941.entry.js +4 -0
- package/dist/ionic/p-5fba0b2d.entry.js +4 -0
- package/dist/ionic/{p-5416c18a.system.js → p-62b29300.system.js} +1 -1
- package/dist/ionic/p-62bfd4cb.system.entry.js +4 -0
- package/dist/ionic/{p-5ffd6742.system.js → p-664d1430.system.js} +1 -1
- package/dist/ionic/{p-b132c2c0.system.js → p-67eecef4.system.js} +1 -1
- package/dist/ionic/{p-7e77a185.system.entry.js → p-68f78c9b.system.entry.js} +1 -1
- package/dist/ionic/p-70263330.entry.js +4 -0
- package/dist/ionic/p-79d430f7.system.entry.js +4 -0
- package/dist/ionic/{p-2743fb40.js → p-79fdc224.js} +1 -1
- package/dist/ionic/p-7b48cf4f.system.entry.js +4 -0
- package/dist/ionic/p-83198481.entry.js +4 -0
- package/dist/ionic/{p-49367d48.entry.js → p-892710a8.entry.js} +1 -1
- package/dist/ionic/p-8b1237b9.entry.js +4 -0
- package/dist/ionic/{p-acbcc508.system.entry.js → p-8fdd6396.system.entry.js} +1 -1
- package/dist/ionic/p-97c65aa5.js +4 -0
- package/dist/ionic/{p-0b24c4e7.entry.js → p-99eba967.entry.js} +1 -1
- package/dist/ionic/p-9d166dc1.js +4 -0
- package/dist/ionic/p-9ebd9c24.system.entry.js +4 -0
- package/dist/ionic/p-a7f83510.entry.js +4 -0
- package/dist/ionic/{p-c49672d8.system.js → p-b216de09.system.js} +1 -1
- package/dist/ionic/p-b9a17fcb.system.entry.js +4 -0
- package/dist/ionic/{p-64416e79.system.js → p-be7fcb09.system.js} +1 -1
- package/dist/ionic/{p-64b36ecd.system.js → p-c50ea33f.system.js} +1 -1
- package/dist/ionic/{p-0f10b5f5.system.entry.js → p-c6cae705.system.entry.js} +1 -1
- package/dist/ionic/{p-b20b49ba.js → p-c842da0a.js} +1 -1
- package/dist/ionic/p-c9f70283.entry.js +4 -0
- package/dist/ionic/p-ce56d7b5.system.entry.js +4 -0
- package/dist/ionic/p-cf67c66c.entry.js +4 -0
- package/dist/ionic/p-d3ba42e6.system.entry.js +4 -0
- package/dist/ionic/{p-a3fe2e01.entry.js → p-db0140c0.entry.js} +1 -1
- package/dist/ionic/{p-f094de62.system.entry.js → p-db6fb00c.system.entry.js} +1 -1
- package/dist/ionic/{p-623dd07e.entry.js → p-df189fa7.entry.js} +1 -1
- package/dist/ionic/p-e552cf80.entry.js +4 -0
- package/dist/ionic/p-ebdf4f41.entry.js +4 -0
- package/dist/ionic/{p-0ae4c173.entry.js → p-f089f3b1.entry.js} +1 -1
- package/dist/ionic/p-f10de93b.js +4 -0
- package/dist/ionic/p-f1e15f7a.entry.js +4 -0
- package/dist/ionic/p-f4bd51c5.entry.js +4 -0
- package/dist/ionic/{p-7c08106a.entry.js → p-f5e7ed0e.entry.js} +1 -1
- package/dist/ionic/{p-8286f6d4.system.js → p-fe08d5d6.system.js} +1 -1
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +1 -9
- package/dist/types/components.d.ts +625 -5
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/dist/types/utils/animation/animation-interface.d.ts +4 -4
- package/dist/types/utils/content/index.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +3 -2
- package/dist/types/utils/watch-options.d.ts +9 -1
- package/hydrate/index.js +123 -84
- package/package.json +2 -2
- package/dist/esm-es5/animation-a9cdd18b.js +0 -4
- package/dist/ionic/p-0866bf93.entry.js +0 -4
- package/dist/ionic/p-22beb08d.entry.js +0 -4
- package/dist/ionic/p-23f57624.system.entry.js +0 -4
- package/dist/ionic/p-27381a03.entry.js +0 -4
- package/dist/ionic/p-29b56db6.system.entry.js +0 -4
- package/dist/ionic/p-31a8fd9a.entry.js +0 -4
- package/dist/ionic/p-35e399bd.entry.js +0 -4
- package/dist/ionic/p-449f4377.js +0 -4
- package/dist/ionic/p-4ba4bbf8.entry.js +0 -4
- package/dist/ionic/p-4f97c112.entry.js +0 -4
- package/dist/ionic/p-505cc23b.entry.js +0 -4
- package/dist/ionic/p-5bf16a18.js +0 -4
- package/dist/ionic/p-69613961.system.entry.js +0 -4
- package/dist/ionic/p-6b097e5f.entry.js +0 -4
- package/dist/ionic/p-75cba889.entry.js +0 -4
- package/dist/ionic/p-7a4bb59b.entry.js +0 -4
- package/dist/ionic/p-7c6a16c1.system.entry.js +0 -4
- package/dist/ionic/p-7f8844bd.system.entry.js +0 -4
- package/dist/ionic/p-8277369c.entry.js +0 -4
- package/dist/ionic/p-87c3c4ec.entry.js +0 -4
- package/dist/ionic/p-9d93e024.system.entry.js +0 -4
- package/dist/ionic/p-9f2e0db9.js +0 -4
- package/dist/ionic/p-b77734e0.entry.js +0 -4
- package/dist/ionic/p-c2e6cc69.entry.js +0 -4
- package/dist/ionic/p-c7612d99.system.entry.js +0 -4
- package/dist/ionic/p-d0c77b0e.system.entry.js +0 -4
- package/dist/ionic/p-d625ae76.js +0 -4
- package/dist/ionic/p-d6f6b311.system.entry.js +0 -4
- package/dist/ionic/p-f63446a2.system.entry.js +0 -4
- package/dist/ionic/p-f6c370f4.system.entry.js +0 -4
- package/dist/ionic/p-f735392d.system.js +0 -4
- /package/dist/esm-es5/{index-746a238e.js → index-4392efa5.js} +0 -0
- /package/dist/ionic/{p-b24aa895.js → p-114a36ed.js} +0 -0
- /package/dist/ionic/{p-64475ab5.system.js → p-8a308596.system.js} +0 -0
|
@@ -208,7 +208,6 @@
|
|
|
208
208
|
color: inherit;
|
|
209
209
|
display: flex;
|
|
210
210
|
position: relative;
|
|
211
|
-
flex-wrap: wrap;
|
|
212
211
|
align-items: inherit;
|
|
213
212
|
justify-content: inherit;
|
|
214
213
|
width: 100%;
|
|
@@ -220,12 +219,8 @@
|
|
|
220
219
|
outline: none;
|
|
221
220
|
background: var(--background);
|
|
222
221
|
overflow: inherit;
|
|
223
|
-
z-index: 1;
|
|
224
222
|
box-sizing: border-box;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
:host(.item-legacy) .item-native {
|
|
228
|
-
flex-wrap: unset;
|
|
223
|
+
z-index: 1;
|
|
229
224
|
}
|
|
230
225
|
|
|
231
226
|
.item-native::-moz-focus-inner {
|
|
@@ -263,12 +258,10 @@ button, a {
|
|
|
263
258
|
padding-bottom: var(--inner-padding-bottom);
|
|
264
259
|
display: flex;
|
|
265
260
|
position: relative;
|
|
266
|
-
flex: 1
|
|
261
|
+
flex: 1;
|
|
267
262
|
flex-direction: inherit;
|
|
268
|
-
flex-wrap: wrap;
|
|
269
263
|
align-items: inherit;
|
|
270
264
|
align-self: stretch;
|
|
271
|
-
max-width: 100%;
|
|
272
265
|
min-height: inherit;
|
|
273
266
|
border-width: var(--inner-border-width);
|
|
274
267
|
border-style: var(--border-style);
|
|
@@ -278,12 +271,6 @@ button, a {
|
|
|
278
271
|
box-sizing: border-box;
|
|
279
272
|
}
|
|
280
273
|
|
|
281
|
-
:host(.item-legacy) .item-inner {
|
|
282
|
-
flex: 1;
|
|
283
|
-
flex-wrap: unset;
|
|
284
|
-
max-width: unset;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
274
|
.item-bottom {
|
|
288
275
|
margin-left: 0;
|
|
289
276
|
margin-right: 0;
|
|
@@ -331,7 +318,6 @@ button, a {
|
|
|
331
318
|
|
|
332
319
|
::slotted(ion-label:not([slot=end])) {
|
|
333
320
|
flex: 1;
|
|
334
|
-
width: min-content;
|
|
335
321
|
}
|
|
336
322
|
|
|
337
323
|
:host(.item-input) {
|
|
@@ -340,23 +326,15 @@ button, a {
|
|
|
340
326
|
|
|
341
327
|
.input-wrapper {
|
|
342
328
|
display: flex;
|
|
343
|
-
flex: 1
|
|
329
|
+
flex: 1;
|
|
344
330
|
flex-direction: inherit;
|
|
345
|
-
flex-wrap: wrap;
|
|
346
331
|
align-items: inherit;
|
|
347
332
|
align-self: stretch;
|
|
348
|
-
max-width: 100%;
|
|
349
333
|
text-overflow: ellipsis;
|
|
350
334
|
overflow: inherit;
|
|
351
335
|
box-sizing: border-box;
|
|
352
336
|
}
|
|
353
337
|
|
|
354
|
-
:host(.item-legacy) .input-wrapper {
|
|
355
|
-
flex: 1;
|
|
356
|
-
flex-wrap: unset;
|
|
357
|
-
max-width: unset;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
338
|
:host(.item-label-stacked),
|
|
361
339
|
:host(.item-label-floating) {
|
|
362
340
|
align-items: start;
|
|
@@ -208,7 +208,6 @@
|
|
|
208
208
|
color: inherit;
|
|
209
209
|
display: flex;
|
|
210
210
|
position: relative;
|
|
211
|
-
flex-wrap: wrap;
|
|
212
211
|
align-items: inherit;
|
|
213
212
|
justify-content: inherit;
|
|
214
213
|
width: 100%;
|
|
@@ -220,12 +219,8 @@
|
|
|
220
219
|
outline: none;
|
|
221
220
|
background: var(--background);
|
|
222
221
|
overflow: inherit;
|
|
223
|
-
z-index: 1;
|
|
224
222
|
box-sizing: border-box;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
:host(.item-legacy) .item-native {
|
|
228
|
-
flex-wrap: unset;
|
|
223
|
+
z-index: 1;
|
|
229
224
|
}
|
|
230
225
|
|
|
231
226
|
.item-native::-moz-focus-inner {
|
|
@@ -263,12 +258,10 @@ button, a {
|
|
|
263
258
|
padding-bottom: var(--inner-padding-bottom);
|
|
264
259
|
display: flex;
|
|
265
260
|
position: relative;
|
|
266
|
-
flex: 1
|
|
261
|
+
flex: 1;
|
|
267
262
|
flex-direction: inherit;
|
|
268
|
-
flex-wrap: wrap;
|
|
269
263
|
align-items: inherit;
|
|
270
264
|
align-self: stretch;
|
|
271
|
-
max-width: 100%;
|
|
272
265
|
min-height: inherit;
|
|
273
266
|
border-width: var(--inner-border-width);
|
|
274
267
|
border-style: var(--border-style);
|
|
@@ -278,12 +271,6 @@ button, a {
|
|
|
278
271
|
box-sizing: border-box;
|
|
279
272
|
}
|
|
280
273
|
|
|
281
|
-
:host(.item-legacy) .item-inner {
|
|
282
|
-
flex: 1;
|
|
283
|
-
flex-wrap: unset;
|
|
284
|
-
max-width: unset;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
274
|
.item-bottom {
|
|
288
275
|
margin-left: 0;
|
|
289
276
|
margin-right: 0;
|
|
@@ -331,7 +318,6 @@ button, a {
|
|
|
331
318
|
|
|
332
319
|
::slotted(ion-label:not([slot=end])) {
|
|
333
320
|
flex: 1;
|
|
334
|
-
width: min-content;
|
|
335
321
|
}
|
|
336
322
|
|
|
337
323
|
:host(.item-input) {
|
|
@@ -340,23 +326,15 @@ button, a {
|
|
|
340
326
|
|
|
341
327
|
.input-wrapper {
|
|
342
328
|
display: flex;
|
|
343
|
-
flex: 1
|
|
329
|
+
flex: 1;
|
|
344
330
|
flex-direction: inherit;
|
|
345
|
-
flex-wrap: wrap;
|
|
346
331
|
align-items: inherit;
|
|
347
332
|
align-self: stretch;
|
|
348
|
-
max-width: 100%;
|
|
349
333
|
text-overflow: ellipsis;
|
|
350
334
|
overflow: inherit;
|
|
351
335
|
box-sizing: border-box;
|
|
352
336
|
}
|
|
353
337
|
|
|
354
|
-
:host(.item-legacy) .input-wrapper {
|
|
355
|
-
flex: 1;
|
|
356
|
-
flex-wrap: unset;
|
|
357
|
-
max-width: unset;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
338
|
:host(.item-label-stacked),
|
|
361
339
|
:host(.item-label-floating) {
|
|
362
340
|
align-items: start;
|
|
@@ -11,6 +11,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
11
11
|
test('should not have visual regressions', async ({ page }) => {
|
|
12
12
|
await page.goto(`/src/components/item/test/disabled`, config);
|
|
13
13
|
await page.setIonViewport();
|
|
14
|
+
// TODO: FW-4037 - Fix label color inconsistency between disabled controls
|
|
14
15
|
await expect(page).toHaveScreenshot(screenshot(`item-disabled-diff`));
|
|
15
16
|
});
|
|
16
17
|
});
|
|
@@ -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().forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('item: text'), () => {
|
|
8
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
9
|
+
await page.goto(`/src/components/item/test/text`, config);
|
|
10
|
+
await page.setIonViewport();
|
|
11
|
+
await expect(page).toHaveScreenshot(screenshot(`item-text-diff`));
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -41,24 +41,17 @@
|
|
|
41
41
|
font-family: var(--ion-font-family, inherit);
|
|
42
42
|
font-size: inherit;
|
|
43
43
|
text-overflow: ellipsis;
|
|
44
|
-
box-sizing: border-box;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
:host-context(.item-legacy) {
|
|
48
44
|
white-space: nowrap;
|
|
49
45
|
overflow: hidden;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
:host-context(.item:not(.item-input):not(.item-legacy)) {
|
|
53
|
-
flex-grow: 1;
|
|
46
|
+
box-sizing: border-box;
|
|
54
47
|
}
|
|
55
48
|
|
|
56
49
|
:host(.ion-color) {
|
|
57
50
|
color: var(--ion-color-base);
|
|
58
51
|
}
|
|
59
52
|
|
|
60
|
-
:host(.ion-text-
|
|
61
|
-
|
|
53
|
+
:host(.ion-text-wrap) {
|
|
54
|
+
white-space: normal;
|
|
62
55
|
}
|
|
63
56
|
|
|
64
57
|
:host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
|
|
@@ -77,10 +70,6 @@
|
|
|
77
70
|
align-self: baseline;
|
|
78
71
|
}
|
|
79
72
|
|
|
80
|
-
:host-context(.item-skeleton-text) {
|
|
81
|
-
overflow: hidden;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
73
|
:host(.label-fixed) {
|
|
85
74
|
flex: 0 0 100px;
|
|
86
75
|
width: 100px;
|
|
@@ -41,24 +41,17 @@
|
|
|
41
41
|
font-family: var(--ion-font-family, inherit);
|
|
42
42
|
font-size: inherit;
|
|
43
43
|
text-overflow: ellipsis;
|
|
44
|
-
box-sizing: border-box;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
:host-context(.item-legacy) {
|
|
48
44
|
white-space: nowrap;
|
|
49
45
|
overflow: hidden;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
:host-context(.item:not(.item-input):not(.item-legacy)) {
|
|
53
|
-
flex-grow: 1;
|
|
46
|
+
box-sizing: border-box;
|
|
54
47
|
}
|
|
55
48
|
|
|
56
49
|
:host(.ion-color) {
|
|
57
50
|
color: var(--ion-color-base);
|
|
58
51
|
}
|
|
59
52
|
|
|
60
|
-
:host(.ion-text-
|
|
61
|
-
|
|
53
|
+
:host(.ion-text-wrap) {
|
|
54
|
+
white-space: normal;
|
|
62
55
|
}
|
|
63
56
|
|
|
64
57
|
:host-context(.item-interactive-disabled:not(.item-multiple-inputs)) {
|
|
@@ -77,10 +70,6 @@
|
|
|
77
70
|
align-self: baseline;
|
|
78
71
|
}
|
|
79
72
|
|
|
80
|
-
:host-context(.item-skeleton-text) {
|
|
81
|
-
overflow: hidden;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
73
|
:host(.label-fixed) {
|
|
85
74
|
flex: 0 0 100px;
|
|
86
75
|
width: 100px;
|
|
@@ -173,6 +173,18 @@ export class Menu {
|
|
|
173
173
|
this.contentEl = undefined;
|
|
174
174
|
}
|
|
175
175
|
onSplitPaneChanged(ev) {
|
|
176
|
+
const { target } = ev;
|
|
177
|
+
const closestSplitPane = this.el.closest('ion-split-pane');
|
|
178
|
+
/**
|
|
179
|
+
* Menu listens on the body for "ionSplitPaneVisible".
|
|
180
|
+
* However, this means the callback will run any time
|
|
181
|
+
* a SplitPane changes visibility. As a result, we only want
|
|
182
|
+
* Menu's visibility state to update if its parent SplitPane
|
|
183
|
+
* changes visibility.
|
|
184
|
+
*/
|
|
185
|
+
if (target !== closestSplitPane) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
176
188
|
this.isPaneVisible = ev.detail.isPane(this.el);
|
|
177
189
|
this.updateState();
|
|
178
190
|
}
|
|
@@ -331,11 +343,11 @@ export class Menu {
|
|
|
331
343
|
this.animation = undefined;
|
|
332
344
|
}
|
|
333
345
|
// Create new animation
|
|
334
|
-
this.animation = await menuController._createAnimation(this.type, this);
|
|
346
|
+
const animation = (this.animation = await menuController._createAnimation(this.type, this));
|
|
335
347
|
if (!config.getBoolean('animated', true)) {
|
|
336
|
-
|
|
348
|
+
animation.duration(0);
|
|
337
349
|
}
|
|
338
|
-
|
|
350
|
+
animation.fill('both');
|
|
339
351
|
}
|
|
340
352
|
async startAnimation(shouldOpen, animated) {
|
|
341
353
|
const isReversed = !shouldOpen;
|
|
@@ -48,48 +48,5 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
48
48
|
const note = page.locator('ion-note');
|
|
49
49
|
await expect(note).toHaveScreenshot(screenshot(`note-item-divider-scale`));
|
|
50
50
|
});
|
|
51
|
-
test('should wrap label to the next line without truncating', async ({ page }) => {
|
|
52
|
-
await page.setContent(`
|
|
53
|
-
<style>
|
|
54
|
-
html {
|
|
55
|
-
font-size: 310%;
|
|
56
|
-
}
|
|
57
|
-
</style>
|
|
58
|
-
|
|
59
|
-
<ion-list>
|
|
60
|
-
<ion-item>
|
|
61
|
-
<ion-note slot="start">Really really long note</ion-note>
|
|
62
|
-
<ion-label>Label</ion-label>
|
|
63
|
-
</ion-item>
|
|
64
|
-
|
|
65
|
-
<ion-item>
|
|
66
|
-
<ion-label>Label</ion-label>
|
|
67
|
-
<ion-note slot="end">Really really long note</ion-note>
|
|
68
|
-
</ion-item>
|
|
69
|
-
|
|
70
|
-
<ion-item>
|
|
71
|
-
<ion-note slot="start">Note</ion-note>
|
|
72
|
-
<ion-label>Really really long label</ion-label>
|
|
73
|
-
</ion-item>
|
|
74
|
-
|
|
75
|
-
<ion-item>
|
|
76
|
-
<ion-label>Really really long label</ion-label>
|
|
77
|
-
<ion-note slot="end">Note</ion-note>
|
|
78
|
-
</ion-item>
|
|
79
|
-
|
|
80
|
-
<ion-item>
|
|
81
|
-
<ion-note slot="start">Really really long note</ion-note>
|
|
82
|
-
<ion-label>Really really long label</ion-label>
|
|
83
|
-
</ion-item>
|
|
84
|
-
|
|
85
|
-
<ion-item>
|
|
86
|
-
<ion-label>Really really long label</ion-label>
|
|
87
|
-
<ion-note slot="end">Really really long note</ion-note>
|
|
88
|
-
</ion-item>
|
|
89
|
-
</ion-list>
|
|
90
|
-
`, config);
|
|
91
|
-
const list = page.locator('ion-list');
|
|
92
|
-
await expect(list).toHaveScreenshot(screenshot(`note-wrapping-label-scale`));
|
|
93
|
-
});
|
|
94
51
|
});
|
|
95
52
|
});
|
|
@@ -85,7 +85,6 @@ export class Radio {
|
|
|
85
85
|
}
|
|
86
86
|
/** @internal */
|
|
87
87
|
async setFocus(ev) {
|
|
88
|
-
// TODO(FW-2832): type (using Event triggers a build error due to conflict with Stencil Event import)
|
|
89
88
|
ev.stopPropagation();
|
|
90
89
|
ev.preventDefault();
|
|
91
90
|
this.el.focus();
|
|
@@ -121,8 +120,6 @@ export class Radio {
|
|
|
121
120
|
emitStyle() {
|
|
122
121
|
const style = {
|
|
123
122
|
'interactive-disabled': this.disabled,
|
|
124
|
-
// TODO(FW-3125): remove this
|
|
125
|
-
legacy: !!this.legacy,
|
|
126
123
|
};
|
|
127
124
|
if (this.legacyFormController.hasLegacyControl()) {
|
|
128
125
|
style['radio-checked'] = this.checked;
|
|
@@ -418,7 +415,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
418
415
|
return {
|
|
419
416
|
"setFocus": {
|
|
420
417
|
"complexType": {
|
|
421
|
-
"signature": "(ev:
|
|
418
|
+
"signature": "(ev: globalThis.Event) => Promise<void>",
|
|
422
419
|
"parameters": [{
|
|
423
420
|
"tags": [],
|
|
424
421
|
"text": ""
|
|
@@ -427,6 +424,10 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
427
424
|
"Promise": {
|
|
428
425
|
"location": "global",
|
|
429
426
|
"id": "global::Promise"
|
|
427
|
+
},
|
|
428
|
+
"globalThis": {
|
|
429
|
+
"location": "global",
|
|
430
|
+
"id": "global::globalThis"
|
|
430
431
|
}
|
|
431
432
|
},
|
|
432
433
|
"return": "Promise<void>"
|
|
@@ -8,9 +8,11 @@ import { configs, test } from "../../../../../utils/test/playwright/index";
|
|
|
8
8
|
*/
|
|
9
9
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
10
10
|
test.describe(title('radio: a11y'), () => {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
test.beforeEach(async ({ page, skip }) => {
|
|
12
|
+
skip.browser('webkit', 'Tabbing is flaky in Safari');
|
|
13
13
|
await page.goto(`/src/components/radio/test/legacy/a11y`, config);
|
|
14
|
+
});
|
|
15
|
+
test('tabbing should switch between radio groups', async ({ page, pageUtils }) => {
|
|
14
16
|
const firstGroupRadios = page.locator('#first-group ion-radio');
|
|
15
17
|
const secondGroupRadios = page.locator('#second-group ion-radio');
|
|
16
18
|
await pageUtils.pressKeys('Tab');
|
|
@@ -20,9 +22,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
20
22
|
await pageUtils.pressKeys('shift+Tab');
|
|
21
23
|
await expect(firstGroupRadios.nth(0)).toBeFocused();
|
|
22
24
|
});
|
|
23
|
-
|
|
24
|
-
test.fixme('using arrow keys should move between enabled radios within group', async ({ page, pageUtils }) => {
|
|
25
|
-
await page.goto(`/src/components/radio/test/legacy/a11y`, config);
|
|
25
|
+
test('using arrow keys should move between enabled radios within group', async ({ page, pageUtils }) => {
|
|
26
26
|
const firstGroupRadios = page.locator('#first-group ion-radio');
|
|
27
27
|
await pageUtils.pressKeys('Tab');
|
|
28
28
|
await expect(firstGroupRadios.nth(0)).toBeFocused();
|
|
@@ -16,7 +16,6 @@ export const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
|
|
|
16
16
|
: createTranslateAnimation(pullingSpinner, refresherEl);
|
|
17
17
|
};
|
|
18
18
|
const createBaseAnimation = (pullingRefresherIcon) => {
|
|
19
|
-
// TODO(FW-2832): add types/re-evaluate asserting so many things
|
|
20
19
|
const spinner = pullingRefresherIcon.querySelector('ion-spinner');
|
|
21
20
|
const circle = spinner.shadowRoot.querySelector('circle');
|
|
22
21
|
const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
|
|
@@ -173,6 +172,14 @@ export const shouldUseNativeRefresher = async (referenceEl, mode) => {
|
|
|
173
172
|
const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
|
|
174
173
|
return (pullingSpinner !== null &&
|
|
175
174
|
refreshingSpinner !== null &&
|
|
175
|
+
/**
|
|
176
|
+
* We use webkitOverflowScrolling for feature detection with rubber band scrolling
|
|
177
|
+
* on iOS. When doing referenceEl.style, webkitOverflowScrolling is undefined on non-iOS platforms.
|
|
178
|
+
* However, it will be the empty string on iOS.
|
|
179
|
+
* Note that we do not use getPropertyValue (and thus need to cast as any) because calling
|
|
180
|
+
* getPropertyValue('-webkit-overflow-scrolling') will return the empty string if it is not
|
|
181
|
+
* set on the element, even if the platform does not support that.
|
|
182
|
+
*/
|
|
176
183
|
((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
|
|
177
184
|
mode === 'md'));
|
|
178
185
|
};
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a font size to a dynamic font size.
|
|
3
|
-
* Fonts that participate in Dynamic Type should use
|
|
4
|
-
* dynamic font sizes.
|
|
5
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
-
* convert to a unit other than $baselineUnit.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Convert a font size to a dynamic font size but impose
|
|
11
|
-
* a maximum font size.
|
|
12
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
-
* convert to a unit other than $baselineUnit.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Convert a font size to a dynamic font size but impose
|
|
19
|
-
* a minimum font size.
|
|
20
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
-
* convert to a unit other than $baselineUnit.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Convert a font size to a dynamic font size but impose
|
|
27
|
-
* maximum and minimum font sizes.
|
|
28
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
-
* convert to a unit other than $baselineUnit.
|
|
33
|
-
*/
|
|
34
1
|
:host([slot]) {
|
|
35
2
|
display: none;
|
|
36
3
|
line-height: 0;
|
|
@@ -46,7 +13,7 @@
|
|
|
46
13
|
* icons resize with Dynamic Type.
|
|
47
14
|
*/
|
|
48
15
|
::slotted(ion-icon) {
|
|
49
|
-
font-size:
|
|
16
|
+
font-size: dynamic-font(16px);
|
|
50
17
|
}
|
|
51
18
|
|
|
52
19
|
/**
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a font size to a dynamic font size.
|
|
3
|
-
* Fonts that participate in Dynamic Type should use
|
|
4
|
-
* dynamic font sizes.
|
|
5
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
-
* convert to a unit other than $baselineUnit.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Convert a font size to a dynamic font size but impose
|
|
11
|
-
* a maximum font size.
|
|
12
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
-
* convert to a unit other than $baselineUnit.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Convert a font size to a dynamic font size but impose
|
|
19
|
-
* a minimum font size.
|
|
20
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
-
* convert to a unit other than $baselineUnit.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Convert a font size to a dynamic font size but impose
|
|
27
|
-
* maximum and minimum font sizes.
|
|
28
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
-
* convert to a unit other than $baselineUnit.
|
|
33
|
-
*/
|
|
34
1
|
:host([slot]) {
|
|
35
2
|
display: none;
|
|
36
3
|
line-height: 0;
|
|
@@ -46,7 +13,7 @@
|
|
|
46
13
|
* icons resize with Dynamic Type.
|
|
47
14
|
*/
|
|
48
15
|
::slotted(ion-icon) {
|
|
49
|
-
font-size:
|
|
16
|
+
font-size: dynamic-font(16px);
|
|
50
17
|
}
|
|
51
18
|
|
|
52
19
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, forceUpdate, h } from "@stencil/core";
|
|
5
|
-
import { debounceEvent, raf } from "../../utils/helpers";
|
|
5
|
+
import { debounceEvent, raf, componentOnReady } from "../../utils/helpers";
|
|
6
6
|
import { isRTL } from "../../utils/rtl/index";
|
|
7
7
|
import { createColorClasses } from "../../utils/theme";
|
|
8
8
|
import { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from "ionicons/icons";
|
|
@@ -189,7 +189,14 @@ export class Searchbar {
|
|
|
189
189
|
/**
|
|
190
190
|
* Returns the native `<input>` element used under the hood.
|
|
191
191
|
*/
|
|
192
|
-
getInputElement() {
|
|
192
|
+
async getInputElement() {
|
|
193
|
+
/**
|
|
194
|
+
* If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
|
|
195
|
+
* nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
|
|
196
|
+
*/
|
|
197
|
+
if (!this.nativeInput) {
|
|
198
|
+
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
|
199
|
+
}
|
|
193
200
|
return Promise.resolve(this.nativeInput);
|
|
194
201
|
}
|
|
195
202
|
/**
|
|
@@ -465,8 +465,6 @@ export class Select {
|
|
|
465
465
|
style['has-placeholder'] = this.placeholder !== undefined;
|
|
466
466
|
style['has-value'] = this.hasValue();
|
|
467
467
|
style['has-focus'] = this.isExpanded;
|
|
468
|
-
// TODO(FW-3194): remove this
|
|
469
|
-
style['legacy'] = !!this.legacy;
|
|
470
468
|
}
|
|
471
469
|
this.ionStyle.emit(style);
|
|
472
470
|
}
|
|
@@ -27,7 +27,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
27
27
|
await page.setContent(`
|
|
28
28
|
<ion-item>
|
|
29
29
|
<ion-label>Really long label should not wrap</ion-label>
|
|
30
|
-
<ion-select value="wrap"
|
|
30
|
+
<ion-select value="wrap" class="ion-text-wrap">
|
|
31
31
|
<ion-select-option value="wrap">Should wrap value only when label exists and really long text exists to make it wrap the text</ion-select-option>
|
|
32
32
|
</ion-select>
|
|
33
33
|
</ion-item>
|
|
@@ -9,18 +9,6 @@ export class SkeletonText {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.animated = false;
|
|
11
11
|
}
|
|
12
|
-
componentWillLoad() {
|
|
13
|
-
this.emitStyle();
|
|
14
|
-
}
|
|
15
|
-
emitStyle() {
|
|
16
|
-
// The emitted property is used by item in order
|
|
17
|
-
// to add the item-skeleton-text class which applies
|
|
18
|
-
// overflow: hidden to its label
|
|
19
|
-
const style = {
|
|
20
|
-
'skeleton-text': true,
|
|
21
|
-
};
|
|
22
|
-
this.ionStyle.emit(style);
|
|
23
|
-
}
|
|
24
12
|
render() {
|
|
25
13
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
26
14
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
@@ -65,32 +53,5 @@ export class SkeletonText {
|
|
|
65
53
|
}
|
|
66
54
|
};
|
|
67
55
|
}
|
|
68
|
-
static get events() {
|
|
69
|
-
return [{
|
|
70
|
-
"method": "ionStyle",
|
|
71
|
-
"name": "ionStyle",
|
|
72
|
-
"bubbles": true,
|
|
73
|
-
"cancelable": true,
|
|
74
|
-
"composed": true,
|
|
75
|
-
"docs": {
|
|
76
|
-
"tags": [{
|
|
77
|
-
"name": "internal",
|
|
78
|
-
"text": undefined
|
|
79
|
-
}],
|
|
80
|
-
"text": "Emitted when the styles change."
|
|
81
|
-
},
|
|
82
|
-
"complexType": {
|
|
83
|
-
"original": "StyleEventDetail",
|
|
84
|
-
"resolved": "StyleEventDetail",
|
|
85
|
-
"references": {
|
|
86
|
-
"StyleEventDetail": {
|
|
87
|
-
"location": "import",
|
|
88
|
-
"path": "../../interface",
|
|
89
|
-
"id": "src/interface.d.ts::StyleEventDetail"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}];
|
|
94
|
-
}
|
|
95
56
|
static get elementRef() { return "el"; }
|
|
96
57
|
}
|