diff --git a/web/assets/css/custom.css b/web/assets/css/custom.css index 7a995b68..5b521b63 100644 --- a/web/assets/css/custom.css +++ b/web/assets/css/custom.css @@ -1,1468 +1 @@ -:root { - --color-primary-100: #008771; - --dark-color-background: #0a1222; - --dark-color-surface-100: #151f31; - --dark-color-surface-200: #222d42; - --dark-color-surface-300: #2c3950; - --dark-color-surface-400: rgba(65, 85, 119, 0.5); /* line */ - --dark-color-surface-500: #2c3950; /* popover & switch btn */ - --dark-color-surface-600: #313f5a; /* dropmenu hover */ - --dark-color-surface-700: #111929; /* modals */ - --dark-color-table-hover: rgba(44, 57, 80, 0.2); - --dark-color-text-primary: rgba(255, 255, 255, 0.75); - --dark-color-stroke: #2c3950; - --dark-color-btn-danger: #cd3838; - --dark-color-btn-danger-border: transparent; - --dark-color-btn-danger-hover: #e94b4b; - --dark-color-tag-bg: rgba(255, 255, 255, 0.05); - --dark-color-tag-border:rgba(255, 255, 255, 0.15); - --dark-color-tag-color:rgba(255, 255, 255, 0.75); - --dark-color-tag-green-bg: #112421; - --dark-color-tag-green-border: #195141; - --dark-color-tag-green-color: #3ad3ba; - --dark-color-tag-purple-bg: #201425; - --dark-color-tag-purple-border: #5a2969; - --dark-color-tag-purple-color: #d988cd; - --dark-color-tag-red-bg: #291515; - --dark-color-tag-red-border: #5c2626; - --dark-color-tag-red-color: #e04141; - --dark-color-tag-orange-bg: #312313; - --dark-color-tag-orange-border: #593914; - --dark-color-tag-orange-color: #ffa031; - --dark-color-tag-blue-bg: #111a2c; - --dark-color-tag-blue-border: #1348ab; - --dark-color-tag-blue-color: #529fff; - --dark-color-codemirror-line-hover: rgba(0, 135, 113, 0.2); - --dark-color-codemirror-line-selection: rgba(0, 135, 113, 0.3); - --dark-color-login-background: var(--dark-color-background); - --dark-color-login-wave: var(--dark-color-surface-200); - --dark-color-tooltip: rgba(61, 76, 104, 0.9); -} - -html[data-theme-animations='off'] { - .ant-menu, - .ant-layout-sider, - .ant-card, - .ant-tag, - .ant-progress-circle > *, - .ant-input, - .ant-table-row-expand-icon, - .ant-switch, - .ant-table-thead > tr > th, - .ant-select-selection, - .ant-btn, - .ant-input-number, - .ant-input-group-addon, - .ant-checkbox-inner, - .ant-progress-bg, .ant-progress-success-bg, - .ant-radio-button-wrapper:not(:first-child):before, - .ant-radio-button-wrapper, - #login { - transition: border 0s, background 0s !important; - } - - .ant-menu-item, .ant-menu-submenu-title, - .ant-alert-close-icon .anticon-close, - .ant-tabs-nav .ant-tabs-tab, - .ant-input-number-input, - .ant-collapse>.ant-collapse-item>.ant-collapse-header, - .Line-Hover { - transition: color 0s !important; - } - - .wave-btn-bg { - transition: width 0s !important; - } -} - -html[data-theme='ultra-dark'] { - --dark-color-background: #21242a; - --dark-color-surface-100: #0c0e12; - --dark-color-surface-200: #222327; - --dark-color-surface-300: #32353b; - --dark-color-surface-400: rgba(255, 255, 255, 0.1); - --dark-color-surface-500: #3b404b; - --dark-color-surface-600: #505663; - --dark-color-surface-700: #101113; - --dark-color-table-hover: rgba(89, 89, 89, 0.15); - --dark-color-text-primary: rgb(255 255 255 / 85%); - --dark-color-stroke: #202025; - --dark-color-tag-green-bg: #112421; - --dark-color-tag-green-border: #1d5f4d; - --dark-color-tag-green-color: #59cbac; - --dark-color-tag-purple-bg: #241121; - --dark-color-tag-purple-border: #5a2969; - --dark-color-tag-purple-color: #d686ca; - --dark-color-tag-red-bg: #2a1215; - --dark-color-tag-red-border: #58181c; - --dark-color-tag-red-color: #e84749; - --dark-color-tag-orange-bg: #2b1d11; - --dark-color-tag-orange-border: #593815; - --dark-color-tag-orange-color: #e89a3c; - --dark-color-tag-blue-bg: #111a2c; - --dark-color-tag-blue-border: #0f367e; - --dark-color-tag-blue-color: #3c89e8; - --dark-color-codemirror-line-hover: rgba(85, 85, 85, 0.3); - --dark-color-codemirror-line-selection: rgba(85, 85, 85, 0.4); - --dark-color-login-background: #0a2227; - --dark-color-login-wave: #0f2d32; - --dark-color-tooltip: rgba(88, 93, 100, 0.9); - .ant-dropdown-menu-dark { - background-color: var(--dark-color-surface-500); - } - .dark .ant-dropdown-menu-submenu-title:hover, - .dark .ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled), - .dark .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled) { - background-color: var(--dark-color-surface-300); - } - .dark .waves-header { - background-color: #0a2227; - } - .dark .ant-calendar-year-panel-year:hover, - .dark .ant-calendar-month-panel-month:hover, - .dark .ant-calendar-decade-panel-decade:hover { - background-color: var(--dark-color-surface-600); - } -} - -html, -body { - height: 100vh; - width: 100vw; - margin: 0; - padding: 0; - overflow: hidden; -} - -body { - color: rgba(0, 0, 0, 0.65); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5; - background-color: #fff; - font-feature-settings: "tnum"; -} -html { - --antd-wave-shadow-color: var(--color-primary-100); - line-height: 1.15; - text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -::selection { - color: var(--color-primary-100); - background-color: #cfe8e4; -} - -#app { - height: 100%; - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; - padding: 0; - overflow: auto; -} - -.ant-layout, -.ant-layout * { - box-sizing: border-box; -} - -.ant-spin-blur { - border-radius: 1.5rem; -} - -style attribute { - text-align: center; -} - -.ant-table-thead > tr > th { - padding: 16px 8px; -} - -.ant-table-tbody > tr > td { - padding: 12px 8px; -} -.ant-table-thead > tr > th { - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - text-align: left; - border-bottom: 1px solid #e8e8e8; - transition: background 0.3s ease; -} - -.ant-table table { - width: 100%; - text-align: left; - border-radius: 1rem 1rem 0 0; - border-collapse: separate; - border-spacing: 0; -} -.ant-table { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.65); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5; - list-style: none; - font-feature-settings: "tnum"; - position: relative; - clear: both; -} -.ant-table-wrapper > div > div > div > div > div > div { - overflow-x: auto !important; -} -.ant-card-hoverable { - cursor: auto; - cursor: pointer; -} -.ant-card { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.65); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5; - list-style: none; - font-feature-settings: "tnum"; - position: relative; - background-color: #fff; - border-radius: 2px; - transition: all 0.3s; -} - -.ant-space { - width: 100%; -} - -.ant-layout-sider-zero-width-trigger { - display: none; -} - -@media (max-width: 768px) { - .ant-layout-sider { - display: none; - } - .ant-card, .ant-alert-error { - margin: 0.5rem; - } - .ant-tabs { - margin: 0.5rem; - padding: 0.5rem; - } - .ant-modal-body { - padding: 20px; - } - .ant-form-item-label { - line-height: 1.5; - padding: 8px 0 0; - } -} - -.ant-layout-content { - min-height: auto; -} - -.ant-card, -.ant-tabs { - border-radius: 1.5rem; -} - -.ant-card-hoverable { - cursor: auto; -} - -.ant-card + .ant-card { - margin-top: 20px; -} - -.drawer-handle { - position: absolute; - top: 72px; - width: 41px; - height: 40px; - cursor: pointer; - z-index: 0; - text-align: center; - line-height: 40px; - font-size: 16px; - display: flex; - justify-content: center; - align-items: center; - background-color: #fff; - right: -40px; - box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); - border-radius: 0 4px 4px 0; -} - -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: #006655 !important; - background-image: linear-gradient( - 270deg, - rgba(123, 199, 77, 0) 30%, - #009980, - rgba(123, 199, 77, 0) 100% - ); - background-repeat: no-repeat; - animation: ma-bg-move linear 6.6s infinite; - color: #fff; - border-radius: 0.5rem; -} - -@-webkit-keyframes ma-bg-move { - 0% { - background-position: -500px 0; - } - 100% { - background-position: 1000px 0; - } -} - -@keyframes ma-bg-move { - 0% { - background-position: -500px 0; - } - 50% { - background-position: 1000px 0; - } - 100% { - background-position: 1000px 0; - } -} - -.ant-menu-item-active, -.ant-menu-item:hover, -.ant-menu-submenu-active, -.ant-menu-submenu-title:hover, -.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open { - color: var(--color-primary-100); - background-color: rgb(232 244 242); - border-radius: 0.5rem; -} - -.ant-menu-inline .ant-menu-item { - border-radius: 0.5rem; -} - -.ant-menu-inline .ant-menu-item:after, -.ant-menu { - border-right-width: 0; -} -.ant-layout-sider-children, -.ant-pagination ul { - margin-top: -0.1px; - padding: 0.5rem; -} - -.ant-dropdown-menu, -.ant-select-dropdown-menu { - padding: 0.5rem; -} -.ant-dropdown-menu-item, -.ant-dropdown-menu-item:hover, -.ant-select-dropdown-menu-item, -.ant-select-dropdown-menu-item:hover, -.ant-select-dropdown-menu-item-selected, -.ant-select-selection--multiple .ant-select-selection__choice { - border-radius: 0.5rem; - margin-bottom: 2px; -} - -@media (min-width: 769px) { - .drawer-handle { - display: none; - } - .ant-tabs { - padding: 2rem; - } - .ant-alert-error { - margin-inline: 0.3rem; - } -} - -.fade-in-enter, -.fade-in-leave-active, -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active, -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; -} - -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; -} - -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; -} - -.fade-in-enter-active, -.fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); -} - -.zoom-in-center-enter-active, -.zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); -} - -.zoom-in-center-enter, -.zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); -} - -.zoom-in-top-enter-active, -.zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; -} - -.zoom-in-top-enter, -.zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); -} - -.zoom-in-bottom-enter-active, -.zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -.zoom-in-bottom-enter, -.zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); -} - -.zoom-in-left-enter-active, -.zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), - opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), - -webkit-transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; -} - -.zoom-in-left-enter, -.zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); -} - -.list-enter-active, -.list-leave-active { - -webkit-transition: all 0.3s; - transition: all 0.3s; -} - -.list-enter, -.list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); -} - -.ant-tooltip-inner { - min-height: 0; -} - -.ant-list-item-meta-title { - font-size: 14px; -} - -.ant-progress-inner { - background-color: #ebeef5; -} - -.deactive-client .ant-collapse-header { - color: rgb(255, 255, 255) !important; - background-color: rgb(255, 127, 127); -} - -.ant-table-expand-icon-th, -.ant-table-row-expand-icon-cell { - width: 30px; - min-width: 30px; -} - -.ant-tabs { - background-color: white; -} - -.ant-form-item { - margin-bottom: 0; -} - -.ant-setting-textarea { - margin-top: 1.5rem; -} - -.client-table-header { - background-color: #f0f2f5; -} - -.client-table-odd-row { - background-color: #fafafa; -} - -.ant-table-pagination.ant-pagination { - float: left; -} - -/* change basic colors */ -.ant-tag-blue { - background-color: #edf4fa; - border-color: #a9c5e7; - color: #0e49b5; -} -.ant-tag-green { - background-color: #eafff9; - border-color: #76ccb4; - color: #199270; -} -.ant-tag-purple { - background-color: #f2eaf1; - border-color: #d5bed2; - color: #7a316f; -} -.ant-tag-orange, -.ant-alert-warning { - background-color: #ffeee1; - border-color: #fec093; - color: #f37b24; -} -.ant-tag-red, -.ant-alert-error { - background-color: #ffe9e9; - border-color: #ff9e9e; - color: #cf3c3c; -} - -.ant-input::placeholder { - opacity: 0.5; -} - -.ant-input:hover, -.ant-input:focus { - background-color: rgb(232 244 242); -} - -.delete-icon:hover { - color: #e04141; -} - -.normal-icon:hover { - color: var(--color-primary-100); -} - -/* DARK THEME */ - -.dark ::selection { - color: #fff; - background-color: var(--color-primary-100); -} - -.dark .normal-icon:hover { - color: #ffffff; -} - -.dark .ant-layout-sider, -.dark .ant-drawer-content, -.ant-menu-dark, -.ant-menu-dark .ant-menu-sub, -.dark .ant-card, -.dark .ant-table, -.dark .ant-collapse-content, -.dark .ant-tabs { - background-color: var(--dark-color-surface-100); - color: var(--dark-color-text-primary); -} - -.dark .ant-card-hoverable:hover, -.dark .ant-space-item > .ant-tabs:hover { - /* box-shadow: 0 1px 10px -1px rgb(154 175 238 / 80%); */ - box-shadow: 0 2px 8px transparent; -} - -.dark > .ant-layout, -.dark .drawer-handle, -.dark .ant-table-thead > tr > th, -.dark .ant-table-expanded-row, -.dark .ant-table-expanded-row:hover, -.dark .ant-table-expanded-row .ant-table-tbody, -.dark .ant-calendar { - background-color: var(--dark-color-background); - color: var(--dark-color-text-primary); -} - -.dark .ant-table-expanded-row .ant-table-thead > tr:first-child > th { - border-radius: 0; -} - -.dark .ant-calendar, -.dark .ant-card-bordered { - border-color: var(--dark-color-background); -} - -.dark .ant-table-bordered, -.dark .ant-table-bordered.ant-table-empty .ant-table-placeholder, -.dark .ant-table-bordered .ant-table-body > table, -.dark .ant-table-bordered .ant-table-fixed-left table, -.dark .ant-table-bordered .ant-table-fixed-right table, -.dark .ant-table-bordered .ant-table-header > table, -.dark .ant-table-bordered .ant-table-thead > tr:not(:last-child) > th, -.dark .ant-table-bordered .ant-table-tbody > tr > td, -.dark .ant-table-bordered .ant-table-thead > tr > th { - border-color: var(--dark-color-surface-400); -} - -.dark .ant-table-tbody > tr > td, -.dark .ant-table-thead > tr > th, -.dark .ant-card-head, -.dark .ant-modal-header, -.dark .ant-collapse > .ant-collapse-item, -.dark .ant-tabs-bar, -.dark .ant-list-split .ant-list-item, -.dark .ant-popover-title, -.dark .ant-calendar-header, -.dark .ant-calendar-input-wrap { - border-bottom-color: var(--dark-color-surface-400); -} - -.dark .ant-modal-footer, -.dark .ant-collapse-content, -.dark .ant-calendar-footer, -.dark .ant-divider-horizontal.ant-divider-with-text-left:before, -.dark .ant-divider-horizontal.ant-divider-with-text-left:after, -.dark .ant-divider-horizontal.ant-divider-with-text-center:before, -.dark .ant-divider-horizontal.ant-divider-with-text-center:after { - border-top-color: var(--dark-color-surface-300); -} - -.ant-divider-horizontal.ant-divider-with-text-left:before { - width: 10%; -} - -.dark .ant-progress-text, -.dark .ant-card-head, -.dark .ant-form, -.dark .ant-collapse > .ant-collapse-item > .ant-collapse-header, -.dark .ant-modal-close-x, -.dark .ant-pagination-item a, -.dark li:not(.ant-pagination-disabled) i, -.dark .ant-form .anticon, -.dark .ant-tabs-tab-arrow-show:not(.ant-tabs-tab-btn-disabled), -.dark .anticon-close, -.dark .ant-list-item-meta-title, -.dark .ant-select-selection i, -.dark .ant-modal-confirm-title, -.dark .ant-modal-confirm-content, -.dark .ant-popover-message, -.dark .ant-modal, -.dark .ant-divider-inner-text, -.dark .ant-popover-title, -.dark .ant-popover-inner-content, -.dark h2, -.dark .ant-modal-title, -.dark .ant-form-item-label > label, -.dark .ant-checkbox-wrapper, -.dark .ant-form-item, -.dark .ant-calendar-footer .ant-calendar-today-btn, -.dark .ant-calendar-footer .ant-calendar-time-picker-btn, -.dark .ant-calendar-day-select, -.dark .ant-calendar-month-select, -.dark .ant-calendar-year-select, -.dark .ant-calendar-date, -.dark .ant-calendar-year-panel-year, -.dark .ant-calendar-month-panel-month, -.dark .ant-calendar-decade-panel-decade { - color: var(--dark-color-text-primary); -} - -.dark .ant-list-item-meta-description { - color: rgba(255, 255, 255, 0.45); -} - -.dark .ant-pagination-disabled i, -.dark .ant-tabs-tab-btn-disabled { - color: rgba(255, 255, 255, 0.25); -} - -.dark .ant-input, -.dark .ant-input-group-addon, -.dark .ant-collapse, -.dark .ant-select-selection, -.dark .ant-input-number, -.dark .ant-input-number-handler-wrap, -.dark .ant-pagination-item-active, -.dark .ant-table-placeholder, -.dark .ant-empty-normal, -.dark.ant-select-dropdown, -.dark .ant-select-dropdown, -.dark .ant-select-dropdown li, -.dark .ant-select-dropdown-menu-item, -.dark .client-table-header, -.dark .ant-select-selection--multiple .ant-select-selection__choice, -.dark .ant-calendar-time-picker-inner { - background-color: var(--dark-color-surface-200); - border-color: var(--dark-color-surface-300); - color: var(--dark-color-text-primary); -} - -.dark .ant-select-selection:hover, -.dark .ant-calendar-picker-clear, -.dark .ant-input-number:hover, -.dark .ant-input-number:focus, -.dark .ant-input:hover, -.dark .ant-input:focus { - background-color: rgba(0, 135, 113, 0.3); - border-color: var(--color-primary-100); -} - -.dark .ant-btn:not(.ant-btn-primary):not(.ant-btn-danger) { - color: var(--dark-color-text-primary); - background-color: rgb(10 117 87 / 30%); - border: 1px solid var(--color-primary-100); -} - -.dark .ant-radio-button-wrapper, -.dark .ant-radio-button-wrapper:before { - color: var(--dark-color-text-primary); - background-color: rgba(0, 135, 113, 0.3); - border-color: var(--color-primary-100); -} - -.dark .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), -.dark .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { - color: #fff; - background-color: rgb(10 117 87 / 50%); - border-color: var(--color-primary-100); -} - -.dark .ant-btn-primary[disabled], -.dark .ant-btn-danger[disabled], -.dark .ant-calendar-ok-btn-disabled { - color: rgb(255 255 255 / 35%); - background-color: var(--dark-color-surface-200); - border-color: var(--dark-color-surface-300); -} - -.dark - .ant-table-tbody - > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) - > td, -.dark .client-table-odd-row { - background-color: var(--dark-color-table-hover); -} - -.dark .ant-table-row-expand-icon { - color: #fff; - background-color: #fff0; - border-color: rgb(255 255 255 / 20%); -} - -.dark .ant-table-row-expand-icon:hover { - color: var(--color-primary-100); - background-color: #fff0; - border-color: var(--color-primary-100); -} - -.dark .ant-switch:not(.ant-switch-checked), -.dark .ant-progress-line .ant-progress-inner { - background-color: var(--dark-color-surface-500); -} - -.dark .ant-progress-circle-trail { - stroke: var(--dark-color-stroke) !important; -} - -.dark .ant-popover-inner { - background-color: var(--dark-color-surface-500); -} - -.dark > .ant-popover-content > .ant-popover-arrow { - border-color: var(--dark-color-surface-500); -} - -@media (max-width: 768px) { - .dark .ant-popover-inner { - background-color: var(--dark-color-surface-200); - } - .dark > .ant-popover-content > .ant-popover-arrow { - border-color: var(--dark-color-surface-200); - } -} - -.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, -.dark .ant-select-dropdown-menu-item-selected, -.dark .ant-calendar-time-picker-select-option-selected { - background-color: var(--dark-color-surface-600); -} - -.ant-menu-dark .ant-menu-item:hover { - background-color: var(--dark-color-surface-300); -} - -.dark .ant-alert-message { - color: rgba(255, 255, 255, 0.85); -} - -.dark .ant-tag { - color: var(--dark-color-tag-color); - background-color: var(--dark-color-tag-bg); - border-color: var(--dark-color-tag-border); -} - -.dark .ant-tag-blue { - background-color: var(--dark-color-tag-blue-bg); - border-color: var(--dark-color-tag-blue-border); - color: var(--dark-color-tag-blue-color); -} - -.dark .ant-tag-red, -.dark .ant-alert-error { - background-color: var(--dark-color-tag-red-bg); - border-color: var(--dark-color-tag-red-border); - color: var(--dark-color-tag-red-color); -} - -.dark .ant-tag-orange, -.dark .ant-alert-warning { - background-color: var(--dark-color-tag-orange-bg); - border-color: var(--dark-color-tag-orange-border); - color: var(--dark-color-tag-orange-color); -} - -.dark .ant-tag-green { - background-color: var(--dark-color-tag-green-bg); - border-color: var(--dark-color-tag-green-border); - color: var(--dark-color-tag-green-color); -} - -.dark .ant-tag-purple { - background-color: var(--dark-color-tag-purple-bg); - border-color: var(--dark-color-tag-purple-border); - color: var(--dark-color-tag-purple-color); -} - -.dark .ant-modal-content, -.dark .ant-modal-header { - background-color: var(--dark-color-surface-700); -} - -.dark .ant-calendar-next-month-btn-day .ant-calendar-date, -.dark .ant-calendar-last-month-cell .ant-calendar-date { - color: var(--dark-color-surface-300); -} - -.dark .ant-calendar-selected-day .ant-calendar-date { - background-color: var(--color-primary-100) !important; - color: #fff; -} - -.dark .ant-calendar-date:hover, -.dark .ant-calendar-time-picker-select li:hover { - background-color: var(--dark-color-surface-600); - color: #fff; -} - -.dark .ant-calendar-header a:hover, -.dark .ant-calendar-header a:hover::before, -.dark .ant-calendar-header a:hover::after { - border-color: #fff; -} - -.dark .ant-calendar-time-picker-select li:focus { - color: #fff; - font-weight: 600; - outline: none; - background-color: var(--color-primary-100); -} - -.dark .ant-calendar-time-picker-select { - border-right-color: var(--dark-color-surface-300); -} - -.has-warning .ant-select-selection, -.has-warning .ant-select-selection:hover, -.has-warning .ant-input, -.has-warning .ant-input:hover { - background-color: #ffeee1; - border-color: #fec093; -} - -.has-warning .ant-input::placeholder { - color: #f37b24; -} - -.has-warning .ant-input:not([disabled]):hover { - border-color: #fec093; -} - -.dark .has-warning .ant-select-selection, -.dark .has-warning .ant-select-selection:hover, -.dark .has-warning .ant-input, -.dark .has-warning .ant-input:hover { - border-color: #784e1d; - background: rgb(49, 35, 19); -} - -.dark .has-warning .ant-input::placeholder { - color: rgb(255 160 49 / 70%); -} - -.dark .has-warning .anticon { - color: #ffa031; -} - -.dark .has-success .anticon { - color: var(--color-primary-100); - animation-name: diffZoomIn1 !important; -} - -.dark .anticon-close-circle { - color: #e04141; -} - -.dark .ant-spin-nested-loading > div > .ant-spin .ant-spin-text { - text-shadow: 0 1px 2px #00000077; -} - -.dark .ant-spin { - color: #fff; -} - -.dark .ant-spin-dot-item { - background-color: #fff; -} - -.ant-checkbox-wrapper, -.ant-input-group-addon, -.ant-tabs-tab, -.ant-input::placeholder, -.ant-collapse-header, -.ant-menu, -.ant-radio-button-wrapper { - -webkit-user-select: none; - user-select: none; -} - -.ant-calendar-date, -.ant-calendar-year-panel-year, -.ant-calendar-decade-panel-decade, -.ant-calendar-month-panel-month, -.ant-checkbox-inner, -.ant-checkbox-checked:after, -.ant-table-row-expand-icon { - border-radius: 6px; -} - -.ant-calendar-date:hover { - background-color: rgb(232 244 242); -} - -.ant-calendar-date:active { - background-color: rgb(232 244 242); - color: rgba(0, 0, 0, 0.65); -} - -.ant-calendar-today .ant-calendar-date { - color: var(--color-primary-100); - font-weight: 700; - border-color: var(--color-primary-100); -} - -.dark .ant-calendar-today .ant-calendar-date { - color: #fff; - font-weight: 700; - border-color: var(--color-primary-100); -} - -.ant-calendar-selected-day .ant-calendar-date { - background: var(--color-primary-100); - color: #ffffff; -} - -li.ant-select-dropdown-menu-item:empty:after { - content: "None"; - font-weight: normal; - color: rgba(0, 0, 0, 0.25); -} - -.dark li.ant-select-dropdown-menu-item:empty:after { - content: "None"; - font-weight: normal; - color: rgba(255, 255, 255, 0.3); -} - -.ant-select-dropdown.ant-select-dropdown--multiple - .ant-select-dropdown-menu-item:hover - .ant-select-selected-icon { - color: rgba(0, 0, 0, 0.87); -} - -.dark.ant-select-dropdown.ant-select-dropdown--multiple - .ant-select-dropdown-menu-item:hover - .ant-select-selected-icon { - color: rgb(255, 255, 255); -} - -.ant-select-dropdown.ant-select-dropdown--multiple - .ant-select-dropdown-menu-item-selected - .ant-select-selected-icon, -.ant-select-dropdown.ant-select-dropdown--multiple - .ant-select-dropdown-menu-item-selected:hover - .ant-select-selected-icon { - color: var(--color-primary-100); -} -.ant-select-selection:hover, -.ant-input-number-focused, -.ant-input-number:hover { - background-color: rgb(232 244 242); -} - -.dark .ant-input-number-handler:active { - background-color: var(--color-primary-100); -} - -.dark .ant-input-number-handler:hover .ant-input-number-handler-down-inner, -.dark .ant-input-number-handler:hover .ant-input-number-handler-up-inner { - color: #fff; -} - -.dark .ant-input-number-handler-down { - border-top: 1px solid rgba(217, 217, 217, 0.3); -} - -.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-century-select, -.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-decade-select, -.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-month-select, -.dark - .ant-calendar-year-panel-header - .ant-calendar-year-panel-year-select - .dark - .ant-calendar-month-panel-header - .ant-calendar-month-panel-century-select, -.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-decade-select, -.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-month-select, -.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-year-select { - color: rgba(255, 255, 255, 0.85); -} - -.dark .ant-calendar-year-panel-header { - border-bottom: 1px solid var(--dark-color-surface-200); -} - -.dark .ant-calendar-year-panel-last-decade-cell .ant-calendar-year-panel-year, -.dark .ant-calendar-year-panel-next-decade-cell .ant-calendar-year-panel-year { - color: rgba(255, 255, 255, 0.35); -} - -.dark .ant-divider:not(.ant-divider-with-text-center, .ant-divider-with-text-left, .ant-divider-with-text-right), -.ant-dropdown-menu-dark, -.dark .ant-calendar-year-panel-year:hover, -.dark .ant-calendar-month-panel-month:hover, -.dark .ant-calendar-decade-panel-decade:hover { - background-color: var(--dark-color-surface-200); -} - -.dark .ant-calendar-header a:hover { - color: #fff; -} - -.dark .ant-calendar-month-panel-header { - background-color: var(--dark-color-background); - border-bottom: 1px solid var(--dark-color-surface-200); -} - -.dark .ant-calendar-year-panel, -.dark .ant-calendar table { - background-color: var(--dark-color-background); -} - -.dark .ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year, -.dark - .ant-calendar-year-panel-selected-cell - .ant-calendar-year-panel-year:hover, -.dark .ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month, -.dark - .ant-calendar-month-panel-selected-cell - .ant-calendar-month-panel-month:hover, -.dark - .ant-calendar-decade-panel-selected-cell - .ant-calendar-decade-panel-decade, -.dark - .ant-calendar-decade-panel-selected-cell - .ant-calendar-decade-panel-decade:hover { - color: #fff; - background-color: var(--color-primary-100); -} - -.dark .ant-calendar-last-month-cell .ant-calendar-date, -.dark .ant-calendar-last-month-cell .ant-calendar-date:hover, -.dark .ant-calendar-next-month-btn-day .ant-calendar-date, -.dark .ant-calendar-next-month-btn-day .ant-calendar-date:hover { - color: rgb(255 255 255 / 25%); - background: transparent; - border-color: transparent; -} - -.dark .ant-calendar-today .ant-calendar-date:hover { - color: #fff; - border-color: var(--color-primary-100); - background-color: var(--color-primary-100); -} - -.dark - .ant-calendar-decade-panel-last-century-cell - .ant-calendar-decade-panel-decade, -.dark - .ant-calendar-decade-panel-next-century-cell - .ant-calendar-decade-panel-decade { - color: rgb(255 255 255 / 25%); -} - -.dark .ant-calendar-decade-panel-header { - border-bottom: 1px solid var(--dark-color-surface-200); - background-color: var(--dark-color-background); -} - -.dark .ant-checkbox-inner { - background-color: rgba(0, 135, 113, 0.3); - border-color: rgba(0, 135, 113, 0.3); -} - -.dark .ant-checkbox-checked .ant-checkbox-inner { - background-color: var(--color-primary-100); - border-color: var(--color-primary-100); -} - -.dark .ant-calendar-input { - background-color: var(--dark-color-background); - color: var(--dark-color-text-primary); -} - -.dark .ant-calendar-input::placeholder { - color: rgba(255, 255, 255, 0.25); -} - -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not( - :last-child - ), -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not( - :last-child - ), -.ant-input-group.ant-input-group-compact - > .ant-input:not(:first-child):not(:last-child), -.ant-input-number-handler, -.ant-input-number-handler-wrap { - border-radius: 0; -} - -.ant-input-number { - overflow: clip; -} - -.ant-modal-body, -.ant-collapse-content>.ant-collapse-content-box { - overflow-x: auto; -} - -.ant-calendar-year-panel-year:hover, -.ant-calendar-decade-panel-decade:hover, -.ant-calendar-month-panel-month:hover, -.ant-dropdown-menu-item:hover, -.ant-dropdown-menu-submenu-title:hover, -.ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled), -.ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled), -.ant-table-tbody - > tr.ant-table-row-hover:not(.ant-table-expanded-row):not( - .ant-table-row-selected - ) - > td, -.ant-table-tbody - > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) - > td, -.ant-table-thead - > tr.ant-table-row-hover:not(.ant-table-expanded-row):not( - .ant-table-row-selected - ) - > td, -.ant-table-thead - > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) - > td, -.ant-calendar-time-picker-select li:hover { - background-color: rgb(232 244 242); -} - -.dark .ant-dropdown-menu-submenu-title:hover, -.dark .ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled), -.dark .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled) { - background-color: var(--dark-color-surface-600); -} - -.ant-select-dropdown, -.ant-popover-inner { - overflow-x: hidden; -} -.ant-popover-inner-content { - max-height: 400px; - overflow-y: auto; -} - -.qr-cv { - width: 100%; - height: 100%; - opacity: 0.8; - transition: all 0.3s; -} - -.qr-cv:hover { - opacity: 1; -} - -.qr-cv:active { - transform: scale(0.98); - transition: all 0.1s; -} - -.dark .qr-cv { - filter: invert(1); -} - -.qr-bg { - background-color: #ffffff; - display: flex; - justify-content: center; - align-content: center; - padding: 0.8rem; - border-radius: 1rem; - border: solid 1px #e8e8e8; -} - -.dark .qr-bg { - background-color: var(--dark-color-surface-700); - border-color: var(--dark-color-surface-300); -} - -.ant-input-group-addon:not(:first-child):not(:last-child) { - border-radius: 0rem 1rem 1rem 0rem; -} - -.ant-tag { - margin-right: 6px; -} - -b, strong { - font-weight: 500; -} - -.ant-collapse>.ant-collapse-item>.ant-collapse-header { - padding: 10px 16px 10px 40px; -} - -.dark .ant-message-notice-content { - background-color: var(--dark-color-surface-200); - border: 1px solid var(--dark-color-surface-300); - color: var(--dark-color-text-primary); -} - -.ant-btn-danger { - background-color: var(--dark-color-btn-danger); - border-color: var(--dark-color-btn-danger-border); -} - -.ant-btn-danger:focus, .ant-btn-danger:hover { - background-color: var(--dark-color-btn-danger-hover); - border-color: var(--dark-color-btn-danger-hover); -} - -.dark .ant-alert-close-icon .anticon-close:hover { - color: rgb(255 255 255); -} - -.ant-empty-small { - margin: 4px 0; - background-color: transparent !important; -} - -.ant-empty-small .ant-empty-image { - height: 20px; -} - -.ant-menu-theme-switch, .ant-menu-theme-switch:hover { - background-color: transparent !important; - cursor: default !important; -} - -.dark .ant-tooltip-inner, -.dark .ant-tooltip-arrow:before { - background-color: var(--dark-color-tooltip); -} - -.ant-select-sm .ant-select-selection__rendered { - margin-left: 10px; -} - -.ant-collapse { - -moz-animation: collfade 0.3s ease; - -webkit-animation: 0.3s collfade 0.3s ease; - animation: collfade 0.3s ease; -} - -@-webkit-keyframes collfade { - 0% { - transform: scaleY(.8); - transform-origin: 0% 0%; - opacity: 0; - } - - 100% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } -} - -@keyframes collfade { - 0% { - transform: scaleY(.8); - transform-origin: 0% 0%; - opacity: 0; - } - - 100% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } -} - -.ant-table-tbody>tr>td { - border-color: #f0f0f0; -} - -.ant-table-row-expand-icon { - vertical-align: middle; - margin-inline-end: 8px; - position: relative; - transform: scale(0.9411764705882353); -} - -.ant-table-row-collapsed::before { - transform: rotate(-180deg); - top: 7px; - inset-inline-end: 3px; - inset-inline-start: 3px; - height: 1px; - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ""; -} - -.ant-table-row-collapsed::after { - transform: rotate(0deg); - top: 3px; - bottom: 3px; - inset-inline-start: 7px; - width: 1px; - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ""; -} - -.ant-table-row-expanded::before { - top: 7px; - inset-inline-end: 3px; - inset-inline-start: 3px; - height: 1px; - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ""; -} - -.ant-table-row-expanded::after { - top: 3px; - bottom: 3px; - inset-inline-start: 7px; - width: 1px; - transform: rotate(90deg); - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ""; -} - -.ant-menu-item:active, .ant-menu-submenu-title:active { - background: transparent; -} - -.ant-menu-theme-switch.ant-menu-item .ant-switch:not(.ant-switch-disabled):active:after, .ant-switch:not(.ant-switch-disabled):active:before { - width: 16px; -} - -.dark .ant-select-disabled .ant-select-selection { - background: var(--dark-color-surface-100); - border-color: var(--dark-color-surface-200); - color: rgba(255, 255, 255, 0.25); -} +:root{--color-primary-100:#008771;--dark-color-background:#0a1222;--dark-color-surface-100:#151f31;--dark-color-surface-200:#222d42;--dark-color-surface-300:#2c3950;--dark-color-surface-400:rgba(65,85,119,.5);--dark-color-surface-500:#2c3950;--dark-color-surface-600:#313f5a;--dark-color-surface-700:#111929;--dark-color-table-hover:rgba(44,57,80,.2);--dark-color-text-primary:rgba(255,255,255,.75);--dark-color-stroke:#2c3950;--dark-color-btn-danger:#cd3838;--dark-color-btn-danger-border:transparent;--dark-color-btn-danger-hover:#e94b4b;--dark-color-tag-bg:rgba(255,255,255,.05);--dark-color-tag-border:rgba(255,255,255,.15);--dark-color-tag-color:rgba(255,255,255,.75);--dark-color-tag-green-bg:#112421;--dark-color-tag-green-border:#195141;--dark-color-tag-green-color:#3ad3ba;--dark-color-tag-purple-bg:#201425;--dark-color-tag-purple-border:#5a2969;--dark-color-tag-purple-color:#d988cd;--dark-color-tag-red-bg:#291515;--dark-color-tag-red-border:#5c2626;--dark-color-tag-red-color:#e04141;--dark-color-tag-orange-bg:#312313;--dark-color-tag-orange-border:#593914;--dark-color-tag-orange-color:#ffa031;--dark-color-tag-blue-bg:#111a2c;--dark-color-tag-blue-border:#1348ab;--dark-color-tag-blue-color:#529fff;--dark-color-codemirror-line-hover:rgba(0,135,113,.2);--dark-color-codemirror-line-selection:rgba(0,135,113,.3);--dark-color-login-background:var(--dark-color-background);--dark-color-login-wave:var(--dark-color-surface-200);--dark-color-tooltip:rgba(61,76,104,.9)}html[data-theme-animations='off']{.ant-menu,.ant-layout-sider,.ant-card,.ant-tag,.ant-progress-circle>*,.ant-input,.ant-table-row-expand-icon,.ant-switch,.ant-table-thead>tr>th,.ant-select-selection,.ant-btn,.ant-input-number,.ant-input-group-addon,.ant-checkbox-inner,.ant-progress-bg,.ant-progress-success-bg,.ant-radio-button-wrapper:not(:first-child):before,.ant-radio-button-wrapper,#login{transition:border 0s,background 0s!important}.ant-menu-item,.ant-menu-submenu-title,.ant-alert-close-icon .anticon-close,.ant-tabs-nav .ant-tabs-tab,.ant-input-number-input,.ant-collapse>.ant-collapse-item>.ant-collapse-header,.Line-Hover{transition:color 0s!important}.wave-btn-bg{transition:width 0s!important}}html[data-theme='ultra-dark']{--dark-color-background:#21242a;--dark-color-surface-100:#0c0e12;--dark-color-surface-200:#222327;--dark-color-surface-300:#32353b;--dark-color-surface-400:rgba(255,255,255,.1);--dark-color-surface-500:#3b404b;--dark-color-surface-600:#505663;--dark-color-surface-700:#101113;--dark-color-table-hover:rgba(89,89,89,.15);--dark-color-text-primary:rgb(255 255 255 / 85%);--dark-color-stroke:#202025;--dark-color-tag-green-bg:#112421;--dark-color-tag-green-border:#1d5f4d;--dark-color-tag-green-color:#59cbac;--dark-color-tag-purple-bg:#241121;--dark-color-tag-purple-border:#5a2969;--dark-color-tag-purple-color:#d686ca;--dark-color-tag-red-bg:#2a1215;--dark-color-tag-red-border:#58181c;--dark-color-tag-red-color:#e84749;--dark-color-tag-orange-bg:#2b1d11;--dark-color-tag-orange-border:#593815;--dark-color-tag-orange-color:#e89a3c;--dark-color-tag-blue-bg:#111a2c;--dark-color-tag-blue-border:#0f367e;--dark-color-tag-blue-color:#3c89e8;--dark-color-codemirror-line-hover:rgba(85,85,85,.3);--dark-color-codemirror-line-selection:rgba(85,85,85,.4);--dark-color-login-background:#0a2227;--dark-color-login-wave:#0f2d32;--dark-color-tooltip:rgba(88,93,100,.9);.ant-dropdown-menu-dark{background-color:var(--dark-color-surface-500)}.dark .ant-dropdown-menu-submenu-title:hover,.dark .ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled),.dark .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled){background-color:var(--dark-color-surface-300)}.dark .waves-header{background-color:#0a2227}.dark .ant-calendar-year-panel-year:hover,.dark .ant-calendar-month-panel-month:hover,.dark .ant-calendar-decade-panel-decade:hover{background-color:var(--dark-color-surface-600)}}html,body{height:100vh;width:100vw;margin:0;padding:0;overflow:hidden}body{color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;background-color:#fff;font-feature-settings:"tnum"}html{--antd-wave-shadow-color:var(--color-primary-100);line-height:1.15;text-size-adjust:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}::selection{color:var(--color-primary-100);background-color:#cfe8e4}#app{height:100%;position:fixed;top:0;left:0;right:0;bottom:0;margin:0;padding:0;overflow:auto}.ant-layout,.ant-layout *{box-sizing:border-box}.ant-spin-blur{border-radius:1.5rem}style attribute{text-align:center}.ant-table-thead>tr>th{padding:16px 8px}.ant-table-tbody>tr>td{padding:12px 8px}.ant-table-thead>tr>th{color:rgba(0,0,0,.85);font-weight:500;text-align:left;border-bottom:1px solid #e8e8e8;transition:background .3s ease}.ant-table table{width:100%;text-align:left;border-radius:1rem 1rem 0 0;border-collapse:separate;border-spacing:0}.ant-table{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:"tnum";position:relative;clear:both}.ant-table-wrapper>div>div>div>div>div>div{overflow-x:auto!important}.ant-card-hoverable{cursor:auto;cursor:pointer}.ant-card{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:"tnum";position:relative;background-color:#fff;border-radius:2px;transition:all .3s}.ant-space{width:100%}.ant-layout-sider-zero-width-trigger{display:none}@media (max-width:768px){.ant-layout-sider{display:none}.ant-card,.ant-alert-error{margin:.5rem}.ant-tabs{margin:.5rem;padding:.5rem}.ant-modal-body{padding:20px}.ant-form-item-label{line-height:1.5;padding:8px 0 0}}.ant-layout-content{min-height:auto}.ant-card,.ant-tabs{border-radius:1.5rem}.ant-card-hoverable{cursor:auto}.ant-card+.ant-card{margin-top:20px}.drawer-handle{position:absolute;top:72px;width:41px;height:40px;cursor:pointer;z-index:0;text-align:center;line-height:40px;font-size:16px;display:flex;justify-content:center;align-items:center;background-color:#fff;right:-40px;box-shadow:2px 0 8px rgba(0,0,0,.15);border-radius:0 4px 4px 0}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#006655!important;background-image:linear-gradient(270deg,rgba(123,199,77,0) 30%,#009980,rgba(123,199,77,0) 100%);background-repeat:no-repeat;animation:ma-bg-move linear 6.6s infinite;color:#fff;border-radius:.5rem}@-webkit-keyframes ma-bg-move{0%{background-position:-500px 0}100%{background-position:1000px 0}}@keyframes ma-bg-move{0%{background-position:-500px 0}50%{background-position:1000px 0}100%{background-position:1000px 0}}.ant-menu-item-active,.ant-menu-item:hover,.ant-menu-submenu-active,.ant-menu-submenu-title:hover,.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:var(--color-primary-100);background-color:rgb(232 244 242);border-radius:.5rem}.ant-menu-inline .ant-menu-item{border-radius:.5rem}.ant-menu-inline .ant-menu-item:after,.ant-menu{border-right-width:0}.ant-layout-sider-children,.ant-pagination ul{margin-top:-.1px;padding:.5rem}.ant-dropdown-menu,.ant-select-dropdown-menu{padding:.5rem}.ant-dropdown-menu-item,.ant-dropdown-menu-item:hover,.ant-select-dropdown-menu-item,.ant-select-dropdown-menu-item:hover,.ant-select-dropdown-menu-item-selected,.ant-select-selection--multiple .ant-select-selection__choice{border-radius:.5rem;margin-bottom:2px}@media (min-width:769px){.drawer-handle{display:none}.ant-tabs{padding:2rem}.ant-alert-error{margin-inline:.3rem}}.fade-in-enter,.fade-in-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-enter-active,.fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.zoom-in-center-enter-active,.zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.zoom-in-center-enter,.zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.zoom-in-top-enter-active,.zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.zoom-in-top-enter,.zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-bottom-enter-active,.zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.zoom-in-bottom-enter,.zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-left-enter-active,.zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.zoom-in-left-enter,.zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.list-enter-active,.list-leave-active{-webkit-transition:all .3s;transition:all .3s}.list-enter,.list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.ant-tooltip-inner{min-height:0}.ant-list-item-meta-title{font-size:14px}.ant-progress-inner{background-color:#ebeef5}.deactive-client .ant-collapse-header{color:rgb(255,255,255)!important;background-color:rgb(255,127,127)}.ant-table-expand-icon-th,.ant-table-row-expand-icon-cell{width:30px;min-width:30px}.ant-tabs{background-color:white}.ant-form-item{margin-bottom:0}.ant-setting-textarea{margin-top:1.5rem}.client-table-header{background-color:#f0f2f5}.client-table-odd-row{background-color:#fafafa}.ant-table-pagination.ant-pagination{float:left}.ant-tag-blue{background-color:#edf4fa;border-color:#a9c5e7;color:#0e49b5}.ant-tag-green{background-color:#eafff9;border-color:#76ccb4;color:#199270}.ant-tag-purple{background-color:#f2eaf1;border-color:#d5bed2;color:#7a316f}.ant-tag-orange,.ant-alert-warning{background-color:#ffeee1;border-color:#fec093;color:#f37b24}.ant-tag-red,.ant-alert-error{background-color:#ffe9e9;border-color:#ff9e9e;color:#cf3c3c}.ant-input::placeholder{opacity:.5}.ant-input:hover,.ant-input:focus{background-color:rgb(232 244 242)}.delete-icon:hover{color:#e04141}.normal-icon:hover{color:var(--color-primary-100)}.dark::selection{color:#fff;background-color:var(--color-primary-100)}.dark .normal-icon:hover{color:#ffffff}.dark .ant-layout-sider,.dark .ant-drawer-content,.ant-menu-dark,.ant-menu-dark .ant-menu-sub,.dark .ant-card,.dark .ant-table,.dark .ant-collapse-content,.dark .ant-tabs{background-color:var(--dark-color-surface-100);color:var(--dark-color-text-primary)}.dark .ant-card-hoverable:hover,.dark .ant-space-item>.ant-tabs:hover{box-shadow:0 2px 8px transparent}.dark>.ant-layout,.dark .drawer-handle,.dark .ant-table-thead>tr>th,.dark .ant-table-expanded-row,.dark .ant-table-expanded-row:hover,.dark .ant-table-expanded-row .ant-table-tbody,.dark .ant-calendar{background-color:var(--dark-color-background);color:var(--dark-color-text-primary)}.dark .ant-table-expanded-row .ant-table-thead>tr:first-child>th{border-radius:0}.dark .ant-calendar,.dark .ant-card-bordered{border-color:var(--dark-color-background)}.dark .ant-table-bordered,.dark .ant-table-bordered.ant-table-empty .ant-table-placeholder,.dark .ant-table-bordered .ant-table-body>table,.dark .ant-table-bordered .ant-table-fixed-left table,.dark .ant-table-bordered .ant-table-fixed-right table,.dark .ant-table-bordered .ant-table-header>table,.dark .ant-table-bordered .ant-table-thead>tr:not(:last-child)>th,.dark .ant-table-bordered .ant-table-tbody>tr>td,.dark .ant-table-bordered .ant-table-thead>tr>th{border-color:var(--dark-color-surface-400)}.dark .ant-table-tbody>tr>td,.dark .ant-table-thead>tr>th,.dark .ant-card-head,.dark .ant-modal-header,.dark .ant-collapse>.ant-collapse-item,.dark .ant-tabs-bar,.dark .ant-list-split .ant-list-item,.dark .ant-popover-title,.dark .ant-calendar-header,.dark .ant-calendar-input-wrap{border-bottom-color:var(--dark-color-surface-400)}.dark .ant-modal-footer,.dark .ant-collapse-content,.dark .ant-calendar-footer,.dark .ant-divider-horizontal.ant-divider-with-text-left:before,.dark .ant-divider-horizontal.ant-divider-with-text-left:after,.dark .ant-divider-horizontal.ant-divider-with-text-center:before,.dark .ant-divider-horizontal.ant-divider-with-text-center:after{border-top-color:var(--dark-color-surface-300)}.ant-divider-horizontal.ant-divider-with-text-left:before{width:10%}.dark .ant-progress-text,.dark .ant-card-head,.dark .ant-form,.dark .ant-collapse>.ant-collapse-item>.ant-collapse-header,.dark .ant-modal-close-x,.dark .ant-pagination-item a,.dark li:not(.ant-pagination-disabled) i,.dark .ant-form .anticon,.dark .ant-tabs-tab-arrow-show:not(.ant-tabs-tab-btn-disabled),.dark .anticon-close,.dark .ant-list-item-meta-title,.dark .ant-select-selection i,.dark .ant-modal-confirm-title,.dark .ant-modal-confirm-content,.dark .ant-popover-message,.dark .ant-modal,.dark .ant-divider-inner-text,.dark .ant-popover-title,.dark .ant-popover-inner-content,.dark h2,.dark .ant-modal-title,.dark .ant-form-item-label>label,.dark .ant-checkbox-wrapper,.dark .ant-form-item,.dark .ant-calendar-footer .ant-calendar-today-btn,.dark .ant-calendar-footer .ant-calendar-time-picker-btn,.dark .ant-calendar-day-select,.dark .ant-calendar-month-select,.dark .ant-calendar-year-select,.dark .ant-calendar-date,.dark .ant-calendar-year-panel-year,.dark .ant-calendar-month-panel-month,.dark .ant-calendar-decade-panel-decade{color:var(--dark-color-text-primary)}.dark .ant-list-item-meta-description{color:rgba(255,255,255,.45)}.dark .ant-pagination-disabled i,.dark .ant-tabs-tab-btn-disabled{color:rgba(255,255,255,.25)}.dark .ant-input,.dark .ant-input-group-addon,.dark .ant-collapse,.dark .ant-select-selection,.dark .ant-input-number,.dark .ant-input-number-handler-wrap,.dark .ant-pagination-item-active,.dark .ant-table-placeholder,.dark .ant-empty-normal,.dark.ant-select-dropdown,.dark .ant-select-dropdown,.dark .ant-select-dropdown li,.dark .ant-select-dropdown-menu-item,.dark .client-table-header,.dark .ant-select-selection--multiple .ant-select-selection__choice,.dark .ant-calendar-time-picker-inner{background-color:var(--dark-color-surface-200);border-color:var(--dark-color-surface-300);color:var(--dark-color-text-primary)}.dark .ant-select-selection:hover,.dark .ant-calendar-picker-clear,.dark .ant-input-number:hover,.dark .ant-input-number:focus,.dark .ant-input:hover,.dark .ant-input:focus{background-color:rgba(0,135,113,.3);border-color:var(--color-primary-100)}.dark .ant-btn:not(.ant-btn-primary):not(.ant-btn-danger){color:var(--dark-color-text-primary);background-color:rgb(10 117 87 / 30%);border:1px solid var(--color-primary-100)}.dark .ant-radio-button-wrapper,.dark .ant-radio-button-wrapper:before{color:var(--dark-color-text-primary);background-color:rgba(0,135,113,.3);border-color:var(--color-primary-100)}.dark .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.dark .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger){color:#fff;background-color:rgb(10 117 87 / 50%);border-color:var(--color-primary-100)}.dark .ant-btn-primary[disabled],.dark .ant-btn-danger[disabled],.dark .ant-calendar-ok-btn-disabled{color:rgb(255 255 255 / 35%);background-color:var(--dark-color-surface-200);border-color:var(--dark-color-surface-300)}.dark .ant-table-tbody>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td,.dark .client-table-odd-row{background-color:var(--dark-color-table-hover)}.dark .ant-table-row-expand-icon{color:#fff;background-color:#fff0;border-color:rgb(255 255 255 / 20%)}.dark .ant-table-row-expand-icon:hover{color:var(--color-primary-100);background-color:#fff0;border-color:var(--color-primary-100)}.dark .ant-switch:not(.ant-switch-checked),.dark .ant-progress-line .ant-progress-inner{background-color:var(--dark-color-surface-500)}.dark .ant-progress-circle-trail{stroke:var(--dark-color-stroke)!important}.dark .ant-popover-inner{background-color:var(--dark-color-surface-500)}.dark>.ant-popover-content>.ant-popover-arrow{border-color:var(--dark-color-surface-500)}@media (max-width:768px){.dark .ant-popover-inner{background-color:var(--dark-color-surface-200)}.dark>.ant-popover-content>.ant-popover-arrow{border-color:var(--dark-color-surface-200)}}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.dark .ant-select-dropdown-menu-item-selected,.dark .ant-calendar-time-picker-select-option-selected{background-color:var(--dark-color-surface-600)}.ant-menu-dark .ant-menu-item:hover{background-color:var(--dark-color-surface-300)}.dark .ant-alert-message{color:rgba(255,255,255,.85)}.dark .ant-tag{color:var(--dark-color-tag-color);background-color:var(--dark-color-tag-bg);border-color:var(--dark-color-tag-border)}.dark .ant-tag-blue{background-color:var(--dark-color-tag-blue-bg);border-color:var(--dark-color-tag-blue-border);color:var(--dark-color-tag-blue-color)}.dark .ant-tag-red,.dark .ant-alert-error{background-color:var(--dark-color-tag-red-bg);border-color:var(--dark-color-tag-red-border);color:var(--dark-color-tag-red-color)}.dark .ant-tag-orange,.dark .ant-alert-warning{background-color:var(--dark-color-tag-orange-bg);border-color:var(--dark-color-tag-orange-border);color:var(--dark-color-tag-orange-color)}.dark .ant-tag-green{background-color:var(--dark-color-tag-green-bg);border-color:var(--dark-color-tag-green-border);color:var(--dark-color-tag-green-color)}.dark .ant-tag-purple{background-color:var(--dark-color-tag-purple-bg);border-color:var(--dark-color-tag-purple-border);color:var(--dark-color-tag-purple-color)}.dark .ant-modal-content,.dark .ant-modal-header{background-color:var(--dark-color-surface-700)}.dark .ant-calendar-next-month-btn-day .ant-calendar-date,.dark .ant-calendar-last-month-cell .ant-calendar-date{color:var(--dark-color-surface-300)}.dark .ant-calendar-selected-day .ant-calendar-date{background-color:var(--color-primary-100)!important;color:#fff}.dark .ant-calendar-date:hover,.dark .ant-calendar-time-picker-select li:hover{background-color:var(--dark-color-surface-600);color:#fff}.dark .ant-calendar-header a:hover,.dark .ant-calendar-header a:hover::before,.dark .ant-calendar-header a:hover::after{border-color:#fff}.dark .ant-calendar-time-picker-select li:focus{color:#fff;font-weight:600;outline:none;background-color:var(--color-primary-100)}.dark .ant-calendar-time-picker-select{border-right-color:var(--dark-color-surface-300)}.has-warning .ant-select-selection,.has-warning .ant-select-selection:hover,.has-warning .ant-input,.has-warning .ant-input:hover{background-color:#ffeee1;border-color:#fec093}.has-warning .ant-input::placeholder{color:#f37b24}.has-warning .ant-input:not([disabled]):hover{border-color:#fec093}.dark .has-warning .ant-select-selection,.dark .has-warning .ant-select-selection:hover,.dark .has-warning .ant-input,.dark .has-warning .ant-input:hover{border-color:#784e1d;background:rgb(49,35,19)}.dark .has-warning .ant-input::placeholder{color:rgb(255 160 49 / 70%)}.dark .has-warning .anticon{color:#ffa031}.dark .has-success .anticon{color:var(--color-primary-100);animation-name:diffZoomIn1!important}.dark .anticon-close-circle{color:#e04141}.dark .ant-spin-nested-loading>div>.ant-spin .ant-spin-text{text-shadow:0 1px 2px #00000077}.dark .ant-spin{color:#fff}.dark .ant-spin-dot-item{background-color:#fff}.ant-checkbox-wrapper,.ant-input-group-addon,.ant-tabs-tab,.ant-input::placeholder,.ant-collapse-header,.ant-menu,.ant-radio-button-wrapper{-webkit-user-select:none;user-select:none}.ant-calendar-date,.ant-calendar-year-panel-year,.ant-calendar-decade-panel-decade,.ant-calendar-month-panel-month,.ant-checkbox-inner,.ant-checkbox-checked:after,.ant-table-row-expand-icon{border-radius:6px}.ant-calendar-date:hover{background-color:rgb(232 244 242)}.ant-calendar-date:active{background-color:rgb(232 244 242);color:rgba(0,0,0,.65)}.ant-calendar-today .ant-calendar-date{color:var(--color-primary-100);font-weight:700;border-color:var(--color-primary-100)}.dark .ant-calendar-today .ant-calendar-date{color:#fff;font-weight:700;border-color:var(--color-primary-100)}.ant-calendar-selected-day .ant-calendar-date{background:var(--color-primary-100);color:#ffffff}li.ant-select-dropdown-menu-item:empty:after{content:"None";font-weight:normal;color:rgba(0,0,0,.25)}.dark li.ant-select-dropdown-menu-item:empty:after{content:"None";font-weight:normal;color:rgba(255,255,255,.3)}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon{color:rgba(0,0,0,.87)}.dark.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon{color:rgb(255,255,255)}.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected .ant-select-selected-icon,.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon{color:var(--color-primary-100)}.ant-select-selection:hover,.ant-input-number-focused,.ant-input-number:hover{background-color:rgb(232 244 242)}.dark .ant-input-number-handler:active{background-color:var(--color-primary-100)}.dark .ant-input-number-handler:hover .ant-input-number-handler-down-inner,.dark .ant-input-number-handler:hover .ant-input-number-handler-up-inner{color:#fff}.dark .ant-input-number-handler-down{border-top:1px solid rgba(217,217,217,.3)}.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-century-select,.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-decade-select,.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-month-select,.dark .ant-calendar-year-panel-header .ant-calendar-year-panel-year-select .dark .ant-calendar-month-panel-header .ant-calendar-month-panel-century-select,.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-decade-select,.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-month-select,.dark .ant-calendar-month-panel-header .ant-calendar-month-panel-year-select{color:rgba(255,255,255,.85)}.dark .ant-calendar-year-panel-header{border-bottom:1px solid var(--dark-color-surface-200)}.dark .ant-calendar-year-panel-last-decade-cell .ant-calendar-year-panel-year,.dark .ant-calendar-year-panel-next-decade-cell .ant-calendar-year-panel-year{color:rgba(255,255,255,.35)}.dark .ant-divider:not(.ant-divider-with-text-center,.ant-divider-with-text-left,.ant-divider-with-text-right),.ant-dropdown-menu-dark,.dark .ant-calendar-year-panel-year:hover,.dark .ant-calendar-month-panel-month:hover,.dark .ant-calendar-decade-panel-decade:hover{background-color:var(--dark-color-surface-200)}.dark .ant-calendar-header a:hover{color:#fff}.dark .ant-calendar-month-panel-header{background-color:var(--dark-color-background);border-bottom:1px solid var(--dark-color-surface-200)}.dark .ant-calendar-year-panel,.dark .ant-calendar table{background-color:var(--dark-color-background)}.dark .ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year,.dark .ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year:hover,.dark .ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month,.dark .ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month:hover,.dark .ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade,.dark .ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade:hover{color:#fff;background-color:var(--color-primary-100)}.dark .ant-calendar-last-month-cell .ant-calendar-date,.dark .ant-calendar-last-month-cell .ant-calendar-date:hover,.dark .ant-calendar-next-month-btn-day .ant-calendar-date,.dark .ant-calendar-next-month-btn-day .ant-calendar-date:hover{color:rgb(255 255 255 / 25%);background:transparent;border-color:transparent}.dark .ant-calendar-today .ant-calendar-date:hover{color:#fff;border-color:var(--color-primary-100);background-color:var(--color-primary-100)}.dark .ant-calendar-decade-panel-last-century-cell .ant-calendar-decade-panel-decade,.dark .ant-calendar-decade-panel-next-century-cell .ant-calendar-decade-panel-decade{color:rgb(255 255 255 / 25%)}.dark .ant-calendar-decade-panel-header{border-bottom:1px solid var(--dark-color-surface-200);background-color:var(--dark-color-background)}.dark .ant-checkbox-inner{background-color:rgba(0,135,113,.3);border-color:rgba(0,135,113,.3)}.dark .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--color-primary-100);border-color:var(--color-primary-100)}.dark .ant-calendar-input{background-color:var(--dark-color-background);color:var(--dark-color-text-primary)}.dark .ant-calendar-input::placeholder{color:rgba(255,255,255,.25)}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child),.ant-input-number-handler,.ant-input-number-handler-wrap{border-radius:0}.ant-input-number{overflow:clip}.ant-modal-body,.ant-collapse-content>.ant-collapse-content-box{overflow-x:auto}.ant-calendar-year-panel-year:hover,.ant-calendar-decade-panel-decade:hover,.ant-calendar-month-panel-month:hover,.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover,.ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled),.ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled),.ant-table-tbody>tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td,.ant-table-tbody>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td,.ant-table-thead>tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td,.ant-table-thead>tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)>td,.ant-calendar-time-picker-select li:hover{background-color:rgb(232 244 242)}.dark .ant-dropdown-menu-submenu-title:hover,.dark .ant-select-dropdown-menu-item-active:not(.ant-select-dropdown-menu-item-disabled),.dark .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled){background-color:var(--dark-color-surface-600)}.ant-select-dropdown,.ant-popover-inner{overflow-x:hidden}.ant-popover-inner-content{max-height:400px;overflow-y:auto}.qr-cv{width:100%;height:100%;opacity:.8;transition:all .3s}.qr-cv:hover{opacity:1}.qr-cv:active{transform:scale(.98);transition:all .1s}.dark .qr-cv{filter:invert(1)}.qr-bg{background-color:#ffffff;display:flex;justify-content:center;align-content:center;padding:.8rem;border-radius:1rem;border:solid 1px #e8e8e8}.dark .qr-bg{background-color:var(--dark-color-surface-700);border-color:var(--dark-color-surface-300)}.ant-input-group-addon:not(:first-child):not(:last-child){border-radius:0 1rem 1rem 0}.ant-tag{margin-right:6px}b,strong{font-weight:500}.ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:10px 16px 10px 40px}.dark .ant-message-notice-content{background-color:var(--dark-color-surface-200);border:1px solid var(--dark-color-surface-300);color:var(--dark-color-text-primary)}.ant-btn-danger{background-color:var(--dark-color-btn-danger);border-color:var(--dark-color-btn-danger-border)}.ant-btn-danger:focus,.ant-btn-danger:hover{background-color:var(--dark-color-btn-danger-hover);border-color:var(--dark-color-btn-danger-hover)}.dark .ant-alert-close-icon .anticon-close:hover{color:rgb(255 255 255)}.ant-empty-small{margin:4px 0;background-color:transparent!important}.ant-empty-small .ant-empty-image{height:20px}.ant-menu-theme-switch,.ant-menu-theme-switch:hover{background-color:transparent!important;cursor:default!important}.dark .ant-tooltip-inner,.dark .ant-tooltip-arrow:before{background-color:var(--dark-color-tooltip)}.ant-select-sm .ant-select-selection__rendered{margin-left:10px}.ant-collapse{-moz-animation:collfade .3s ease;-webkit-animation:.3s collfade .3s ease;animation:collfade .3s ease}@-webkit-keyframes collfade{0%{transform:scaleY(.8);transform-origin:0 0%;opacity:0}100%{transform:scaleY(1);transform-origin:0 0%;opacity:1}}@keyframes collfade{0%{transform:scaleY(.8);transform-origin:0 0%;opacity:0}100%{transform:scaleY(1);transform-origin:0 0%;opacity:1}}.ant-table-tbody>tr>td{border-color:#f0f0f0}.ant-table-row-expand-icon{vertical-align:middle;margin-inline-end:8px;position:relative;transform:scale(.9411764705882353)}.ant-table-row-collapsed::before{transform:rotate(-180deg);top:7px;inset-inline-end:3px;inset-inline-start:3px;height:1px;position:absolute;background:currentcolor;transition:transform .3s ease-out;content:""}.ant-table-row-collapsed::after{transform:rotate(0deg);top:3px;bottom:3px;inset-inline-start:7px;width:1px;position:absolute;background:currentcolor;transition:transform .3s ease-out;content:""}.ant-table-row-expanded::before{top:7px;inset-inline-end:3px;inset-inline-start:3px;height:1px;position:absolute;background:currentcolor;transition:transform .3s ease-out;content:""}.ant-table-row-expanded::after{top:3px;bottom:3px;inset-inline-start:7px;width:1px;transform:rotate(90deg);position:absolute;background:currentcolor;transition:transform .3s ease-out;content:""}.ant-menu-item:active,.ant-menu-submenu-title:active{background:transparent}.ant-menu-theme-switch.ant-menu-item .ant-switch:not(.ant-switch-disabled):active:after,.ant-switch:not(.ant-switch-disabled):active:before{width:16px}.dark .ant-select-disabled .ant-select-selection{background:var(--dark-color-surface-100);border-color:var(--dark-color-surface-200);color:rgba(255,255,255,.25)} \ No newline at end of file diff --git a/web/assets/moment/moment-jalali.min.js b/web/assets/moment/moment-jalali.min.js index a5947644..8b6ebfde 100644 --- a/web/assets/moment/moment-jalali.min.js +++ b/web/assets/moment/moment-jalali.min.js @@ -1,1252 +1 @@ - -;(function(){ - - /** - * Require the module at `name`. - * - * @param {String} name - * @return {Object} exports - * @api public - */ - - function require(name) { - var module = require.modules[name]; - if (!module) throw new Error('failed to require "' + name + '"'); - - if (!('exports' in module) && typeof module.definition === 'function') { - module.client = module.component = true; - module.definition.call(this, module.exports = {}, module); - delete module.definition; - } - - return module.exports; - } - - /** - * Registered modules. - */ - - require.modules = { - moment: { exports: moment } - }; - - /** - * Register module at `name` with callback `definition`. - * - * @param {String} name - * @param {Function} definition - * @api private - */ - - require.register = function (name, definition) { - require.modules[name] = { - definition: definition - }; - }; - - /** - * Define a module's exports immediately with `exports`. - * - * @param {String} name - * @param {Generic} exports - * @api private - */ - - require.define = function (name, exports) { - require.modules[name] = { - exports: exports - }; - }; - - require.register("jalaali-js", function (exports, module) { - /* - Expose functions. - */ - module.exports = - { toJalaali: toJalaali - , toGregorian: toGregorian - , isValidJalaaliDate: isValidJalaaliDate - , isLeapJalaaliYear: isLeapJalaaliYear - , jalaaliMonthLength: jalaaliMonthLength - , jalCal: jalCal - , j2d: j2d - , d2j: d2j - , g2d: g2d - , d2g: d2g - } - - /* - Converts a Gregorian date to Jalaali. - */ - function toJalaali(gy, gm, gd) { - if (Object.prototype.toString.call(gy) === '[object Date]') { - gd = gy.getDate() - gm = gy.getMonth() + 1 - gy = gy.getFullYear() - } - return d2j(g2d(gy, gm, gd)) - } - - /* - Converts a Jalaali date to Gregorian. - */ - function toGregorian(jy, jm, jd) { - return d2g(j2d(jy, jm, jd)) - } - - /* - Checks whether a Jalaali date is valid or not. - */ - function isValidJalaaliDate(jy, jm, jd) { - return jy >= -61 && jy <= 3177 && - jm >= 1 && jm <= 12 && - jd >= 1 && jd <= jalaaliMonthLength(jy, jm) - } - - /* - Is this a leap year or not? - */ - function isLeapJalaaliYear(jy) { - return jalCal(jy).leap === 0 - } - - /* - Number of days in a given month in a Jalaali year. - */ - function jalaaliMonthLength(jy, jm) { - if (jm <= 6) return 31 - if (jm <= 11) return 30 - if (isLeapJalaaliYear(jy)) return 30 - return 29 - } - - /* - This function determines if the Jalaali (Persian) year is - leap (366-day long) or is the common year (365 days), and - finds the day in March (Gregorian calendar) of the first - day of the Jalaali year (jy). - - @param jy Jalaali calendar year (-61 to 3177) - @return - leap: number of years since the last leap year (0 to 4) - gy: Gregorian year of the beginning of Jalaali year - march: the March day of Farvardin the 1st (1st day of jy) - @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm - @see: http://www.fourmilab.ch/documents/calendar/ - */ - function jalCal(jy) { - // Jalaali years starting the 33-year rule. - var breaks = [ -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210 - , 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178 - ] - , bl = breaks.length - , gy = jy + 621 - , leapJ = -14 - , jp = breaks[0] - , jm - , jump - , leap - , leapG - , march - , n - , i - - if (jy < jp || jy >= breaks[bl - 1]) - throw new Error('Invalid Jalaali year ' + jy) - - // Find the limiting years for the Jalaali year jy. - for (i = 1; i < bl; i += 1) { - jm = breaks[i] - jump = jm - jp - if (jy < jm) - break - leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4) - jp = jm - } - n = jy - jp - - // Find the number of leap years from AD 621 to the beginning - // of the current Jalaali year in the Persian calendar. - leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4) - if (mod(jump, 33) === 4 && jump - n === 4) - leapJ += 1 - - // And the same in the Gregorian calendar (until the year gy). - leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150 - - // Determine the Gregorian date of Farvardin the 1st. - march = 20 + leapJ - leapG - - // Find how many years have passed since the last leap year. - if (jump - n < 6) - n = n - jump + div(jump + 4, 33) * 33 - leap = mod(mod(n + 1, 33) - 1, 4) - if (leap === -1) { - leap = 4 - } - - return { leap: leap - , gy: gy - , march: march - } - } - - /* - Converts a date of the Jalaali calendar to the Julian Day number. - - @param jy Jalaali year (1 to 3100) - @param jm Jalaali month (1 to 12) - @param jd Jalaali day (1 to 29/31) - @return Julian Day number - */ - function j2d(jy, jm, jd) { - var r = jalCal(jy) - return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1 - } - - /* - Converts the Julian Day number to a date in the Jalaali calendar. - - @param jdn Julian Day number - @return - jy: Jalaali year (1 to 3100) - jm: Jalaali month (1 to 12) - jd: Jalaali day (1 to 29/31) - */ - function d2j(jdn) { - var gy = d2g(jdn).gy // Calculate Gregorian year (gy). - , jy = gy - 621 - , r = jalCal(jy) - , jdn1f = g2d(gy, 3, r.march) - , jd - , jm - , k - - // Find number of days that passed since 1 Farvardin. - k = jdn - jdn1f - if (k >= 0) { - if (k <= 185) { - // The first 6 months. - jm = 1 + div(k, 31) - jd = mod(k, 31) + 1 - return { jy: jy - , jm: jm - , jd: jd - } - } else { - // The remaining months. - k -= 186 - } - } else { - // Previous Jalaali year. - jy -= 1 - k += 179 - if (r.leap === 1) - k += 1 - } - jm = 7 + div(k, 30) - jd = mod(k, 30) + 1 - return { jy: jy - , jm: jm - , jd: jd - } - } - - /* - Calculates the Julian Day number from Gregorian or Julian - calendar dates. This integer number corresponds to the noon of - the date (i.e. 12 hours of Universal Time). - The procedure was tested to be good since 1 March, -100100 (of both - calendars) up to a few million years into the future. - - @param gy Calendar year (years BC numbered 0, -1, -2, ...) - @param gm Calendar month (1 to 12) - @param gd Calendar day of the month (1 to 28/29/30/31) - @return Julian Day number - */ - function g2d(gy, gm, gd) { - var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) - + div(153 * mod(gm + 9, 12) + 2, 5) - + gd - 34840408 - d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752 - return d - } - - /* - Calculates Gregorian and Julian calendar dates from the Julian Day number - (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both - calendars) to some millions years ahead of the present. - - @param jdn Julian Day number - @return - gy: Calendar year (years BC numbered 0, -1, -2, ...) - gm: Calendar month (1 to 12) - gd: Calendar day of the month M (1 to 28/29/30/31) - */ - function d2g(jdn) { - var j - , i - , gd - , gm - , gy - j = 4 * jdn + 139361631 - j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908 - i = div(mod(j, 1461), 4) * 5 + 308 - gd = div(mod(i, 153), 5) + 1 - gm = mod(div(i, 153), 12) + 1 - gy = div(j, 1461) - 100100 + div(8 - gm, 6) - return { gy: gy - , gm: gm - , gd: gd - } - } - - /* - Utility helper functions. - */ - - function div(a, b) { - return ~~(a / b) - } - - function mod(a, b) { - return a - ~~(a / b) * b - } - }) - require.register("moment-jalaali", function (exports, module) { - - module.exports = jMoment - - var moment = require('moment') - , jalaali = require('jalaali-js') - - /************************************ - Constants - ************************************/ - - var formattingTokens = /(\[[^\[]*\])|(\\)?j(Mo|MM?M?M?|Do|DDDo|DD?D?D?|w[o|w]?|YYYYY|YYYY|YY|gg(ggg?)?|)|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g - , localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS?|LL?L?L?|l{1,4})/g - - , parseTokenOneOrTwoDigits = /\d\d?/ - , parseTokenOneToThreeDigits = /\d{1,3}/ - , parseTokenThreeDigits = /\d{3}/ - , parseTokenFourDigits = /\d{1,4}/ - , parseTokenSixDigits = /[+\-]?\d{1,6}/ - , parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i - , parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i - , parseTokenT = /T/i - , parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/ - , symbolMap = { - '1': '۱', - '2': '۲', - '3': '۳', - '4': '۴', - '5': '۵', - '6': '۶', - '7': '۷', - '8': '۸', - '9': '۹', - '0': '۰' - } - , numberMap = { - '۱': '1', - '۲': '2', - '۳': '3', - '۴': '4', - '۵': '5', - '۶': '6', - '۷': '7', - '۸': '8', - '۹': '9', - '۰': '0' - } - - - , unitAliases = - { jm: 'jmonth' - , jmonths: 'jmonth' - , jy: 'jyear' - , jyears: 'jyear' - } - - , formatFunctions = {} - - , ordinalizeTokens = 'DDD w M D'.split(' ') - , paddedTokens = 'M D w'.split(' ') - - , formatTokenFunctions = - { jM: function () { - return this.jMonth() + 1 - } - , jMMM: function (format) { - return this.localeData().jMonthsShort(this, format) - } - , jMMMM: function (format) { - return this.localeData().jMonths(this, format) - } - , jD: function () { - return this.jDate() - } - , jDDD: function () { - return this.jDayOfYear() - } - , jw: function () { - return this.jWeek() - } - , jYY: function () { - return leftZeroFill(this.jYear() % 100, 2) - } - , jYYYY: function () { - return leftZeroFill(this.jYear(), 4) - } - , jYYYYY: function () { - return leftZeroFill(this.jYear(), 5) - } - , jgg: function () { - return leftZeroFill(this.jWeekYear() % 100, 2) - } - , jgggg: function () { - return this.jWeekYear() - } - , jggggg: function () { - return leftZeroFill(this.jWeekYear(), 5) - } - } - - function padToken(func, count) { - return function (a) { - return leftZeroFill(func.call(this, a), count) - } - } - function ordinalizeToken(func, period) { - return function (a) { - return this.localeData().ordinal(func.call(this, a), period) - } - } - - (function () { - var i - while (ordinalizeTokens.length) { - i = ordinalizeTokens.pop() - formatTokenFunctions['j' + i + 'o'] = ordinalizeToken(formatTokenFunctions['j' + i], i) - } - while (paddedTokens.length) { - i = paddedTokens.pop() - formatTokenFunctions['j' + i + i] = padToken(formatTokenFunctions['j' + i], 2) - } - formatTokenFunctions.jDDDD = padToken(formatTokenFunctions.jDDD, 3) - }()) - - /************************************ - Helpers - ************************************/ - - function extend(a, b) { - var key - for (key in b) - if (b.hasOwnProperty(key)) - a[key] = b[key] - return a - } - - function leftZeroFill(number, targetLength) { - var output = number + '' - while (output.length < targetLength) - output = '0' + output - return output - } - - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]' - } - -// function compareArrays(array1, array2) { -// var len = Math.min(array1.length, array2.length) -// , lengthDiff = Math.abs(array1.length - array2.length) -// , diffs = 0 -// , i -// for (i = 0; i < len; i += 1) -// if (~~array1[i] !== ~~array2[i]) -// diffs += 1 -// return diffs + lengthDiff -// } - - function normalizeUnits(units) { - if (units) { - var lowered = units.toLowerCase() - units = unitAliases[lowered] || lowered - } - return units - } - - function setDate(m, year, month, date) { - var d = m._d - if (isNaN(year)) { - m._isValid = false - } - if (m._isUTC) { - /*eslint-disable new-cap*/ - m._d = new Date(Date.UTC(year, month, date, - d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds())) - /*eslint-enable new-cap*/ - } else { - m._d = new Date(year, month, date, - d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()) - } - } - - function objectCreate(parent) { - function F() {} - F.prototype = parent - return new F() - } - - function getPrototypeOf(object) { - if (Object.getPrototypeOf) - return Object.getPrototypeOf(object) - else if (''.__proto__) - return object.__proto__ - else - return object.constructor.prototype - } - - /************************************ - Languages - ************************************/ - extend(getPrototypeOf(moment.localeData()), - { _jMonths: [ 'Farvardin' - , 'Ordibehesht' - , 'Khordaad' - , 'Tir' - , 'Amordaad' - , 'Shahrivar' - , 'Mehr' - , 'Aabaan' - , 'Aazar' - , 'Dey' - , 'Bahman' - , 'Esfand' - ] - , jMonths: function (m) { - return this._jMonths[m.jMonth()] - } - - , _jMonthsShort: [ 'Far' - , 'Ord' - , 'Kho' - , 'Tir' - , 'Amo' - , 'Sha' - , 'Meh' - , 'Aab' - , 'Aaz' - , 'Dey' - , 'Bah' - , 'Esf' - ] - , jMonthsShort: function (m) { - return this._jMonthsShort[m.jMonth()] - } - - , jMonthsParse: function (monthName) { - var i - , mom - , regex - if (!this._jMonthsParse) - this._jMonthsParse = [] - for (i = 0; i < 12; i += 1) { - // Make the regex if we don't have it already. - if (!this._jMonthsParse[i]) { - mom = jMoment([2000, (2 + i) % 12, 25]) - regex = '^' + this.jMonths(mom, '') + '|^' + this.jMonthsShort(mom, '') - this._jMonthsParse[i] = new RegExp(regex.replace('.', ''), 'i') - } - // Test the regex. - if (this._jMonthsParse[i].test(monthName)) - return i - } - } - } - ) - - /************************************ - Formatting - ************************************/ - - function makeFormatFunction(format) { - var array = format.match(formattingTokens) - , length = array.length - , i - - for (i = 0; i < length; i += 1) - if (formatTokenFunctions[array[i]]) - array[i] = formatTokenFunctions[array[i]] - - return function (mom) { - var output = '' - for (i = 0; i < length; i += 1) - output += array[i] instanceof Function ? '[' + array[i].call(mom, format) + ']' : array[i] - return output - } - } - - /************************************ - Parsing - ************************************/ - - function getParseRegexForToken(token, config) { - switch (token) { - case 'jDDDD': - return parseTokenThreeDigits - case 'jYYYY': - return parseTokenFourDigits - case 'jYYYYY': - return parseTokenSixDigits - case 'jDDD': - return parseTokenOneToThreeDigits - case 'jMMM': - case 'jMMMM': - return parseTokenWord - case 'jMM': - case 'jDD': - case 'jYY': - case 'jM': - case 'jD': - return parseTokenOneOrTwoDigits - case 'DDDD': - return parseTokenThreeDigits - case 'YYYY': - return parseTokenFourDigits - case 'YYYYY': - return parseTokenSixDigits - case 'S': - case 'SS': - case 'SSS': - case 'DDD': - return parseTokenOneToThreeDigits - case 'MMM': - case 'MMMM': - case 'dd': - case 'ddd': - case 'dddd': - return parseTokenWord - case 'a': - case 'A': - return moment.localeData(config._l)._meridiemParse - case 'X': - return parseTokenTimestampMs - case 'Z': - case 'ZZ': - return parseTokenTimezone - case 'T': - return parseTokenT - case 'MM': - case 'DD': - case 'YY': - case 'HH': - case 'hh': - case 'mm': - case 'ss': - case 'M': - case 'D': - case 'd': - case 'H': - case 'h': - case 'm': - case 's': - return parseTokenOneOrTwoDigits - default: - return new RegExp(token.replace('\\', '')) - } - } - - function addTimeToArrayFromToken(token, input, config) { - var a - , datePartArray = config._a - - switch (token) { - case 'jM': - case 'jMM': - datePartArray[1] = input == null ? 0 : ~~input - 1 - break - case 'jMMM': - case 'jMMMM': - a = moment.localeData(config._l).jMonthsParse(input) - if (a != null) - datePartArray[1] = a - else - config._isValid = false - break - case 'jD': - case 'jDD': - case 'jDDD': - case 'jDDDD': - if (input != null) - datePartArray[2] = ~~input - break - case 'jYY': - datePartArray[0] = ~~input + (~~input > 47 ? 1300 : 1400) - break - case 'jYYYY': - case 'jYYYYY': - datePartArray[0] = ~~input - } - if (input == null) - config._isValid = false - } - - function dateFromArray(config) { - var g - , j - , jy = config._a[0] - , jm = config._a[1] - , jd = config._a[2] - - if ((jy == null) && (jm == null) && (jd == null)) - return [0, 0, 1] - jy = jy != null ? jy : 0 - jm = jm != null ? jm : 0 - jd = jd != null ? jd : 1 - if (jd < 1 || jd > jMoment.jDaysInMonth(jy, jm) || jm < 0 || jm > 11) - config._isValid = false - g = toGregorian(jy, jm, jd) - j = toJalaali(g.gy, g.gm, g.gd) - if (isNaN(g.gy)) - config._isValid = false - config._jDiff = 0 - if (~~j.jy !== jy) - config._jDiff += 1 - if (~~j.jm !== jm) - config._jDiff += 1 - if (~~j.jd !== jd) - config._jDiff += 1 - return [g.gy, g.gm, g.gd] - } - - function makeDateFromStringAndFormat(config) { - var tokens = config._f.match(formattingTokens) - , string = config._i + '' - , len = tokens.length - , i - , token - , parsedInput - - config._a = [] - - for (i = 0; i < len; i += 1) { - token = tokens[i] - parsedInput = (getParseRegexForToken(token, config).exec(string) || [])[0] - if (parsedInput) - string = string.slice(string.indexOf(parsedInput) + parsedInput.length) - if (formatTokenFunctions[token]) - addTimeToArrayFromToken(token, parsedInput, config) - } - if (string) - config._il = string - return dateFromArray(config) - } - - function makeDateFromStringAndArray(config, utc) { - var len = config._f.length - , i - , format - , tempMoment - , bestMoment - , currentScore - , scoreToBeat - - if (len === 0) { - return makeMoment(new Date(NaN)) - } - - for (i = 0; i < len; i += 1) { - format = config._f[i] - currentScore = 0 - tempMoment = makeMoment(config._i, format, config._l, config._strict, utc) - - if (!tempMoment.isValid()) continue - - // currentScore = compareArrays(tempMoment._a, tempMoment.toArray()) - currentScore += tempMoment._jDiff - if (tempMoment._il) - currentScore += tempMoment._il.length - if (scoreToBeat == null || currentScore < scoreToBeat) { - scoreToBeat = currentScore - bestMoment = tempMoment - } - } - - return bestMoment - } - - function removeParsedTokens(config) { - var string = config._i + '' - , input = '' - , format = '' - , array = config._f.match(formattingTokens) - , len = array.length - , i - , match - , parsed - - for (i = 0; i < len; i += 1) { - match = array[i] - parsed = (getParseRegexForToken(match, config).exec(string) || [])[0] - if (parsed) - string = string.slice(string.indexOf(parsed) + parsed.length) - if (!(formatTokenFunctions[match] instanceof Function)) { - format += match - if (parsed) - input += parsed - } - } - config._i = input - config._f = format - } - - /************************************ - Week of Year - ************************************/ - - function jWeekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { - var end = firstDayOfWeekOfYear - firstDayOfWeek - , daysToDayOfWeek = firstDayOfWeekOfYear - mom.day() - , adjustedMoment - - if (daysToDayOfWeek > end) { - daysToDayOfWeek -= 7 - } - if (daysToDayOfWeek < end - 7) { - daysToDayOfWeek += 7 - } - adjustedMoment = jMoment(mom).add(daysToDayOfWeek, 'd') - return { week: Math.ceil(adjustedMoment.jDayOfYear() / 7) - , year: adjustedMoment.jYear() - } - } - - /************************************ - Top Level Functions - ************************************/ - var maxTimestamp = 57724432199999 - - function makeMoment(input, format, lang, strict, utc) { - if (typeof lang === 'boolean') { - strict = lang - lang = undefined - } - - if (format && typeof format === 'string') - format = fixFormat(format, moment) - - var config = - { _i: input - , _f: format - , _l: lang - , _strict: strict - , _isUTC: utc - } - , date - , m - , jm - , origInput = input - , origFormat = format - if (format) { - if (isArray(format)) { - return makeDateFromStringAndArray(config, utc) - } else { - date = makeDateFromStringAndFormat(config) - removeParsedTokens(config) - format = 'YYYY-MM-DD-' + config._f - input = leftZeroFill(date[0], 4) + '-' - + leftZeroFill(date[1] + 1, 2) + '-' - + leftZeroFill(date[2], 2) + '-' - + config._i - } - } - if (utc) - m = moment.utc(input, format, lang, strict) - else - m = moment(input, format, lang, strict) - if (config._isValid === false) - m._isValid = false - m._jDiff = config._jDiff || 0 - jm = objectCreate(jMoment.fn) - extend(jm, m) - if (strict && format && jm.isValid()) { - jm._isValid = jm.format(origFormat) === origInput - } - if (m._d.getTime() > maxTimestamp) { - jm._isValid = false - } - return jm - } - - function jMoment(input, format, lang, strict) { - return makeMoment(input, format, lang, strict, false) - } - - extend(jMoment, moment) - jMoment.fn = objectCreate(moment.fn) - - jMoment.utc = function (input, format, lang, strict) { - return makeMoment(input, format, lang, strict, true) - } - - jMoment.unix = function (input) { - return makeMoment(input * 1000) - } - - /************************************ - jMoment Prototype - ************************************/ - - function fixFormat(format, _moment) { - var i = 5 - var replace = function (input) { - return _moment.localeData().longDateFormat(input) || input - } - while (i > 0 && localFormattingTokens.test(format)) { - i -= 1 - format = format.replace(localFormattingTokens, replace) - } - return format - } - - jMoment.fn.format = function (format) { - - if (format) { - format = fixFormat(format, this) - - if (!formatFunctions[format]) { - formatFunctions[format] = makeFormatFunction(format) - } - format = formatFunctions[format](this) - } - return moment.fn.format.call(this, format) - } - - jMoment.fn.jYear = function (input) { - var lastDay - , j - , g - if (typeof input === 'number') { - j = toJalaali(this.year(), this.month(), this.date()) - lastDay = Math.min(j.jd, jMoment.jDaysInMonth(input, j.jm)) - g = toGregorian(input, j.jm, lastDay) - setDate(this, g.gy, g.gm, g.gd) - moment.updateOffset(this) - return this - } else { - return toJalaali(this.year(), this.month(), this.date()).jy - } - } - - jMoment.fn.jMonth = function (input) { - var lastDay - , j - , g - if (input != null) { - if (typeof input === 'string') { - input = this.localeData().jMonthsParse(input) - if (typeof input !== 'number') - return this - } - j = toJalaali(this.year(), this.month(), this.date()) - lastDay = Math.min(j.jd, jMoment.jDaysInMonth(j.jy, input)) - this.jYear(j.jy + div(input, 12)) - input = mod(input, 12) - if (input < 0) { - input += 12 - this.jYear(this.jYear() - 1) - } - g = toGregorian(this.jYear(), input, lastDay) - setDate(this, g.gy, g.gm, g.gd) - moment.updateOffset(this) - return this - } else { - return toJalaali(this.year(), this.month(), this.date()).jm - } - } - - jMoment.fn.jDate = function (input) { - var j - , g - if (typeof input === 'number') { - j = toJalaali(this.year(), this.month(), this.date()) - g = toGregorian(j.jy, j.jm, input) - setDate(this, g.gy, g.gm, g.gd) - moment.updateOffset(this) - return this - } else { - return toJalaali(this.year(), this.month(), this.date()).jd - } - } - - jMoment.fn.jDayOfYear = function (input) { - var dayOfYear = Math.round((jMoment(this).startOf('day') - jMoment(this).startOf('jYear')) / 864e5) + 1 - return input == null ? dayOfYear : this.add(input - dayOfYear, 'd') - } - - jMoment.fn.jWeek = function (input) { - var week = jWeekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).week - return input == null ? week : this.add((input - week) * 7, 'd') - } - - jMoment.fn.jWeekYear = function (input) { - var year = jWeekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year - return input == null ? year : this.add(input - year, 'y') - } - - jMoment.fn.add = function (val, units) { - var temp - if (units !== null && !isNaN(+units)) { - temp = val - val = units - units = temp - } - units = normalizeUnits(units) - if (units === 'jyear') { - this.jYear(this.jYear() + val) - } else if (units === 'jmonth') { - this.jMonth(this.jMonth() + val) - } else { - moment.fn.add.call(this, val, units) - if (isNaN(this.jYear())) { - this._isValid = false - } - } - return this - } - - jMoment.fn.subtract = function (val, units) { - var temp - if (units !== null && !isNaN(+units)) { - temp = val - val = units - units = temp - } - units = normalizeUnits(units) - if (units === 'jyear') { - this.jYear(this.jYear() - val) - } else if (units === 'jmonth') { - this.jMonth(this.jMonth() - val) - } else { - moment.fn.subtract.call(this, val, units) - } - return this - } - - jMoment.fn.startOf = function (units) { - units = normalizeUnits(units) - if (units === 'jyear' || units === 'jmonth') { - if (units === 'jyear') { - this.jMonth(0) - } - this.jDate(1) - this.hours(0) - this.minutes(0) - this.seconds(0) - this.milliseconds(0) - return this - } else { - return moment.fn.startOf.call(this, units) - } - } - - jMoment.fn.endOf = function (units) { - units = normalizeUnits(units) - if (units === undefined || units === 'milisecond') { - return this - } - return this.startOf(units).add(1, (units === 'isoweek' ? 'week' : units)).subtract(1, 'ms') - } - - jMoment.fn.isSame = function (other, units) { - units = normalizeUnits(units) - if (units === 'jyear' || units === 'jmonth') { - return moment.fn.isSame.call(this.startOf(units), other.startOf(units)) - } - return moment.fn.isSame.call(this, other, units) - } - - jMoment.fn.clone = function () { - return jMoment(this) - } - - jMoment.fn.jYears = jMoment.fn.jYear - jMoment.fn.jMonths = jMoment.fn.jMonth - jMoment.fn.jDates = jMoment.fn.jDate - jMoment.fn.jWeeks = jMoment.fn.jWeek - - /************************************ - jMoment Statics - ************************************/ - - jMoment.jDaysInMonth = function (year, month) { - year += div(month, 12) - month = mod(month, 12) - if (month < 0) { - month += 12 - year -= 1 - } - if (month < 6) { - return 31 - } else if (month < 11) { - return 30 - } else if (jMoment.jIsLeapYear(year)) { - return 30 - } else { - return 29 - } - } - - jMoment.jIsLeapYear = jalaali.isLeapJalaaliYear - - jMoment.loadPersian = function (args) { - var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false - var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'persian' - moment.locale('fa') - moment.updateLocale('fa' - , { months: ('ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر').split('_') - , monthsShort: ('ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر').split('_') - , weekdays: - { - 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), - 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') - }[dialect] - , weekdaysShort: - { - 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), - 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') - }[dialect] - , weekdaysMin: - { - 'persian': 'ی_د_س_چ_پ_آ_ش'.split('_'), - 'persian-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') - }[dialect] - , longDateFormat: - { LT: 'HH:mm' - , L: 'jYYYY/jMM/jDD' - , LL: 'jD jMMMM jYYYY' - , LLL: 'jD jMMMM jYYYY LT' - , LLLL: 'dddd، jD jMMMM jYYYY LT' - } - , calendar: - { sameDay: '[امروز ساعت] LT' - , nextDay: '[فردا ساعت] LT' - , nextWeek: 'dddd [ساعت] LT' - , lastDay: '[دیروز ساعت] LT' - , lastWeek: 'dddd [ی پیش ساعت] LT' - , sameElse: 'L' - } - , relativeTime: - { future: 'در %s' - , past: '%s پیش' - , s: 'چند ثانیه' - , m: '1 دقیقه' - , mm: '%d دقیقه' - , h: '1 ساعت' - , hh: '%d ساعت' - , d: '1 روز' - , dd: '%d روز' - , M: '1 ماه' - , MM: '%d ماه' - , y: '1 سال' - , yy: '%d سال' - } - , preparse: function (string) { - if (usePersianDigits) { - return string.replace(/[۰-۹]/g, function (match) { - return numberMap[match] - }).replace(/،/g, ',') - } - return string - } - , postformat: function (string) { - if (usePersianDigits) { - return string.replace(/\d/g, function (match) { - return symbolMap[match] - }).replace(/,/g, '،') - } - return string - } - , ordinal: '%dم' - , week: - { dow: 6 // Saturday is the first day of the week. - , doy: 12 // The week that contains Jan 1st is the first week of the year. - } - , meridiem: function (hour) { - return hour < 12 ? 'ق.ظ' : 'ب.ظ' - } - , jMonths: - { - 'persian': ('فروردین_اردیبهشت_خرداد_تیر_امرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند').split('_'), - 'persian-modern': ('فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند').split('_') - }[dialect] - , jMonthsShort: - { - 'persian': 'فرو_ارد_خرد_تیر_امر_شهر_مهر_آبا_آذر_دی_بهم_اسف'.split('_'), - 'persian-modern': 'فرو_ارد_خرد_تیر_مرد_شهر_مهر_آبا_آذر_دی_بهم_اسف'.split('_') - }[dialect] - } - ) - } - - jMoment.jConvert = { toJalaali: toJalaali - , toGregorian: toGregorian - } - - /************************************ - Jalaali Conversion - ************************************/ - - function toJalaali(gy, gm, gd) { - try { - var j = jalaali.toJalaali(gy, gm + 1, gd) - j.jm -= 1 - return j - } catch (e) { - return { - jy: NaN - , jm: NaN - , jd: NaN - } - } - } - - function toGregorian(jy, jm, jd) { - try { - var g = jalaali.toGregorian(jy, jm + 1, jd) - g.gm -= 1 - return g - } catch (e) { - return { - gy: NaN - , gm: NaN - , gd: NaN - } - } - } - - /* - Utility helper functions. - */ - - function div(a, b) { - return ~~(a / b) - } - - function mod(a, b) { - return a - ~~(a / b) * b - } - }); - - if (typeof exports == "object") { - module.exports = require("moment-jalaali"); - } else if (typeof define == "function" && define.amd) { - define([], function(){ return require("moment-jalaali"); }); - } else { - this["moment"] = require("moment-jalaali"); - } -})(); \ No newline at end of file +!function(){function t(e){var n=t.modules[e];if(!n)throw new Error('failed to require "'+e+'"');return"exports"in n||"function"!=typeof n.definition||(n.client=n.component=!0,n.definition.call(this,n.exports={},n),delete n.definition),n.exports}t.modules={moment:{exports:moment}},t.register=function(e,n){t.modules[e]={definition:n}},t.define=function(e,n){t.modules[e]={exports:n}},t.register("jalaali-js",(function(t,e){function n(t){return 0===a(t).leap}function r(t,e){return e<=6?31:e<=11||n(t)?30:29}function a(t){var e,n,r,a,i,s,o=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178],u=o.length,f=t+621,l=-14,j=o[0];if(t=o[u-1])throw new Error("Invalid Jalaali year "+t);for(s=1;s=0){if(e<=185)return{jy:r,jm:1+c(e,31),jd:h(e,31)+1};e-=186}else r-=1,e+=179,1===i.leap&&(e+=1);return{jy:r,jm:7+c(e,30),jd:h(e,30)+1}}function o(t,e,n){var r=c(1461*(t+c(e-8,6)+100100),4)+c(153*h(e+9,12)+2,5)+n-34840408;return r=r-c(3*c(t+100100+c(e-8,6),100),4)+752}function u(t){var e,n,r,a;return e=(e=4*t+139361631)+4*c(3*c(4*t+183187720,146097),4)-3908,n=5*c(h(e,1461),4)+308,r=c(h(n,153),5)+1,a=h(c(n,153),12)+1,{gy:c(e,1461)-100100+c(8-a,6),gm:a,gd:r}}function c(t,e){return~~(t/e)}function h(t,e){return t-~~(t/e)*e}e.exports={toJalaali:function(t,e,n){"[object Date]"===Object.prototype.toString.call(t)&&(n=t.getDate(),e=t.getMonth()+1,t=t.getFullYear());return s(o(t,e,n))},toGregorian:function(t,e,n){return u(i(t,e,n))},isValidJalaaliDate:function(t,e,n){return t>=-61&&t<=3177&&e>=1&&e<=12&&n>=1&&n<=r(t,e)},isLeapJalaaliYear:n,jalaaliMonthLength:r,jalCal:a,j2d:i,d2j:s,g2d:o,d2g:u}})),t.register("moment-jalaali",(function(e,n){n.exports=W;var r,a=t("moment"),i=t("jalaali-js"),s=/(\[[^\[]*\])|(\\)?j(Mo|MM?M?M?|Do|DDDo|DD?D?D?|w[o|w]?|YYYYY|YYYY|YY|gg(ggg?)?|)|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,o=/(\[[^\[]*\])|(\\)?(LTS?|LL?L?L?|l{1,4})/g,u=/\d\d?/,c=/\d{1,3}/,h=/\d{3}/,f=/\d{1,4}/,l=/[+\-]?\d{1,6}/,j=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,_=/Z|[\+\-]\d\d:?\d\d/i,d=/T/i,D=/[\+\-]?\d+(\.\d{1,3})?/,M={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},Y={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},m={jm:"jmonth",jmonths:"jmonth",jy:"jyear",jyears:"jyear"},g={},p="DDD w M D".split(" "),y="M D w".split(" "),v={jM:function(){return this.jMonth()+1},jMMM:function(t){return this.localeData().jMonthsShort(this,t)},jMMMM:function(t){return this.localeData().jMonths(this,t)},jD:function(){return this.jDate()},jDDD:function(){return this.jDayOfYear()},jw:function(){return this.jWeek()},jYY:function(){return S(this.jYear()%100,2)},jYYYY:function(){return S(this.jYear(),4)},jYYYYY:function(){return S(this.jYear(),5)},jgg:function(){return S(this.jWeekYear()%100,2)},jgggg:function(){return this.jWeekYear()},jggggg:function(){return S(this.jWeekYear(),5)}};function w(t,e){return function(n){return S(t.call(this,n),e)}}function L(t,e){return function(n){return this.localeData().ordinal(t.call(this,n),e)}}function O(t,e){var n;for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function S(t,e){for(var n=t+"";n.length47?1300:1400);break;case"jYYYY":case"jYYYYY":i[0]=~~e}null==e&&(n._isValid=!1)}function x(t){var e,n,r,a=t._f.match(s),i=t._i+"",o=a.length;for(t._a=[],e=0;eW.jDaysInMonth(r,a)||a<0||a>11)&&(t._isValid=!1),n=A((e=E(r,a,i)).gy,e.gm,e.gd),isNaN(e.gy)&&(t._isValid=!1),t._jDiff=0,~~n.jy!==r&&(t._jDiff+=1),~~n.jm!==a&&(t._jDiff+=1),~~n.jd!==i&&(t._jDiff+=1),[e.gy,e.gm,e.gd])}(t)}function P(t,e,n){var r,a=n-e,i=n-t.day();return i>a&&(i-=7),i57724432199999&&(c._isValid=!1),c}function W(t,e,n,r){return V(t,e,n,r,!1)}function C(t,e){for(var n=5,r=function(t){return e.localeData().longDateFormat(t)||t};n>0&&o.test(t);)n-=1,t=t.replace(o,r);return t}function A(t,e,n){try{var r=i.toJalaali(t,e+1,n);return r.jm-=1,r}catch(t){return{jy:NaN,jm:NaN,jd:NaN}}}function E(t,e,n){try{var r=i.toGregorian(t,e+1,n);return r.gm-=1,r}catch(t){return{gy:NaN,gm:NaN,gd:NaN}}}function H(t,e){return~~(t/e)}function G(t,e){return t-~~(t/e)*e}O(W,a),W.fn=F(a.fn),W.utc=function(t,e,n,r){return V(t,e,n,r,!0)},W.unix=function(t){return V(1e3*t)},W.fn.format=function(t){return t&&(t=C(t,this),g[t]||(g[t]=function(t){var e,n=t.match(s),r=n.length;for(e=0;e