{"version":3,"file":"stylesheets/1782.css?h=db1993a9c823f0a8f1a1","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,mBClBR,uCACI,0CACA,oBACA,gBACA,mBAGJ,uCACI,0CACA,UACA,gBAEA,kEACI,gBAEA,mFACI,iDAGJ,oEACI,cAGJ,wEACI,sCAIR,sECwCA,wDAMI,oBAFW,CD1CX,4BACA,YACA,YACA,WACA,WAIR,yCACI,0CACA,iBACA,gBAEA,wDACI,yBACA,sBAKR,qCCkBI,oDAMI,oBAFW,CDpBf,4BACA,cACA,4BACA,8BACA,wBACA,gBACA,gBACA,uBAEA,8DACI,mBCMJ,6DAMI,oBAFW,CDNf,6DACI,mBCCJ,qDAMI,oBAFW,CDDf,8DCHA,0DAMI,oBAFW,CDEX,gFCNJ,2DAMI,oBAFW,CDOf,4DCXA,wDAMI,oBAFW,CDUX,8ECdJ,yDAMI,oBAFW,CDef,8DCnBA,0DAMI,oBAFW,CDkBX,gFCtBJ,2DAMI,oBAFW,CDuBf,4DC3BA,wDAMI,oBAFW,CD0BX,8EC9BJ,yDAMI,oBAFW,CD+Bf,6DCnCA,yDAMI,oBAFW,CDkCX,+ECtCJ,0DAMI,oBAFW,CDuCf,oEC3CA,0DAMI,oBAFW,CD0CX,sFC9CJ,2DAMI,oBAFW,CD+Cf,6DCnDA,yDAMI,oBAFW,CDkDX,+ECtDJ,0DAMI,oBAFW,CDuDf,4DC3DA,wDAMI,oBAFW,CD0DX,8EC9DJ,yDAMI,oBAFW,CD+Df,gECnEA,4DAMI,oBAFW,CDkEX,kFCtEJ,6DAMI,oBAFW,CDuEf,6DC3EA,oDAMI,oBAFW,CD0EX,+EC9EJ,qDAMI,oBAFW,CD+EnB,wCACI,iBACA,kBACA,oBACA,6BAEJ,6EAEI,cACA,wBACA,gBACA,uBAKA,+DACI,0CAGI,8FACI,cAGJ,kGACI,sCAGJ,6HC/GR,wDAMI,oBAFW,CD6GH,4BACA,YACA,YACA,WACA","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/files.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// folder block\n.cw-block-folder-info {\n    border: solid thin var(--content-color-40);\n    padding: 10px 10px 0 10px;\n    overflow: hidden;\n    border-bottom: none;\n}\n\n.cw-block-folder-list {\n    border: solid thin var(--content-color-40);\n    padding: 0;\n    list-style: none;\n\n    .cw-block-folder-file-item {\n        list-style: none;\n\n        &:not(:last-child) {\n            border-bottom: solid thin var(--content-color-40);\n        }\n\n        a {\n            display: block;\n        }\n\n        &:hover {\n            background-color: hsla(217, 6%, 45%, 0.2);\n        }\n    }\n\n    .cw-block-folder-download-icon {\n        @include background-icon(download, clickable, 24);\n        background-repeat: no-repeat;\n        float: right;\n        height: 24px;\n        width: 24px;\n        margin: 1em;\n    }\n}\n\n.cw-block-folder-upload {\n    border: solid thin var(--content-color-40);\n    padding: 1em 10px;\n    border-top: none;\n\n    .cw-file-input {\n        width: calc(100% - 148px);\n        vertical-align: middle;\n    }\n}\n\n// for folder and download block\n.cw-block-file-info {\n    @include background-icon(file, clickable, 24);\n    background-repeat: no-repeat;\n    display: block;\n    padding: 16px 16px 16px 40px;\n    background-position: 10px 16px;\n    width: calc(100% - 56px);\n    min-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n\n    &.cw-block-file-icon-empty {\n        color: var(--black);\n        @include background-icon(folder-empty, info, 24);\n    }\n\n    &.cw-block-file-icon-none {\n        color: var(--black);\n        @include background-icon(file, info, 24);\n    }\n\n    &.cw-block-file-icon-audio {\n        @include background-icon(file-audio, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-audio, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-pic {\n        @include background-icon(file-pic, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-pic, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-video {\n        @include background-icon(file-video, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-video, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-pdf {\n        @include background-icon(file-pdf, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-pdf, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-word {\n        @include background-icon(file-word, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-word, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-spreadsheet {\n        @include background-icon(file-excel, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-excel, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-text {\n        @include background-icon(file-text, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-text, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-ppt {\n        @include background-icon(file-ppt, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-ppt, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-archive {\n        @include background-icon(file-archive, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file-archive, info, 24);\n        }\n    }\n\n    &.cw-block-file-icon-file {\n        @include background-icon(file, clickable, 24);\n\n        &.download-disabled {\n            @include background-icon(file, info, 24);\n        }\n    }\n}\n.cw-block-file-details {\n    margin-top: -16px;\n    padding-left: 40px;\n    padding-bottom: 16px;\n    color: var(--dark-gray-color);\n}\n.cw-block-file-owner,\n.cw-block-file-mkdate {\n    display: block;\n    width: calc(100% - 56px);\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n// download block\n.cw-block-download {\n    .cw-block-download-content {\n        border: solid thin var(--content-color-40);\n\n        .cw-block-download-file-item {\n            a {\n                display: block;\n            }\n\n            &:hover {\n                background-color: fade-out($dark-gray-color-75, 0.8);\n            }\n\n            .cw-block-download-download-icon {\n                @include background-icon(download, clickable, 24);\n                background-repeat: no-repeat;\n                float: right;\n                height: 24px;\n                width: 24px;\n                margin: 1em;\n            }\n        }\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":""}