@ionic/core 7.3.4-dev.11694441708.198de185 → 7.3.4-dev.11694445679.1bc64f72
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/button-active.js +1 -1
- package/components/button.js +2 -2
- package/components/buttons.js +2 -2
- package/components/checkbox.js +6 -3
- package/components/data.js +31 -7
- package/components/index.js +2 -2
- package/components/index2.js +203 -429
- package/components/index3.js +429 -203
- package/components/ion-back-button.js +2 -2
- package/components/ion-badge.js +2 -2
- package/components/ion-breadcrumb.js +2 -2
- package/components/ion-card-content.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +2 -2
- package/components/ion-chip.js +3 -8
- package/components/ion-datetime-button.js +5 -2
- package/components/ion-datetime.js +132 -92
- package/components/ion-header.js +1 -1
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +2 -2
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu.js +3 -3
- package/components/ion-modal.js +2 -2
- package/components/ion-nav.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher.js +3 -3
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-searchbar.js +3 -9
- package/components/ion-segment.js +1 -1
- package/components/ion-textarea.js +2 -2
- package/components/ion-title.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +7 -4
- package/components/ion-toolbar.js +2 -2
- package/components/ios.transition.js +5 -5
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/md.transition.js +1 -1
- package/components/note.js +2 -2
- package/components/picker-column.js +1 -1
- package/components/popover.js +1 -1
- package/components/radio.js +6 -3
- package/components/swipe-back.js +1 -1
- package/css/core.css +0 -100
- package/css/core.css.map +1 -1
- package/css/display.css +0 -33
- package/css/display.css.map +1 -1
- package/css/float-elements.css +0 -33
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css +6 -84
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +0 -33
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css +0 -33
- package/css/padding.css.map +1 -1
- package/css/structure.css +0 -33
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css +0 -33
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css +0 -33
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css +6 -51
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +0 -165
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{data-967b9c15.js → data-db832785.js} +31 -7
- package/dist/cjs/{index-552c4df4.js → index-8568bedb.js} +2 -2
- package/dist/cjs/index.cjs.js +12 -11
- package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -3
- package/dist/cjs/ion-chip.cjs.entry.js +2 -7
- package/dist/cjs/ion-datetime-button.cjs.entry.js +6 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +132 -93
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -3
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -9
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -3
- package/dist/cjs/ionic.cjs.js +2 -2
- package/dist/cjs/{ios.transition-b53fc1d5.js → ios.transition-f7c78d7c.js} +5 -5
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-d96426d5.js → md.transition-65dc7dce.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/accordion.ios.css +0 -66
- package/dist/collection/components/accordion/accordion.md.css +0 -33
- package/dist/collection/components/accordion-group/accordion-group.ios.css +0 -66
- package/dist/collection/components/accordion-group/accordion-group.md.css +0 -99
- package/dist/collection/components/action-sheet/action-sheet.ios.css +12 -80
- package/dist/collection/components/action-sheet/action-sheet.md.css +8 -76
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +0 -27
- package/dist/collection/components/alert/alert.ios.css +0 -99
- package/dist/collection/components/alert/alert.md.css +0 -99
- package/dist/collection/components/avatar/avatar.ios.css +0 -66
- package/dist/collection/components/avatar/avatar.md.css +0 -66
- package/dist/collection/components/back-button/back-button.ios.css +1 -83
- package/dist/collection/components/back-button/back-button.md.css +3 -75
- package/dist/collection/components/backdrop/backdrop.ios.css +0 -66
- package/dist/collection/components/backdrop/backdrop.md.css +0 -66
- package/dist/collection/components/badge/badge.ios.css +1 -75
- package/dist/collection/components/badge/badge.md.css +1 -67
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +3 -80
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +3 -69
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -33
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -33
- package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +0 -21
- package/dist/collection/components/button/button.ios.css +19 -118
- package/dist/collection/components/button/button.md.css +3 -69
- package/dist/collection/components/buttons/buttons.ios.css +3 -102
- package/dist/collection/components/buttons/buttons.md.css +2 -101
- package/dist/collection/components/card/card.ios.css +1 -67
- package/dist/collection/components/card/card.md.css +1 -67
- package/dist/collection/components/card-content/card-content.ios.css +5 -71
- package/dist/collection/components/card-content/card-content.md.css +5 -71
- package/dist/collection/components/card-header/card-header.ios.css +0 -66
- package/dist/collection/components/card-header/card-header.md.css +0 -66
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -67
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -67
- package/dist/collection/components/card-title/card-title.ios.css +1 -67
- package/dist/collection/components/card-title/card-title.md.css +1 -67
- package/dist/collection/components/checkbox/checkbox.ios.css +35 -99
- package/dist/collection/components/checkbox/checkbox.js +24 -4
- package/dist/collection/components/checkbox/checkbox.md.css +35 -99
- package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +13 -0
- package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +16 -0
- package/dist/collection/components/chip/{chip.md.css → chip.css} +7 -43
- package/dist/collection/components/chip/chip.js +2 -4
- package/dist/collection/components/col/col.css +0 -66
- package/dist/collection/components/content/content.css +0 -33
- package/dist/collection/components/datetime/datetime.ios.css +32 -95
- package/dist/collection/components/datetime/datetime.js +137 -93
- package/dist/collection/components/datetime/datetime.md.css +20 -94
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +25 -0
- package/dist/collection/components/datetime/test/color/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/custom/datetime.e2e.js +27 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +15 -0
- package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +9 -12
- package/dist/collection/components/datetime/utils/data.js +14 -6
- package/dist/collection/components/datetime/utils/parse.js +18 -1
- package/dist/collection/components/datetime-button/datetime-button.css +2 -36
- package/dist/collection/components/datetime-button/datetime-button.js +3 -0
- package/dist/collection/components/fab/fab.css +0 -66
- package/dist/collection/components/fab-button/fab-button.ios.css +0 -66
- package/dist/collection/components/fab-button/fab-button.md.css +0 -66
- package/dist/collection/components/fab-list/fab-list.css +0 -66
- package/dist/collection/components/footer/footer.ios.css +0 -66
- package/dist/collection/components/footer/footer.md.css +0 -66
- package/dist/collection/components/grid/grid.css +0 -66
- package/dist/collection/components/header/header.ios.css +2 -71
- package/dist/collection/components/header/header.md.css +0 -66
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -66
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -66
- package/dist/collection/components/input/input.ios.css +0 -99
- package/dist/collection/components/input/input.md.css +0 -198
- package/dist/collection/components/item/item.ios.css +4 -70
- package/dist/collection/components/item/item.md.css +6 -138
- package/dist/collection/components/item/test/a11y/item.e2e.js +1 -116
- package/dist/collection/components/item-divider/item-divider.ios.css +9 -101
- package/dist/collection/components/item-divider/item-divider.md.css +11 -103
- package/dist/collection/components/item-group/item-group.ios.css +1 -68
- package/dist/collection/components/item-group/item-group.md.css +1 -68
- package/dist/collection/components/item-option/item-option.ios.css +1 -67
- package/dist/collection/components/item-option/item-option.md.css +1 -67
- package/dist/collection/components/item-options/item-options.ios.css +1 -99
- package/dist/collection/components/item-options/item-options.md.css +1 -99
- package/dist/collection/components/item-sliding/item-sliding.css +0 -33
- package/dist/collection/components/label/label.ios.css +6 -105
- package/dist/collection/components/label/label.md.css +5 -104
- package/dist/collection/components/list/list.ios.css +0 -99
- package/dist/collection/components/list/list.md.css +0 -99
- package/dist/collection/components/list-header/list-header.ios.css +1 -100
- package/dist/collection/components/list-header/list-header.md.css +1 -100
- package/dist/collection/components/loading/loading.ios.css +1 -67
- package/dist/collection/components/loading/loading.md.css +1 -67
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +0 -19
- package/dist/collection/components/menu/menu.ios.css +94 -66
- package/dist/collection/components/menu/menu.md.css +94 -66
- package/dist/collection/components/menu-button/menu-button.ios.css +2 -70
- package/dist/collection/components/menu-button/menu-button.md.css +3 -71
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -20
- package/dist/collection/components/modal/modal.ios.css +0 -66
- package/dist/collection/components/modal/modal.md.css +0 -66
- package/dist/collection/components/nav/nav.css +0 -33
- package/dist/collection/components/note/note.ios.css +0 -67
- package/dist/collection/components/note/note.md.css +1 -67
- package/dist/collection/components/picker/picker.ios.css +0 -66
- package/dist/collection/components/picker/picker.md.css +0 -66
- package/dist/collection/components/picker-column/picker-column.ios.css +0 -66
- package/dist/collection/components/picker-column/picker-column.md.css +0 -66
- package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +0 -33
- package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +0 -66
- package/dist/collection/components/picker-internal/picker-internal.ios.css +0 -66
- package/dist/collection/components/picker-internal/picker-internal.md.css +0 -66
- package/dist/collection/components/popover/popover.ios.css +0 -66
- package/dist/collection/components/popover/popover.md.css +0 -66
- package/dist/collection/components/progress-bar/progress-bar.ios.css +0 -33
- package/dist/collection/components/progress-bar/progress-bar.md.css +0 -33
- package/dist/collection/components/radio/radio.ios.css +33 -97
- package/dist/collection/components/radio/radio.js +24 -4
- package/dist/collection/components/radio/radio.md.css +33 -97
- package/dist/collection/components/radio/test/item/radio.e2e.js +15 -0
- package/dist/collection/components/radio/test/label-placement/radio.e2e.js +20 -0
- package/dist/collection/components/range/range.ios.css +46 -80
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/range/range.md.css +49 -97
- package/dist/collection/components/range/test/a11y/range.e2e.js +0 -22
- package/dist/collection/components/range/test/label/range.e2e.js +48 -0
- package/dist/collection/components/refresher/refresher.ios.css +0 -66
- package/dist/collection/components/refresher/refresher.md.css +0 -66
- package/dist/collection/components/reorder/reorder.ios.css +2 -75
- package/dist/collection/components/reorder/reorder.md.css +2 -75
- package/dist/collection/components/reorder-group/reorder-group.css +0 -33
- package/dist/collection/components/ripple-effect/ripple-effect.css +0 -33
- package/dist/collection/components/router-link/router-link.css +0 -33
- package/dist/collection/components/router-outlet/router-outlet.css +0 -33
- package/dist/collection/components/router-outlet/router-outlet.js +6 -1
- package/dist/collection/components/row/row.css +0 -66
- package/dist/collection/components/searchbar/searchbar.ios.css +16 -95
- package/dist/collection/components/searchbar/searchbar.js +1 -7
- package/dist/collection/components/searchbar/searchbar.md.css +10 -77
- package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +0 -18
- package/dist/collection/components/segment/segment.ios.css +0 -99
- package/dist/collection/components/segment/segment.md.css +0 -99
- package/dist/collection/components/segment-button/segment-button.ios.css +0 -66
- package/dist/collection/components/segment-button/segment-button.md.css +0 -66
- package/dist/collection/components/select/select.ios.css +0 -99
- package/dist/collection/components/select/select.md.css +0 -165
- package/dist/collection/components/select-popover/select-popover.ios.css +1 -101
- package/dist/collection/components/select-popover/select-popover.md.css +0 -99
- package/dist/collection/components/skeleton-text/skeleton-text.css +0 -33
- package/dist/collection/components/spinner/spinner.css +0 -33
- package/dist/collection/components/split-pane/split-pane.ios.css +0 -99
- package/dist/collection/components/split-pane/split-pane.md.css +0 -99
- package/dist/collection/components/tab-bar/tab-bar.ios.css +0 -99
- package/dist/collection/components/tab-bar/tab-bar.md.css +0 -99
- package/dist/collection/components/tab-button/tab-button.ios.css +0 -66
- package/dist/collection/components/tab-button/tab-button.md.css +0 -66
- package/dist/collection/components/tabs/tabs.css +0 -33
- package/dist/collection/components/text/text.css +0 -33
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +1 -15
- package/dist/collection/components/textarea/textarea.ios.css +1 -133
- package/dist/collection/components/textarea/textarea.md.css +1 -199
- package/dist/collection/components/thumbnail/thumbnail.css +0 -33
- package/dist/collection/components/title/title.ios.css +10 -43
- package/dist/collection/components/title/title.md.css +2 -35
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +1 -98
- package/dist/collection/components/toast/toast.ios.css +3 -74
- package/dist/collection/components/toast/toast.md.css +4 -74
- package/dist/collection/components/toggle/test/item/toggle.e2e.js +15 -0
- package/dist/collection/components/toggle/test/label/toggle.e2e.js +16 -0
- package/dist/collection/components/toggle/toggle.ios.css +35 -100
- package/dist/collection/components/toggle/toggle.js +24 -4
- package/dist/collection/components/toggle/toggle.md.css +35 -100
- package/dist/collection/components/toolbar/toolbar.ios.css +16 -70
- package/dist/collection/components/toolbar/toolbar.md.css +2 -70
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/transition/ios.transition.js +4 -4
- package/dist/docs.json +155 -21
- package/dist/esm/{data-4b448e3a.js → data-009dbf15.js} +31 -7
- package/dist/esm/{index-2970aafc.js → index-6391de89.js} +2 -2
- package/dist/esm/index.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +2 -2
- package/dist/esm/ion-app_8.entry.js +8 -8
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +8 -8
- package/dist/esm/ion-checkbox.entry.js +5 -3
- package/dist/esm/ion-chip.entry.js +2 -7
- package/dist/esm/ion-datetime-button.entry.js +6 -3
- package/dist/esm/ion-datetime_3.entry.js +132 -93
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +10 -10
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +1 -1
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +5 -3
- package/dist/esm/ion-range.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +3 -9
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +5 -3
- package/dist/esm/ionic.js +2 -2
- package/dist/esm/{ios.transition-4e8d7fb7.js → ios.transition-3137d23e.js} +5 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-2b41d64c.js → md.transition-48b3b77c.js} +1 -1
- package/dist/esm-es5/data-009dbf15.js +4 -0
- package/dist/esm-es5/{index-2970aafc.js → index-6391de89.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.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-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.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/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-3137d23e.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-2b41d64c.js → md.transition-48b3b77c.js} +1 -1
- package/dist/html.html-data.json +52 -4
- 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-06902103.system.js +4 -0
- package/dist/ionic/{p-a5481fd3.system.entry.js → p-0b68c41d.system.entry.js} +1 -1
- package/dist/ionic/p-0cc2bf5a.system.entry.js +4 -0
- package/dist/ionic/p-11248f01.js +4 -0
- package/dist/ionic/p-1f4adf06.system.entry.js +4 -0
- package/dist/ionic/p-2061c86f.system.entry.js +4 -0
- package/dist/ionic/{p-80eed21b.entry.js → p-208f640c.entry.js} +1 -1
- package/dist/ionic/p-218b6f33.entry.js +4 -0
- package/dist/ionic/p-2da6ba37.system.entry.js +4 -0
- package/dist/ionic/p-341d5877.entry.js +4 -0
- package/dist/ionic/p-38dd9aec.entry.js +4 -0
- package/dist/ionic/p-40138199.entry.js +4 -0
- package/dist/ionic/p-430e902d.entry.js +4 -0
- package/dist/ionic/p-44ef7224.system.js +4 -0
- package/dist/ionic/p-48144921.entry.js +4 -0
- package/dist/ionic/p-4ca1ce6b.system.entry.js +4 -0
- package/dist/ionic/p-51b165af.system.js +4 -0
- package/dist/ionic/p-57f0efcc.entry.js +4 -0
- package/dist/ionic/p-5ba27716.system.entry.js +4 -0
- package/dist/ionic/{p-2e45dce9.system.entry.js → p-62324608.system.entry.js} +1 -1
- package/dist/ionic/{p-5d418c78.entry.js → p-653f2fc6.entry.js} +1 -1
- package/dist/ionic/p-67b891af.entry.js +4 -0
- package/dist/ionic/p-69303bb5.system.js +4 -0
- package/dist/ionic/p-6b3afb0f.entry.js +4 -0
- package/dist/ionic/p-6bf632d0.system.entry.js +4 -0
- package/dist/ionic/{p-c569a270.entry.js → p-728ac2b3.entry.js} +1 -1
- package/dist/ionic/p-7cfd253c.js +4 -0
- package/dist/ionic/p-82f5c07e.system.entry.js +4 -0
- package/dist/ionic/p-82f8ee51.entry.js +4 -0
- package/dist/ionic/p-83bcaec9.system.entry.js +4 -0
- package/dist/ionic/p-86c5c320.entry.js +4 -0
- package/dist/ionic/{p-586e0a90.system.entry.js → p-87383d00.system.entry.js} +1 -1
- package/dist/ionic/p-90ec5785.system.entry.js +4 -0
- package/dist/ionic/{p-eaede417.entry.js → p-98ebc376.entry.js} +1 -1
- package/dist/ionic/p-9c32000a.entry.js +4 -0
- package/dist/ionic/{p-1decbac2.js → p-a2b25750.js} +1 -1
- package/dist/ionic/p-a34669bf.system.entry.js +4 -0
- package/dist/ionic/p-a3f9d271.entry.js +4 -0
- package/dist/ionic/p-a62c0ff4.js +4 -0
- package/dist/ionic/p-af0bc751.system.entry.js +4 -0
- package/dist/ionic/p-af986299.system.entry.js +4 -0
- package/dist/ionic/p-b0e9e0b8.system.entry.js +4 -0
- package/dist/ionic/p-b321c999.entry.js +4 -0
- package/dist/ionic/p-bbae0ac3.system.entry.js +4 -0
- package/dist/ionic/p-bf4b8d8a.system.entry.js +4 -0
- package/dist/ionic/p-d5e3bff3.entry.js +4 -0
- package/dist/ionic/p-d8a0267b.system.entry.js +4 -0
- package/dist/ionic/p-dbb48066.system.entry.js +4 -0
- package/dist/ionic/p-dc49c681.system.entry.js +4 -0
- package/dist/ionic/{p-f7dcca6a.system.js → p-df6743df.system.js} +1 -1
- package/dist/ionic/p-e112994b.system.entry.js +4 -0
- package/dist/ionic/{p-f29fe8c3.system.js → p-e3d5608d.system.js} +1 -1
- package/dist/ionic/p-e805ff9f.system.entry.js +4 -0
- package/dist/ionic/p-ed7b205b.entry.js +4 -0
- package/dist/ionic/p-f5c19164.entry.js +4 -0
- package/dist/ionic/p-f9567c67.entry.js +4 -0
- package/dist/ionic/p-fa3327e8.system.entry.js +4 -0
- package/dist/ionic/{p-fbb2649b.entry.js → p-fabb7294.entry.js} +1 -1
- package/dist/ionic/{p-8eed522b.entry.js → p-fac1660b.entry.js} +1 -1
- package/dist/ionic/p-fe83e3e2.entry.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +8 -1
- package/dist/types/components/datetime/datetime.d.ts +23 -10
- package/dist/types/components/datetime/utils/data.d.ts +1 -1
- package/dist/types/components/datetime/utils/parse.d.ts +3 -3
- package/dist/types/components/radio/radio.d.ts +8 -1
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/toast/toast-interface.d.ts +3 -0
- package/dist/types/components/toggle/toggle.d.ts +8 -1
- package/dist/types/components.d.ts +40 -16
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interface.d.ts +1 -0
- package/hydrate/index.js +345 -264
- package/package.json +3 -3
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -26
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -22
- package/dist/collection/components/button/test/a11y/button.e2e.js +0 -61
- package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +0 -74
- package/dist/collection/components/card/test/a11y/card.e2e.js +0 -31
- package/dist/collection/components/chip/chip.ios.css +0 -190
- package/dist/collection/components/chip/test/a11y/chip.e2e.js +0 -58
- package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +0 -38
- package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +0 -44
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -34
- package/dist/collection/components/label/test/a11y/label.e2e.js +0 -66
- package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +0 -24
- package/dist/collection/components/note/test/a11y/note.e2e.js +0 -52
- package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +0 -33
- package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +0 -37
- package/dist/collection/components/title/test/a11y/title.e2e.js +0 -61
- package/dist/collection/css/test/a11y/typography.e2e.js +0 -32
- package/dist/esm-es5/data-4b448e3a.js +0 -4
- package/dist/esm-es5/ios.transition-4e8d7fb7.js +0 -4
- package/dist/ionic/p-0053fe81.system.entry.js +0 -4
- package/dist/ionic/p-060aa1aa.entry.js +0 -4
- package/dist/ionic/p-0e4377e6.system.entry.js +0 -4
- package/dist/ionic/p-1e5f9f20.entry.js +0 -4
- package/dist/ionic/p-2c012642.entry.js +0 -4
- package/dist/ionic/p-2cdcd6f2.entry.js +0 -4
- package/dist/ionic/p-2f4e5cd6.system.entry.js +0 -4
- package/dist/ionic/p-2f6fbeab.system.entry.js +0 -4
- package/dist/ionic/p-39bf6a89.js +0 -4
- package/dist/ionic/p-418fc6f2.system.entry.js +0 -4
- package/dist/ionic/p-468ac44a.system.entry.js +0 -4
- package/dist/ionic/p-5009cb46.entry.js +0 -4
- package/dist/ionic/p-5b88f780.entry.js +0 -4
- package/dist/ionic/p-5e8d7def.system.entry.js +0 -4
- package/dist/ionic/p-601fd53c.js +0 -4
- package/dist/ionic/p-65105512.entry.js +0 -4
- package/dist/ionic/p-66d2ef38.entry.js +0 -4
- package/dist/ionic/p-721933ff.system.js +0 -4
- package/dist/ionic/p-7ea1a467.system.js +0 -4
- package/dist/ionic/p-80b152fd.system.entry.js +0 -4
- package/dist/ionic/p-89d96720.entry.js +0 -4
- package/dist/ionic/p-91f9a6aa.system.entry.js +0 -4
- package/dist/ionic/p-94f99a8b.entry.js +0 -4
- package/dist/ionic/p-985d547d.system.entry.js +0 -4
- package/dist/ionic/p-98b618ce.system.entry.js +0 -4
- package/dist/ionic/p-9e306450.system.entry.js +0 -4
- package/dist/ionic/p-b03dae0c.system.entry.js +0 -4
- package/dist/ionic/p-b062bc29.entry.js +0 -4
- package/dist/ionic/p-b0b8c0c9.system.entry.js +0 -4
- package/dist/ionic/p-b3394798.system.entry.js +0 -4
- package/dist/ionic/p-bc8b9c38.system.entry.js +0 -4
- package/dist/ionic/p-c4aea998.entry.js +0 -4
- package/dist/ionic/p-c64711cc.entry.js +0 -4
- package/dist/ionic/p-c9fd7db5.system.entry.js +0 -4
- package/dist/ionic/p-caa4c0fa.entry.js +0 -4
- package/dist/ionic/p-cc8910e7.system.js +0 -4
- package/dist/ionic/p-cd4b6518.system.js +0 -4
- package/dist/ionic/p-d1e6b365.entry.js +0 -4
- package/dist/ionic/p-d4044209.system.entry.js +0 -4
- package/dist/ionic/p-d6de281e.entry.js +0 -4
- package/dist/ionic/p-e497d6a5.js +0 -4
- package/dist/ionic/p-e53b8af4.system.entry.js +0 -4
- package/dist/ionic/p-f1e5e368.system.entry.js +0 -4
- package/dist/ionic/p-f2b925a2.system.entry.js +0 -4
- package/dist/ionic/p-f78e60a5.entry.js +0 -4
- package/dist/ionic/p-f902ddc6.entry.js +0 -4
- package/dist/ionic/p-f9ec8c18.entry.js +0 -4
- package/dist/ionic/p-fade59a2.system.entry.js +0 -4
|
@@ -70,6 +70,7 @@ export class Radio {
|
|
|
70
70
|
this.labelPlacement = 'start';
|
|
71
71
|
this.legacy = undefined;
|
|
72
72
|
this.justify = 'space-between';
|
|
73
|
+
this.alignment = 'center';
|
|
73
74
|
}
|
|
74
75
|
valueChanged() {
|
|
75
76
|
/**
|
|
@@ -134,7 +135,7 @@ export class Radio {
|
|
|
134
135
|
return legacyFormController.hasLegacyControl() ? this.renderLegacyRadio() : this.renderRadio();
|
|
135
136
|
}
|
|
136
137
|
renderRadio() {
|
|
137
|
-
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex } = this;
|
|
138
|
+
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
138
139
|
const mode = getIonMode(this);
|
|
139
140
|
const inItem = hostContext('ion-item', el);
|
|
140
141
|
return (h(Host, { onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
@@ -143,6 +144,7 @@ export class Radio {
|
|
|
143
144
|
'radio-checked': checked,
|
|
144
145
|
'radio-disabled': disabled,
|
|
145
146
|
[`radio-justify-${justify}`]: true,
|
|
147
|
+
[`radio-alignment-${alignment}`]: true,
|
|
146
148
|
[`radio-label-placement-${labelPlacement}`]: true,
|
|
147
149
|
// Focus and active styling should not apply when the radio is in an item
|
|
148
150
|
'ion-activatable': !inItem,
|
|
@@ -275,15 +277,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
275
277
|
"type": "string",
|
|
276
278
|
"mutable": false,
|
|
277
279
|
"complexType": {
|
|
278
|
-
"original": "'start' | 'end' | 'fixed'",
|
|
279
|
-
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
280
|
+
"original": "'start' | 'end' | 'fixed' | 'stacked'",
|
|
281
|
+
"resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
|
|
280
282
|
"references": {}
|
|
281
283
|
},
|
|
282
284
|
"required": false,
|
|
283
285
|
"optional": false,
|
|
284
286
|
"docs": {
|
|
285
287
|
"tags": [],
|
|
286
|
-
"text": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
|
|
288
|
+
"text": "Where to place the label relative to the radio.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property."
|
|
287
289
|
},
|
|
288
290
|
"attribute": "label-placement",
|
|
289
291
|
"reflect": false,
|
|
@@ -323,6 +325,24 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
323
325
|
"attribute": "justify",
|
|
324
326
|
"reflect": false,
|
|
325
327
|
"defaultValue": "'space-between'"
|
|
328
|
+
},
|
|
329
|
+
"alignment": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"mutable": false,
|
|
332
|
+
"complexType": {
|
|
333
|
+
"original": "'start' | 'center'",
|
|
334
|
+
"resolved": "\"center\" | \"start\"",
|
|
335
|
+
"references": {}
|
|
336
|
+
},
|
|
337
|
+
"required": false,
|
|
338
|
+
"optional": false,
|
|
339
|
+
"docs": {
|
|
340
|
+
"tags": [],
|
|
341
|
+
"text": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
|
|
342
|
+
},
|
|
343
|
+
"attribute": "alignment",
|
|
344
|
+
"reflect": false,
|
|
345
|
+
"defaultValue": "'center'"
|
|
326
346
|
}
|
|
327
347
|
};
|
|
328
348
|
}
|
|
@@ -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 {
|
|
35
2
|
/**
|
|
36
3
|
* @prop --color: Color of the radio
|
|
@@ -180,6 +147,15 @@ input {
|
|
|
180
147
|
margin-bottom: 10px;
|
|
181
148
|
}
|
|
182
149
|
|
|
150
|
+
:host(.in-item.radio-label-placement-stacked) .label-text-wrapper {
|
|
151
|
+
margin-top: 10px;
|
|
152
|
+
margin-bottom: 16px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
:host(.in-item.radio-label-placement-stacked) .native-wrapper {
|
|
156
|
+
margin-bottom: 10px;
|
|
157
|
+
}
|
|
158
|
+
|
|
183
159
|
/**
|
|
184
160
|
* If no label text is placed into the slot
|
|
185
161
|
* then the element should be hidden otherwise
|
|
@@ -206,6 +182,14 @@ input {
|
|
|
206
182
|
justify-content: end;
|
|
207
183
|
}
|
|
208
184
|
|
|
185
|
+
:host(.radio-alignment-start) .radio-wrapper {
|
|
186
|
+
align-items: start;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:host(.radio-alignment-center) .radio-wrapper {
|
|
190
|
+
align-items: center;
|
|
191
|
+
}
|
|
192
|
+
|
|
209
193
|
/**
|
|
210
194
|
* Label is on the left of the radio in LTR and
|
|
211
195
|
* on the right in RTL.
|
|
@@ -269,71 +253,23 @@ input {
|
|
|
269
253
|
}
|
|
270
254
|
|
|
271
255
|
/**
|
|
272
|
-
*
|
|
273
|
-
* Fonts that participate in Dynamic Type should use
|
|
274
|
-
* dynamic font sizes.
|
|
275
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
276
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
277
|
-
* convert to a unit other than $baselineUnit.
|
|
278
|
-
*/
|
|
279
|
-
/**
|
|
280
|
-
* Convert a font size to a dynamic font size but impose
|
|
281
|
-
* a maximum font size.
|
|
282
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
283
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
284
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
285
|
-
* convert to a unit other than $baselineUnit.
|
|
286
|
-
*/
|
|
287
|
-
/**
|
|
288
|
-
* Convert a font size to a dynamic font size but impose
|
|
289
|
-
* a minimum font size.
|
|
290
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
291
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
292
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
293
|
-
* convert to a unit other than $baselineUnit.
|
|
294
|
-
*/
|
|
295
|
-
/**
|
|
296
|
-
* Convert a font size to a dynamic font size but impose
|
|
297
|
-
* maximum and minimum font sizes.
|
|
298
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
299
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
300
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
301
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
302
|
-
* convert to a unit other than $baselineUnit.
|
|
303
|
-
*/
|
|
304
|
-
/**
|
|
305
|
-
* Convert a font size to a dynamic font size.
|
|
306
|
-
* Fonts that participate in Dynamic Type should use
|
|
307
|
-
* dynamic font sizes.
|
|
308
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
309
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
310
|
-
* convert to a unit other than $baselineUnit.
|
|
311
|
-
*/
|
|
312
|
-
/**
|
|
313
|
-
* Convert a font size to a dynamic font size but impose
|
|
314
|
-
* a maximum font size.
|
|
315
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
316
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
317
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
318
|
-
* convert to a unit other than $baselineUnit.
|
|
319
|
-
*/
|
|
320
|
-
/**
|
|
321
|
-
* Convert a font size to a dynamic font size but impose
|
|
322
|
-
* a minimum font size.
|
|
323
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
324
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
325
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
326
|
-
* convert to a unit other than $baselineUnit.
|
|
327
|
-
*/
|
|
328
|
-
/**
|
|
329
|
-
* Convert a font size to a dynamic font size but impose
|
|
330
|
-
* maximum and minimum font sizes.
|
|
331
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
332
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
333
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
334
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
335
|
-
* convert to a unit other than $baselineUnit.
|
|
256
|
+
* Label is on top of the radio.
|
|
336
257
|
*/
|
|
258
|
+
:host(.radio-label-placement-stacked) .radio-wrapper {
|
|
259
|
+
flex-direction: column;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
:host(.radio-label-placement-stacked) .label-text-wrapper {
|
|
263
|
+
/**
|
|
264
|
+
* The margin between the label and
|
|
265
|
+
* the radio should be on the bottom
|
|
266
|
+
* when the label sits on top.
|
|
267
|
+
*/
|
|
268
|
+
margin-left: 0;
|
|
269
|
+
margin-right: 0;
|
|
270
|
+
margin-bottom: 16px;
|
|
271
|
+
}
|
|
272
|
+
|
|
337
273
|
:host {
|
|
338
274
|
--color: rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);
|
|
339
275
|
--color-checked: var(--ion-color-primary, #3880ff);
|
|
@@ -51,4 +51,19 @@ configs({ directions: ['ltr'], modes: ['md'] }).forEach(({ title, screenshot, co
|
|
|
51
51
|
await expect(list).toHaveScreenshot(screenshot(`radio-long-label-in-item`));
|
|
52
52
|
});
|
|
53
53
|
});
|
|
54
|
+
test.describe(title('radio: stacked label in item'), () => {
|
|
55
|
+
test('should render margins correctly when using stacked label in item', async ({ page }) => {
|
|
56
|
+
await page.setContent(`
|
|
57
|
+
<ion-list>
|
|
58
|
+
<ion-radio-group>
|
|
59
|
+
<ion-item>
|
|
60
|
+
<ion-radio label-placement="stacked">Enable Notifications</ion-radio>
|
|
61
|
+
</ion-item>
|
|
62
|
+
</ion-radio-group>
|
|
63
|
+
</ion-list>
|
|
64
|
+
`, config);
|
|
65
|
+
const list = page.locator('ion-list');
|
|
66
|
+
await expect(list).toHaveScreenshot(screenshot(`radio-stacked-label-in-item`));
|
|
67
|
+
});
|
|
68
|
+
});
|
|
54
69
|
});
|
|
@@ -100,5 +100,25 @@ configs().forEach(({ title, screenshot, config }) => {
|
|
|
100
100
|
await expect(radio).toHaveScreenshot(screenshot(`radio-label-fixed-justify-space-between`));
|
|
101
101
|
});
|
|
102
102
|
});
|
|
103
|
+
test.describe('radio: stacked placement', () => {
|
|
104
|
+
test('should align the label to the start of the container in the stacked position', async ({ page }) => {
|
|
105
|
+
await page.setContent(`
|
|
106
|
+
<ion-radio-group value="1">
|
|
107
|
+
<ion-radio label-placement="stacked" alignment="start" style="width: 200px" value="1">This is a long label</ion-radio>
|
|
108
|
+
</ion-radio-group>
|
|
109
|
+
`, config);
|
|
110
|
+
const radio = page.locator('ion-radio');
|
|
111
|
+
await expect(radio).toHaveScreenshot(screenshot(`radio-label-stacked-align-start`));
|
|
112
|
+
});
|
|
113
|
+
test('should align the label to the center of the container in the stacked position', async ({ page }) => {
|
|
114
|
+
await page.setContent(`
|
|
115
|
+
<ion-radio-group value="1">
|
|
116
|
+
<ion-radio label-placement="stacked" alignment="center" style="width: 200px" value="1">This is a long label</ion-radio>
|
|
117
|
+
</ion-radio-group>
|
|
118
|
+
`, config);
|
|
119
|
+
const radio = page.locator('ion-radio');
|
|
120
|
+
await expect(radio).toHaveScreenshot(screenshot(`radio-label-stacked-align-center`));
|
|
121
|
+
});
|
|
122
|
+
});
|
|
103
123
|
});
|
|
104
124
|
});
|
|
@@ -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 {
|
|
35
2
|
/**
|
|
36
3
|
* @prop --bar-background: Background of the range bar
|
|
@@ -93,9 +60,7 @@
|
|
|
93
60
|
top: calc((var(--height) - var(--knob-handle-size)) / 2);
|
|
94
61
|
-webkit-margin-start: calc(0px - var(--knob-handle-size) / 2);
|
|
95
62
|
margin-inline-start: calc(0px - var(--knob-handle-size) / 2);
|
|
96
|
-
display: flex;
|
|
97
63
|
position: absolute;
|
|
98
|
-
justify-content: center;
|
|
99
64
|
width: var(--knob-handle-size);
|
|
100
65
|
height: var(--knob-handle-size);
|
|
101
66
|
text-align: center;
|
|
@@ -399,38 +364,24 @@
|
|
|
399
364
|
}
|
|
400
365
|
|
|
401
366
|
/**
|
|
402
|
-
*
|
|
403
|
-
* Fonts that participate in Dynamic Type should use
|
|
404
|
-
* dynamic font sizes.
|
|
405
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
406
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
407
|
-
* convert to a unit other than $baselineUnit.
|
|
408
|
-
*/
|
|
409
|
-
/**
|
|
410
|
-
* Convert a font size to a dynamic font size but impose
|
|
411
|
-
* a maximum font size.
|
|
412
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
413
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
414
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
415
|
-
* convert to a unit other than $baselineUnit.
|
|
416
|
-
*/
|
|
417
|
-
/**
|
|
418
|
-
* Convert a font size to a dynamic font size but impose
|
|
419
|
-
* a minimum font size.
|
|
420
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
421
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
422
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
423
|
-
* convert to a unit other than $baselineUnit.
|
|
424
|
-
*/
|
|
425
|
-
/**
|
|
426
|
-
* Convert a font size to a dynamic font size but impose
|
|
427
|
-
* maximum and minimum font sizes.
|
|
428
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
429
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
430
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
431
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
432
|
-
* convert to a unit other than $baselineUnit.
|
|
367
|
+
* Label is on top of the range.
|
|
433
368
|
*/
|
|
369
|
+
:host(.range-label-placement-stacked) .range-wrapper {
|
|
370
|
+
flex-direction: column;
|
|
371
|
+
align-items: stretch;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
:host(.range-label-placement-stacked) .label-text-wrapper {
|
|
375
|
+
/**
|
|
376
|
+
* The margin between the label and
|
|
377
|
+
* the range should be on the bottom
|
|
378
|
+
* when the label sits on top.
|
|
379
|
+
*/
|
|
380
|
+
margin-left: 0;
|
|
381
|
+
margin-right: 0;
|
|
382
|
+
margin-bottom: 16px;
|
|
383
|
+
}
|
|
384
|
+
|
|
434
385
|
:host {
|
|
435
386
|
--knob-border-radius: 50%;
|
|
436
387
|
--knob-background: #ffffff;
|
|
@@ -475,8 +426,29 @@
|
|
|
475
426
|
margin-bottom: 0;
|
|
476
427
|
}
|
|
477
428
|
|
|
478
|
-
:host(.range-has-pin) {
|
|
479
|
-
|
|
429
|
+
:host(.range-has-pin:not(.range-label-placement-stacked)) {
|
|
430
|
+
/**
|
|
431
|
+
* The pin should not overlap any elements that are
|
|
432
|
+
* above the range. By adding padding to the top of the
|
|
433
|
+
* range, it provides a buffer for the pin to move into
|
|
434
|
+
* when it is pressed.
|
|
435
|
+
*
|
|
436
|
+
* The padding is not included when the label is stacked
|
|
437
|
+
* because the pin is below the label.
|
|
438
|
+
* It still requires a buffer to prevent the pin from
|
|
439
|
+
* overlapping the range. The buffer is added to the
|
|
440
|
+
* bottom of the range label instead of the host.
|
|
441
|
+
*/
|
|
442
|
+
padding-top: 20px;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper {
|
|
446
|
+
/**
|
|
447
|
+
* The pin should not overlap the stacked label. By adding
|
|
448
|
+
* margin to the bottom of the label, it provides a buffer
|
|
449
|
+
* for the pin to move into when it is pressed.
|
|
450
|
+
*/
|
|
451
|
+
margin-bottom: 20px;
|
|
480
452
|
}
|
|
481
453
|
|
|
482
454
|
.range-bar-active {
|
|
@@ -509,33 +481,27 @@
|
|
|
509
481
|
}
|
|
510
482
|
|
|
511
483
|
.range-pin {
|
|
512
|
-
transform: translate3d(0,
|
|
484
|
+
transform: translate3d(0, 28px, 0) scale(0.01);
|
|
513
485
|
-webkit-padding-start: 8px;
|
|
514
486
|
padding-inline-start: 8px;
|
|
515
487
|
-webkit-padding-end: 8px;
|
|
516
488
|
padding-inline-end: 8px;
|
|
517
489
|
padding-top: 8px;
|
|
518
490
|
padding-bottom: 8px;
|
|
491
|
+
display: inline-block;
|
|
492
|
+
position: relative;
|
|
493
|
+
top: -20px;
|
|
519
494
|
min-width: 28px;
|
|
520
495
|
transition: transform 120ms ease;
|
|
521
496
|
background: transparent;
|
|
522
497
|
color: var(--ion-text-color, #000);
|
|
523
|
-
font-size:
|
|
498
|
+
font-size: 12px;
|
|
524
499
|
text-align: center;
|
|
525
500
|
}
|
|
526
501
|
|
|
527
|
-
/**
|
|
528
|
-
* The -100% ensures the pin sits on top
|
|
529
|
-
* of the range-knob-handle container.
|
|
530
|
-
* We apply 11px so that the pin
|
|
531
|
-
* text is closer to the knob inside of the container.
|
|
532
|
-
* We also apply the 11px here instead of using "top"
|
|
533
|
-
* otherwise the pin text will translate below the knob
|
|
534
|
-
* when the text is scaled.
|
|
535
|
-
*/
|
|
536
502
|
.range-knob-pressed .range-pin,
|
|
537
503
|
.range-knob-handle.ion-focused .range-pin {
|
|
538
|
-
transform: translate3d(0,
|
|
504
|
+
transform: translate3d(0, 0, 0) scale(1);
|
|
539
505
|
}
|
|
540
506
|
|
|
541
507
|
:host(.range-disabled) {
|
|
@@ -808,15 +808,15 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
808
808
|
"type": "string",
|
|
809
809
|
"mutable": false,
|
|
810
810
|
"complexType": {
|
|
811
|
-
"original": "'start' | 'end' | 'fixed'",
|
|
812
|
-
"resolved": "\"end\" | \"fixed\" | \"start\"",
|
|
811
|
+
"original": "'start' | 'end' | 'fixed' | 'stacked'",
|
|
812
|
+
"resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
|
|
813
813
|
"references": {}
|
|
814
814
|
},
|
|
815
815
|
"required": false,
|
|
816
816
|
"optional": false,
|
|
817
817
|
"docs": {
|
|
818
818
|
"tags": [],
|
|
819
|
-
"text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
|
|
819
|
+
"text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the range regardless of the direction."
|
|
820
820
|
},
|
|
821
821
|
"attribute": "label-placement",
|
|
822
822
|
"reflect": false,
|
|
@@ -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 {
|
|
35
2
|
/**
|
|
36
3
|
* @prop --bar-background: Background of the range bar
|
|
@@ -93,9 +60,7 @@
|
|
|
93
60
|
top: calc((var(--height) - var(--knob-handle-size)) / 2);
|
|
94
61
|
-webkit-margin-start: calc(0px - var(--knob-handle-size) / 2);
|
|
95
62
|
margin-inline-start: calc(0px - var(--knob-handle-size) / 2);
|
|
96
|
-
display: flex;
|
|
97
63
|
position: absolute;
|
|
98
|
-
justify-content: center;
|
|
99
64
|
width: var(--knob-handle-size);
|
|
100
65
|
height: var(--knob-handle-size);
|
|
101
66
|
text-align: center;
|
|
@@ -399,38 +364,24 @@
|
|
|
399
364
|
}
|
|
400
365
|
|
|
401
366
|
/**
|
|
402
|
-
*
|
|
403
|
-
* Fonts that participate in Dynamic Type should use
|
|
404
|
-
* dynamic font sizes.
|
|
405
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
406
|
-
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
407
|
-
* convert to a unit other than $baselineUnit.
|
|
408
|
-
*/
|
|
409
|
-
/**
|
|
410
|
-
* Convert a font size to a dynamic font size but impose
|
|
411
|
-
* a maximum font size.
|
|
412
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
413
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
414
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
415
|
-
* convert to a unit other than $baselineUnit.
|
|
416
|
-
*/
|
|
417
|
-
/**
|
|
418
|
-
* Convert a font size to a dynamic font size but impose
|
|
419
|
-
* a minimum font size.
|
|
420
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
421
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
422
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
423
|
-
* convert to a unit other than $baselineUnit.
|
|
424
|
-
*/
|
|
425
|
-
/**
|
|
426
|
-
* Convert a font size to a dynamic font size but impose
|
|
427
|
-
* maximum and minimum font sizes.
|
|
428
|
-
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
429
|
-
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
430
|
-
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
431
|
-
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
432
|
-
* convert to a unit other than $baselineUnit.
|
|
367
|
+
* Label is on top of the range.
|
|
433
368
|
*/
|
|
369
|
+
:host(.range-label-placement-stacked) .range-wrapper {
|
|
370
|
+
flex-direction: column;
|
|
371
|
+
align-items: stretch;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
:host(.range-label-placement-stacked) .label-text-wrapper {
|
|
375
|
+
/**
|
|
376
|
+
* The margin between the label and
|
|
377
|
+
* the range should be on the bottom
|
|
378
|
+
* when the label sits on top.
|
|
379
|
+
*/
|
|
380
|
+
margin-left: 0;
|
|
381
|
+
margin-right: 0;
|
|
382
|
+
margin-bottom: 16px;
|
|
383
|
+
}
|
|
384
|
+
|
|
434
385
|
:host {
|
|
435
386
|
--knob-border-radius: 50%;
|
|
436
387
|
--knob-background: var(--bar-background-active);
|
|
@@ -443,18 +394,13 @@
|
|
|
443
394
|
--height: 42px;
|
|
444
395
|
--pin-background: var(--ion-color-primary, #3880ff);
|
|
445
396
|
--pin-color: var(--ion-color-primary-contrast, #fff);
|
|
397
|
+
font-size: 12px;
|
|
446
398
|
}
|
|
447
399
|
|
|
448
|
-
|
|
400
|
+
::slotted([slot=label]), .label-text {
|
|
449
401
|
font-size: initial;
|
|
450
402
|
}
|
|
451
403
|
|
|
452
|
-
:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),
|
|
453
|
-
:host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),
|
|
454
|
-
:host(:not(.legacy-range)) .native-wrapper {
|
|
455
|
-
font-size: 0.75rem;
|
|
456
|
-
}
|
|
457
|
-
|
|
458
404
|
:host(.legacy-range) {
|
|
459
405
|
-webkit-padding-start: 14px;
|
|
460
406
|
padding-inline-start: 14px;
|
|
@@ -462,7 +408,6 @@
|
|
|
462
408
|
padding-inline-end: 14px;
|
|
463
409
|
padding-top: 8px;
|
|
464
410
|
padding-bottom: 8px;
|
|
465
|
-
font-size: 0.75rem;
|
|
466
411
|
}
|
|
467
412
|
|
|
468
413
|
:host(.ion-color) .range-bar {
|
|
@@ -497,8 +442,29 @@
|
|
|
497
442
|
margin-bottom: 0;
|
|
498
443
|
}
|
|
499
444
|
|
|
500
|
-
:host(.range-has-pin) {
|
|
501
|
-
|
|
445
|
+
:host(.range-has-pin:not(.range-label-placement-stacked)) {
|
|
446
|
+
/**
|
|
447
|
+
* The pin should not overlap any elements that are
|
|
448
|
+
* above the range. By adding padding to the top of the
|
|
449
|
+
* range, it provides a buffer for the pin to move into
|
|
450
|
+
* when it is pressed.
|
|
451
|
+
*
|
|
452
|
+
* The padding is not included when the label is stacked
|
|
453
|
+
* because the pin is below the label.
|
|
454
|
+
* It still requires a buffer to prevent the pin from
|
|
455
|
+
* overlapping the range. The buffer is added to the
|
|
456
|
+
* bottom of the range label instead of the host.
|
|
457
|
+
*/
|
|
458
|
+
padding-top: 28px;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper {
|
|
462
|
+
/**
|
|
463
|
+
* The pin should not overlap the stacked label. By adding
|
|
464
|
+
* margin to the bottom of the label, it provides a buffer
|
|
465
|
+
* for the pin to move into when it is pressed.
|
|
466
|
+
*/
|
|
467
|
+
margin-bottom: 28px;
|
|
502
468
|
}
|
|
503
469
|
|
|
504
470
|
.range-bar-active {
|
|
@@ -575,26 +541,17 @@
|
|
|
575
541
|
padding-bottom: 8px;
|
|
576
542
|
border-radius: 50%;
|
|
577
543
|
transform: translate3d(0, 0, 0) scale(0.01);
|
|
578
|
-
display:
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
* The dimensions of the range need
|
|
583
|
-
* to scale with the size of the text
|
|
584
|
-
* which is why we use dynamic dimensions here.
|
|
585
|
-
*/
|
|
586
|
-
width: 1.75rem;
|
|
587
|
-
height: 1.75rem;
|
|
544
|
+
display: inline-block;
|
|
545
|
+
position: relative;
|
|
546
|
+
min-width: 28px;
|
|
547
|
+
height: 28px;
|
|
588
548
|
transition: transform 120ms ease, background 120ms ease;
|
|
589
549
|
background: var(--pin-background);
|
|
590
550
|
color: var(--pin-color);
|
|
551
|
+
text-align: center;
|
|
591
552
|
}
|
|
592
553
|
.range-pin::before {
|
|
593
|
-
|
|
594
|
-
* The -1px here moves the ::before
|
|
595
|
-
* psuedo-element down to create a uniform pin shape.
|
|
596
|
-
*/
|
|
597
|
-
bottom: -1px;
|
|
554
|
+
top: 3px;
|
|
598
555
|
-webkit-margin-start: -13px;
|
|
599
556
|
margin-inline-start: -13px;
|
|
600
557
|
/* stylelint-disable-next-line property-disallowed-list */
|
|
@@ -652,14 +609,9 @@
|
|
|
652
609
|
}
|
|
653
610
|
}
|
|
654
611
|
|
|
655
|
-
/**
|
|
656
|
-
* Move the pin up by its full height
|
|
657
|
-
* plus a few pixels so the tip is above
|
|
658
|
-
* (but not touching) the knob.
|
|
659
|
-
*/
|
|
660
612
|
.range-knob-pressed .range-pin,
|
|
661
613
|
.range-knob-handle.ion-focused .range-pin {
|
|
662
|
-
transform: translate3d(0,
|
|
614
|
+
transform: translate3d(0, -24px, 0) scale(1);
|
|
663
615
|
}
|
|
664
616
|
|
|
665
617
|
@media (any-hover: hover) {
|