From 88732affaab42dff3db87f98c380f482e6ece9b6 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Tue, 5 Dec 2023 08:44:39 +0100 Subject: [PATCH 01/13] Added: Dashboard view footer and base structure --- web-app/packages/app/src/App.vue | 20 +- .../modules/dashboard/views/DashboardView.vue | 24 ++- .../modules/layout/components/AppHeader.vue | 8 +- web-app/packages/lib/.eslintrc.cjs | 1 + web-app/packages/lib/src/assets/App_Store.svg | 46 ----- web-app/packages/lib/src/assets/appstore.jpg | Bin 0 -> 7515 bytes .../packages/lib/src/assets/footer-mobile.png | Bin 0 -> 12582 bytes .../packages/lib/src/assets/googleplay.jpg | Bin 0 -> 8594 bytes web-app/packages/lib/src/assets/huawei.svg | 28 --- .../src/common/components/AppContainer.vue | 14 ++ .../lib/src/common/components/AppSection.vue | 16 ++ .../common/components/FullStorageWarning.vue | 3 +- .../lib/src/common/components/UsageStatus.vue | 9 +- .../common/components/UsageStatusTemplate.vue | 4 +- .../lib/src/common/components/index.ts | 2 + .../components/DashboardAccessRequestsRow.vue | 19 +- .../components/DashboardProjectsRow.vue | 26 --- .../components/DashboardUsageInfoRow.vue | 11 +- .../src/modules/dashboard/components/index.ts | 1 - .../dashboard/views/DashboardViewTemplate.vue | 188 +++++------------- .../layout/components/SideBarTemplate.vue | 3 +- 21 files changed, 122 insertions(+), 301 deletions(-) delete mode 100644 web-app/packages/lib/src/assets/App_Store.svg create mode 100644 web-app/packages/lib/src/assets/appstore.jpg create mode 100644 web-app/packages/lib/src/assets/footer-mobile.png create mode 100644 web-app/packages/lib/src/assets/googleplay.jpg delete mode 100644 web-app/packages/lib/src/assets/huawei.svg create mode 100644 web-app/packages/lib/src/common/components/AppContainer.vue create mode 100644 web-app/packages/lib/src/common/components/AppSection.vue delete mode 100644 web-app/packages/lib/src/modules/dashboard/components/DashboardProjectsRow.vue diff --git a/web-app/packages/app/src/App.vue b/web-app/packages/app/src/App.vue index 8a225486..c1743bd0 100644 --- a/web-app/packages/app/src/App.vue +++ b/web-app/packages/app/src/App.vue @@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial 'col-12', 'min-h-full', 'overflow-auto', - drawer && !isOverlay && 'xl:col-offset-2 xl:col-10', + drawer && !isOverlay && 'xl:col-offset-2 xl:col-10' ]" > @@ -50,11 +50,9 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial > - + -
- -
+
@@ -75,7 +73,8 @@ import { useInstanceStore, useLayoutStore, useNotificationStore, - useUserStore + useUserStore, + AppContainer } from '@mergin/lib' import { mapActions, mapState } from 'pinia' import { defineComponent } from 'vue' @@ -83,7 +82,13 @@ import { useMeta } from 'vue-meta' export default defineComponent({ name: 'app', - components: { UploadProgress, Notifications, DialogWindows, GlobalWarning }, + components: { + UploadProgress, + Notifications, + DialogWindows, + GlobalWarning, + AppContainer + }, computed: { ...mapState(useInstanceStore, ['pingData']), ...mapState(useAppStore, ['serverError']), @@ -161,7 +166,6 @@ export default defineComponent({ diff --git a/web-app/packages/lib/src/common/components/AppSection.vue b/web-app/packages/lib/src/common/components/AppSection.vue new file mode 100644 index 00000000..26b8888b --- /dev/null +++ b/web-app/packages/lib/src/common/components/AppSection.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/web-app/packages/lib/src/common/components/FullStorageWarning.vue b/web-app/packages/lib/src/common/components/FullStorageWarning.vue index 7e4965f5..42b03948 100644 --- a/web-app/packages/lib/src/common/components/FullStorageWarning.vue +++ b/web-app/packages/lib/src/common/components/FullStorageWarning.vue @@ -17,8 +17,7 @@ export default defineComponent({ name: 'FullStorageWarning', components: { FullStorageWarningTemplate }, props: { - usage: Number, - username: String + usage: Number } }) diff --git a/web-app/packages/lib/src/common/components/UsageStatus.vue b/web-app/packages/lib/src/common/components/UsageStatus.vue index 35ad2121..26c49996 100644 --- a/web-app/packages/lib/src/common/components/UsageStatus.vue +++ b/web-app/packages/lib/src/common/components/UsageStatus.vue @@ -9,15 +9,8 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial - diff --git a/web-app/packages/lib/src/common/components/UsageStatusTemplate.vue b/web-app/packages/lib/src/common/components/UsageStatusTemplate.vue index 7f9a214f..0bed933b 100644 --- a/web-app/packages/lib/src/common/components/UsageStatusTemplate.vue +++ b/web-app/packages/lib/src/common/components/UsageStatusTemplate.vue @@ -6,9 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial diff --git a/web-app/packages/lib/src/modules/dashboard/components/DashboardUsageInfoRow.vue b/web-app/packages/lib/src/modules/dashboard/components/DashboardUsageInfoRow.vue index c3fa8c9b..eb6a8b67 100644 --- a/web-app/packages/lib/src/modules/dashboard/components/DashboardUsageInfoRow.vue +++ b/web-app/packages/lib/src/modules/dashboard/components/DashboardUsageInfoRow.vue @@ -5,26 +5,17 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial --> diff --git a/web-app/packages/lib/src/modules/layout/components/SideBarTemplate.vue b/web-app/packages/lib/src/modules/layout/components/SideBarTemplate.vue index efd8c644..4263b69b 100644 --- a/web-app/packages/lib/src/modules/layout/components/SideBarTemplate.vue +++ b/web-app/packages/lib/src/modules/layout/components/SideBarTemplate.vue @@ -92,7 +92,8 @@ const onCloseClick = () => { + diff --git a/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated b/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated new file mode 100644 index 00000000..1baade02 --- /dev/null +++ b/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated @@ -0,0 +1,416 @@ + + + + + + + diff --git a/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue b/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue index 5d80f203..b312a50e 100644 --- a/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue +++ b/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue @@ -8,14 +8,14 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial - + diff --git a/web-app/packages/lib/src/modules/project/components/ProjectsTable.vue b/web-app/packages/lib/src/modules/project/components/ProjectsTable.vue index 23e83dc7..5d2d0b30 100644 --- a/web-app/packages/lib/src/modules/project/components/ProjectsTable.vue +++ b/web-app/packages/lib/src/modules/project/components/ProjectsTable.vue @@ -17,6 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial :loading="loading" :lazy="true" size="small" + @row-click="rowClick" > @@ -113,7 +115,6 @@ import { DataTableRowClickEvent } from 'primevue/datatable' import { defineComponent, PropType } from 'vue' import { PaginatedGridOptions } from '@/common' -import { formatToTitle } from '@/common/text_utils' import { ProjectListItem, TableDataHeader } from '@/modules/project/types' export default defineComponent({ @@ -167,11 +168,6 @@ export default defineComponent({ ) return columns }, - selectKeys() { - return this.keys.map((i) => { - return { title: formatToTitle(i), value: i } - }) - }, ptColumn() { return { headerCell: { diff --git a/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated b/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated deleted file mode 100644 index 1baade02..00000000 --- a/web-app/packages/lib/src/modules/project/components/ProjectsTable.vuedeprecated +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - diff --git a/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue b/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue index b312a50e..96f34d7d 100644 --- a/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue +++ b/web-app/packages/lib/src/modules/project/components/ProjectsTableDataLoader.vue @@ -5,13 +5,26 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial --> + + diff --git a/web-app/packages/lib/src/modules/dashboard/components/DashboardProjectsRow.vue b/web-app/packages/lib/src/modules/dashboard/components/DashboardProjectsRow.vue index 699c5e54..89f82884 100644 --- a/web-app/packages/lib/src/modules/dashboard/components/DashboardProjectsRow.vue +++ b/web-app/packages/lib/src/modules/dashboard/components/DashboardProjectsRow.vue @@ -1,3 +1,9 @@ + + - + diff --git a/web-app/packages/lib/src/modules/layout/store.ts b/web-app/packages/lib/src/modules/layout/store.ts index c1b6d0c5..1b58f51e 100644 --- a/web-app/packages/lib/src/modules/layout/store.ts +++ b/web-app/packages/lib/src/modules/layout/store.ts @@ -9,19 +9,38 @@ export interface LayoutState { drawer: boolean /** If sidebar is in overlay mode (on mobile is flying over content) */ isOverlay: boolean + /** Parsed closed elements from local storage and pushed back to local storage */ + closedElements: string[] } +const CLOSED_ELEMENTS_KEY = 'mm-closed-elements' + export const useLayoutStore = defineStore('layoutModule', { state: (): LayoutState => ({ sidebarBreakpoint: 992, drawer: false, - isOverlay: false + isOverlay: false, + closedElements: [] }), - + getters: { + /** + * Checks if an element ID is in the list of closed elements. + * + * @param state - The layout store state + * @param elementId - The element ID to check + * @returns True if the element ID is in the closed elements list + */ + isClosedElement(state) { + const { closedElements } = state + return (elementId: string) => closedElements.includes(elementId) + } + }, actions: { init() { this.updateScreenParams() window?.addEventListener('resize', this.updateScreenParams) + + this.getClosedElements() }, updateScreenParams() { const width = window.innerWidth @@ -36,6 +55,20 @@ export const useLayoutStore = defineStore('layoutModule', { }, setDrawer(payload) { this.drawer = payload.drawer + }, + getClosedElements() { + const storageValue = window?.localStorage?.getItem(CLOSED_ELEMENTS_KEY) + const parsed = JSON.parse(storageValue) ?? [] + this.closedElements = parsed + }, + closeElement(elementId: string) { + const storageValue = window?.localStorage?.getItem(CLOSED_ELEMENTS_KEY) + const parsed = JSON.parse(storageValue) ?? [] + if (parsed.includes(elementId)) return + + parsed.push(elementId) + window?.localStorage?.setItem(CLOSED_ELEMENTS_KEY, JSON.stringify(parsed)) + this.closedElements = parsed } } }) From ae1b02ab3aceb6c4f7adcac804ebd1c75a607d48 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 8 Dec 2023 11:01:54 +0100 Subject: [PATCH 06/13] Added new colors for warning message --- .../src/assets/sass/themes/mm-theme-light/_variables.scss | 5 +++-- .../sass/themes/mm-theme-light/variables/_message.scss | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_variables.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_variables.scss index 144bbe40..8f12b4cf 100644 --- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_variables.scss +++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/_variables.scss @@ -22,11 +22,12 @@ $colors: ( "light-green": #EFF5F3, "sun": #F4CB46, "sand": #FFF4E2, - "warning": #E39722, "primary": $primaryColor, "grape": #5A2740, "positive": #C0EBCF, - "negative": #F0C4BC + "negative": #F0C4BC, + "warning": #F7DDAF, + "earth": #4D2A24 ); // Mandatory Designer Variables diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss index a5246df7..57e74047 100644 --- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss +++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss @@ -112,7 +112,7 @@ $successMessageIconColor: #ffffff; /// Background of a warning message /// @group message -$warningMessageBg: #FFB300; +$warningMessageBg: map-get($map: $colors, $key: warning); /// Border of a warning message /// @group message @@ -120,11 +120,11 @@ $warningMessageBorder: 0 none; /// Text color of a warning message /// @group message -$warningMessageTextColor: $textColor; +$warningMessageTextColor: map-get($map: $colors, $key: earth); /// Icon color of a warning message /// @group message -$warningMessageIconColor: $textColor; +$warningMessageIconColor: map-get($map: $colors, $key: earth); /// Background of an error message /// @group message @@ -140,4 +140,4 @@ $errorMessageTextColor: #ffffff; /// Icon color of an error message /// @group message -$errorMessageIconColor: #ffffff; \ No newline at end of file +$errorMessageIconColor: #ffffff; From a0c2f710f5a6e80d28b13fc8f107d679a667e636 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 8 Dec 2023 11:20:02 +0100 Subject: [PATCH 07/13] Upgrade theme from https://github.com/primefaces/primevue-sass-theme --- .../src/assets/sass/theme-base/_common.scss | 8 +- .../assets/sass/theme-base/_components.scss | 177 +++++++++--------- .../src/assets/sass/theme-base/_mixins.scss | 2 +- .../theme-base/components/button/_button.scss | 110 +++++------ .../components/button/_speeddial.scss | 1 + .../components/button/_splitbutton.scss | 9 + .../components/data/_datatable.scss | 14 +- .../theme-base/components/data/_dataview.scss | 13 +- .../theme-base/components/data/_filter.scss | 6 +- .../components/data/_organizationchart.scss | 2 +- .../components/data/_treetable.scss | 4 +- .../components/file/_fileupload.scss | 5 + .../components/input/_autocomplete.scss | 5 +- .../components/input/_calendar.scss | 22 ++- .../theme-base/components/input/_chips.scss | 5 +- .../components/input/_inputtext.scss | 3 +- .../components/menu/_breadcrumb.scss | 2 +- .../components/menu/_contextmenu.scss | 2 +- .../theme-base/components/menu/_dock.scss | 6 +- .../theme-base/components/menu/_megamenu.scss | 85 ++++++++- .../theme-base/components/menu/_menu.scss | 2 +- .../theme-base/components/menu/_menubar.scss | 33 +--- .../components/menu/_panelmenu.scss | 2 +- .../theme-base/components/menu/_steps.scss | 2 +- .../theme-base/components/menu/_tabmenu.scss | 2 +- .../components/menu/_tieredmenu.scss | 2 +- .../components/messages/_message.scss | 5 +- .../components/messages/_toast.scss | 4 +- .../theme-base/components/misc/_chip.scss | 6 +- .../theme-base/components/misc/_terminal.scss | 5 +- .../components/multimedia/_galleria.scss | 2 +- .../components/overlay/_confirmpopup.scss | 4 +- .../components/overlay/_sidebar.scss | 5 + .../components/panel/_accordion.scss | 2 +- .../components/panel/_fieldset.scss | 2 +- .../components/panel/_scrollpanel.scss | 2 +- .../components/panel/_splitter.scss | 2 +- .../theme-base/components/panel/_tabview.scss | 4 +- .../mm-theme-light/variables/_data.scss | 24 --- .../mm-theme-light/variables/_form.scss | 4 + 40 files changed, 326 insertions(+), 269 deletions(-) diff --git a/web-app/packages/lib/src/assets/sass/theme-base/_common.scss b/web-app/packages/lib/src/assets/sass/theme-base/_common.scss index a3a4efdd..7723961d 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/_common.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/_common.scss @@ -3,7 +3,8 @@ } .p-component { - font-family: $fontFamily; + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); font-size: $fontSize; font-weight: $fontWeight; } @@ -35,11 +36,12 @@ } .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); font-size: $fontSize; - font-family: $fontFamily; border-radius: $borderRadius; - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/_components.scss b/web-app/packages/lib/src/assets/sass/theme-base/_components.scss index 8a801d3e..cc76ab94 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/_components.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/_components.scss @@ -1,100 +1,103 @@ @import '_mixins'; -@import '_common'; @import '_colors'; -//Input -@import './components/input/_autocomplete'; -@import './components/input/_calendar'; -@import './components/input/_cascadeselect'; -@import './components/input/_checkbox'; -@import './components/input/_chips'; -@import './components/input/_colorpicker'; -@import './components/input/_dropdown'; @import './components/input/_editor'; -@import './components/input/_inputgroup'; -@import './components/input/_inputnumber'; -@import './components/input/_inputswitch'; -@import './components/input/_inputtext'; -@import './components/input/_listbox'; -@import './components/input/_multiselect'; -@import './components/input/_password'; -@import './components/input/_radiobutton'; -@import './components/input/_rating'; -@import './components/input/_selectbutton'; -@import './components/input/_slider'; -@import './components/input/_treeselect'; -@import './components/input/_togglebutton'; -//Button -@import './components/button/_button'; -@import './components/button/speeddial'; -@import './components/button/_splitbutton'; +@layer primevue { + @import '_common'; -//Data -@import './components/data/_carousel'; -@import './components/data/_datatable'; -@import './components/data/_dataview'; -@import './components/data/_filter'; -@import './components/data/_fullcalendar'; -@import './components/data/_orderlist'; -@import './components/data/_organizationchart'; -@import './components/data/_paginator'; -@import './components/data/_picklist'; -@import './components/data/_timeline'; -@import './components/data/_tree'; -@import './components/data/_treetable'; + //Input + @import './components/input/_autocomplete'; + @import './components/input/_calendar'; + @import './components/input/_cascadeselect'; + @import './components/input/_checkbox'; + @import './components/input/_chips'; + @import './components/input/_colorpicker'; + @import './components/input/_dropdown'; + @import './components/input/_inputgroup'; + @import './components/input/_inputnumber'; + @import './components/input/_inputswitch'; + @import './components/input/_inputtext'; + @import './components/input/_listbox'; + @import './components/input/_multiselect'; + @import './components/input/_password'; + @import './components/input/_radiobutton'; + @import './components/input/_rating'; + @import './components/input/_selectbutton'; + @import './components/input/_slider'; + @import './components/input/_treeselect'; + @import './components/input/_togglebutton'; -//Panel -@import './components/panel/_accordion'; -@import './components/panel/_card'; -@import './components/panel/_fieldset'; -@import './components/panel/_divider'; -@import './components/panel/_panel'; -@import './components/panel/_scrollpanel'; -@import './components/panel/_splitter'; -@import './components/panel/_tabview'; -@import './components/panel/_toolbar'; + //Button + @import './components/button/_button'; + @import './components/button/_speeddial'; + @import './components/button/_splitbutton'; -//Overlay -@import './components/overlay/_confirmpopup'; -@import './components/overlay/_dialog'; -@import './components/overlay/_overlaypanel'; -@import './components/overlay/_sidebar'; -@import './components/overlay/_tooltip'; + //Data + @import './components/data/_carousel'; + @import './components/data/_datatable'; + @import './components/data/_dataview'; + @import './components/data/_filter'; + @import './components/data/_orderlist'; + @import './components/data/_organizationchart'; + @import './components/data/_paginator'; + @import './components/data/_picklist'; + @import './components/data/_timeline'; + @import './components/data/_tree'; + @import './components/data/_treetable'; -//File -@import './components/file/_fileupload'; + //Panel + @import './components/panel/_accordion'; + @import './components/panel/_card'; + @import './components/panel/_fieldset'; + @import './components/panel/_divider'; + @import './components/panel/_panel'; + @import './components/panel/_scrollpanel'; + @import './components/panel/_splitter'; + @import './components/panel/_tabview'; + @import './components/panel/_toolbar'; -//Menu -@import './components/menu/_breadcrumb'; -@import './components/menu/_contextmenu'; -@import './components/menu/_dock'; -@import './components/menu/_megamenu'; -@import './components/menu/_menu'; -@import './components/menu/_menubar'; -@import './components/menu/_panelmenu'; -@import './components/menu/_steps'; -@import './components/menu/_tabmenu'; -@import './components/menu/_tieredmenu'; + //Overlay + @import './components/overlay/_confirmpopup'; + @import './components/overlay/_dialog'; + @import './components/overlay/_overlaypanel'; + @import './components/overlay/_sidebar'; + @import './components/overlay/_tooltip'; -//Messages -@import './components/messages/_inlinemessage'; -@import './components/messages/_message'; -@import 'components/messages/toast'; + //File + @import './components/file/_fileupload'; -//MultiMedia -@import './components/multimedia/_galleria'; -@import './components/multimedia/_image'; + //Menu + @import './components/menu/_breadcrumb'; + @import './components/menu/_contextmenu'; + @import './components/menu/_dock'; + @import './components/menu/_megamenu'; + @import './components/menu/_menu'; + @import './components/menu/_menubar'; + @import './components/menu/_panelmenu'; + @import './components/menu/_steps'; + @import './components/menu/_tabmenu'; + @import './components/menu/_tieredmenu'; -//Misc -@import './components/misc/_avatar'; -@import './components/misc/_badge'; -@import './components/misc/_blockui'; -@import './components/misc/_chip'; -@import './components/misc/_inplace'; -@import './components/misc/_progressbar'; -@import './components/misc/_progressspinner'; -@import './components/misc/_scrolltop'; -@import './components/misc/_skeleton'; -@import './components/misc/_tag'; -@import './components/misc/_terminal'; \ No newline at end of file + //Messages + @import './components/messages/_inlinemessage'; + @import './components/messages/_message'; + @import 'components/messages/toast'; + + //MultiMedia + @import './components/multimedia/_galleria'; + @import './components/multimedia/_image'; + + //Misc + @import './components/misc/_avatar'; + @import './components/misc/_badge'; + @import './components/misc/_blockui'; + @import './components/misc/_chip'; + @import './components/misc/_inplace'; + @import './components/misc/_progressbar'; + @import './components/misc/_progressspinner'; + @import './components/misc/_scrolltop'; + @import './components/misc/_skeleton'; + @import './components/misc/_tag'; + @import './components/misc/_terminal'; +} \ No newline at end of file diff --git a/web-app/packages/lib/src/assets/sass/theme-base/_mixins.scss b/web-app/packages/lib/src/assets/sass/theme-base/_mixins.scss index f5c1274d..d09daa87 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/_mixins.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/_mixins.scss @@ -221,7 +221,7 @@ } } - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_button.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_button.scss index 069c5567..69c1cac6 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_button.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_button.scss @@ -8,13 +8,13 @@ border-radius: 30px; font-weight: 600; - &:enabled:hover { + &:not(:disabled):hover { background: $buttonHoverBg; color: $buttonTextHoverColor; border-color: $buttonHoverBorderColor; } - &:enabled:active { + &:not(:disabled):active { background: $buttonActiveBg; color: $buttonTextActiveColor; border-color: $buttonActiveBorderColor; @@ -25,13 +25,13 @@ color: $buttonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($buttonBg, $textButtonHoverBgOpacity); color: $buttonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($buttonBg, $textButtonActiveBgOpacity); color: $buttonBg; border: $outlinedButtonBorder; @@ -41,12 +41,12 @@ color: $plainButtonTextColor; border-color: $plainButtonTextColor; - &:enabled:hover { + &:not(:disabled):hover { background: $plainButtonHoverBgColor; color: $plainButtonTextColor; } - &:enabled:active { + &:not(:disabled):active { background: $plainButtonActiveBgColor; color: $plainButtonTextColor; } @@ -58,13 +58,13 @@ color: $buttonTextColor; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($buttonBg, $textButtonHoverBgOpacity); color: $buttonBg; border-color: transparent; } - &:enabled:active { + &:not(:disabled):active { background: rgba($buttonBg, $textButtonActiveBgOpacity); color: $buttonBg; border-color: transparent; @@ -73,12 +73,12 @@ &.p-button-plain { color: $plainButtonTextColor; - &:enabled:hover { + &:not(:disabled):hover { background: $plainButtonHoverBgColor; color: $plainButtonTextColor; } - &:enabled:active { + &:not(:disabled):active { background: $plainButtonActiveBgColor; color: $plainButtonTextColor; } @@ -193,17 +193,17 @@ background: $secondaryButtonBg; border: $secondaryButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $secondaryButtonHoverBg; color: $secondaryButtonTextHoverColor; border-color: $secondaryButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $secondaryButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $secondaryButtonActiveBg; color: $secondaryButtonTextActiveColor; border-color: $secondaryButtonActiveBorderColor; @@ -214,13 +214,13 @@ color: $secondaryButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); color: $secondaryButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); color: $secondaryButtonBg; border: $outlinedButtonBorder; @@ -232,13 +232,13 @@ color: $secondaryButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $secondaryButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $secondaryButtonBg; @@ -251,17 +251,17 @@ background: $infoButtonBg; border: $infoButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $infoButtonHoverBg; color: $infoButtonTextHoverColor; border-color: $infoButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $infoButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $infoButtonActiveBg; color: $infoButtonTextActiveColor; border-color: $infoButtonActiveBorderColor; @@ -272,13 +272,13 @@ color: $infoButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($infoButtonBg, $textButtonHoverBgOpacity); color: $infoButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($infoButtonBg, $textButtonActiveBgOpacity); color: $infoButtonBg; border: $outlinedButtonBorder; @@ -290,13 +290,13 @@ color: $infoButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($infoButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $infoButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($infoButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $infoButtonBg; @@ -309,17 +309,17 @@ background: $successButtonBg; border: $successButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $successButtonHoverBg; color: $successButtonTextHoverColor; border-color: $successButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $successButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $successButtonActiveBg; color: $successButtonTextActiveColor; border-color: $successButtonActiveBorderColor; @@ -330,13 +330,13 @@ color: $successButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($successButtonBg, $textButtonHoverBgOpacity); color: $successButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($successButtonBg, $textButtonActiveBgOpacity); color: $successButtonBg; border: $outlinedButtonBorder; @@ -348,13 +348,13 @@ color: $successButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($successButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $successButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($successButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $successButtonBg; @@ -367,17 +367,17 @@ background: $warningButtonBg; border: $warningButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $warningButtonHoverBg; color: $warningButtonTextHoverColor; border-color: $warningButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $warningButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $warningButtonActiveBg; color: $warningButtonTextActiveColor; border-color: $warningButtonActiveBorderColor; @@ -388,13 +388,13 @@ color: $warningButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($warningButtonBg, $textButtonHoverBgOpacity); color: $warningButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($warningButtonBg, $textButtonActiveBgOpacity); color: $warningButtonBg; border: $outlinedButtonBorder; @@ -406,13 +406,13 @@ color: $warningButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($warningButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $warningButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($warningButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $warningButtonBg; @@ -425,17 +425,17 @@ background: $helpButtonBg; border: $helpButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $helpButtonHoverBg; color: $helpButtonTextHoverColor; border-color: $helpButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $helpButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $helpButtonActiveBg; color: $helpButtonTextActiveColor; border-color: $helpButtonActiveBorderColor; @@ -446,13 +446,13 @@ color: $helpButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($helpButtonBg, $textButtonHoverBgOpacity); color: $helpButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($helpButtonBg, $textButtonActiveBgOpacity); color: $helpButtonBg; border: $outlinedButtonBorder; @@ -464,13 +464,13 @@ color: $helpButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($helpButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $helpButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($helpButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $helpButtonBg; @@ -483,17 +483,17 @@ background: $dangerButtonBg; border: $dangerButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: $dangerButtonHoverBg; color: $dangerButtonTextHoverColor; border-color: $dangerButtonHoverBorderColor; } - &:enabled:focus { + &:not(:disabled):focus { box-shadow: $dangerButtonFocusShadow; } - &:enabled:active { + &:not(:disabled):active { background: $dangerButtonActiveBg; color: $dangerButtonTextActiveColor; border-color: $dangerButtonActiveBorderColor; @@ -504,13 +504,13 @@ color: $dangerButtonBg; border: $outlinedButtonBorder; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); color: $dangerButtonBg; border: $outlinedButtonBorder; } - &:enabled:active { + &:not(:disabled):active { background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); color: $dangerButtonBg; border: $outlinedButtonBorder; @@ -522,13 +522,13 @@ color: $dangerButtonBg; border-color: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); border-color: transparent; color: $dangerButtonBg; } - &:enabled:active { + &:not(:disabled):active { background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); border-color: transparent; color: $dangerButtonBg; @@ -541,7 +541,7 @@ background: transparent; border: transparent; - &:enabled:hover { + &:not(:disabled):hover { background: transparent; color: $linkButtonHoverColor; border-color: transparent; @@ -551,13 +551,13 @@ } } - &:enabled:focus { + &:not(:disabled):focus { background: transparent; box-shadow: $linkButtonFocusShadow; border-color: transparent; } - &:enabled:active { + &:not(:disabled):active { background: transparent; color: $linkButtonColor; border-color: transparent; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_speeddial.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_speeddial.scss index c446c7b5..ef2d627b 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_speeddial.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_speeddial.scss @@ -93,4 +93,5 @@ .p-speeddial-mask { background-color: $maskBg; + border-radius: $borderRadius; } \ No newline at end of file diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_splitbutton.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_splitbutton.scss index 4f9ec8d2..a33b0e0e 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/button/_splitbutton.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/button/_splitbutton.scss @@ -109,9 +109,18 @@ @include scaledFontSize($fontSize, $scaleLG); @include scaledPadding($buttonPadding, $scaleLG); + &.p-button-icon-only { + width: auto; + } + .p-button-icon { @include scaledFontSize($primeIconFontSize, $scaleLG); } + + .p-icon { + width: $primeIconFontSize * $scaleLG; + height: $primeIconFontSize * $scaleLG; + } } } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_datatable.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_datatable.scss index e655b9fc..50382a78 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_datatable.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_datatable.scss @@ -91,7 +91,7 @@ } } - &:focus { + &:focus-visible { box-shadow: $inputListItemFocusShadow; outline: 0 none; } @@ -125,7 +125,7 @@ } } - &:focus { + &:focus-visible { outline: 0.15rem solid $focusOutlineColor; outline-offset: -0.15rem; } @@ -135,6 +135,11 @@ color: $highlightTextColor; } + &.p-highlight-contextmenu { + outline: 0.15rem solid $focusOutlineColor; + outline-offset: -0.15rem; + } + &.p-datatable-dragpoint-top > td { box-shadow: inset 0 2px 0 0 $highlightBg; } @@ -156,11 +161,6 @@ background: $tableResizerHelperBg; } - .p-datatable-scrollable-header, - .p-datatable-scrollable-footer { - background: $panelHeaderBg; - } - &.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table, &.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table { > .p-datatable-thead, diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_dataview.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_dataview.scss index 94dbed83..db264949 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_dataview.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_dataview.scss @@ -11,7 +11,7 @@ .p-dataview-header { background: $tableHeaderBg; - color: $textColor; + color: $tableHeaderTextColor; border: $tableHeaderBorder; border-width: $tableHeaderBorderWidth; padding: $tableHeaderPadding; @@ -20,20 +20,11 @@ .p-dataview-content { background: $tableBodyRowBg; - color: $textColor; + color: $tableBodyRowTextColor; border: $dataViewContentBorder; padding: $dataViewContentPadding; } - &.p-dataview-list { - .p-dataview-content { - > .p-grid > div { - border: $dataViewListItemBorder; - border-width: $dataViewListItemBorderWidth; - } - } - } - .p-dataview-footer { background: $tableFooterBg; color: $tableFooterTextColor; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_filter.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_filter.scss index b82ae1b3..8eb91b74 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_filter.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_filter.scss @@ -32,7 +32,7 @@ color: $highlightTextColor; } - &:focus { + &:focus-visible { @include focused(); } @@ -53,7 +53,7 @@ background: $actionIconHoverBg; } - &:focus { + &:focus-visible { @include focused(); } } @@ -88,7 +88,7 @@ background: $inputListItemHoverBg; } - &:focus { + &:focus-visible { @include focused-listitem(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_organizationchart.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_organizationchart.scss index 507e0c9f..776bbea3 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_organizationchart.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_organizationchart.scss @@ -43,7 +43,7 @@ color: inherit; border-radius: 50%; - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_treetable.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_treetable.scss index 5a3b9d98..770bd7c1 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/data/_treetable.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/data/_treetable.scss @@ -9,7 +9,7 @@ border-radius: 0; } - .p-treetable-header { + .p-treetable-header { background: $tableHeaderBg; color: $tableHeaderTextColor; border: $tableHeaderBorder; @@ -113,7 +113,7 @@ } } - &:focus { + &:focus-visible { outline: 0.15rem solid $focusOutlineColor; outline-offset: -0.15rem; } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/file/_fileupload.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/file/_fileupload.scss index fad94d0c..1ac6bac2 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/file/_fileupload.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/file/_fileupload.scss @@ -23,6 +23,11 @@ color: $panelContentTextColor; border-bottom-right-radius: $borderRadius; border-bottom-left-radius: $borderRadius; + + &.p-fileupload-highlight { + border: $fileUploadContentHoverBorder; + background-color: $highlightBg; + } } .p-fileupload-file { diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_autocomplete.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_autocomplete.scss index 768d213c..ec03058d 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_autocomplete.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_autocomplete.scss @@ -31,8 +31,9 @@ padding: math.div(nth($inputPadding, 1), 2) 0; input { - font-family: $fontFamily; - font-size: $fontSize; + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; color: $textColor; padding: 0; margin: 0; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_calendar.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_calendar.scss index 844bb02f..e168582b 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_calendar.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_calendar.scss @@ -2,6 +2,10 @@ &.p-invalid.p-component > .p-inputtext { @include invalid-input(); } + + &:not(.p-calendar-disabled).p-focus > .p-inputtext { + @include focused-input(); + } } .p-datepicker { @@ -190,6 +194,14 @@ } } + &.p-datepicker-mobile { + table { + th, td { + padding: $calendarCellDatePaddingSM; + } + } + } + &:not(.p-disabled) { table { td { @@ -235,13 +247,3 @@ } } - -@media screen and (max-width: $calendarBreakpoint) { - .p-datepicker { - table { - th, td { - padding: $calendarCellDatePaddingSM; - } - } - } -} diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_chips.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_chips.scss index 0bd684d8..4e3f06f5 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_chips.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_chips.scss @@ -37,8 +37,9 @@ padding: math.div(nth($inputPadding, 1), 2) 0; input { - font-family: $fontFamily; - font-size: $fontSize; + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; color: $textColor; padding: 0; margin: 0; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_inputtext.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_inputtext.scss index 6f93f795..c225b1b7 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/input/_inputtext.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/input/_inputtext.scss @@ -1,5 +1,6 @@ .p-inputtext { - font-family: $fontFamily; + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); font-size: $inputTextFontSize; color: $inputTextColor; background: $inputBg; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_breadcrumb.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_breadcrumb.scss index be345674..5dd68b9f 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_breadcrumb.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_breadcrumb.scss @@ -10,7 +10,7 @@ transition: $listItemTransition; border-radius: $borderRadius; - &:focus { + &:focus-visible { @include focused(); } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_contextmenu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_contextmenu.scss index 88964af2..1787f148 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_contextmenu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_contextmenu.scss @@ -5,7 +5,7 @@ border: $overlayMenuBorder; box-shadow: $overlayMenuShadow; border-radius: $borderRadius; - width: $menuWidth; + min-width: $menuWidth; .p-contextmenu-root-list { outline: 0 none; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_dock.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_dock.scss index 0a144618..b8fcb982 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_dock.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_dock.scss @@ -57,10 +57,8 @@ margin: $dockCurrentItemMargin 0; } } -} -@media screen and (max-width: 960px) { - .p-dock { + &.p-dock-mobile { &.p-dock-top, &.p-dock-bottom { .p-dock-list-container { @@ -92,4 +90,4 @@ } } } -} \ No newline at end of file +} diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_megamenu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_megamenu.scss index 9c2fd663..d9dfe241 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_megamenu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_megamenu.scss @@ -32,7 +32,7 @@ .p-submenu-list { padding: $verticalMenuPadding; - width: $menuWidth; + min-width: $menuWidth; .p-menuitem-separator { border-top: $divider; @@ -41,7 +41,7 @@ } &.p-megamenu-vertical { - width: $menuWidth; + min-width: $menuWidth; padding: $verticalMenuPadding; } @@ -52,4 +52,85 @@ } } } + + &.p-megamenu-mobile { + &.p-megamenu-vertical { + width: 100%; + padding: $horizontalMenuPadding; + } + + .p-megamenu-button { + width: $actionIconWidth; + height: $actionIconHeight; + color: $horizontalMenuRootMenuitemIconColor; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + &:hover { + color: $horizontalMenuRootMenuitemIconHoverColor; + background: $horizontalMenuRootMenuitemHoverBg; + } + + &:focus { + @include focused(); + } + } + + .p-megamenu-root-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + + .p-menuitem-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + } + + .p-menuitem { + .p-menuitem-content { + .p-menuitem-link { + .p-submenu-icon { + margin-left: auto; + transition: transform $transitionDuration; + } + } + } + + + &.p-menuitem-active { + > .p-menuitem-content { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-180deg); + } + } + } + } + } + + .p-submenu-list { + .p-submenu-icon { + transition: transform $transitionDuration; + transform: rotate(90deg); + } + + .p-menuitem-active { + > .p-menuitem-content { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-90deg); + } + } + } + } + } + + @include nested-submenu-indents(nth($menuitemPadding, 1), 2, 2); + } + } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menu.scss index f67c8faf..a1f12efa 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menu.scss @@ -4,7 +4,7 @@ color: $menuTextColor; border: $menuBorder; border-radius: $borderRadius; - width: $menuWidth; + min-width: $menuWidth; .p-menuitem { @include menuitem(); diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menubar.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menubar.scss index 1fb2d8ac..3e950f18 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menubar.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_menubar.scss @@ -22,7 +22,7 @@ background: $overlayMenuBg; border: $overlayMenuBorder; box-shadow: $overlayMenuShadow; - width: $menuWidth; + min-width: $menuWidth; .p-menuitem-separator { border-top: $divider; @@ -33,14 +33,9 @@ font-size: $menuitemSubmenuIconFontSize; } } -} - -@media screen and (max-width: 960px) { - .p-menubar { - position: relative; + &.p-menubar-mobile { .p-menubar-button { - display: flex; width: $actionIconWidth; height: $actionIconHeight; color: $horizontalMenuRootMenuitemIconColor; @@ -58,13 +53,10 @@ } .p-menubar-root-list { - position: absolute; - display: none; padding: $verticalMenuPadding; background: $overlayMenuBg; border: $overlayMenuBorder; box-shadow: $overlayMenuShadow; - width: 100%; .p-menuitem-separator { border-top: $divider; @@ -76,9 +68,6 @@ } .p-menuitem { - width: 100%; - position: static; - .p-menuitem-content { .p-menuitem-link { .p-submenu-icon { @@ -101,11 +90,6 @@ } .p-submenu-list { - width: 100%; - position: static; - box-shadow: none; - border: 0 none; - .p-submenu-icon { transition: transform $transitionDuration; transform: rotate(90deg); @@ -122,20 +106,7 @@ } } - .p-menuitem { - width: 100%; - position: static; - } - @include nested-submenu-indents(nth($menuitemPadding, 1), 2, 10); } - - &.p-menubar-mobile-active .p-menubar-root-list { - display: flex; - flex-direction: column; - top: 100%; - left: 0; - z-index: 1; - } } } \ No newline at end of file diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_panelmenu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_panelmenu.scss index f3e6ea42..c5907c5f 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_panelmenu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_panelmenu.scss @@ -25,7 +25,7 @@ } &:not(.p-disabled) { - &:focus { + &:focus-visible { .p-panelmenu-header-content { @include focused-inset(); } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_steps.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_steps.scss index e0b44b79..9ad22970 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_steps.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_steps.scss @@ -25,7 +25,7 @@ color: $stepsItemTextColor; } - &:not(.p-disabled):focus { + &:not(.p-disabled):focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tabmenu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tabmenu.scss index a64faeb3..b52ac203 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tabmenu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tabmenu.scss @@ -24,7 +24,7 @@ margin-right: $inlineSpacing; } - &:not(.p-disabled):focus { + &:not(.p-disabled):focus-visible { @include focused-inset(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tieredmenu.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tieredmenu.scss index 205a241c..655785af 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tieredmenu.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/menu/_tieredmenu.scss @@ -4,7 +4,7 @@ color: $menuTextColor; border: $menuBorder; border-radius: $borderRadius; - width: $menuWidth; + min-width: $menuWidth; &.p-tieredmenu-overlay { background: $overlayMenuBg; diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_message.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_message.scss index a9a722a6..dfc61d7f 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_message.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_message.scss @@ -14,12 +14,13 @@ transition: $actionIconTransition; &:hover { - background: rgba(255,255,255,.3); + background: rgba(255,255,255,.5); } - &:focus { + &:focus-visible { @include focused(); } + } &.p-message-info { diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_toast.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_toast.scss index faa34f08..5deb3b5a 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_toast.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/messages/_toast.scss @@ -40,10 +40,10 @@ transition: $actionIconTransition; &:hover { - background: rgba(255,255,255,.3); + background: rgba(255,255,255,.5); } - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_chip.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_chip.scss index 06162e1a..63f70c03 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_chip.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_chip.scss @@ -28,8 +28,12 @@ border-radius: $borderRadius; transition: $actionIconTransition; - &:focus { + &:focus-visible { @include focused(); } + + &:focus { + outline: 0 none; + } } } \ No newline at end of file diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_terminal.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_terminal.scss index f507df2f..93a531c4 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_terminal.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/misc/_terminal.scss @@ -5,7 +5,8 @@ padding: $panelContentPadding; .p-terminal-input { - font-size: $fontSize; - font-family: $fontFamily; + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/multimedia/_galleria.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/multimedia/_galleria.scss index abedc590..3fc3531e 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/multimedia/_galleria.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/multimedia/_galleria.scss @@ -139,7 +139,7 @@ } .p-galleria-thumbnail-item-content { - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_confirmpopup.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_confirmpopup.scss index 07d43d46..dbb136e2 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_confirmpopup.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_confirmpopup.scss @@ -34,11 +34,11 @@ @if (nth($overlayContentBorder, 2) == 'none') { border-color: rgba($overlayContentBg, 0); - border-bottom-color: $overlayContentBg; + border-bottom-color: scale-color($overlayContentBg, $lightness: -5%); } @else { border-color: rgba(nth($overlayContentBorder, 3), 0); - border-bottom-color: nth($overlayContentBorder, 3); + border-bottom-color: scale-color(nth($overlayContentBorder, 3), $lightness: -5%); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_sidebar.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_sidebar.scss index c40a0bbb..020c1ad6 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_sidebar.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/overlay/_sidebar.scss @@ -7,6 +7,11 @@ .p-sidebar-header { padding: $panelHeaderPadding; + .p-sidebar-header-content { + font-weight: $dialogHeaderFontWeight; + font-size: $dialogHeaderFontSize; + } + .p-sidebar-close, .p-sidebar-icon { @include action-icon(); diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_accordion.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_accordion.scss index 8aa967e6..9d922aec 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_accordion.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_accordion.scss @@ -16,7 +16,7 @@ &:not(.p-disabled) { .p-accordion-header-link { - &:focus { + &:focus-visible { @include focused-inset(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_fieldset.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_fieldset.scss index 548e58cd..2c59df68 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_fieldset.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_fieldset.scss @@ -28,7 +28,7 @@ margin-right: $inlineSpacing; } - &:focus { + &:focus-visible { @include focused(); } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_scrollpanel.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_scrollpanel.scss index 23cd915d..192a3a20 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_scrollpanel.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_scrollpanel.scss @@ -4,7 +4,7 @@ border: $scrollPanelTrackBorder; transition: $formElementTransition; - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_splitter.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_splitter.scss index ec3b3d26..ec5041f7 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_splitter.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_splitter.scss @@ -12,7 +12,7 @@ background: $splitterGutterHandleBg; transition: $formElementTransition; - &:focus { + &:focus-visible { @include focused(); } } diff --git a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_tabview.scss b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_tabview.scss index b5b48c08..b8a4b59d 100644 --- a/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_tabview.scss +++ b/web-app/packages/lib/src/assets/sass/theme-base/components/panel/_tabview.scss @@ -20,7 +20,7 @@ transition: $listItemTransition; margin: $tabviewHeaderMargin; - &:not(.p-disabled):focus { + &:not(.p-disabled):focus-visible { @include focused-inset(); } } @@ -50,7 +50,7 @@ box-shadow: $raisedButtonShadow; border-radius: 0; - &:focus { + &:focus-visible { @include focused-inset(); } } diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_data.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_data.scss index 49b5708e..a8eb265a 100644 --- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_data.scss +++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_data.scss @@ -261,30 +261,6 @@ $dataViewContentPadding: 0; /// @group data $dataViewContentBorder: 0 none; -/// Border for an item of a dataview in list orientation -/// @group data -$dataViewListItemBorder: solid #e9ecef; - -/// Border width for an item of a dataview in list orientation -/// @group data -$dataViewListItemBorderWidth: 0 0 1px 0; - -/// Background of a full calendar event -/// @group data -$fullCalendarEventBg: $primaryDarkColor; - -/// Border color of a full calendar event -/// @group data -$fullCalendarEventBorderColor: $primaryDarkColor; - -/// Border of a full calendar event -/// @group data -$fullCalendarEventBorder: 1px solid $primaryDarkColor; - -/// Text color of a full calendar event -/// @group data -$fullCalendarEventTextColor: $primaryTextColor; - /// Padding of a tree /// @group data $treeContainerPadding: 0.286rem; diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss index b108ebc2..8f424c67 100644 --- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss +++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_form.scss @@ -511,6 +511,10 @@ $fileUploadProgressBarHeight: .25rem; /// @group form $fileUploadContentPadding: 2rem 1rem; +/// +/// @group form +$fileUploadContentHoverBorder: 1px dashed #e9ecef !default; + /// Border of the fileupload content item section /// @group form $fileUploadFileBorder: 1px solid #c3cad2;; From f1da30e7fcc87be14ab7e8918868aecc190287a8 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 8 Dec 2023 12:15:01 +0100 Subject: [PATCH 08/13] Added: - ground parameter to app-section wich disables default styles and set only background on
--- .../lib/src/common/components/AppSection.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/web-app/packages/lib/src/common/components/AppSection.vue b/web-app/packages/lib/src/common/components/AppSection.vue index 9f43118a..451f58dc 100644 --- a/web-app/packages/lib/src/common/components/AppSection.vue +++ b/web-app/packages/lib/src/common/components/AppSection.vue @@ -1,5 +1,11 @@ - + From 84a50c3d180df2a43478b75999e96fc6b4b61893 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 8 Dec 2023 12:18:35 +0100 Subject: [PATCH 09/13] Added: - fullstorage warning message mapped to workspace not profile (fix) - implemented warning message with severity warning Upgrade: - primevue 3.43.0 Vuetify clenup: - removed vuetify.min.csswith unnecessary css resets --- web-app/packages/app/package.json | 2 +- web-app/packages/app/src/app.ts | 1 - .../modules/dashboard/views/DashboardView.vue | 2 +- web-app/packages/lib/components.d.ts | 1 + web-app/packages/lib/package.json | 2 +- .../mm-theme-light/variables/_message.scss | 4 +- .../components/FullStorageWarningTemplate.vue | 38 +++++++++++++------ .../lib/src/common/components/index.ts | 4 +- .../DashboardFullStorageWarningRow.vue | 12 +++--- .../dashboard/views/DashboardViewTemplate.vue | 4 +- .../ProjectAccessRequestTableTemplate.vue | 2 +- .../project/components/ProjectsTable.vue | 4 +- .../components/ProjectsTableDataLoader.vue | 6 ++- .../packages/lib/src/modules/user/types.ts | 2 - web-app/yarn.lock | 8 ++-- 15 files changed, 51 insertions(+), 41 deletions(-) diff --git a/web-app/packages/app/package.json b/web-app/packages/app/package.json index f9b98c99..873251cf 100644 --- a/web-app/packages/app/package.json +++ b/web-app/packages/app/package.json @@ -34,7 +34,7 @@ "pinia": "^2.1.7", "portal-vue": "^3.0.0", "primeflex": "^3.3.1", - "primevue": "^3.42.0", + "primevue": "^3.43.0", "vue": "^3.3.8", "vue-i18n": "^9.7.1", "vue-meta": "^3.0.0-alpha.10", diff --git a/web-app/packages/app/src/app.ts b/web-app/packages/app/src/app.ts index 2ab1b474..56e2114b 100644 --- a/web-app/packages/app/src/app.ts +++ b/web-app/packages/app/src/app.ts @@ -3,7 +3,6 @@ // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial // styles must be imported first (at least before imports of our libs) -import 'vuetify/dist/vuetify.min.css' import 'material-icons/iconfont/material-icons.scss' import '@fortawesome/fontawesome-free/css/all.css' import '@mdi/font/css/materialdesignicons.css' diff --git a/web-app/packages/app/src/modules/dashboard/views/DashboardView.vue b/web-app/packages/app/src/modules/dashboard/views/DashboardView.vue index bb656f1e..d7e5bc84 100644 --- a/web-app/packages/app/src/modules/dashboard/views/DashboardView.vue +++ b/web-app/packages/app/src/modules/dashboard/views/DashboardView.vue @@ -34,7 +34,7 @@ import { useUserStore, DashboardProjectsRow } from '@mergin/lib' -import { defineComponent, computed, ref } from 'vue' +import { defineComponent, computed } from 'vue' export default defineComponent({ name: 'DashboardView', diff --git a/web-app/packages/lib/components.d.ts b/web-app/packages/lib/components.d.ts index 2bb5d5b9..f6e9b208 100644 --- a/web-app/packages/lib/components.d.ts +++ b/web-app/packages/lib/components.d.ts @@ -15,6 +15,7 @@ declare module 'vue' { PDropdown: typeof import('primevue/dropdown')['default'] PMenu: typeof import('primevue/menu')['default'] PMenubar: typeof import('primevue/menubar')['default'] + PMessage: typeof import('primevue/message')['default'] POverlayPanel: typeof import('primevue/overlaypanel')['default'] PTag: typeof import('primevue/tag')['default'] RouterLink: typeof import('vue-router')['RouterLink'] diff --git a/web-app/packages/lib/package.json b/web-app/packages/lib/package.json index 18a82c4f..b71cb5b4 100644 --- a/web-app/packages/lib/package.json +++ b/web-app/packages/lib/package.json @@ -45,7 +45,7 @@ "date-fns": "^2.28.0", "lodash": "^4.17.21", "primeflex": "^3.3.1", - "primevue": "^3.42.0", + "primevue": "^3.43.0", "universal-cookie": "^4.0.4", "vue": "^3.3.8", "vue-router": "^4.1.6", diff --git a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss index 57e74047..4406b9ae 100644 --- a/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss +++ b/web-app/packages/lib/src/assets/sass/themes/mm-theme-light/variables/_message.scss @@ -8,7 +8,7 @@ $messagePadding: 1rem 1.5rem; /// Border width of a message /// @group message -$messageBorderWidth: 0 0 0 4px; +$messageBorderWidth: 0 0 0 6px; /// Font size of a message icon /// @group message @@ -116,7 +116,7 @@ $warningMessageBg: map-get($map: $colors, $key: warning); /// Border of a warning message /// @group message -$warningMessageBorder: 0 none; +$warningMessageBorder: 0 solid map-get($map: $colors, $key: earth); /// Text color of a warning message /// @group message diff --git a/web-app/packages/lib/src/common/components/FullStorageWarningTemplate.vue b/web-app/packages/lib/src/common/components/FullStorageWarningTemplate.vue index 257084a2..1f315b09 100644 --- a/web-app/packages/lib/src/common/components/FullStorageWarningTemplate.vue +++ b/web-app/packages/lib/src/common/components/FullStorageWarningTemplate.vue @@ -5,26 +5,40 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial --> diff --git a/web-app/packages/lib/src/common/components/index.ts b/web-app/packages/lib/src/common/components/index.ts index 3d9e14dd..4613af66 100644 --- a/web-app/packages/lib/src/common/components/index.ts +++ b/web-app/packages/lib/src/common/components/index.ts @@ -4,6 +4,8 @@ export * from './base' +export { default as AppSection } from './AppSection.vue' +export { default as AppContainer } from './AppContainer.vue' export { default as ActionButton } from './ActionButton.vue' export { default as CustomPage } from './CustomPage.vue' export { default as FullStorageWarning } from './FullStorageWarning.vue' @@ -17,5 +19,3 @@ export { default as UsageStatus } from './UsageStatus.vue' export { default as UsageStatusTemplate } from './UsageStatusTemplate.vue' export { default as WarningMessage } from './WarningMessage.vue' export { default as WarningMessageTemplate } from './WarningMessageTemplate.vue' -export { default as AppSection } from './AppSection.vue' -export { default as AppContainer } from './AppContainer.vue' diff --git a/web-app/packages/lib/src/modules/dashboard/components/DashboardFullStorageWarningRow.vue b/web-app/packages/lib/src/modules/dashboard/components/DashboardFullStorageWarningRow.vue index 2146dcb2..70c88f54 100644 --- a/web-app/packages/lib/src/modules/dashboard/components/DashboardFullStorageWarningRow.vue +++ b/web-app/packages/lib/src/modules/dashboard/components/DashboardFullStorageWarningRow.vue @@ -5,9 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial --> diff --git a/web-app/packages/lib/src/modules/dashboard/views/DashboardViewTemplate.vue b/web-app/packages/lib/src/modules/dashboard/views/DashboardViewTemplate.vue index d3dffd75..2d918bc9 100644 --- a/web-app/packages/lib/src/modules/dashboard/views/DashboardViewTemplate.vue +++ b/web-app/packages/lib/src/modules/dashboard/views/DashboardViewTemplate.vue @@ -6,9 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial