{"version":3,"file":"stylesheets/2983.css?h=4ffaf4e31c160222ae59","mappings":"AACA,yBACI,qDACA,qGACA,UACA,SACA,4BACI,gBACA,kCACI,2BAEJ,iCACI,kBCXZ,oBAEI,4EACA,gBCHJ,0CDCI,qDACA,4BCEA,CAJJ,sBAEI,wEACA,kCACA,8CAEA,iCACI,YACA,iBAGJ,mCACI,qDACA,qGACA,kCACA,iEACA,QACA,WACA,wBAEA,yCACI,iBAGJ,yCACI,mDACA,YACA,0CACA,gBAEJ,0CACI,oCACA,6BACA,YACA,WACA,eAEA,8CACI,sBCtChB,kBACI,mDAEA,yBACI,qDACA,qGACA,gBACA,MACA,yCACA,iBACA,0CACA,kBAEA,kDACI,mDAEJ,sCACI,WACA,YACA,YACA,6BACA,eAGR,4CAEI,4EACA,6EACA,kBACA,yBAGR,gEAPQ,qDACA,4BAUJ,CAJJ,oBAEI,wEACA,kCACA,gBAEA,uCACI,qDACA,yGACA,YACA,iBACA,8BACA,6BACA,sBACA,iBACA,YACA,eAEA,gDACI,0CACA,oCACA,gBAEJ,gDACI,eAEJ,2CACI,cAEJ,4CACI,WACA,gBACA,oBACA,qBACA,4BClEZ,mBACI,kBACA,iDACI,eAGR,wBACI,gBACA,gBACA,uCACI,WAEJ,mCACI,gBAEJ,4BACI,sBAEJ,6BACI,wBACA,qBACA,gBACA,uBACA,YACA,mBACA,mBCzBR,uCACI,qDACA,qGACA,YACA,qEACI,gBACA,gBACA,gBACA,iBACA,kBACA,gDACA,gBAKR,wBACI,qEACI,cAGR,wBACI,qEACI,gBACA,iBCxBR,+BACI,cACA,eACA,sCACI,cACA,YAEJ,oCACI,oDACA,0CACA,iBACA,qBACA,eACA,iBACA,gBACA,yBACA,gBACA,uBACA,iBACA,sBACA,mBClBJ,yDACI,eACA,0CAOJ,gIACI,aAOJ,gEACI,mBAGJ,0DACI,0CACA,mBAEA,oFACI,qBACA,YACA,kBAEA,2FACI,eACA,qFACA,0CACA,YACA,WACA,8BACA,wBACA,4BACA,0BAiBQ,sHACI,6BAfC,CAcL,qHACI,wBAfC,CAcL,sHACI,wBAfC,CAcL,uHACI,wBAfC,CAcL,oHACI,wBAfC,CAcL,uHACI,wBAfC,CAcL,uHACI,wBAfC,CAcL,qHACI,wBAfC,CAcL,yHACI,wBAfC,CAcL,sHACI,6BAfC,CAmBT,+HACI,8BAIR,gHCEZ,uDAMI,oBAFW,CDFH,+GCFZ,oDAMI,oBAFW,CDCC,yIACI,wBAEJ,0IACI,0BAEJ,yIACI,0BAEJ,wIACI,0BAEJ,6HACI,8BAKJ,uICvBhB,uDAMI,oBAFW,CDuBC,wIACI,mBACA,eACA,wBACA,gBAGJ,6HACI,8BAIR,+GCvCZ,yDAMI,oBAFW,CDuCH,mHC3CZ,wDAMI,oBAFW,CD2CH,gHC/CZ,sDAMI,oBAFW,CD+CH,mHCnDZ,sDAMI,oBAFW,CDkDC,iIACI,8BAIR,mHC3DZ,sDAMI,oBAFW,CD0DC,iIACI,8BAOpB,qEACI","sources":["webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserBreadcrumb.vue","webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserEmpty.vue","webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserToolbar.vue","webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserBox.vue","webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserTree.vue","webpack://@studip/core/./resources/vue/components/file-chooser/FileChooserDialog.vue","webpack://@studip/core/./resources/vue/components/StudipFileChooser.vue","webpack://@studip/core/./resources/assets/stylesheets/scss/courseware/blocks/canvas.scss","webpack://@studip/core/./resources/assets/stylesheets/mixins/studip.scss"],"sourcesContent":["\n.file-chooser-breadcrumb {\n    display: flex;\n    flex-direction: row;\n    padding: 0;\n    margin: 0;\n    li {\n        list-style: none;\n        a img {\n            vertical-align: text-bottom;\n        }\n        span {\n            padding: 0 4px 0 0;\n        }\n    }\n}\n","\n.file-chooser-empty {\n    display: flex;\n    flex-direction: column;\n    margin: 1em auto;\n}\n","\n.file-chooser-toolbar {\n    display: flex;\n    flex-direction: row;\n    flex-wrap: wrap;\n    border-top: solid thin var(--content-color-40);\n\n    &.with-table {\n        border: none;\n        margin-top: -16px;\n    }\n\n    .inline-form {\n        display: flex;\n        flex-direction: row;\n        flex-wrap: wrap;\n        justify-content: start;\n        gap: 4px;\n        width: 100%;\n        margin: 0.8em 0.6em 0.8em 0;\n\n        label {\n            line-height: 30px;\n        }\n\n        input {\n            flex-grow: 1;\n            padding: 4px;\n            border: solid thin var(--content-color-40);\n            border-radius: 0;\n        }\n        button {\n            border: solid thin var(--base-color);\n            background-color: transparent;\n            height: 30px;\n            width: 30px;\n            cursor: pointer;\n\n            img {\n                vertical-align: middle;\n            }\n        }\n    }\n}\n","\n.file-chooser-box {\n    flex-grow: 1;\n\n    header {\n        display: flex;\n        flex-direction: row;\n        position: sticky;\n        top: 0;\n        background-color: var(--content-color-20);\n        padding: 0.5em 1em;\n        border: solid thin var(--content-color-40);\n        margin-bottom: 1em;\n\n        .file-chooser-breadcrumb {\n            flex-grow: 1;\n        }\n        .toggle-view {\n            width: 20px;\n            height: 20px;\n            border: none;\n            background-color: transparent;\n            cursor: pointer;\n        }\n    }\n    .file-chooser-box-content {\n        display: flex;\n        flex-direction: column;\n        justify-content: space-between;\n        overflow-y: scroll;\n        height: calc(100% - 36px);\n    }\n}\n.file-chooser-items {\n    display: flex;\n    flex-direction: row;\n    flex-wrap: wrap;\n    overflow-y: auto;\n\n    .file-chooser-item {\n        display: flex;\n        flex-direction: column;\n        width: 104px;\n        min-height: 104px;\n        border: solid thin transparent;\n        background-color: transparent;\n        word-break: break-word;\n        margin: 0 4px 4px 4px;\n        padding: 4px;\n        cursor: pointer;\n\n        &.selected {\n            background-color: var(--activity-color-20);\n            border: solid thin var(--base-color);\n            font-weight: 700;\n        }\n        &.disabled {\n            cursor: default;\n        }\n        img {\n            margin: 0 auto;\n        }\n        span {\n            width: 100%;\n            overflow: hidden;\n            display: -webkit-box;\n            -webkit-line-clamp: 2;\n            -webkit-box-orient: vertical;\n        }\n    }\n}\n","\n.file-chooser-tree {\n    padding-left: 18px;\n    &.file-chooser-tree-first-level {\n        padding-left: 0;\n    }\n}\n.file-chooser-tree-item {\n    list-style: none;\n    padding: 2px 0 0 0;\n    .folder-toggle {\n        width: 16px;\n    }\n    a.selected {\n        font-weight: 700;\n    }\n    img {\n        vertical-align: middle;\n    }\n    span {\n        width: calc(100% - 46px);\n        display: inline-block;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        height: 16px;\n        white-space: nowrap;\n        vertical-align: sub;\n    }\n}\n","\n.file-chooser-content {\n    display: flex;\n    flex-direction: row;\n    height: 100%;\n    .file-chooser-folder-selector {\n        min-width: 270px;\n        max-width: 270px;\n        list-style: none;\n        margin: 0 1em 0 0;\n        padding: 0 1em 0 0;\n        border-right: solid thin var(--content-color-40);\n        overflow-y: auto;\n    }\n}\n\n\n@media (max-width: 580px) {\n    .file-chooser-content .file-chooser-folder-selector {\n        display: none;\n    }\n}\n@media (max-width: 768px) {\n    .file-chooser-content .file-chooser-folder-selector {\n        min-width: 130px;\n        max-width: 130px;\n    }\n}\n\n","\n.file-chooser {\n    text-indent: 0;\n    max-width: 48em;\n    button {\n        margin: 0.5ex 0 0.5ex 0;\n        width: 150px;\n    }\n    span {\n        box-sizing: border-box;\n        border: solid thin var(--content-color-40);\n        border-left: none;\n        display: inline-block;\n        font-size: 14px;\n        line-height: 130%;\n        min-width: 100px;\n        width: calc(100% - 150px);\n        overflow: hidden;\n        text-overflow: ellipsis;\n        padding: 5px 15px;\n        vertical-align: middle;\n        white-space: nowrap;\n    }\n}\n","@use '../../../mixins.scss' as *;\n\n.cw-block-canvas {\n    .cw-canvasblock-canvas {\n        max-width: 100%;\n        border: solid thin var(--content-color-40);\n    }\n\n    .cw-canvasblock-upload-message {\n        display: none;\n    }\n\n    .cw-canvasblock-original-img {\n        display: none;\n    }\n\n    .cw-canvasblock-tool-selected-text {\n        cursor: text;\n    }\n\n    h1.cw-canvasblock-description {\n        border-bottom: none;\n    }\n\n    .cw-canvasblock-toolbar {\n        border: solid thin var(--content-color-40);\n        border-bottom: none;\n\n        .cw-canvasblock-buttonset {\n            display: inline-block;\n            padding: 5px;\n            margin-right: 0.5em;\n\n            button {\n                cursor: pointer;\n                user-select: none;\n                border: solid thin var(--content-color-40);\n                height: 32px;\n                width: 32px;\n                background-color: var(--white);\n                background-position: center;\n                background-repeat: no-repeat;\n                background-size: 24px 24px;\n\n                &.cw-canvasblock-color {\n                    $colors: (\n                        white: var(--white),\n                        blue: #3498db,\n                        green: #2ecc71,\n                        purple: #9b59b6,\n                        red: #e74c3c,\n                        yellow: #fed330,\n                        orange: #f39c12,\n                        grey: #95a5a6,\n                        darkgrey: #34495e,\n                        black: var(--black),\n                    );\n\n                    @each $name, $color in $colors {\n                        &.#{'' + $name} {\n                            background-color: $color;\n                        }\n                    }\n\n                    &.selected-color {\n                        border: solid 2px var(--black);\n                    }\n                }\n\n                &.cw-canvasblock-reset {\n                    @include background-icon(refresh, clickable, 24);\n                }\n\n                &.cw-canvasblock-size {\n                    @include background-icon(stop, clickable);\n\n                    &.cw-canvasblock-size-small {\n                        background-size: 8px 7px;\n                    }\n                    &.cw-canvasblock-size-normal {\n                        background-size: 16px 14px;\n                    }\n                    &.cw-canvasblock-size-large {\n                        background-size: 22px 20px;\n                    }\n                    &.cw-canvasblock-size-huge {\n                        background-size: 26px 24px;\n                    }\n                    &.selected-size {\n                        border: solid 2px var(--black);\n                    }\n                }\n\n                &.cw-canvasblock-tool {\n                    &.cw-canvasblock-tool-pen {\n                        @include background-icon(comment, clickable);\n                    }\n\n                    &.cw-canvasblock-tool-text {\n                        vertical-align: top;\n                        font-size: 22px;\n                        color: var(--base-color);\n                        font-weight: 600;\n                    }\n\n                    &.selected-tool {\n                        border: solid 2px var(--black);\n                    }\n                }\n\n                &.cw-canvasblock-undo {\n                    @include background-icon(arr_2left, clickable, 24);\n                }\n\n                &.cw-canvasblock-download {\n                    @include background-icon(download, clickable, 24);\n                }\n\n                &.cw-canvasblock-store {\n                    @include background-icon(upload, clickable, 24);\n                }\n\n                &.cw-canvasblock-show-all {\n                    @include background-icon(group2, clickable, 24);\n\n                    &.selected-view {\n                        border: solid 2px var(--black);\n                    }\n                }\n\n                &.cw-canvasblock-show-own {\n                    @include background-icon(person, clickable, 24);\n\n                    &.selected-view {\n                        border: solid 2px var(--black);\n                    }\n                }\n            }\n        }\n    }\n\n    .cw-canvasblock-tool-selected-text {\n        cursor: text;\n    }\n}\n","/**\n * studip-mixins.less\n *\n * This file contains all mixins created specifically for Stud.IP\n * while mixins.less should contain a copy of the mixins from\n * twitter's bootstrap.\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; either version 2 of\n * the License, or (at your option) any later version.\n *\n * @author      Jan-Hendrik Willms <tleilax+studip@gmail.com>\n * @license     http://www.gnu.org/licenses/gpl-2.0.html GPL version 2\n * @category    Stud.IP\n * @since       4.4\n */\n\n// Clearfix\n// --------\n// For clearing floats like a boss h5bp.com/q\n@mixin clearfix {\n    &::before,\n    &::after {\n        display: table;\n        content: '';\n        // Fixes Opera/contenteditable bug:\n        // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952\n        line-height: 0;\n    }\n    &::after {\n        clear: both;\n    }\n}\n\n// CSS image replacement\n// -------------------------\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n@mixin hide-text {\n    font: 0/0 a;\n    color: transparent;\n    text-shadow: none;\n    background-color: transparent;\n    border: 0;\n}\n\n@function icon-path($icon, $role: clickable) {\n    $icon: unquote($icon);\n    $role: unquote($role);\n\n    $color: 'blue';\n    @if $role == info {\n        $color: 'black';\n    } @else if $role == accept or $role == status-green {\n        $color: 'green';\n    } @else if $role == inactive {\n        $color: 'grey';\n    } @else if $role == new or $role == attention or $role == status-red {\n        $color: 'red';\n    } @else if $role == info_alt or $role == info-alt {\n        $color: 'white';\n    } @else if $role == status-yellow {\n        $color: 'yellow';\n    }\n\n    @return \"#{$icon-path}/#{$color}/#{$icon}.svg\";\n}\n\n@mixin background-icon($icon, $role: clickable, $size: 16) {\n    $svg: icon-path($icon, $role);\n\n    background-image: url(\"#{$svg}\");\n\n    @if $size {\n        @if unitless($size) {\n            $size: $size * 1px;\n        }\n        background-size: $size;\n    }\n}\n\n@mixin retina-background-image($image0, $image1, $width: 100%, $height: $width) {\n    background-image: url(\"#{$image-path}/#{$image0}\");\n    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)\n    {\n        background-image: url(\"#{$image-path}/#{$image1}\");\n        background-size: $width;\n    }\n}\n\n@mixin icon($position, $icon, $role, $size: 16px, $padding: 0) {\n    $position: unquote($position);\n\n    @if unitless($size) {\n        @warn \"Assuming icon size to be in pixels\";\n        $size: $size * 1px;\n    }\n\n    @if $position == before or $position == after {\n        &::#{$position} {\n            @include background-icon($icon, $role, $size);\n            background-repeat: no-repeat;\n            content: ' ';\n            display: inline-block;\n            height: $size;\n            vertical-align: text-top;\n            width: $size;\n\n            @if position == before {\n                margin-right: $padding;\n            } @else {\n                margin-left: $padding;\n            }\n        }\n    }\n}\n\n// Mixin that replaces the navigation icon tags with css images\n@mixin navigation-icon($default-icon-name, $toggled-icon-name) {\n    img { display: none; }\n\n    display: inline-block;\n\n    @include background-icon($default-icon-name, clickable);\n    @include hide-text();\n    @include square(16px);\n\n    &.toggled {\n        @include background-icon($toggled-icon-name, clickable);\n    }\n}\n\n@mixin empty-placeholder-image($icon, $background-color: $dark-gray-color-5) {\n    &::before,\n    &::after {\n        position: absolute;\n        top: 50%;\n        left: 50%;\n\n        content: '';\n        display: block;\n        background-image: url(icon-path($icon));\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: contain;\n    }\n    &::before {\n        height: 280px;\n        width: 280px;\n        opacity: 0.3;\n        transform: translate(-50%, -50%);\n    }\n    &::after {\n        height: 180px;\n        width: 180px;\n        opacity: 0.6;\n        transform: translate(20px, -50px);\n\n    }\n\n    padding-top: 100px;\n    background-image: url(icon-path($icon));\n    background-repeat: no-repeat;\n    background-size: 140px;\n    background-position: calc(50% - 100px) calc(50% + 40px);\n\n    @if ($background-color) {\n        background-color: mix($background-color, rgba(255, 255, 255, 0), 70%);\n    }\n\n    text-align: center;\n    height: 40vh;\n    color: $content-color;\n    font-size: 1.6em;\n    position: relative;\n\n}\n\n// Scrollboxes\n// From http://lea.verou.me/2012/04/background-attachment-local/\n//  and http://dabblet.com/gist/6134408\n%scrollbox-vertical {\n    overflow: auto;\n\n    background:\n        /* Shadow covers */\n        linear-gradient(white 30%, rgba(255,255,255,0)),\n        linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,\n\n        /* Shadows */\n        radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)),\n        radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;\n    background-repeat: no-repeat;\n    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n\n    /* Opera doesn't support this in the shorthand */\n    background-attachment: local, local, scroll, scroll;\n}\n\n@mixin scrollbox-horizontal {\n    overflow: auto;\n\n    background:\n        /* Shadow covers */\n        linear-gradient(90deg, white 30%, rgba(255,255,255,0)),\n        linear-gradient(90deg, rgba(255,255,255,0), white 70%) 100% 0,\n\n        /* Shadows */\n        radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),\n        radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 100% 0;\n    background-repeat: no-repeat;\n    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;\n\n    /* Opera doesn't support this in the shorthand */\n    background-attachment: local, local, scroll, scroll;\n}\n\n// Define action icons for widgets\n@mixin widget-action($action, $icon: $action, $role: clickable) {\n    .widget-action[data-action=\"#{$action}\"] {\n        @include hide-text();\n\n        width: 16px;\n        height: 16px;\n\n        @include background-icon($icon, $role, 16px);\n\n        background-repeat: no-repeat;\n        cursor: pointer;\n        display: block;\n        // vertical-align: middle;\n\n        @content;\n    }\n}\n\n@mixin scrollbox-horizontal() {\n    overflow: auto;\n\n    background:\n        /* Shadow covers */\n        linear-gradient(90deg, white 30%, rgba(255,255,255,0)),\n        linear-gradient(90deg, rgba(255,255,255,0), white 70%) 100% 0,\n\n            /* Shadows */\n        radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),\n        radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 100% 0;\n    background:\n        /* Shadow covers */\n        linear-gradient(90deg, white 30%, rgba(255,255,255,0)),\n        linear-gradient(90deg, rgba(255,255,255,0), white 70%) 100% 0,\n\n            /* Shadows */\n        radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),\n        radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 100% 0;\n    background-repeat: no-repeat;\n    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;\n\n    /* Opera doesn't support this in the shorthand */\n    background-attachment: local, local, scroll, scroll;\n}\n"],"names":[],"sourceRoot":""}