diff --git a/frontend/src/app/spot/components/drop-modal/drop-modal.component.html b/frontend/src/app/spot/components/drop-modal/drop-modal.component.html index e57f31e9de..1f94b1850f 100644 --- a/frontend/src/app/spot/components/drop-modal/drop-modal.component.html +++ b/frontend/src/app/spot/components/drop-modal/drop-modal.component.html @@ -5,3 +5,11 @@ > + diff --git a/frontend/src/app/spot/styles/sass/components/drop-modal.sass b/frontend/src/app/spot/styles/sass/components/drop-modal.sass index cf80673157..f16d6b0988 100644 --- a/frontend/src/app/spot/styles/sass/components/drop-modal.sass +++ b/frontend/src/app/spot/styles/sass/components/drop-modal.sass @@ -3,40 +3,86 @@ display: inline-flex &--body - @include spot-z-index("drop-modal") + @include spot-z-index("drop-modal", 1) + pointer-events: none + opacity: 0 + + position: fixed + top: auto + height: auto + bottom: $spot-spacing-3_5 + left: $spot-spacing-1 + right: $spot-spacing-1 + width: calc(100vw - (2 * #{$spot-spacing-1})) + max-height: calc(100vh - (#{$spot-spacing-3_5} - #{$spot-spacing-1})) box-shadow: $spot-shadow-light-mid - position: absolute background: $spot-color-basic-white border-radius: 5px - pointer-events: none - opacity: 0 - &_bottom-center - top: calc(100% + #{$spot-spacing-0_25}) - left: 50% - transform: translateX(-50%) + @media #{$spot-mq-drop-modal-in-context} + position: absolute + top: unset + bottom: unset + left: unset + right: unset + + &_bottom-center + top: calc(100% + #{$spot-spacing-0_25}) + left: 50% + transform: translateX(-50%) + + &_bottom-left + top: calc(100% + #{$spot-spacing-0_25}) + left: 0% + + &_bottom-right + top: calc(100% + #{$spot-spacing-0_25}) + right: 0% + + &_top-center + bottom: calc(100% + #{$spot-spacing-0_25}) + left: 50% + transform: translateX(-50%) + + &_top-left + bottom: calc(100% + #{$spot-spacing-0_25}) + left: 0% - &_bottom-left - top: calc(100% + #{$spot-spacing-0_25}) - left: 0% + &_top-right + bottom: calc(100% + #{$spot-spacing-0_25}) + right: 0% + + &_opened::before + @include spot-z-index("drop-modal", 0) + display: block + content: '' + position: fixed + top: 0 + bottom: 0 + left: 0 + right: 0 + background: rgba($spot-color-basic-black, 0.5) - &_bottom-right - top: calc(100% + #{$spot-spacing-0_25}) - right: 0% + @media #{$spot-mq-drop-modal-in-context} + display: none - &_top-center - bottom: calc(100% + #{$spot-spacing-0_25}) - left: 50% - transform: translateX(-50%) + &--close-button + @include spot-z-index("drop-modal", 1) + display: none + position: fixed + top: auto + height: auto + bottom: $spot-spacing-0_75 + width: calc(100% - 2 * $spot-spacing-1) + left: 50% + transform: translateX(-50%) - &_top-left - bottom: calc(100% + #{$spot-spacing-0_25}) - left: 0% + &_opened &--close-button + display: block - &_top-right - bottom: calc(100% + #{$spot-spacing-0_25}) - right: 0% + @media #{$spot-mq-drop-modal-in-context} + display: none &_opened &--body pointer-events: all diff --git a/frontend/src/app/spot/styles/tokens/dist/tokens.json b/frontend/src/app/spot/styles/tokens/dist/tokens.json index f912852989..d86471efef 100644 --- a/frontend/src/app/spot/styles/tokens/dist/tokens.json +++ b/frontend/src/app/spot/styles/tokens/dist/tokens.json @@ -53,5 +53,8 @@ "spot-shadow-light-high": "6px 6px 20px rgba(0, 0, 0, 0.15)", "spot-shadow-hard-low": "2px 2px 5px rgba(0, 0, 0, 0.25)", "spot-shadow-hard-mid": "4px 4px 10px rgba(0, 0, 0, 0.25)", - "spot-shadow-hard-high": "6px 6px 20px rgba(0, 0, 0, 0.25)" -} + "spot-shadow-hard-high": "6px 6px 20px rgba(0, 0, 0, 0.25)", + "spot-mq-drop-modal-in-context": "'screen and (min-width: 768px)'", + "spot-mq-portrait": "'screen and (orientation: portrait)'", + "spot-mq-landscape": "'screen and (orientation: landscape)'" +} \ No newline at end of file diff --git a/frontend/src/app/spot/styles/tokens/dist/tokens.sass b/frontend/src/app/spot/styles/tokens/dist/tokens.sass index 0f2e06bc84..8becbeb354 100644 --- a/frontend/src/app/spot/styles/tokens/dist/tokens.sass +++ b/frontend/src/app/spot/styles/tokens/dist/tokens.sass @@ -54,3 +54,6 @@ $spot-shadow-light-high: 6px 6px 20px rgba(0, 0, 0, 0.15) $spot-shadow-hard-low: 2px 2px 5px rgba(0, 0, 0, 0.25) $spot-shadow-hard-mid: 4px 4px 10px rgba(0, 0, 0, 0.25) $spot-shadow-hard-high: 6px 6px 20px rgba(0, 0, 0, 0.25) +$spot-mq-drop-modal-in-context: 'screen and (min-width: 768px)' +$spot-mq-portrait: 'screen and (orientation: portrait)' +$spot-mq-landscape: 'screen and (orientation: landscape)' diff --git a/frontend/src/app/spot/styles/tokens/media-queries.yml b/frontend/src/app/spot/styles/tokens/media-queries.yml new file mode 100644 index 0000000000..c8598b3a3e --- /dev/null +++ b/frontend/src/app/spot/styles/tokens/media-queries.yml @@ -0,0 +1,11 @@ +props: + spot-mq-drop-modal-in-context: + value: "'screen and (min-width: 768px)'" + spot-mq-portrait: + value: "'screen and (orientation: portrait)'" + spot-mq-landscape: + value: "'screen and (orientation: landscape)'" + +global: + type: media-query + category: media-query diff --git a/frontend/src/app/spot/styles/tokens/tokens.yml b/frontend/src/app/spot/styles/tokens/tokens.yml index 1812f8a13f..588003217d 100644 --- a/frontend/src/app/spot/styles/tokens/tokens.yml +++ b/frontend/src/app/spot/styles/tokens/tokens.yml @@ -2,3 +2,4 @@ imports: - ./colors.yml - ./spacings.yml - ./shadows.yml + - ./media-queries.yml