From cac4f06c03a062fe6945dffe44865823c2a09e41 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Wed, 24 Dec 2025 18:13:08 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=90=86=E6=9C=AA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除以下未使用的 npm 依赖: - fullcalendar(仅 CSS 引用,已删除相关 SCSS) - @splidejs/react-splide - @tanstack/react-virtual - @tippyjs/react - react-custom-scrollbars-2 - react-force-graph-3d - react-just-parallax - react-responsive - react-scroll-into-view - recharts - styled-components 同时清理: - craco.config.js 中的 @fullcalendar 分包配置 - SCSS 中的 fullcalendar 样式文件和 import --- craco.config.js | 4 +- package.json | 11 - .../plugins/pro/_fullcalendar-extend.scss | 94 -- .../plugins/pro/_fullcalendar.scss | 1436 ----------------- .../plugins/pro/plugins-extend.scss | 2 - 5 files changed, 2 insertions(+), 1545 deletions(-) delete mode 100755 src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar-extend.scss delete mode 100755 src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar.scss diff --git a/craco.config.js b/craco.config.js index e5edcef6..64a5afb8 100644 --- a/craco.config.js +++ b/craco.config.js @@ -74,9 +74,9 @@ module.exports = { priority: 20, reuseExistingChunk: true, }, - // 日期/日历库 + // 日期库 calendar: { - test: /[\\/]node_modules[\\/](dayjs|date-fns|@fullcalendar)[\\/]/, + test: /[\\/]node_modules[\\/](dayjs|date-fns)[\\/]/, name: 'calendar-lib', priority: 18, reuseExistingChunk: true, diff --git a/package.json b/package.json index a372be84..91627049 100755 --- a/package.json +++ b/package.json @@ -15,9 +15,6 @@ "@fontsource/raleway": "^4.5.0", "@fontsource/roboto": "^4.5.0", "@reduxjs/toolkit": "^2.9.2", - "@splidejs/react-splide": "^0.7.12", - "@tanstack/react-virtual": "^3.13.12", - "@tippyjs/react": "^4.2.6", "antd": "^5.27.4", "axios": "^1.10.0", "classnames": "^2.5.1", @@ -27,34 +24,26 @@ "echarts-for-react": "^3.0.2", "echarts-wordcloud": "^2.1.0", "framer-motion": "^12.23.24", - "fullcalendar": "^5.9.0", "history": "^5.3.0", "klinecharts": "^10.0.0-beta1", "lucide-react": "^0.540.0", "posthog-js": "^1.295.0", "react": "^19.0.0", - "react-custom-scrollbars-2": "^4.4.0", "react-dom": "^19.0.0", - "react-force-graph-3d": "^1.29.0", "react-github-btn": "^1.2.1", "react-icons": "^4.12.0", "react-input-pin-code": "^1.1.5", "react-is": "^19.0.0", - "react-just-parallax": "^3.1.16", "react-markdown": "^10.1.0", "react-redux": "^9.2.0", - "react-responsive": "^10.0.1", "react-router-dom": "^6.30.1", "react-scripts": "^5.0.1", "react-scroll": "^1.8.4", - "react-scroll-into-view": "^2.1.3", "react-table": "^7.7.0", "react-to-print": "^3.0.3", - "recharts": "^3.1.2", "remark-gfm": "^4.0.1", "sass": "^1.49.9", "socket.io-client": "^4.7.4", - "styled-components": "^5.3.11", "stylis": "^4.0.10", "stylis-plugin-rtl": "^2.1.1", "typescript": "^5.9.3" diff --git a/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar-extend.scss b/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar-extend.scss deleted file mode 100755 index 89014b74..00000000 --- a/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar-extend.scss +++ /dev/null @@ -1,94 +0,0 @@ -/*! -FullCalendar v5.6.0 -Docs & License: https://fullcalendar.io/ -(c) 2020 Adam Shaw -*/ - -// Creative Tim Changes - -.fc-theme-standard .fc-scrollgrid, -.fc-scrollgrid { - border: none; -} - -.fc-theme-standard td, -.fc-theme-standard th { - border-color: $gray-200; -} - -.fc-theme-standard thead tr th{ - border-right: none; - border-left: none; -} - -.fc-theme-standard td{ - &:last-child{ - border-right: none; - } -} - -.fc-theme-standard tr{ - &:last-child td{ - border-bottom: none; - } -} - -.fc-h-event{ - border: none; -} - -.fc-daygrid-block-event .fc-event-time, -.fc-daygrid-block-event .fc-event-title{ - font-weight: $font-weight-bold; - padding: $fc-event-title-padding-y $fc-event-title-padding-x; -} - -.fc .fc-daygrid-body-natural .fc-daygrid-day-events{ - margin-bottom: 0; -} - -.fc .fc-col-header-cell-cushion{ - font-size: $font-size-sm; - font-weight: $font-weight-bold; - color: $gray-500; -} - -.fc .fc-daygrid-day-number{ - color: $gray-700; - font-size: $font-size-sm; - font-weight: $font-weight-bold; - width: 100%; - text-align: center; -} - -.fc .fc-toolbar-title{ - font-size: $font-size-lg; -} - -.fc .fc-button{ - font-size: $font-size-sm; - padding-top: $spacer*0.25; - box-shadow: $btn-box-shadow; - transition: $btn-transition; - .fc-icon{ - font-size: $font-size-sm; - } -} - -.fc .fc-button-primary{ - background-color: $secondary; - border-color: $secondary; - &:hover, - &:focus, - &:not(:disabled):active, - &:not(:disabled):active:focus{ - transform: $btn-hover-transform; - box-shadow: $btn-hover-box-shadow; - background-color: $secondary; - border-color: $secondary; - } -} - -.fc-event.fc-daygrid-event{ - border-radius: $fc-daygrid-event-border-radius; -} diff --git a/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar.scss b/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar.scss deleted file mode 100755 index 2976902f..00000000 --- a/src/assets/scss/soft-design-system-pro/plugins/pro/_fullcalendar.scss +++ /dev/null @@ -1,1436 +0,0 @@ -/*! -FullCalendar v5.6.0 -Docs & License: https://fullcalendar.io/ -(c) 2020 Adam Shaw -*/ -/* classes attached to */ - -/* classes attached to */ - -.fc-not-allowed, -.fc-not-allowed .fc-event { /* override events' custom cursors */ - cursor: not-allowed; -} - -.fc-unselectable { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.fc { - /* layout of immediate children */ - display: flex; - flex-direction: column; - - font-size: 1em -} -.fc, - .fc *, - .fc *:before, - .fc *:after { - box-sizing: border-box; - } -.fc table { - border-collapse: collapse; - border-spacing: 0; - font-size: 1em; /* normalize cross-browser */ - } -.fc th { - text-align: center; - } -.fc th, - .fc td { - vertical-align: top; - padding: 0; - } -.fc a[data-navlink] { - cursor: pointer; - } -.fc a[data-navlink]:hover { - text-decoration: underline; - } -.fc-direction-ltr { - direction: ltr; - text-align: left; -} -.fc-direction-rtl { - direction: rtl; - text-align: right; -} -.fc-theme-standard td, - .fc-theme-standard th { - border: 1px solid #ddd; - border: 1px solid var(--fc-border-color, #ddd); - } -/* for FF, which doesn't expand a 100% div within a table cell. use absolute positioning */ -/* inner-wrappers are responsible for being absolute */ -/* TODO: best place for this? */ -.fc-liquid-hack td, - .fc-liquid-hack th { - position: relative; - } - -@font-face { - font-family: 'fcicons'; - src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format('truetype'); - font-weight: normal; - font-style: normal; -} - -.fc-icon { - /* added for fc */ - display: inline-block; - width: 1em; - height: 1em; - text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'fcicons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fc-icon-chevron-left:before { - content: "\e900"; -} - -.fc-icon-chevron-right:before { - content: "\e901"; -} - -.fc-icon-chevrons-left:before { - content: "\e902"; -} - -.fc-icon-chevrons-right:before { - content: "\e903"; -} - -.fc-icon-minus-square:before { - content: "\e904"; -} - -.fc-icon-plus-square:before { - content: "\e905"; -} - -.fc-icon-x:before { - content: "\e906"; -} -/* -Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css - -These styles only apply when the standard-theme is activated. -When it's NOT activated, the fc-button classes won't even be in the DOM. -*/ -.fc { - - /* reset */ - -} -.fc .fc-button { - border-radius: 0; - overflow: visible; - text-transform: none; - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; - } -.fc .fc-button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; - } -.fc .fc-button { - -webkit-appearance: button; - } -.fc .fc-button:not(:disabled) { - cursor: pointer; - } -.fc .fc-button::-moz-focus-inner { - padding: 0; - border-style: none; - } -.fc { - - /* theme */ - -} -.fc .fc-button { - display: inline-block; - font-weight: 400; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.4em 0.65em; - font-size: 1em; - line-height: 1.5; - border-radius: 0.25em; - } -.fc .fc-button:hover { - text-decoration: none; - } -.fc .fc-button:focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25); - } -.fc .fc-button:disabled { - opacity: 0.65; - } -.fc { - - /* "primary" coloring */ - -} -.fc .fc-button-primary { - color: #0A0A14; - color: var(--fc-button-text-color, #0A0A14); - background-color: #D4AF37; - background-color: var(--fc-button-bg-color, #D4AF37); - border-color: #D4AF37; - border-color: var(--fc-button-border-color, #D4AF37); - font-weight: 600; - } -.fc .fc-button-primary:hover { - color: #0A0A14; - color: var(--fc-button-text-color, #0A0A14); - background-color: #B8960C; - background-color: var(--fc-button-hover-bg-color, #B8960C); - border-color: #B8960C; - border-color: var(--fc-button-hover-border-color, #B8960C); - } -.fc .fc-button-primary:disabled { /* not DRY */ - color: #0A0A14; - color: var(--fc-button-text-color, #0A0A14); - background-color: #B8960C; - background-color: var(--fc-button-bg-color, #B8960C); - border-color: #B8960C; - border-color: var(--fc-button-border-color, #B8960C); /* overrides :hover */ - opacity: 1; - } -.fc .fc-button-primary:focus { - box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.5); - } -.fc .fc-button-primary:not(:disabled):active, - .fc .fc-button-primary:not(:disabled).fc-button-active { - color: #0A0A14; - color: var(--fc-button-text-color, #0A0A14); - background-color: #B8960C; - background-color: var(--fc-button-active-bg-color, #B8960C); - border-color: #B8960C; - border-color: var(--fc-button-active-border-color, #B8960C); - } -.fc .fc-button-primary:not(:disabled):active:focus, - .fc .fc-button-primary:not(:disabled).fc-button-active:focus { - box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.5); - } -.fc { - - /* icons within buttons */ - -} -.fc .fc-button .fc-icon { - vertical-align: middle; - font-size: 1.5em; /* bump up the size (but don't make it bigger than line-height of button, which is 1.5em also) */ - } -.fc .fc-button-group { - position: relative; - display: inline-flex; - vertical-align: middle; - } -.fc .fc-button-group > .fc-button { - position: relative; - flex: 1 1 auto; - } -.fc .fc-button-group > .fc-button:hover { - z-index: 1; - } -.fc .fc-button-group > .fc-button:focus, - .fc .fc-button-group > .fc-button:active, - .fc .fc-button-group > .fc-button.fc-button-active { - z-index: 1; - } -.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) { - margin-left: -1px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } -.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } -.fc-direction-rtl .fc-button-group > .fc-button:not(:first-child) { - margin-right: -1px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } -.fc-direction-rtl .fc-button-group > .fc-button:not(:last-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } -.fc .fc-toolbar { - display: flex; - justify-content: space-between; - align-items: center; - } -.fc .fc-toolbar.fc-header-toolbar { - margin-bottom: 1.5em; - } -.fc .fc-toolbar.fc-footer-toolbar { - margin-top: 1.5em; - } -.fc .fc-toolbar-title { - font-size: 1.75em; - margin: 0; - } -.fc-direction-ltr .fc-toolbar > * > :not(:first-child) { - margin-left: .75em; /* space between */ - } -.fc-direction-rtl .fc-toolbar > * > :not(:first-child) { - margin-right: .75em; /* space between */ - } -.fc-direction-rtl .fc-toolbar-ltr { /* when the toolbar-chunk positioning system is explicitly left-to-right */ - flex-direction: row-reverse; - } -.fc .fc-scroller { - -webkit-overflow-scrolling: touch; - position: relative; /* for abs-positioned elements within */ - } -.fc .fc-scroller-liquid { - height: 100%; - } -.fc .fc-scroller-liquid-absolute { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - } -.fc .fc-scroller-harness { - position: relative; - overflow: hidden; - direction: ltr; - /* hack for chrome computing the scroller's right/left wrong for rtl. undone below... */ - /* TODO: demonstrate in codepen */ - } -.fc .fc-scroller-harness-liquid { - height: 100%; - } -.fc-direction-rtl .fc-scroller-harness > .fc-scroller { /* undo above hack */ - direction: rtl; - } -.fc-theme-standard .fc-scrollgrid { - border: 1px solid #ddd; - border: 1px solid var(--fc-border-color, #ddd); /* bootstrap does this. match */ - } -.fc .fc-scrollgrid, - .fc .fc-scrollgrid table { /* all tables (self included) */ - width: 100%; /* because tables don't normally do this */ - table-layout: fixed; - } -.fc .fc-scrollgrid table { /* inner tables */ - border-top-style: hidden; - border-left-style: hidden; - border-right-style: hidden; - } -.fc .fc-scrollgrid { - - border-collapse: separate; - border-right-width: 0; - border-bottom-width: 0; - - } -.fc .fc-scrollgrid-liquid { - height: 100%; - } -.fc .fc-scrollgrid-section { /* a */ - height: 1px /* better than 0, for firefox */ - - } -.fc .fc-scrollgrid-section > td { - height: 1px; /* needs a height so inner div within grow. better than 0, for firefox */ - } -.fc .fc-scrollgrid-section table { - height: 1px; - /* for most browsers, if a height isn't set on the table, can't do liquid-height within cells */ - /* serves as a min-height. harmless */ - } -.fc .fc-scrollgrid-section-liquid { - height: auto - - } -.fc .fc-scrollgrid-section-liquid > td { - height: 100%; /* better than `auto`, for firefox */ - } -.fc .fc-scrollgrid-section > * { - border-top-width: 0; - border-left-width: 0; - } -.fc .fc-scrollgrid-section-header > *, - .fc .fc-scrollgrid-section-footer > * { - border-bottom-width: 0; - } -.fc .fc-scrollgrid-section-body table, - .fc .fc-scrollgrid-section-footer table { - border-bottom-style: hidden; /* head keeps its bottom border tho */ - } -.fc { - - /* stickiness */ - -} -.fc .fc-scrollgrid-section-sticky > * { - background: #fff; - background: var(--fc-page-bg-color, #fff); - position: -webkit-sticky; - position: sticky; - z-index: 2; /* TODO: var */ - /* TODO: box-shadow when sticking */ - } -.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky > * { - top: 0; /* because border-sharing causes a gap at the top */ - /* TODO: give safari -1. has bug */ - } -.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky > * { - bottom: 0; /* known bug: bottom-stickiness doesn't work in safari */ - } -.fc .fc-scrollgrid-sticky-shim { /* for horizontal scrollbar */ - height: 1px; /* needs height to create scrollbars */ - margin-bottom: -1px; - } -.fc-sticky { /* no .fc wrap because used as child of body */ - position: -webkit-sticky; - position: sticky; -} -.fc .fc-view-harness { - flex-grow: 1; /* because this harness is WITHIN the .fc's flexbox */ - position: relative; - } -.fc { - - /* when the harness controls the height, make the view liquid */ - -} -.fc .fc-view-harness-active > .fc-view { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - } -.fc .fc-col-header-cell-cushion { - display: inline-block; /* x-browser for when sticky (when multi-tier header) */ - padding: 2px 4px; - } -.fc .fc-bg-event, - .fc .fc-non-business, - .fc .fc-highlight { - /* will always have a harness with position:relative/absolute, so absolutely expand */ - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - } -.fc .fc-non-business { - background: rgba(215, 215, 215, 0.3); - background: var(--fc-non-business-color, rgba(215, 215, 215, 0.3)); - } -.fc .fc-bg-event { - background: rgb(143, 223, 130); - background: var(--fc-bg-event-color, rgb(143, 223, 130)); - opacity: 0.3; - opacity: var(--fc-bg-event-opacity, 0.3) - } -.fc .fc-bg-event .fc-event-title { - margin: .5em; - font-size: .85em; - font-size: var(--fc-small-font-size, .85em); - font-style: italic; - } -.fc .fc-highlight { - background: rgba(188, 232, 241, 0.3); - background: var(--fc-highlight-color, rgba(188, 232, 241, 0.3)); - } -.fc .fc-cell-shaded, - .fc .fc-day-disabled { - background: rgba(208, 208, 208, 0.3); - background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); - } -/* link resets */ -/* ---------------------------------------------------------------------------------------------------- */ -a.fc-event, -a.fc-event:hover { - text-decoration: none; -} -/* cursor */ -.fc-event[href], -.fc-event.fc-event-draggable { - cursor: pointer; -} -/* event text content */ -/* ---------------------------------------------------------------------------------------------------- */ -.fc-event .fc-event-main { - position: relative; - z-index: 2; - } -/* dragging */ -/* ---------------------------------------------------------------------------------------------------- */ -.fc-event-dragging:not(.fc-event-selected) { /* MOUSE */ - opacity: 0.75; - } -.fc-event-dragging.fc-event-selected { /* TOUCH */ - box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); - } -/* resizing */ -/* ---------------------------------------------------------------------------------------------------- */ -/* (subclasses should hone positioning for touch and non-touch) */ -.fc-event .fc-event-resizer { - display: none; - position: absolute; - z-index: 4; - } -.fc-event:hover, /* MOUSE */ -.fc-event-selected { /* TOUCH */ - -} -.fc-event:hover .fc-event-resizer, .fc-event-selected .fc-event-resizer { - display: block; - } -.fc-event-selected .fc-event-resizer { - border-radius: 4px; - border-radius: calc(var(--fc-event-resizer-dot-total-width, 8px) / 2); - border-width: 1px; - border-width: var(--fc-event-resizer-dot-border-width, 1px); - width: 8px; - width: var(--fc-event-resizer-dot-total-width, 8px); - height: 8px; - height: var(--fc-event-resizer-dot-total-width, 8px); - border-style: solid; - border-color: inherit; - background: #fff; - background: var(--fc-page-bg-color, #fff) - - /* expand hit area */ - - } -.fc-event-selected .fc-event-resizer:before { - content: ''; - position: absolute; - top: -20px; - left: -20px; - right: -20px; - bottom: -20px; - } -/* selecting (always TOUCH) */ -/* ---------------------------------------------------------------------------------------------------- */ -.fc-event-selected { - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) - - /* expand hit area (subclasses should expand) */ - -} -.fc-event-selected:before { - content: ""; - position: absolute; - z-index: 3; - top: 0; - left: 0; - right: 0; - bottom: 0; - } -.fc-event-selected { - - /* dimmer effect */ - -} -.fc-event-selected:after { - content: ""; - background: rgba(0, 0, 0, 0.25); - background: var(--fc-event-selected-overlay-color, rgba(0, 0, 0, 0.25)); - position: absolute; - z-index: 1; - - /* assume there's a border on all sides. overcome it. */ - /* sometimes there's NOT a border, in which case the dimmer will go over */ - /* an adjacent border, which looks fine. */ - top: -1px; - left: -1px; - right: -1px; - bottom: -1px; - } -/* -A HORIZONTAL event -*/ -.fc-h-event { /* allowed to be top-level */ - display: block; - border: 1px solid #3788d8; - border: 1px solid var(--fc-event-border-color, #3788d8); - background-color: #3788d8; - background-color: var(--fc-event-bg-color, #3788d8) - -} -.fc-h-event .fc-event-main { - color: #fff; - color: var(--fc-event-text-color, #fff); - } -.fc-h-event .fc-event-main-frame { - display: flex; /* for make fc-event-title-container expand */ - } -.fc-h-event .fc-event-time { - max-width: 100%; /* clip overflow on this element */ - overflow: hidden; - } -.fc-h-event .fc-event-title-container { /* serves as a container for the sticky cushion */ - flex-grow: 1; - flex-shrink: 1; - min-width: 0; /* important for allowing to shrink all the way */ - } -.fc-h-event .fc-event-title { - display: inline-block; /* need this to be sticky cross-browser */ - vertical-align: top; /* for not messing up line-height */ - left: 0; /* for sticky */ - right: 0; /* for sticky */ - max-width: 100%; /* clip overflow on this element */ - overflow: hidden; - } -.fc-h-event.fc-event-selected:before { - /* expand hit area */ - top: -10px; - bottom: -10px; - } -/* adjust border and border-radius (if there is any) for non-start/end */ -.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start), -.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-width: 0; -} -.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end), -.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right-width: 0; -} -/* resizers */ -.fc-h-event:not(.fc-event-selected) .fc-event-resizer { - top: 0; - bottom: 0; - width: 8px; - width: var(--fc-event-resizer-thickness, 8px); -} -.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start, -.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end { - cursor: w-resize; - left: -4px; - left: calc(var(--fc-event-resizer-thickness, 8px) / -2); -} -.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end, -.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start { - cursor: e-resize; - right: -4px; - right: calc(var(--fc-event-resizer-thickness, 8px) / -2); -} -/* resizers for TOUCH */ -.fc-h-event.fc-event-selected .fc-event-resizer { - top: 50%; - margin-top: -4px; - margin-top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); -} -.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start, -.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end { - left: -4px; - left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); -} -.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end, -.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start { - right: -4px; - right: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); -} - - -:root { - --fc-daygrid-event-dot-width: 8px; -} -.fc .fc-popover { - position: fixed; - top: 0; /* for when not positioned yet */ - box-shadow: 0 2px 6px rgba(0,0,0,.15); - } -.fc .fc-popover-header { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 3px 4px; - } -.fc .fc-popover-title { - margin: 0 2px; - } -.fc .fc-popover-close { - cursor: pointer; - opacity: 0.65; - font-size: 1.1em; - } -.fc-theme-standard .fc-popover { - border: 1px solid #ddd; - border: 1px solid var(--fc-border-color, #ddd); - background: #fff; - background: var(--fc-page-bg-color, #fff); - } -.fc-theme-standard .fc-popover-header { - background: rgba(208, 208, 208, 0.3); - background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); - } -/* help things clear margins of inner content */ -.fc-daygrid-day-frame, -.fc-daygrid-day-events, -.fc-daygrid-event-harness { /* for event top/bottom margins */ -} -.fc-daygrid-day-frame:before, .fc-daygrid-day-events:before, .fc-daygrid-event-harness:before { - content: ""; - clear: both; - display: table; } -.fc-daygrid-day-frame:after, .fc-daygrid-day-events:after, .fc-daygrid-event-harness:after { - content: ""; - clear: both; - display: table; } -.fc .fc-daygrid-body { /* a
that wraps the table */ - position: relative; - z-index: 1; /* container inner z-index's because s can't do it */ - } -.fc .fc-daygrid-day.fc-day-today { - background-color: rgba(255, 220, 40, 0.15); - background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15)); - } -.fc .fc-daygrid-day-frame { - position: relative; - min-height: 100%; /* seems to work better than `height` because sets height after rows/cells naturally do it */ - } -.fc { - - /* cell top */ - -} -.fc .fc-daygrid-day-top { - display: flex; - flex-direction: row-reverse; - } -.fc .fc-day-other .fc-daygrid-day-top { - opacity: 0.3; - } -.fc { - - /* day number (within cell top) */ - -} -.fc .fc-daygrid-day-number { - position: relative; - z-index: 4; - padding: 4px; - } -.fc { - - /* event container */ - -} -.fc .fc-daygrid-day-events { - margin-top: 1px; /* needs to be margin, not padding, so that available cell height can be computed */ - } -.fc { - - /* positioning for balanced vs natural */ - -} -.fc .fc-daygrid-body-balanced .fc-daygrid-day-events { - position: absolute; - left: 0; - right: 0; - } -.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events { - position: relative; /* for containing abs positioned event harnesses */ - min-height: 2em; /* in addition to being a min-height during natural height, equalizes the heights a little bit */ - } -.fc .fc-daygrid-body-natural { /* can coexist with -unbalanced */ - } -.fc .fc-daygrid-body-natural .fc-daygrid-day-events { - margin-bottom: 1em; - } -.fc { - - /* event harness */ - -} -.fc .fc-daygrid-event-harness { - position: relative; - } -.fc .fc-daygrid-event-harness-abs { - position: absolute; - top: 0; /* fallback coords for when cannot yet be computed */ - left: 0; /* */ - right: 0; /* */ - } -.fc .fc-daygrid-bg-harness { - position: absolute; - top: 0; - bottom: 0; - } -.fc { - - /* bg content */ - -} -.fc .fc-daygrid-day-bg .fc-non-business { z-index: 1 } -.fc .fc-daygrid-day-bg .fc-bg-event { z-index: 2 } -.fc .fc-daygrid-day-bg .fc-highlight { z-index: 3 } -.fc { - - /* events */ - -} -.fc .fc-daygrid-event { - z-index: 6; - margin-top: 1px; - } -.fc .fc-daygrid-event.fc-event-mirror { - z-index: 7; - } -.fc { - - /* cell bottom (within day-events) */ - -} -.fc .fc-daygrid-day-bottom { - font-size: .85em; - margin: 2px 3px 0; - } -.fc .fc-daygrid-more-link { - position: relative; - z-index: 4; - cursor: pointer; - } -.fc { - - /* week number (within frame) */ - -} -.fc .fc-daygrid-week-number { - position: absolute; - z-index: 5; - top: 0; - padding: 2px; - min-width: 1.5em; - text-align: center; - background-color: rgba(208, 208, 208, 0.3); - background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); - color: #808080; - color: var(--fc-neutral-text-color, #808080); - } -.fc { - - /* popover */ - -} -.fc .fc-more-popover { - z-index: 8; - } -.fc .fc-more-popover .fc-popover-body { - min-width: 220px; - padding: 10px; - } -.fc-direction-ltr .fc-daygrid-event.fc-event-start, -.fc-direction-rtl .fc-daygrid-event.fc-event-end { - margin-left: 2px; -} -.fc-direction-ltr .fc-daygrid-event.fc-event-end, -.fc-direction-rtl .fc-daygrid-event.fc-event-start { - margin-right: 2px; -} -.fc-direction-ltr .fc-daygrid-week-number { - left: 0; - border-radius: 0 0 3px 0; - } -.fc-direction-rtl .fc-daygrid-week-number { - right: 0; - border-radius: 0 0 0 3px; - } -.fc-liquid-hack .fc-daygrid-day-frame { - position: static; /* will cause inner absolute stuff to expand to */ - } -.fc-daygrid-event { /* make root-level, because will be dragged-and-dropped outside of a component root */ - position: relative; /* for z-indexes assigned later */ - white-space: nowrap; - border-radius: 3px; /* dot event needs this to when selected */ - font-size: .85em; - font-size: var(--fc-small-font-size, .85em); -} -/* --- the rectangle ("block") style of event --- */ -.fc-daygrid-block-event .fc-event-time { - font-weight: bold; - } -.fc-daygrid-block-event .fc-event-time, - .fc-daygrid-block-event .fc-event-title { - padding: 1px; - } -/* --- the dot style of event --- */ -.fc-daygrid-dot-event { - display: flex; - align-items: center; - padding: 2px 0 - -} -.fc-daygrid-dot-event .fc-event-title { - flex-grow: 1; - flex-shrink: 1; - min-width: 0; /* important for allowing to shrink all the way */ - overflow: hidden; - font-weight: bold; - } -.fc-daygrid-dot-event:hover, - .fc-daygrid-dot-event.fc-event-mirror { - background: rgba(0, 0, 0, 0.1); - } -.fc-daygrid-dot-event.fc-event-selected:before { - /* expand hit area */ - top: -10px; - bottom: -10px; - } -.fc-daygrid-event-dot { /* the actual dot */ - margin: 0 4px; - box-sizing: content-box; - width: 0; - height: 0; - border: 4px solid #3788d8; - border: calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color, #3788d8); - border-radius: 4px; - border-radius: calc(var(--fc-daygrid-event-dot-width, 8px) / 2); -} -/* --- spacing between time and title --- */ -.fc-direction-ltr .fc-daygrid-event .fc-event-time { - margin-right: 3px; - } -.fc-direction-rtl .fc-daygrid-event .fc-event-time { - margin-left: 3px; - } - - -/* -A VERTICAL event -*/ - -.fc-v-event { /* allowed to be top-level */ - display: block; - border: 1px solid #3788d8; - border: 1px solid var(--fc-event-border-color, #3788d8); - background-color: #3788d8; - background-color: var(--fc-event-bg-color, #3788d8) - -} - -.fc-v-event .fc-event-main { - color: #fff; - color: var(--fc-event-text-color, #fff); - height: 100%; - } - -.fc-v-event .fc-event-main-frame { - height: 100%; - display: flex; - flex-direction: column; - } - -.fc-v-event .fc-event-time { - flex-grow: 0; - flex-shrink: 0; - max-height: 100%; - overflow: hidden; - } - -.fc-v-event .fc-event-title-container { /* a container for the sticky cushion */ - flex-grow: 1; - flex-shrink: 1; - min-height: 0; /* important for allowing to shrink all the way */ - } - -.fc-v-event .fc-event-title { /* will have fc-sticky on it */ - top: 0; - bottom: 0; - max-height: 100%; /* clip overflow */ - overflow: hidden; - } - -.fc-v-event:not(.fc-event-start) { - border-top-width: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - } - -.fc-v-event:not(.fc-event-end) { - border-bottom-width: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - } - -.fc-v-event.fc-event-selected:before { - /* expand hit area */ - left: -10px; - right: -10px; - } - -.fc-v-event { - - /* resizer (mouse AND touch) */ - -} - -.fc-v-event .fc-event-resizer-start { - cursor: n-resize; - } - -.fc-v-event .fc-event-resizer-end { - cursor: s-resize; - } - -.fc-v-event { - - /* resizer for MOUSE */ - -} - -.fc-v-event:not(.fc-event-selected) .fc-event-resizer { - height: 8px; - height: var(--fc-event-resizer-thickness, 8px); - left: 0; - right: 0; - } - -.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start { - top: -4px; - top: calc(var(--fc-event-resizer-thickness, 8px) / -2); - } - -.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end { - bottom: -4px; - bottom: calc(var(--fc-event-resizer-thickness, 8px) / -2); - } - -.fc-v-event { - - /* resizer for TOUCH (when event is "selected") */ - -} - -.fc-v-event.fc-event-selected .fc-event-resizer { - left: 50%; - margin-left: -4px; - margin-left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); - } - -.fc-v-event.fc-event-selected .fc-event-resizer-start { - top: -4px; - top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); - } - -.fc-v-event.fc-event-selected .fc-event-resizer-end { - bottom: -4px; - bottom: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2); - } -.fc .fc-timegrid .fc-daygrid-body { /* the all-day daygrid within the timegrid view */ - z-index: 2; /* put above the timegrid-body so that more-popover is above everything. TODO: better solution */ - } -.fc .fc-timegrid-divider { - padding: 0 0 2px; /* browsers get confused when you set height. use padding instead */ - } -.fc .fc-timegrid-body { - position: relative; - z-index: 1; /* scope the z-indexes of slots and cols */ - min-height: 100%; /* fill height always, even when slat table doesn't grow */ - } -.fc .fc-timegrid-axis-chunk { /* for advanced ScrollGrid */ - position: relative /* offset parent for now-indicator-container */ - - } -.fc .fc-timegrid-axis-chunk > table { - position: relative; - z-index: 1; /* above the now-indicator-container */ - } -.fc .fc-timegrid-slots { - position: relative; - z-index: 1; - } -.fc .fc-timegrid-slot { /* a */ - height: 1.5em; - border-bottom: 0 /* each cell owns its top border */ - } -.fc .fc-timegrid-slot:empty:before { - content: '\00a0'; /* make sure there's at least an empty space to create height for height syncing */ - } -.fc .fc-timegrid-slot-minor { - border-top-style: dotted; - } -.fc .fc-timegrid-slot-label-cushion { - display: inline-block; - white-space: nowrap; - } -.fc .fc-timegrid-slot-label { - vertical-align: middle; /* vertical align the slots */ - } -.fc { - - - /* slots AND axis cells (top-left corner of view including the "all-day" text) */ - -} -.fc .fc-timegrid-axis-cushion, - .fc .fc-timegrid-slot-label-cushion { - padding: 0 4px; - } -.fc { - - - /* axis cells (top-left corner of view including the "all-day" text) */ - /* vertical align is more complicated, uses flexbox */ - -} -.fc .fc-timegrid-axis-frame-liquid { - height: 100%; /* will need liquid-hack in FF */ - } -.fc .fc-timegrid-axis-frame { - overflow: hidden; - display: flex; - align-items: center; /* vertical align */ - justify-content: flex-end; /* horizontal align. matches text-align below */ - } -.fc .fc-timegrid-axis-cushion { - max-width: 60px; /* limits the width of the "all-day" text */ - flex-shrink: 0; /* allows text to expand how it normally would, regardless of constrained width */ - } -.fc-direction-ltr .fc-timegrid-slot-label-frame { - text-align: right; - } -.fc-direction-rtl .fc-timegrid-slot-label-frame { - text-align: left; - } -.fc-liquid-hack .fc-timegrid-axis-frame-liquid { - height: auto; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - } -.fc .fc-timegrid-col.fc-day-today { - background-color: rgba(255, 220, 40, 0.15); - background-color: var(--fc-today-bg-color, rgba(255, 220, 40, 0.15)); - } -.fc .fc-timegrid-col-frame { - min-height: 100%; /* liquid-hack is below */ - position: relative; - } -.fc-liquid-hack .fc-timegrid-col-frame { - height: auto; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - } -.fc-media-screen .fc-timegrid-cols { - position: absolute; /* no z-index. children will decide and go above slots */ - top: 0; - left: 0; - right: 0; - bottom: 0 - } -.fc-media-screen .fc-timegrid-cols > table { - height: 100%; - } -.fc-media-screen .fc-timegrid-col-bg, - .fc-media-screen .fc-timegrid-col-events, - .fc-media-screen .fc-timegrid-now-indicator-container { - position: absolute; - top: 0; - left: 0; - right: 0; - } -.fc-media-screen .fc-timegrid-event-harness { - position: absolute; /* top/left/right/bottom will all be set by JS */ - } -.fc { - - /* bg */ - -} -.fc .fc-timegrid-col-bg { - z-index: 2; /* TODO: kill */ - } -.fc .fc-timegrid-col-bg .fc-non-business { z-index: 1 } -.fc .fc-timegrid-col-bg .fc-bg-event { z-index: 2 } -.fc .fc-timegrid-col-bg .fc-highlight { z-index: 3 } -.fc .fc-timegrid-bg-harness { - position: absolute; /* top/bottom will be set by JS */ - left: 0; - right: 0; - } -.fc { - - /* fg events */ - /* (the mirror segs are put into a separate container with same classname, */ - /* and they must be after the normal seg container to appear at a higher z-index) */ - -} -.fc .fc-timegrid-col-events { - z-index: 3; - /* child event segs have z-indexes that are scoped within this div */ - } -.fc { - - /* now indicator */ - -} -.fc .fc-timegrid-now-indicator-container { - bottom: 0; - overflow: hidden; /* don't let overflow of lines/arrows cause unnecessary scrolling */ - /* z-index is set on the individual elements */ - } -.fc-direction-ltr .fc-timegrid-col-events { - margin: 0 2.5% 0 2px; - } -.fc-direction-rtl .fc-timegrid-col-events { - margin: 0 2px 0 2.5%; - } -.fc-timegrid-event-harness-inset .fc-timegrid-event, -.fc-timegrid-event.fc-event-mirror { - box-shadow: 0px 0px 0px 1px #fff; - box-shadow: 0px 0px 0px 1px var(--fc-page-bg-color, #fff); -} -.fc-timegrid-event { /* events need to be root */ - - font-size: .85em; - - font-size: var(--fc-small-font-size, .85em); - border-radius: 3px - -} -.fc-timegrid-event .fc-event-main { - padding: 1px 1px 0; - } -.fc-timegrid-event .fc-event-time { - white-space: nowrap; - font-size: .85em; - font-size: var(--fc-small-font-size, .85em); - margin-bottom: 1px; - } -.fc-timegrid-event-condensed .fc-event-main-frame { - flex-direction: row; - overflow: hidden; - } -.fc-timegrid-event-condensed .fc-event-time:after { - content: '\00a0-\00a0'; /* dash surrounded by non-breaking spaces */ - } -.fc-timegrid-event-condensed .fc-event-title { - font-size: .85em; - font-size: var(--fc-small-font-size, .85em) - } -.fc-media-screen .fc-timegrid-event { - position: absolute; /* absolute WITHIN the harness */ - top: 0; - bottom: 1px; /* stay away from bottom slot line */ - left: 0; - right: 0; - } -.fc { - - /* line */ - -} -.fc .fc-timegrid-now-indicator-line { - position: absolute; - z-index: 4; - left: 0; - right: 0; - border-style: solid; - border-color: red; - border-color: var(--fc-now-indicator-color, red); - border-width: 1px 0 0; - } -.fc { - - /* arrow */ - -} -.fc .fc-timegrid-now-indicator-arrow { - position: absolute; - z-index: 4; - margin-top: -5px; /* vertically center on top coordinate */ - border-style: solid; - border-color: red; - border-color: var(--fc-now-indicator-color, red); - } -.fc-direction-ltr .fc-timegrid-now-indicator-arrow { - left: 0; - - /* triangle pointing right. TODO: mixin */ - border-width: 5px 0 5px 6px; - border-top-color: transparent; - border-bottom-color: transparent; - } -.fc-direction-rtl .fc-timegrid-now-indicator-arrow { - right: 0; - - /* triangle pointing left. TODO: mixin */ - border-width: 5px 6px 5px 0; - border-top-color: transparent; - border-bottom-color: transparent; - } - - -:root { - --fc-list-event-dot-width: 10px; - --fc-list-event-hover-bg-color: #f5f5f5; -} -.fc-theme-standard .fc-list { - border: 1px solid #ddd; - border: 1px solid var(--fc-border-color, #ddd); - } -.fc { - - /* message when no events */ - -} -.fc .fc-list-empty { - background-color: rgba(208, 208, 208, 0.3); - background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); - height: 100%; - display: flex; - justify-content: center; - align-items: center; /* vertically aligns fc-list-empty-inner */ - } -.fc .fc-list-empty-cushion { - margin: 5em 0; - } -.fc { - - /* table within the scroller */ - /* ---------------------------------------------------------------------------------------------------- */ - -} -.fc .fc-list-table { - width: 100%; - border-style: hidden; /* kill outer border on theme */ - } -.fc .fc-list-table tr > * { - border-left: 0; - border-right: 0; - } -.fc .fc-list-sticky .fc-list-day > * { /* the cells */ - position: -webkit-sticky; - position: sticky; - top: 0; - background: #fff; - background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */ - } -.fc .fc-list-table th { - padding: 0; /* uses an inner-wrapper instead... */ - } -.fc .fc-list-table td, - .fc .fc-list-day-cushion { - padding: 8px 14px; - } -.fc { - - - /* date heading rows */ - /* ---------------------------------------------------------------------------------------------------- */ - -} -.fc .fc-list-day-cushion:after { - content: ""; - clear: both; - display: table; /* clear floating */ - } -.fc-theme-standard .fc-list-day-cushion { - background-color: rgba(208, 208, 208, 0.3); - background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3)); - } -.fc-direction-ltr .fc-list-day-text, -.fc-direction-rtl .fc-list-day-side-text { - float: left; -} -.fc-direction-ltr .fc-list-day-side-text, -.fc-direction-rtl .fc-list-day-text { - float: right; -} -/* make the dot closer to the event title */ -.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 } -.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 } -.fc .fc-list-event.fc-event-forced-url { - cursor: pointer; /* whole row will seem clickable */ - } -.fc .fc-list-event:hover td { - background-color: #f5f5f5; - background-color: var(--fc-list-event-hover-bg-color, #f5f5f5); - } -.fc { - - /* shrink certain cols */ - -} -.fc .fc-list-event-graphic, - .fc .fc-list-event-time { - white-space: nowrap; - width: 1px; - } -.fc .fc-list-event-dot { - display: inline-block; - box-sizing: content-box; - width: 0; - height: 0; - border: 5px solid #3788d8; - border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8); - border-radius: 5px; - border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2); - } -.fc { - - /* reset styling */ - -} -.fc .fc-list-event-title a { - color: inherit; - text-decoration: none; - } -.fc { - - /* underline link when hovering over any part of row */ - -} -.fc .fc-list-event.fc-event-forced-url:hover a { - text-decoration: underline; - } - - - - .fc-theme-bootstrap a:not([href]) { - color: inherit; /* natural color for navlinks */ - } diff --git a/src/assets/scss/soft-design-system-pro/plugins/pro/plugins-extend.scss b/src/assets/scss/soft-design-system-pro/plugins/pro/plugins-extend.scss index 0e1b485a..00354f90 100755 --- a/src/assets/scss/soft-design-system-pro/plugins/pro/plugins-extend.scss +++ b/src/assets/scss/soft-design-system-pro/plugins/pro/plugins-extend.scss @@ -3,8 +3,6 @@ @import "choices"; @import "glidejs"; @import "green-audio-player"; -@import "fullcalendar"; -@import "fullcalendar-extend"; @import "datatable"; @import "datatable-extend"; @import "dragula";