diff --git a/packages/bootstrap/scss/action-sheet/_variables.scss b/packages/bootstrap/scss/action-sheet/_variables.scss index 4bd3f9799e1..17d6bb381b2 100644 --- a/packages/bootstrap/scss/action-sheet/_variables.scss +++ b/packages/bootstrap/scss/action-sheet/_variables.scss @@ -3,7 +3,8 @@ $actionsheet-padding-x: null !default; $actionsheet-padding-y: null !default; $actionsheet-width: 360px !default; $actionsheet-max-width: 100% !default; -$actionsheet-max-height: 50vh !default; +$actionsheet-height: 60vh !default; +$actionsheet-max-height: 60vh !default; $actionsheet-border-width: 0px !default; $actionsheet-border-radius: 0px !default; @@ -19,18 +20,23 @@ $actionsheet-shadow: 0 8px 10px -5px rgba( black, .2 ), 0 16px 24px 2px rgba( bl // Actionsheet header -$actionsheet-header-padding-x: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-padding-y: k-map-get( $spacing, 2 ) !default; -$actionsheet-header-border-width: null !default; -$actionsheet-header-font-size: null !default; -$actionsheet-header-font-family: null !default; -$actionsheet-header-line-height: null !default; +$actionsheet-titlebar-padding-x: k-map-get( $spacing, 4 ) !default; +$actionsheet-titlebar-padding-y: k-map-get( $spacing, 2 ) !default; +$actionsheet-titlebar-border-width: null !default; +$actionsheet-titlebar-font-size: null !default; +$actionsheet-titlebar-font-family: null !default; +$actionsheet-titlebar-line-height: null !default; +$actionsheet-titlebar-gap: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-bg: null !default; -$actionsheet-header-text: null !default; -$actionsheet-header-border: null !default; -$actionsheet-header-gradient: null !default; -$actionsheet-header-shadow: null !default; +$actionsheet-titlebar-bg: null !default; +$actionsheet-titlebar-text: null !default; +$actionsheet-titlebar-border: null !default; +$actionsheet-titlebar-gradient: null !default; +$actionsheet-titlebar-shadow: null !default; + +$actionsheet-subtitle-font-size: $font-size-sm !default; +$actionsheet-subtitle-line-height: $line-height-sm !default; +$actionsheet-subtitle-text: $subtle-text !default; // Actionsheet item @@ -65,3 +71,16 @@ $actionsheet-item-disabled-text: null !default; $actionsheet-item-disabled-border: null !default; $actionsheet-item-disabled-gradient: null !default; $actionsheet-item-disabled-shadow: null !default; + + +// Adaptive Actionsheet +$adaptive-actionsheet-titlebar-border-width: 1px !default; +$adaptive-actionsheet-titlebar-padding-y: k-map-get( $spacing, 4 ) !default; +$adaptive-actionsheet-titlebar-padding-x: $adaptive-actionsheet-titlebar-padding-y !default; +$adaptive-actionsheet-titlebar-border: $component-border !default; + +$adaptive-actionsheet-content-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-content-padding-x: k-map-get( $spacing, 4 ) !default; + +$adaptive-actionsheet-footer-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-footer-padding-x: k-map-get( $spacing, 4 ) !default; diff --git a/packages/classic/scss/action-sheet/_variables.scss b/packages/classic/scss/action-sheet/_variables.scss index 06474e05c06..a7842aeadd7 100644 --- a/packages/classic/scss/action-sheet/_variables.scss +++ b/packages/classic/scss/action-sheet/_variables.scss @@ -3,7 +3,8 @@ $actionsheet-padding-x: null !default; $actionsheet-padding-y: null !default; $actionsheet-width: 360px !default; $actionsheet-max-width: 100% !default; -$actionsheet-max-height: 50vh !default; +$actionsheet-height: 60vh !default; +$actionsheet-max-height: 60vh !default; $actionsheet-border-width: 0px !default; $actionsheet-border-radius: 0px !default; @@ -19,18 +20,23 @@ $actionsheet-shadow: 0 8px 10px -5px rgba( black, .2 ), 0 16px 24px 2px rgba( bl // Actionsheet header -$actionsheet-header-padding-x: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-padding-y: k-map-get( $spacing, 2 ) !default; -$actionsheet-header-border-width: null !default; -$actionsheet-header-font-size: null !default; -$actionsheet-header-font-family: null !default; -$actionsheet-header-line-height: null !default; +$actionsheet-titlebar-padding-x: k-map-get( $spacing, 4 ) !default; +$actionsheet-titlebar-padding-y: k-map-get( $spacing, 2 ) !default; +$actionsheet-titlebar-border-width: null !default; +$actionsheet-titlebar-font-size: null !default; +$actionsheet-titlebar-font-family: null !default; +$actionsheet-titlebar-line-height: null !default; +$actionsheet-titlebar-gap: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-bg: null !default; -$actionsheet-header-text: null !default; -$actionsheet-header-border: null !default; -$actionsheet-header-gradient: null !default; -$actionsheet-header-shadow: null !default; +$actionsheet-titlebar-bg: null !default; +$actionsheet-titlebar-text: null !default; +$actionsheet-titlebar-border: null !default; +$actionsheet-titlebar-gradient: null !default; +$actionsheet-titlebar-shadow: null !default; + +$actionsheet-subtitle-font-size: $font-size-sm !default; +$actionsheet-subtitle-line-height: $line-height-sm !default; +$actionsheet-subtitle-text: $subtle-text !default; // Actionsheet item @@ -65,3 +71,16 @@ $actionsheet-item-disabled-text: null !default; $actionsheet-item-disabled-border: null !default; $actionsheet-item-disabled-gradient: null !default; $actionsheet-item-disabled-shadow: null !default; + + +// Adaptive Actionsheet +$adaptive-actionsheet-titlebar-border-width: 1px !default; +$adaptive-actionsheet-titlebar-padding-y: k-map-get( $spacing, 4 ) !default; +$adaptive-actionsheet-titlebar-padding-x: $adaptive-actionsheet-titlebar-padding-y !default; +$adaptive-actionsheet-titlebar-border: $component-border !default; + +$adaptive-actionsheet-content-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-content-padding-x: k-map-get( $spacing, 4 ) !default; + +$adaptive-actionsheet-footer-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-footer-padding-x: k-map-get( $spacing, 4 ) !default; diff --git a/packages/default/scss/action-sheet/_layout.scss b/packages/default/scss/action-sheet/_layout.scss index de87b9b6a65..aa5c2cefb48 100644 --- a/packages/default/scss/action-sheet/_layout.scss +++ b/packages/default/scss/action-sheet/_layout.scss @@ -1,21 +1,67 @@ @include exports("action-sheet/layout") { + // Action sheet container .k-actionsheet-container { - width: 100vw; - height: 100vh; + width: 100%; + height: 100%; + max-width: unquote("max(100%, 100vw)"); + max-height: unquote("max(100%, 100vh)"); position: fixed; top: 0; left: 0; z-index: 9999; overflow: hidden; + transform: translateZ(0); + } + + + // Animation container + .k-actionsheet-container { + + // Overlay + > .k-overlay { + position: absolute; + z-index: 1; + } + + // Nested animation container + > .k-animation-container { + width: 100%; + height: 100%; + border-radius: 0; + overflow: hidden; + position: absolute; + z-index: 2; + top: 0; + left: 0; + pointer-events: none; + + > .k-child-animation-container { + position: absolute; + } + } + + // No animation container + > .k-actionsheet { + position: absolute; + z-index: 2; + } + + // Enable mouse events for action sheet + .k-actionsheet { + pointer-events: all; + } } + // Actionsheet .k-actionsheet { - padding: $actionsheet-padding-y $actionsheet-padding-y; - width: $actionsheet-width; - max-width: $actionsheet-max-width; - max-height: $actionsheet-max-height; + padding-block: $actionsheet-padding-y; + padding-inline: $actionsheet-padding-y; + width: var( --kendo-actionsheet-width, #{$actionsheet-width} ); + height: var( --kendo-actionsheet-height, #{$actionsheet-height} ); + max-width: var( --kendo-actionsheet-max-width, #{$actionsheet-max-width} ); + max-height: var( --kendo-actionsheet-max-height, #{$actionsheet-max-height} ); border-width: 0; border-style: solid; border-color: transparent; @@ -23,10 +69,8 @@ font-size: $actionsheet-font-size; font-family: $actionsheet-font-family; line-height: $actionsheet-line-height; - overflow-x: hidden; - overflow-y: auto; - position: fixed; - z-index: 10002; + overflow: hidden; + position: relative; *, *::before, @@ -34,37 +78,37 @@ box-sizing: border-box; } } - .k-actionsheet-fullscreen { - max-height: 100%; - height: 100%; - } - // Actionsheet header - .k-actionsheet-header { - padding: $actionsheet-header-padding-y $actionsheet-header-padding-x; + // Actionsheet titlebar + .k-actionsheet-titlebar { + padding: $actionsheet-titlebar-padding-y $actionsheet-titlebar-padding-x; border-width: 0; - border-bottom-width: if( $actionsheet-header-border-width, $actionsheet-header-border-width, null ); + border-bottom-width: if( $actionsheet-titlebar-border-width, $actionsheet-titlebar-border-width, null ); border-style: solid; border-color: transparent; - box-sizing: border-box; - font-size: $actionsheet-header-font-size; - font-family: $actionsheet-header-font-family; - line-height: $actionsheet-header-line-height; + font-size: $actionsheet-titlebar-font-size; + font-family: $actionsheet-titlebar-font-family; + line-height: $actionsheet-titlebar-line-height; flex: none; + display: flex; + flex-flow: column nowrap; + align-items: center; + gap: $actionsheet-titlebar-gap; } - - - // Actionsheet titlebar - .k-actionsheet-titlebar { - @extend .k-actionsheet-header !optional; + .k-actionsheet-titlebar-group { display: flex; flex-flow: row nowrap; align-items: center; + width: 100%; } .k-actionsheet-title { flex: 1; } + .k-actionsheet-subtitle { + font-size: $actionsheet-subtitle-font-size; + line-height: $actionsheet-subtitle-line-height; + } .k-actionsheet-actions { flex: none; } @@ -74,6 +118,7 @@ .k-actionsheet-content { flex: 1; overflow: auto; + position: relative; } @@ -88,6 +133,7 @@ margin: 0; padding: 0; list-style: none; + flex: none; } @@ -106,7 +152,7 @@ outline: 0; display: flex; flex-flow: row nowrap; - align-items: center; + align-items: flex-start; gap: $actionsheet-item-spacing; } .k-actionsheet-item-icon { @@ -129,6 +175,7 @@ .k-actionsheet > .k-hr { margin: 0; border-color: inherit; + flex: none; } @@ -165,6 +212,12 @@ top: 50%; transform: translateY( -50% ); } + .k-actionsheet-fullscreen { + width: 100%; + max-width: 100%; + max-height: 100%; + height: 100%; + } // Action sheet in popup @@ -186,6 +239,28 @@ display: flex; flex-flow: column nowrap; + .k-actionsheet-titlebar { + padding: $adaptive-actionsheet-titlebar-padding-y $adaptive-actionsheet-titlebar-padding-x; + border-bottom-width: $adaptive-actionsheet-titlebar-border-width; + } + + .k-actionsheet-content { + padding: $adaptive-actionsheet-content-padding-y $adaptive-actionsheet-content-padding-x; + } + + .k-actionsheet-footer { + padding: $adaptive-actionsheet-footer-padding-y $adaptive-actionsheet-footer-padding-x; + } + + .k-list-container, + .k-treeview { + height: 100%; + } + .k-list-filter { + width: 100%; + padding-inline: 0; + } + .k-calendar { margin-inline: auto; border-width: 0; @@ -205,6 +280,58 @@ height: 100%; } } + + .k-datetime-wrap { + width: 100%; + height: 100%; + display: flex; + flex-flow: column nowrap; + } + .k-datetime-selector { + flex: 1 1 auto; + } + + .k-datetime-calendar-wrap { + width: 100%; + position: absolute; + top: 0; + left: 0; + bottom: 0; + flex: 0 0 100%; + } + + .k-datetime-time-wrap { + width: 100%; + position: absolute; + top: 0; + left: 100%; + bottom: 0; + flex: 0 0 100%; + } + + .k-scrollable-wrap { + height: 100%; + overflow-y: auto; + } + } + +} + +@include exports("action-sheet/layout/legacy") { + + .k-actionsheet-jq { + &.k-actionsheet { + height: auto; + } + + .k-actionsheet-header { + @extend .k-actionsheet-titlebar !optional; + align-items: flex-start; + } + + .k-actionsheet-action { + align-items: center; + } } } diff --git a/packages/default/scss/action-sheet/_theme.scss b/packages/default/scss/action-sheet/_theme.scss index 4f5e3ccd5ae..90ef1cfa376 100644 --- a/packages/default/scss/action-sheet/_theme.scss +++ b/packages/default/scss/action-sheet/_theme.scss @@ -12,14 +12,17 @@ // Actionsheet header - .k-actionsheet-header { + .k-actionsheet-titlebar { @include fill( - $actionsheet-header-text, - $actionsheet-header-bg, - $actionsheet-header-border, - $actionsheet-header-gradient + $actionsheet-titlebar-text, + $actionsheet-titlebar-bg, + $actionsheet-titlebar-border, + $actionsheet-titlebar-gradient ); - @include box-shadow( $actionsheet-header-shadow ); + @include box-shadow( $actionsheet-titlebar-shadow ); + } + .k-actionsheet-subtitle { + @include fill( $color: $actionsheet-subtitle-text ); } @@ -28,17 +31,7 @@ // Actionsheet item - .k-actionsheet-item {} - - - // Actionsheet item description - .k-actionsheet-item-description { - @include fill( $color: $actionsheet-item-description-text ); - } - - - // Actionsheet action - .k-actionsheet-action { + .k-actionsheet-item { // Hover state @@ -67,7 +60,7 @@ } - // Disabed state + // Disabled state &:disabled, &.k-disabled { @include fill( @@ -80,4 +73,20 @@ } } + + // Actionsheet item description + .k-actionsheet-item-description { + @include fill( $color: $actionsheet-item-description-text ); + } + + + // Actionsheet action + .k-actionsheet-action {} + + + // Adaptive Actionsheet + .k-adaptive-actionsheet .k-actionsheet-titlebar { + @include fill( $border: $adaptive-actionsheet-titlebar-border ); + } + } diff --git a/packages/default/scss/action-sheet/_variables.scss b/packages/default/scss/action-sheet/_variables.scss index 067f57faaac..c34d1c47429 100644 --- a/packages/default/scss/action-sheet/_variables.scss +++ b/packages/default/scss/action-sheet/_variables.scss @@ -3,7 +3,8 @@ $actionsheet-padding-x: null !default; $actionsheet-padding-y: null !default; $actionsheet-width: 360px !default; $actionsheet-max-width: 100% !default; -$actionsheet-max-height: 50vh !default; +$actionsheet-height: 60vh !default; +$actionsheet-max-height: 60vh !default; $actionsheet-border-width: 0px !default; $actionsheet-border-radius: 0px !default; @@ -19,18 +20,23 @@ $actionsheet-shadow: 0 8px 10px -5px rgba(0, 0, 0, .2), 0 16px 24px 2px rgba(0, // Actionsheet header -$actionsheet-header-padding-x: map-get( $spacing, 4 ) !default; -$actionsheet-header-padding-y: map-get( $spacing, 2 ) !default; -$actionsheet-header-border-width: null !default; -$actionsheet-header-font-size: null !default; -$actionsheet-header-font-family: null !default; -$actionsheet-header-line-height: null !default; +$actionsheet-titlebar-padding-x: map-get( $spacing, 4 ) !default; +$actionsheet-titlebar-padding-y: map-get( $spacing, 2 ) !default; +$actionsheet-titlebar-border-width: null !default; +$actionsheet-titlebar-font-size: null !default; +$actionsheet-titlebar-font-family: null !default; +$actionsheet-titlebar-line-height: null !default; +$actionsheet-titlebar-gap: map-get( $spacing, 4 ) !default; -$actionsheet-header-bg: null !default; -$actionsheet-header-text: null !default; -$actionsheet-header-border: null !default; -$actionsheet-header-gradient: null !default; -$actionsheet-header-shadow: null !default; +$actionsheet-titlebar-bg: null !default; +$actionsheet-titlebar-text: null !default; +$actionsheet-titlebar-border: null !default; +$actionsheet-titlebar-gradient: null !default; +$actionsheet-titlebar-shadow: null !default; + +$actionsheet-subtitle-font-size: $font-size-sm !default; +$actionsheet-subtitle-line-height: $line-height-sm !default; +$actionsheet-subtitle-text: $subtle-text !default; // Actionsheet item @@ -65,3 +71,16 @@ $actionsheet-item-disabled-text: null !default; $actionsheet-item-disabled-border: null !default; $actionsheet-item-disabled-gradient: null !default; $actionsheet-item-disabled-shadow: null !default; + + +// Adaptive Actionsheet +$adaptive-actionsheet-titlebar-border-width: 1px !default; +$adaptive-actionsheet-titlebar-padding-y: map-get( $spacing, 4 ) !default; +$adaptive-actionsheet-titlebar-padding-x: $adaptive-actionsheet-titlebar-padding-y !default; +$adaptive-actionsheet-titlebar-border: $component-border !default; + +$adaptive-actionsheet-content-padding-y: map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-content-padding-x: map-get( $spacing, 4 ) !default; + +$adaptive-actionsheet-footer-padding-y: map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-footer-padding-x: map-get( $spacing, 4 ) !default; diff --git a/packages/default/scss/icons/_layout.scss b/packages/default/scss/icons/_layout.scss index 8880891a698..a31f57e400a 100644 --- a/packages/default/scss/icons/_layout.scss +++ b/packages/default/scss/icons/_layout.scss @@ -13,6 +13,27 @@ } } + // Icon wrap + .k-icon-wrap { + flex: none; + display: inline-flex; + flex-flow: row nowrap; + gap: 0; + align-items: center; + align-self: flex-start; + vertical-align: middle; + position: relative; + + &::before { + content: "\200b"; + width: 0; + overflow: hidden; + flex: none; + display: inline-block; + vertical-align: top; + } + } + .k-icon { width: 1em; height: 1em; diff --git a/packages/default/scss/list/_layout.scss b/packages/default/scss/list/_layout.scss index 3ff7f842f32..0af80da0db7 100644 --- a/packages/default/scss/list/_layout.scss +++ b/packages/default/scss/list/_layout.scss @@ -1,5 +1,16 @@ @include exports( "list/layout" ) { + // List container + .k-list-container { + display: flex; + flex-flow: column nowrap; + + > .k-list { + flex: 1; + height: 100%; + } + } + // List .k-list { margin: 0; @@ -180,7 +191,7 @@ position: relative; padding: $padding-x; box-sizing: border-box; - flex: 0 0 auto; + flex: none; } diff --git a/packages/default/scss/timeselector/_layout.scss b/packages/default/scss/timeselector/_layout.scss index 206e1268567..3855ef2ae79 100644 --- a/packages/default/scss/timeselector/_layout.scss +++ b/packages/default/scss/timeselector/_layout.scss @@ -58,6 +58,7 @@ display: flex; position: relative; flex: 1 1 auto; + overflow: hidden; } diff --git a/packages/fluent/scss/action-sheet/_layout.scss b/packages/fluent/scss/action-sheet/_layout.scss index dbecb026388..3a0f4ceda3a 100644 --- a/packages/fluent/scss/action-sheet/_layout.scss +++ b/packages/fluent/scss/action-sheet/_layout.scss @@ -3,13 +3,54 @@ @mixin kendo-action-sheet--layout() { .k-actionsheet-container { - width: 100vw; - height: 100vh; + width: 100%; + height: 100%; + max-width: unquote("max(100%, 100vw)"); + max-height: unquote("max(100%, 100vh)"); position: fixed; top: 0; left: 0; z-index: 9999; overflow: hidden; + transform: translateZ(0); + } + + // Animation container + .k-actionsheet-container { + + // Overlay + > .k-overlay { + position: absolute; + z-index: 1; + } + + // Nested animation container + > .k-animation-container { + width: 100%; + height: 100%; + border-radius: 0; + overflow: hidden; + position: absolute; + z-index: 2; + top: 0; + left: 0; + pointer-events: none; + + > .k-child-animation-container { + position: absolute; + } + } + + // No animation container + > .k-actionsheet { + position: absolute; + z-index: 2; + } + + // Enable mouse events for action sheet + .k-actionsheet { + pointer-events: all; + } } // Actionsheet @@ -18,6 +59,7 @@ padding-block: var( --kendo-actionsheet-padding-y, #{$kendo-actionsheet-padding-y} ); width: var( --kendo-actionsheet-width, #{$kendo-actionsheet-width} ); max-width: var( --kendo-actionsheet-max-width, #{$kendo-actionsheet-max-width} ); + height: var( --kendo-actionsheet-height, #{$kendo-actionsheet-height} ); max-height: var( --kendo-actionsheet-max-height, #{$kendo-actionsheet-max-height} ); border-width: 0; border-style: solid; @@ -26,10 +68,8 @@ font-size: var( --kendo-actionsheet-font-size, #{$kendo-actionsheet-font-size} ); font-family: var( --kendo-actionsheet-font-family, #{$kendo-actionsheet-font-family} ); line-height: var( --kendo-actionsheet-line-height, #{$kendo-actionsheet-line-height} ); - overflow-x: hidden; - overflow-y: auto; - position: fixed; - z-index: 10002; + overflow: hidden; + position: relative; *, *::before, @@ -39,6 +79,8 @@ } .k-actionsheet-fullscreen { + width: 100%; + max-width: 100%; max-height: 100%; height: 100%; } @@ -57,21 +99,34 @@ font-family: var( --kendo-actionsheet-header-font-family, #{$kendo-actionsheet-header-font-family} ); line-height: var( --kendo-actionsheet-header-line-height, #{$kendo-actionsheet-header-line-height} ); flex: none; + gap: var( --kendo-actionsheet-header-gap, #{$kendo-actionsheet-header-gap} ); } // Actionsheet titlebar .k-actionsheet-titlebar { @extend .k-actionsheet-header !optional; + display: flex; + flex-flow: column nowrap; + align-items: center; + } + + .k-actionsheet-titlebar-group { display: flex; flex-flow: row nowrap; align-items: center; + width: 100%; } .k-actionsheet-title { flex: 1; } + .k-actionsheet-subtitle { + font-size: var( --kendo-actionsheet-subtitle-font-size, #{$kendo-actionsheet-subtitle-font-size} ); + line-height: var( --kendo-actionsheet-subtitle-line-height, #{$kendo-actionsheet-subtitle-line-height} ); + } + .k-actionsheet-actions { flex: none; } @@ -81,6 +136,7 @@ .k-actionsheet-content { flex: 1; overflow: auto; + position: relative; } @@ -95,6 +151,7 @@ margin: 0; padding: 0; list-style: none; + flex: none; } @@ -102,6 +159,13 @@ .k-actionsheet-item { padding: 0; box-sizing: border-box; + + &:focus, + &.k-focus { + outline-width: var( --kendo-actionsheet-item-focus-outline-width, #{$kendo-actionsheet-item-focus-outline-width} ); + outline-style: solid; + outline-offset: calc( -1 * var( --kendo-actionsheet-item-focus-outline-width, #{$kendo-actionsheet-item-focus-outline-width} ) ); + } } .k-actionsheet-action { @@ -115,16 +179,8 @@ outline: 0; display: flex; flex-flow: row nowrap; - align-items: center; + align-items: flex-start; gap: var( --kendo-actionsheet-item-spacing, #{$kendo-actionsheet-item-spacing} ); - - - &:focus, - &.k-focus { - outline-width: var( --kendo-actionsheet-item-focus-outline-width, #{$kendo-actionsheet-item-focus-outline-width} ); - outline-style: solid; - outline-offset: calc( -1 * var( --kendo-actionsheet-item-focus-outline-width, #{$kendo-actionsheet-item-focus-outline-width} ) ); - } } .k-actionsheet-item-icon { @@ -150,6 +206,7 @@ .k-actionsheet > .k-hr { margin: 0; border-color: inherit; + flex: none; } @@ -210,6 +267,31 @@ display: flex; flex-flow: column nowrap; + .k-actionsheet-titlebar { + padding-inline: var( --kendo-adaptive-actionsheet-header-padding-x, #{$kendo-adaptive-actionsheet-header-padding-x} ); + padding-block: var( --kendo-adaptive-actionsheet-header-padding-y, #{$kendo-adaptive-actionsheet-header-padding-y} ); + border-bottom-width: var( --kendo-adaptive-actionsheet-header-border-width, #{$kendo-adaptive-actionsheet-header-border-width} ); + } + + .k-actionsheet-content { + padding-inline: var( --kendo-adaptive-actionsheet-content-padding-x, #{$kendo-adaptive-actionsheet-content-padding-x} ); + padding-block: var( --kendo-adaptive-actionsheet-content-padding-y, #{$kendo-adaptive-actionsheet-content-padding-y} ); + } + + .k-actionsheet-footer { + padding-inline: var( --kendo-adaptive-actionsheet-footer-padding-x, #{$kendo-adaptive-actionsheet-footer-padding-x} ); + padding-block: var( --kendo-adaptive-actionsheet-footer-padding-y, #{$kendo-adaptive-actionsheet-footer-padding-y} ); + } + + .k-list-container, + .k-treeview { + height: 100%; + } + .k-list-filter { + width: 100%; + padding-inline: 0; + } + .k-calendar { margin-inline: auto; border-width: 0; @@ -229,5 +311,58 @@ height: 100%; } } + + .k-datetime-wrap { + width: 100%; + height: 100%; + display: flex; + flex-flow: column nowrap; + } + .k-datetime-selector { + flex: 1 1 auto; + } + + .k-datetime-calendar-wrap { + width: 100%; + position: absolute; + top: 0; + left: 0; + bottom: 0; + flex: 0 0 100%; + } + + .k-datetime-time-wrap { + width: 100%; + position: absolute; + top: 0; + left: 100%; + bottom: 0; + flex: 0 0 100%; + } + + .k-scrollable-wrap { + height: 100%; + overflow-y: auto; + } } } + +@mixin kendo-action-sheet--layout-jq() { + + .k-actionsheet-jq { + &.k-actionsheet { + height: auto; + position: relative; + } + + .k-actionsheet-header { + @extend .k-actionsheet-titlebar !optional; + align-items: flex-start; + } + + .k-actionsheet-action { + align-items: center; + } + } + +} diff --git a/packages/fluent/scss/action-sheet/_theme.scss b/packages/fluent/scss/action-sheet/_theme.scss index 8a9adfded20..75432bf76a1 100644 --- a/packages/fluent/scss/action-sheet/_theme.scss +++ b/packages/fluent/scss/action-sheet/_theme.scss @@ -19,7 +19,9 @@ border-color: var( --kendo-actionsheet-header-border, #{$kendo-actionsheet-header-border} ); @include box-shadow( var( --kendo-actionsheet-header-shadow, #{$kendo-actionsheet-header-shadow} ) ); } - + .k-actionsheet-subtitle-text { + color: var( --kendo-actionsheet-subtitle-text, #{$kendo-actionsheet-subtitle-text} ); + } // Actionsheet items .k-actionsheet-items {} @@ -40,7 +42,7 @@ // Actionsheet action - .k-actionsheet-action { + .k-actionsheet-item { color: var( --INTERNAL--kendo-actionsheet-item-text, inherit ); background-color: var( --INTERNAL--kendo-actionsheet-item-bg, inherit ); @@ -86,4 +88,10 @@ } } } + + // Adaptive Actionsheet + .k-adaptive-actionsheet .k-actionsheet-titlebar { + border-color: var( --kendo-adaptive-actionsheet-header-border, #{$kendo-adaptive-actionsheet-header-border} ); + } + } diff --git a/packages/fluent/scss/action-sheet/_variables.scss b/packages/fluent/scss/action-sheet/_variables.scss index c979ba49db6..08f99a038d7 100644 --- a/packages/fluent/scss/action-sheet/_variables.scss +++ b/packages/fluent/scss/action-sheet/_variables.scss @@ -13,9 +13,12 @@ $kendo-actionsheet-width: 360px !default; /// Maximum width of the action sheet. /// @group action-sheet $kendo-actionsheet-max-width: 100% !default; +/// Height of the action sheet. +/// @group action-sheet +$kendo-actionsheet-height: 60vh !default; /// Maximum height of the action sheet. /// @group action-sheet -$kendo-actionsheet-max-height: 50vh !default; +$kendo-actionsheet-max-height: 60vh !default; /// Border width around the action sheet. /// @group action-sheet @@ -65,6 +68,10 @@ $kendo-actionsheet-header-font-family: inherit !default; /// Line height of the action sheet header. /// @group action-sheet $kendo-actionsheet-header-line-height: inherit !default; +/// Spacing between the action sheet header groups. +/// @group action-sheet +$kendo-actionsheet-header-gap: map-get( $kendo-spacing, 4 ) !default; + /// Background color of the action sheet header. /// @group action-sheet @@ -79,6 +86,16 @@ $kendo-actionsheet-header-border: inherit !default; /// @group action-sheet $kendo-actionsheet-header-shadow: none !default; +/// Font size of the action sheet subtitle. +/// @group action-sheet +$kendo-actionsheet-subtitle-font-size: var( --kendo-font-size-sm, inherit ) !default; +/// Line height of the action sheet subtitle. +/// @group action-sheet +$kendo-actionsheet-subtitle-line-height: var( --kendo-line-height-sm, inherit ) !default; +/// Text color of the action sheet subtitle. +/// @group action-sheet +$kendo-actionsheet-subtitle-text: var( --kendo-subtle-text, inherit ) !default; + /// Minimum height of the action sheet item. /// @group action-sheet $kendo-actionsheet-item-min-height: 40px !default; @@ -161,3 +178,33 @@ $kendo-actionsheet-item-disabled-text: var( --kendo-disabled-text, inherit ) !de /// Disabled border color of the action sheet item. /// @group action-sheet $kendo-actionsheet-item-disabled-border: var( --kendo-disabled-border, inherit ) !default; + + +// Adaptive Actionsheet + +/// Border width of the adaptive action sheet titlebar. +/// @group action-sheet +$kendo-adaptive-actionsheet-header-border-width: 1px !default; +/// Vertical padding of the adaptive action sheet titlebar. +/// @group action-sheet +$kendo-adaptive-actionsheet-header-padding-y: map-get( $kendo-spacing, 4 ) !default; +/// Horizontal padding of the adaptive action sheet titlebar. +/// @group action-sheet +$kendo-adaptive-actionsheet-header-padding-x: $kendo-adaptive-actionsheet-header-padding-y !default; +/// Text color of the adaptive action sheet titlebar. +/// @group action-sheet +$kendo-adaptive-actionsheet-header-border: var( --kendo-component-border, initial ) !default; + +/// Vertical padding of the adaptive action sheet content. +/// @group action-sheet +$kendo-adaptive-actionsheet-content-padding-y: map-get( $kendo-spacing, 2 ) !default; +/// Horizontal padding of the adaptive action sheet content. +/// @group action-sheet +$kendo-adaptive-actionsheet-content-padding-x: map-get( $kendo-spacing, 4 ) !default; + +/// Vertical padding of the adaptive action sheet footer. +/// @group action-sheet +$kendo-adaptive-actionsheet-footer-padding-y: map-get( $kendo-spacing, 2 ) !default; +/// Horizontal padding of the adaptive action sheet footer. +/// @group action-sheet +$kendo-adaptive-actionsheet-footer-padding-x: map-get( $kendo-spacing, 4 ) !default; diff --git a/packages/fluent/scss/action-sheet/index.scss b/packages/fluent/scss/action-sheet/index.scss index 779d1af92f7..8c029d3c154 100644 --- a/packages/fluent/scss/action-sheet/index.scss +++ b/packages/fluent/scss/action-sheet/index.scss @@ -22,6 +22,7 @@ $_kendo-module-meta: ( @mixin styles() { @include module.render( "action-sheet" ) { @include kendo-action-sheet--layout(); + @include kendo-action-sheet--layout-jq(); @include kendo-action-sheet--theme(); } } diff --git a/packages/fluent/scss/list/_layout.scss b/packages/fluent/scss/list/_layout.scss index 6d5cab46f86..02e9467645f 100644 --- a/packages/fluent/scss/list/_layout.scss +++ b/packages/fluent/scss/list/_layout.scss @@ -3,6 +3,17 @@ @mixin kendo-list--layout() { + // List container + .k-list-container { + display: flex; + flex-flow: column nowrap; + + > .k-list { + flex: 1; + height: 100%; + } + } + .k-list { margin: 0; padding: 0; diff --git a/packages/fluent/scss/timeselector/_layout.scss b/packages/fluent/scss/timeselector/_layout.scss index e4aa4cefbba..5a27b27da81 100644 --- a/packages/fluent/scss/timeselector/_layout.scss +++ b/packages/fluent/scss/timeselector/_layout.scss @@ -62,6 +62,7 @@ display: flex; position: relative; flex: 1 1 auto; + overflow: hidden; } diff --git a/packages/material/scss/action-sheet/_variables.scss b/packages/material/scss/action-sheet/_variables.scss index c44273b4969..61a1c9266a6 100644 --- a/packages/material/scss/action-sheet/_variables.scss +++ b/packages/material/scss/action-sheet/_variables.scss @@ -3,7 +3,8 @@ $actionsheet-padding-x: null !default; $actionsheet-padding-y: null !default; $actionsheet-width: 360px !default; $actionsheet-max-width: 100% !default; -$actionsheet-max-height: 50vh !default; +$actionsheet-height: 60vh !default; +$actionsheet-max-height: 60vh !default; $actionsheet-border-width: 0px !default; $actionsheet-border-radius: 0px !default; @@ -19,18 +20,23 @@ $actionsheet-shadow: $box-shadow-depth-4 !default; // Actionsheet header -$actionsheet-header-padding-x: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-padding-y: k-map-get( $spacing, 2 ) !default; -$actionsheet-header-border-width: null !default; -$actionsheet-header-font-size: null !default; -$actionsheet-header-font-family: null !default; -$actionsheet-header-line-height: null !default; +$actionsheet-titlebar-padding-x: k-map-get( $spacing, 4 ) !default; +$actionsheet-titlebar-padding-y: k-map-get( $spacing, 2 ) !default; +$actionsheet-titlebar-border-width: null !default; +$actionsheet-titlebar-font-size: null !default; +$actionsheet-titlebar-font-family: null !default; +$actionsheet-titlebar-line-height: null !default; +$actionsheet-titlebar-gap: k-map-get( $spacing, 4 ) !default; -$actionsheet-header-bg: null !default; -$actionsheet-header-text: null !default; -$actionsheet-header-border: null !default; -$actionsheet-header-gradient: null !default; -$actionsheet-header-shadow: null !default; +$actionsheet-titlebar-bg: null !default; +$actionsheet-titlebar-text: null !default; +$actionsheet-titlebar-border: null !default; +$actionsheet-titlebar-gradient: null !default; +$actionsheet-titlebar-shadow: null !default; + +$actionsheet-subtitle-font-size: $font-size-sm !default; +$actionsheet-subtitle-line-height: $line-height-sm !default; +$actionsheet-subtitle-text: $subtle-text !default; // Actionsheet item @@ -70,3 +76,16 @@ $actionsheet-item-hover-background: rgba( black, .04 ) !default; $actionsheet-item-focus-background: rgba( black, .12 ) !default; $actionsheet-item-focus-shadow: null !default; $actionsheet-item-disabled-opacity: .42 !default; + + +// Adaptive Actionsheet +$adaptive-actionsheet-titlebar-border-width: 1px !default; +$adaptive-actionsheet-titlebar-padding-y: k-map-get( $spacing, 4 ) !default; +$adaptive-actionsheet-titlebar-padding-x: $adaptive-actionsheet-titlebar-padding-y !default; +$adaptive-actionsheet-titlebar-border: $component-border !default; + +$adaptive-actionsheet-content-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-content-padding-x: k-map-get( $spacing, 4 ) !default; + +$adaptive-actionsheet-footer-padding-y: k-map-get( $spacing, 2 ) !default; +$adaptive-actionsheet-footer-padding-x: k-map-get( $spacing, 4 ) !default;