diff --git a/libs/core/src/scss/_global-styles.scss b/libs/core/src/scss/_global-styles.scss
index 92d841434a..8b13c3d3e8 100644
--- a/libs/core/src/scss/_global-styles.scss
+++ b/libs/core/src/scss/_global-styles.scss
@@ -234,3 +234,58 @@ ion-loading.kirby-loading-overlay {
// Place icon to the right of text, with icons own width + the actual spacing
padding-right: calc(#{$icon-scaling-factor} + #{utils.size('xxxs')});
}
+
+/*
+ * Experimental modal.
+ */
+$modal-max-height: 928px;
+$modal-max-width: 594px;
+$modal-border-radius: 32px;
+
+html.ios ion-modal.kirby-modal-experimental {
+ --background: var(--kirby-modal-background, #{utils.get-color('background-color')});
+ --max-height: #{$modal-max-height};
+ --min-height: #{$modal-max-width};
+
+ @include utils.media('>=medium') {
+ --border-radius: #{$modal-border-radius};
+
+ &::part(content) {
+ margin: 15px;
+ }
+
+ &.xxs {
+ --width: #{map.get(utils.$experimental-modal-widths, 'xxs')};
+ --height: #{map.get(utils.$experimental-modal-heights, 'xxs')};
+ }
+
+ &.xs {
+ --width: #{map.get(utils.$experimental-modal-widths, 'xs')};
+ --height: #{map.get(utils.$experimental-modal-heights, 'xs')};
+ }
+
+ &.sm {
+ --width: #{map.get(utils.$experimental-modal-widths, 's')};
+ --height: #{map.get(utils.$experimental-modal-heights, 's')};
+ }
+
+ &.md {
+ --width: #{map.get(utils.$experimental-modal-widths, 'm')};
+ --height: #{map.get(utils.$experimental-modal-heights, 'm')};
+ }
+
+ &.lg {
+ --width: #{map.get(utils.$experimental-modal-widths, 'l')};
+ --height: #{map.get(utils.$experimental-modal-heights, 'l')};
+ }
+ }
+
+ ion-toolbar {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ .kirby-grid {
+ display: flex;
+ }
+}
diff --git a/libs/core/src/scss/base/_variables.scss b/libs/core/src/scss/base/_variables.scss
index dcccb2a688..5281d2036d 100644
--- a/libs/core/src/scss/base/_variables.scss
+++ b/libs/core/src/scss/base/_variables.scss
@@ -133,6 +133,23 @@ $modal-heights: (
$modal-default-height: map.get($modal-heights, 'm');
$drawer-default-height: map.get($modal-heights, 's');
+/* Modal Experimental
+****************************************************************************/
+$experimental-modal-widths: (
+ l: 960px,
+ m: 800px,
+ s: 720px,
+ xs: 600px,
+ xxs: 343px,
+) !default;
+$experimental-modal-heights: (
+ l: math.floor(map.get($experimental-modal-widths, 'l') * 0.75),
+ m: math.floor(map.get($experimental-modal-widths, 'm') * 0.75),
+ s: math.floor(map.get($experimental-modal-widths, 's') * 0.75),
+ xs: math.floor(map.get($experimental-modal-widths, 'xs') * 0.75),
+ xxs: math.floor(map.get($experimental-modal-widths, 'xxs') * 0.75),
+) !default;
+
/* Item
****************************************************************************/
$item-heights: (
diff --git a/libs/designsystem/modal/experimental/src/footer/footer.component.html b/libs/designsystem/modal/experimental/src/footer/footer.component.html
index f514c9f971..72cb5517a0 100644
--- a/libs/designsystem/modal/experimental/src/footer/footer.component.html
+++ b/libs/designsystem/modal/experimental/src/footer/footer.component.html
@@ -1,3 +1,13 @@
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libs/designsystem/modal/experimental/src/footer/footer.component.scss b/libs/designsystem/modal/experimental/src/footer/footer.component.scss
index aa9d7a17a9..91b9704d40 100644
--- a/libs/designsystem/modal/experimental/src/footer/footer.component.scss
+++ b/libs/designsystem/modal/experimental/src/footer/footer.component.scss
@@ -1,20 +1,33 @@
@use '@kirbydesign/core/src/scss/utils';
@use '@kirbydesign/core/src/scss/themes';
-$padding-horizontal: utils.size('s');
-$padding-vertical: utils.size('xxs');
+$padding: utils.size('m');
ion-footer {
@include themes.apply-white-theme;
box-shadow: utils.get-elevation(8);
- display: flex;
+ display: grid;
+ grid-template-rows: utils.size('xl');
+ grid-template-columns: utils.size('xl') 1fr utils.size('xl');
justify-content: var(--kirby-modal-footer-justify-content, center);
align-items: center;
background-color: var(--kirby-modal-footer-background, utils.get-color('white'));
color: var(--kirby-modal-footer-color, utils.get-color('white-contrast'));
- padding: $padding-vertical $padding-horizontal;
- padding-bottom: calc(#{$padding-vertical} + var(--kirby-modal-footer-safe-area-bottom, 0px));
+ padding: $padding;
+ padding-bottom: calc(#{$padding} + var(--kirby-modal-footer-safe-area-bottom, 0px));
+
+ .default-content {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .nav-button {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
}
@include utils.media('
-
+