bkui-vue 0.0.1-beta.11 → 0.0.1-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -68,7 +68,7 @@ var tree = ".bk-tree .bk-tree-node {\n position: relative;\n height: var(--lin
68
68
  var slider = ".bk-slider {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.bk-slider .bk-slider-runway {\n position: relative;\n width: 100%;\n height: 4px;\n vertical-align: middle;\n cursor: pointer;\n background: #dcdee5;\n border-radius: 2px;\n opacity: 1;\n}\n.bk-slider .bk-slider-runway .bk-slider-bar {\n position: absolute;\n height: 4px;\n background: #3a84ff;\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.bk-slider .bk-slider-runway .bk-slider-bar.vertical {\n width: 4px;\n}\n.bk-slider .bk-slider-runway .bk-slider-bar.horizontal {\n height: 4px;\n}\n.bk-slider .bk-slider-runway .disable {\n background: #979ba5;\n}\n.bk-slider .bk-slider-runway .bk-slider-labels {\n position: relative;\n}\n.bk-slider .bk-slider-runway .bk-slider-labels.vertical {\n left: 18px;\n display: flex;\n width: 10px;\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n}\n.bk-slider .bk-slider-runway .bk-slider-labels.horizontal {\n top: 10px;\n display: flex;\n width: 100%;\n height: 10px;\n flex-direction: row;\n justify-content: space-between;\n}\n.bk-slider .bk-slider-runway .bk-slider-labels .bk-slider-label {\n position: absolute;\n display: flex;\n width: 10px;\n height: 10px;\n text-align: center;\n white-space: nowrap;\n align-items: center;\n justify-content: center;\n}\n.bk-slider .bk-slider-runway .bk-slider-labels .bk-slider-label.vertical {\n left: 10px;\n transform: translateY(50%);\n}\n.bk-slider .bk-slider-runway .bk-slider-labels .bk-slider-label.horizontal {\n top: 10px;\n transform: translateX(-50%);\n}\n.bk-slider .bk-slider-interval {\n position: absolute;\n width: 4px;\n height: 4px;\n background-color: #fff;\n border-radius: 100%;\n transform: translateX(-50%);\n}\n.bk-slider .bk-slider-interval.vertical {\n left: 2px;\n}\n.bk-slider-input {\n display: flex;\n margin: 0 0 0 28px;\n flex-direction: row;\n align-items: center;\n}\n.bk-slider-input .input-item {\n width: 92px;\n}\n.bk-slider-input .input-center {\n margin: 0 7px;\n}\n.bk-slider-button {\n position: absolute;\n z-index: 1001;\n display: flex;\n width: 24px;\n height: 24px;\n line-height: normal;\n text-align: center;\n background-color: transparent;\n user-select: none;\n justify-content: center;\n align-items: center;\n}\n.bk-slider-button:hover {\n cursor: grab;\n}\n.bk-slider-button.grabbing {\n cursor: grabbing;\n}\n.bk-slider-button.vertical {\n left: -10px;\n transform: translateY(50%);\n}\n.bk-slider-button.horizontal {\n top: -10px;\n transform: translateX(-50%);\n}\n.bk-slider-button .slider-button {\n width: 12px;\n height: 12px;\n background-color: #fff;\n border: 2px solid #3a84ff;\n border-radius: 50%;\n transition: 0.2s;\n user-select: none;\n}\n.bk-slider-button .slider-button-disable {\n border: 2px solid #979ba5;\n}\n.bk-slider-button .slider-button:hover {\n box-shadow: 0px 0px 0px 4px rgba(58, 132, 255, 0.3);\n}\n.bk-slider-button .slider-button:focus {\n box-shadow: 0px 0px 10px 0px rgba(58, 132, 255, 0.9);\n}\n.bk-slider-button .slider-button-label {\n position: absolute;\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n.bk-slider-button .slider-button-label.vertical {\n left: 28px;\n}\n.bk-slider-button .slider-button-label.horizontal {\n top: 20px;\n}\n";
69
69
  var menu = "@keyframes loading-scale-animate {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0.6);\n }\n}\n@keyframes fade {\n 100% {\n background-color: transparent;\n }\n}\n.bk-fade-transtion .bk-fade-enter-active,\n.bk-fade-transtion .bk-fade-leave-active {\n transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1);\n}\n.bk-fade-transtion .bk-fade-enter,\n.bk-fade-transtion .bk-fade-leave-to {\n opacity: 0;\n}\n.collapse {\n width: 60px;\n}\n.open {\n background: #151d2c;\n}\n.bk-menu {\n display: flex;\n width: 260px;\n background-color: #182132;\n flex-direction: column;\n transition: width 0.3s ease-out;\n}\n.bk-menu.is-collapse {\n width: 60px;\n}\n.bk-menu-submenu {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n text-overflow: clip;\n white-space: nowrap;\n align-items: center;\n transition: width 0.3s ease-out;\n}\n.bk-menu-submenu.is-opened {\n background: #151d2c;\n}\n.bk-menu-submenu:hover {\n color: white;\n cursor: pointer;\n}\n.bk-menu-submenu .submenu-header {\n display: flex;\n width: 100%;\n height: 40px;\n align-items: center;\n}\n.bk-menu-submenu .submenu-header.is-collapse {\n color: white;\n background: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);\n}\n.bk-menu-submenu .submenu-header-icon {\n display: flex;\n height: 100%;\n font-size: 18px;\n flex: 0 0 60px;\n align-items: center;\n justify-content: center;\n}\n.bk-menu-submenu .submenu-header-icon .menu-icon {\n display: flex;\n width: 16px;\n height: 16px;\n font-size: 16px;\n align-items: center;\n justify-content: center;\n color: #b0bdd5;\n}\n.bk-menu-submenu .submenu-header-content {\n display: flex;\n height: 100%;\n align-items: center;\n flex: 1;\n color: #acb9d1;\n}\n.bk-menu-submenu .submenu-header-collapse {\n display: flex;\n width: 16px;\n height: 16px;\n font-size: 16px;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n color: #acb9d1;\n transform: rotate(-90deg);\n transition: transform 0.3s ease-out;\n}\n.bk-menu-submenu .submenu-header-collapse.is-collapse {\n transform: rotate(0deg);\n}\n.bk-menu-submenu .submenu-list {\n display: flex;\n width: 100%;\n padding: 0;\n margin: 0;\n flex-direction: column;\n flex: 1;\n /* stylelint-disable-next-line declaration-no-important */\n transition-property: all !important;\n}\n.bk-menu-item {\n display: flex;\n width: 100%;\n height: 40px;\n min-height: 40px;\n margin: 2px 0;\n overflow: hidden;\n font-size: 14px;\n color: #96a2b9;\n text-overflow: clip;\n white-space: nowrap;\n align-items: center;\n transition: width 0.3s ease-in-out;\n}\n.bk-menu-item:hover {\n color: white;\n cursor: pointer;\n}\n.bk-menu-item.is-active {\n color: white;\n background: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);\n}\n.bk-menu-item .item-icon {\n display: flex;\n height: 100%;\n font-size: 18px;\n flex: 0 0 60px;\n align-items: center;\n justify-content: center;\n}\n.bk-menu-item .item-icon .default-icon {\n display: inline-block;\n width: 3px;\n height: 3px;\n background: #63656e;\n background-color: white;\n border-radius: 50%;\n}\n.bk-menu-item .item-content {\n display: flex;\n height: 100%;\n align-items: center;\n flex: 1;\n}\n.bk-menu-group {\n display: flex;\n flex-direction: column;\n}\n.bk-menu-group .group-name {\n display: flex;\n height: 40px;\n margin: 0 18px;\n overflow: hidden;\n font-size: 12px;\n line-height: 16px;\n color: #63656e;\n text-overflow: clip;\n white-space: nowrap;\n flex-wrap: nowrap;\n align-items: center;\n}\n.bk-menu-group .group-wrap {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n}\n.bk-menu .collapse-transition {\n transition: all 0.3s ease-in-out;\n}\n";
70
70
  var navigation = ".bk-navigation {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}\n.bk-navigation-title {\n display: flex;\n height: 100%;\n padding: 0 16px;\n overflow: hidden;\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\n align-items: center;\n justify-content: flex-start;\n flex: 0 0 260px;\n}\n.bk-navigation-title .title-icon {\n display: flex;\n font-size: 28px;\n color: #768197;\n flex: 0 0 28px;\n align-items: center;\n justify-content: center;\n}\n.bk-navigation-title .title-desc {\n display: inline-block;\n margin-left: 16px;\n overflow: hidden;\n font-size: 16px;\n font-weight: bold;\n line-height: 24px;\n color: #96a2b9;\n white-space: nowrap;\n}\n.bk-navigation-header {\n flex: 0 0 52px;\n display: flex;\n align-items: center;\n padding-right: 24px;\n overflow: hidden;\n background: #182132;\n}\n.bk-navigation-header .header-right {\n display: flex;\n height: 100%;\n flex: 1;\n align-items: center;\n}\n.bk-navigation-wrapper {\n position: relative;\n display: flex;\n flex-direction: row;\n flex: 1;\n}\n.bk-navigation-wrapper .navigation-nav {\n position: relative;\n z-index: 101;\n display: flex;\n width: 60px;\n min-width: 0;\n min-height: 0;\n overflow: visible;\n transition: width cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n flex: 0 1 auto;\n flex-direction: column;\n}\n.bk-navigation-wrapper .navigation-nav:hover {\n cursor: pointer;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider {\n display: flex;\n width: 60px;\n height: 100%;\n background-color: #182132;\n transition: width cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n flex: 1;\n flex-direction: column;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-list {\n max-height: calc(100vh - 100px);\n padding: 12px 0 4px 0;\n margin: 0;\n overflow: auto;\n flex: 1 1 auto;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-list::-webkit-scrollbar {\n display: none;\n width: 6px;\n height: 5px;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-list::-webkit-scrollbar:hover {\n transform: none;\n transition: opacity 340ms ease-out;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer {\n display: flex;\n padding-left: 14px;\n flex: 0 0 56px;\n align-items: center;\n justify-content: flex-start;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer .footer-icon {\n display: flex;\n width: 32px;\n height: 32px;\n font-size: 14px;\n color: #63656e;\n border-radius: 100%;\n align-items: center;\n justify-content: center;\n transform-origin: center center;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer .footer-icon-svg {\n display: flex;\n width: 16px;\n height: 16px;\n font-size: 16px;\n transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n align-items: center;\n justify-content: center;\n transform-origin: center center;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer .footer-icon.is-left {\n color: #96a2b9;\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer .footer-icon.is-left:hover {\n color: #d3d9e4;\n cursor: pointer;\n background: linear-gradient(270deg, #253047 0%, #263247 100%);\n}\n.bk-navigation-wrapper .navigation-nav .nav-slider-footer .footer-icon:hover {\n color: #3a3c42;\n cursor: pointer;\n background: linear-gradient(270deg, #dee0ea 0%, #eaecf2 100%);\n}\n.bk-navigation-wrapper .navigation-container {\n position: relative;\n display: flex;\n max-width: calc(100vw - 60px);\n min-width: 0;\n min-height: 0;\n flex: 1 1 1px;\n flex-direction: column;\n}\n.bk-navigation-wrapper .navigation-container .container-header {\n z-index: 100;\n display: flex;\n width: 100%;\n height: 60px;\n padding: 0 24px;\n background: #fff;\n border-bottom: 1px solid #dcdee5;\n box-shadow: 0px 3px 4px 0px rgba(64, 112, 203, 0.06);\n flex-basis: 60px;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n}\n.bk-navigation-wrapper .navigation-container .container-header-title {\n height: 21px;\n font-size: 16px;\n line-height: 21px;\n color: #313238;\n}\n.bk-navigation-wrapper .navigation-container .container-header-sets {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: flex-end;\n}\n.bk-navigation-wrapper .navigation-container .container-content {\n max-height: calc(100vh - 60px);\n padding: 20px 24px 0;\n overflow: auto;\n background: #f5f7fa;\n flex: 1;\n}\n.bk-navigation-wrapper .navigation-container .container-footer {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n";
71
- var datePicker = ".bk-date-picker {\n display: inline-block;\n width: 261px;\n line-height: normal;\n}\n.bk-date-picker.long {\n width: 342px;\n}\n.bk-date-picker.medium-width {\n width: 362px;\n}\n.bk-date-picker.large-width {\n width: 402px;\n}\n.bk-date-picker-rel {\n position: relative;\n}\n.bk-date-picker-rel .bk-date-picker-editor {\n display: block;\n width: 100%;\n height: 32px;\n padding: 0 10px 0 30px;\n font-size: 12px;\n line-height: 32px;\n color: #63656e;\n cursor: pointer;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n outline: none;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border {\n border-color: transparent transparent #c4c6cc transparent;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border:focus {\n border-color: transparent transparent #3a84ff transparent;\n box-shadow: none;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border[disabled],\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border.readonly {\n border-color: transparent transparent #dcdee5 transparent;\n}\n.bk-date-picker-rel .bk-date-picker-editor:focus {\n border: 1px solid #3a84ff;\n}\n.bk-date-picker-rel .bk-date-picker-editor::placeholder {\n color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor[disabled] {\n color: #c4c6cc;\n cursor: not-allowed;\n background-color: #fafbfd;\n border-color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor.readonly {\n background-color: #fafbfd;\n border-color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor.medium-font {\n font-size: 14px;\n}\n.bk-date-picker-rel .bk-date-picker-editor.large-font {\n font-size: 16px;\n}\n.bk-date-picker-rel .clear-action {\n position: absolute;\n top: 50%;\n right: 10px;\n font-size: 14px;\n color: #c4c6cc;\n cursor: pointer;\n transform: translateY(-50%);\n}\n.bk-date-picker-rel .clear-action:hover {\n color: #979ba5;\n}\n.bk-date-picker-rel .icon-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n width: 32px;\n height: 32px;\n color: #c4c6cc;\n cursor: pointer;\n background-color: transparent;\n}\n.bk-date-picker-rel .icon-wrapper.disabled {\n cursor: not-allowed;\n}\n.bk-date-picker-rel .icon-wrapper i.icon-clock {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.bk-date-picker-rel .icon-wrapper .picker-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 18px;\n height: 18px;\n transform: translate(-50%, -50%);\n}\n.bk-date-picker-dropdown {\n position: absolute;\n z-index: 900;\n padding: 5px 0 0 0;\n overflow: auto;\n background-color: #fff;\n border: 1px solid #dcdee5;\n border-radius: 2px;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n box-sizing: border-box;\n}\n.bk-date-picker .bk-select-dropdown {\n max-height: none;\n padding: 0;\n overflow: visible;\n}\n.bk-date-picker-footer-wrapper {\n clear: both;\n font-size: 14px;\n color: #979ba5;\n background-color: #fafbfd;\n border-top: 1px solid #dcdee5;\n}\n.bk-picker-panel-body-wrapper.bk-picker-panel-with-sidebar {\n padding-right: 140px;\n}\n.bk-picker-panel-body-wrapper .bk-picker-panel-sidebar {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 140px;\n padding: 12px 0;\n overflow: auto;\n font-size: 14px;\n color: #3a84ff;\n background-color: #fafbfd;\n border-left: 1px solid #dcdee5;\n}\n.bk-picker-panel-body-wrapper .bk-picker-panel-sidebar .bk-picker-panel-shortcut {\n /* &:nth-of-type(1) {\n padding-top: 18px;\n }\n &:last-child {\n padding-bottom: 18px;\n } */\n padding: 6px 21px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n}\n.bk-picker-panel-body-wrapper .bk-picker-panel-sidebar .bk-picker-panel-shortcut:hover {\n background-color: #e1ecff;\n}\n.bk-picker-panel-body-wrapper .bk-picker-panel-body {\n float: left;\n}\n.bk-picker-panel-body-wrapper .bk-date-picker-header {\n height: 46px;\n font-size: 14px;\n font-weight: 700;\n line-height: 46px;\n color: #63656e;\n text-align: center;\n border-bottom: 1px solid #dcdee5;\n}\n.bk-picker-panel-body-wrapper .bk-date-picker-header .bk-date-picker-header-label {\n cursor: pointer;\n}\n.bk-picker-panel-body-wrapper .bk-date-picker-header .bk-date-picker-header-label:hover {\n color: #3a84ff;\n}\n.bk-picker-panel-body-wrapper .bk-date-picker-header .up-to-now {\n margin-left: 3px;\n font-weight: 400;\n cursor: pointer;\n}\n.bk-picker-panel-body-wrapper .bk-date-picker-header .up-to-now.disabled {\n color: #c4c6cc;\n cursor: not-allowed;\n}\n.bk-date-picker-cells {\n margin: 9px;\n font-size: 12px;\n color: #63656e;\n white-space: normal;\n}\n.bk-date-picker-cells span {\n display: inline-block;\n width: 34px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n}\n.bk-date-picker-cells span em {\n display: inline-block;\n width: 34px;\n height: 32px;\n font-style: normal;\n line-height: 32px;\n cursor: pointer;\n}\n.bk-date-picker-cells .bk-date-picker-cells-header {\n text-align: center;\n}\n.bk-date-picker-cells .bk-date-picker-cells-header span {\n width: 28px;\n height: 26px;\n margin: 3px;\n line-height: 26px;\n color: #63656e;\n text-align: center;\n cursor: default;\n}\n.bk-date-picker-cells-cell:hover em {\n /* background-color: #e1ecff; */\n background-color: #f0f1f5;\n}\n.bk-date-picker-cells-focused em {\n color: #3a84ff;\n box-shadow: 0 0 0 1px #a3c5fd inset;\n}\n.bk-date-picker-cells-cell-prev-month em,\n.bk-date-picker-cells-cell-next-month em {\n color: #c4c6cc;\n}\n.bk-date-picker-cells-cell-prev-month:hover em,\n.bk-date-picker-cells-cell-next-month:hover em {\n background: transparent;\n}\nspan.bk-date-picker-cells-cell-week-label,\nspan.bk-date-picker-cells-cell-week-label:hover,\nspan.bk-date-picker-cells-cell-disabled,\nspan.bk-date-picker-cells-cell-disabled:hover {\n color: #c4c6cc;\n cursor: not-allowed;\n}\nspan.bk-date-picker-cells-cell-week-label em,\nspan.bk-date-picker-cells-cell-week-label:hover em,\nspan.bk-date-picker-cells-cell-disabled em,\nspan.bk-date-picker-cells-cell-disabled:hover em {\n color: inherit;\n cursor: not-allowed;\n background: inherit;\n}\nspan.bk-date-picker-cells-cell-disabled,\nspan.bk-date-picker-cells-cell-disabled:hover {\n background-color: #f0f1f5;\n}\n.bk-date-picker-cells-cell-today em {\n position: relative;\n color: #3a84ff;\n box-shadow: 0 0 0 1px #a3c5fd inset;\n}\n.bk-date-picker-cells-cell-range {\n position: relative;\n}\n.bk-date-picker-cells-cell-range:before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n background: #e1ecff;\n border: 0;\n border-radius: 0;\n content: '';\n}\n.bk-date-picker-cells-cell-range em {\n position: relative;\n z-index: 1;\n}\n.bk-date-picker-cells-cell-selected em,\n.bk-date-picker-cells-cell-selected:hover em {\n color: #fff;\n background-color: #3a84ff;\n box-shadow: 0 0 0 1px #3a84ff inset;\n}\nspan.bk-date-picker-cells-cell-disabled.bk-date-picker-cells-cell-selected em {\n color: #f7f7f7;\n background: #c4c6cc;\n}\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em:after {\n background: #fff;\n}\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em,\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em:hover {\n box-shadow: 0 0 0 1px #3a84ff inset;\n}\n.bk-date-picker-cells-year,\n.bk-date-picker-cells-month {\n margin-top: 7px;\n}\n.bk-date-picker-cells-year span,\n.bk-date-picker-cells-month span {\n width: 36px;\n height: 32px;\n margin: 10px 12px;\n line-height: 32px;\n text-align: center;\n border-radius: 3px;\n}\n.bk-date-picker-cells-year span em,\n.bk-date-picker-cells-month span em {\n width: 36px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n}\n.bk-picker-panel-icon-btn {\n display: inline-block;\n width: 20px;\n height: 46px;\n line-height: 44px;\n color: #979ba5;\n text-align: center;\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n}\n.bk-picker-panel-icon-btn:hover {\n color: #2d8cf0;\n}\n.bk-picker-panel-icon-btn i {\n font-size: 20px;\n}\n.bk-date-picker-prev-btn {\n float: left;\n}\n.bk-date-picker-prev-btn-arrow-double {\n margin-left: 10px;\n}\n.bk-date-picker-prev-btn-arrow-double i:after {\n margin-left: -8px;\n}\n.bk-date-picker-next-btn {\n float: right;\n}\n.bk-date-picker-next-btn-arrow-double {\n margin-right: 10px;\n}\n.bk-date-picker-next-btn-arrow-double i:after {\n margin-left: -8px;\n}\n.bk-date-picker-with-range .bk-picker-panel-body {\n min-width: 532px;\n}\n.bk-date-picker-with-range .bk-picker-panel-content {\n float: left;\n}\n.bk-date-picker-with-range .bk-picker-cells-show-week-numbers {\n min-width: 492px;\n}\n.bk-fade-down-transition-enter-from,\n.bk-fade-down-transition-leave-to {\n opacity: 0;\n transform: translateY(-20px);\n}\n.bk-fade-down-transition-enter-to,\n.bk-fade-down-transition-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n.bk-fade-down-transition-enter-active {\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.bk-fade-down-transition-leave-active {\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n";
71
+ var datePicker = ".bk-date-picker {\n display: inline-block;\n width: 261px;\n line-height: normal;\n}\n.bk-date-picker.long {\n width: 342px;\n}\n.bk-date-picker.medium-width {\n width: 362px;\n}\n.bk-date-picker.large-width {\n width: 402px;\n}\n.bk-date-picker-rel {\n position: relative;\n}\n.bk-date-picker-rel .bk-date-picker-editor {\n display: block;\n width: 100%;\n height: 32px;\n padding: 0 10px 0 30px;\n font-size: 12px;\n line-height: 32px;\n color: #63656e;\n cursor: pointer;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n outline: none;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border {\n border-color: transparent transparent #c4c6cc transparent;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border:focus {\n border-color: transparent transparent #3a84ff transparent;\n box-shadow: none;\n}\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border[disabled],\n.bk-date-picker-rel .bk-date-picker-editor.only-bottom-border.readonly {\n border-color: transparent transparent #dcdee5 transparent;\n}\n.bk-date-picker-rel .bk-date-picker-editor:focus {\n border: 1px solid #3a84ff;\n}\n.bk-date-picker-rel .bk-date-picker-editor::placeholder {\n color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor[disabled] {\n color: #c4c6cc;\n cursor: not-allowed;\n background-color: #fafbfd;\n border-color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor.readonly {\n background-color: #fafbfd;\n border-color: #c4c6cc;\n}\n.bk-date-picker-rel .bk-date-picker-editor.medium-font {\n font-size: 14px;\n}\n.bk-date-picker-rel .bk-date-picker-editor.large-font {\n font-size: 16px;\n}\n.bk-date-picker-rel .clear-action {\n position: absolute;\n top: 50%;\n right: 10px;\n font-size: 14px;\n color: #c4c6cc;\n cursor: pointer;\n transform: translateY(-50%);\n}\n.bk-date-picker-rel .clear-action:hover {\n color: #979ba5;\n}\n.bk-date-picker-rel .icon-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n width: 32px;\n height: 32px;\n color: #c4c6cc;\n cursor: pointer;\n background-color: transparent;\n}\n.bk-date-picker-rel .icon-wrapper.disabled {\n cursor: not-allowed;\n}\n.bk-date-picker-rel .icon-wrapper i.icon-clock {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.bk-date-picker-rel .icon-wrapper .picker-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 18px;\n height: 18px;\n transform: translate(-50%, -50%);\n}\n.bk-date-picker-dropdown {\n position: absolute;\n z-index: 900;\n padding: 5px 0 0 0;\n overflow: auto;\n background-color: #fff;\n border: 1px solid #dcdee5;\n border-radius: 2px;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n box-sizing: border-box;\n}\n.bk-date-picker .bk-select-dropdown {\n max-height: none;\n padding: 0;\n overflow: visible;\n}\n.bk-date-picker-footer-wrapper {\n clear: both;\n font-size: 14px;\n color: #979ba5;\n background-color: #fafbfd;\n border-top: 1px solid #dcdee5;\n}\n.bk-date-picker-top-wrapper {\n margin-top: -5px;\n clear: both;\n font-size: 14px;\n color: #979ba5;\n}\n.bk-picker-panel-body-wrapper.bk-picker-panel-with-sidebar {\n padding-right: 140px;\n}\n.bk-picker-panel-sidebar {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 140px;\n padding: 12px 0;\n overflow: auto;\n font-size: 14px;\n color: #3a84ff;\n background-color: #fafbfd;\n border-left: 1px solid #dcdee5;\n}\n.bk-picker-panel-sidebar .bk-picker-panel-shortcut {\n /* &:nth-of-type(1) {\n padding-top: 18px;\n }\n &:last-child {\n padding-bottom: 18px;\n } */\n padding: 6px 21px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n}\n.bk-picker-panel-sidebar .bk-picker-panel-shortcut:hover {\n background-color: #e1ecff;\n}\n.bk-picker-panel-body {\n float: left;\n}\n.bk-picker-confirm {\n height: 42px;\n padding: 0 20px;\n clear: both;\n font-size: 14px;\n line-height: 41px;\n text-align: right;\n background-color: #fafbfd;\n border-top: 1px solid #dcdee5;\n}\n.bk-picker-confirm a {\n color: #979ba5;\n}\n.bk-picker-confirm a.confirm {\n margin-left: 10px;\n color: #3a84ff;\n}\n.bk-picker-confirm a[disabled] {\n color: #c4c6cc;\n cursor: not-allowed;\n}\n.bk-picker-confirm .bk-picker-confirm-time {\n float: left;\n}\n.bk-date-picker-header {\n height: 46px;\n font-size: 14px;\n font-weight: 700;\n line-height: 46px;\n color: #63656e;\n text-align: center;\n border-bottom: 1px solid #dcdee5;\n}\n.bk-date-picker-header .bk-date-picker-header-label {\n cursor: pointer;\n}\n.bk-date-picker-header .bk-date-picker-header-label:hover {\n color: #3a84ff;\n}\n.bk-date-picker-header .up-to-now {\n margin-left: 3px;\n font-weight: 400;\n cursor: pointer;\n}\n.bk-date-picker-header .up-to-now.disabled {\n color: #c4c6cc;\n cursor: not-allowed;\n}\n.bk-date-picker-cells {\n margin: 9px;\n font-size: 12px;\n color: #63656e;\n white-space: normal;\n}\n.bk-date-picker-cells span {\n display: inline-block;\n width: 34px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n}\n.bk-date-picker-cells span em {\n display: inline-block;\n width: 34px;\n height: 32px;\n font-style: normal;\n line-height: 32px;\n cursor: pointer;\n}\n.bk-date-picker-cells .bk-date-picker-cells-header {\n text-align: center;\n}\n.bk-date-picker-cells .bk-date-picker-cells-header span {\n width: 28px;\n height: 26px;\n margin: 3px;\n line-height: 26px;\n color: #63656e;\n text-align: center;\n cursor: default;\n}\n.bk-date-picker-cells-cell:hover em {\n /* background-color: #e1ecff; */\n background-color: #f0f1f5;\n}\n.bk-date-picker-cells-focused em {\n color: #3a84ff;\n box-shadow: 0 0 0 1px #a3c5fd inset;\n}\n.bk-date-picker-cells-cell-prev-month em,\n.bk-date-picker-cells-cell-next-month em {\n color: #c4c6cc;\n}\n.bk-date-picker-cells-cell-prev-month:hover em,\n.bk-date-picker-cells-cell-next-month:hover em {\n background: transparent;\n}\nspan.bk-date-picker-cells-cell-week-label,\nspan.bk-date-picker-cells-cell-week-label:hover,\nspan.bk-date-picker-cells-cell-disabled,\nspan.bk-date-picker-cells-cell-disabled:hover {\n color: #c4c6cc;\n cursor: not-allowed;\n}\nspan.bk-date-picker-cells-cell-week-label em,\nspan.bk-date-picker-cells-cell-week-label:hover em,\nspan.bk-date-picker-cells-cell-disabled em,\nspan.bk-date-picker-cells-cell-disabled:hover em {\n color: inherit;\n cursor: not-allowed;\n background: inherit;\n}\nspan.bk-date-picker-cells-cell-disabled,\nspan.bk-date-picker-cells-cell-disabled:hover {\n background-color: #f0f1f5;\n}\n.bk-date-picker-cells-cell-today em {\n position: relative;\n color: #3a84ff;\n box-shadow: 0 0 0 1px #a3c5fd inset;\n}\n.bk-date-picker-cells-cell-range {\n position: relative;\n}\n.bk-date-picker-cells-cell-range:before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n background: #e1ecff;\n border: 0;\n border-radius: 0;\n content: '';\n}\n.bk-date-picker-cells-cell-range em {\n position: relative;\n z-index: 1;\n}\n.bk-date-picker-cells-cell-selected em,\n.bk-date-picker-cells-cell-selected:hover em {\n color: #fff;\n background-color: #3a84ff;\n box-shadow: 0 0 0 1px #3a84ff inset;\n}\nspan.bk-date-picker-cells-cell-disabled.bk-date-picker-cells-cell-selected em {\n color: #f7f7f7;\n background: #c4c6cc;\n}\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em:after {\n background: #fff;\n}\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em,\n.bk-date-picker-cells-cell-today.bk-date-picker-cells-cell-selected em:hover {\n box-shadow: 0 0 0 1px #3a84ff inset;\n}\n.bk-date-picker-cells-year,\n.bk-date-picker-cells-month {\n margin-top: 7px;\n}\n.bk-date-picker-cells-year span,\n.bk-date-picker-cells-month span {\n width: 36px;\n height: 32px;\n margin: 10px 12px;\n line-height: 32px;\n text-align: center;\n border-radius: 3px;\n}\n.bk-date-picker-cells-year span em,\n.bk-date-picker-cells-month span em {\n width: 36px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n}\n.bk-picker-panel-icon-btn {\n display: inline-block;\n width: 20px;\n height: 46px;\n line-height: 44px;\n color: #979ba5;\n text-align: center;\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n}\n.bk-picker-panel-icon-btn:hover {\n color: #2d8cf0;\n}\n.bk-picker-panel-icon-btn i {\n font-size: 20px;\n}\n.bk-date-picker-prev-btn {\n float: left;\n}\n.bk-date-picker-prev-btn-arrow-double {\n margin-left: 10px;\n}\n.bk-date-picker-prev-btn-arrow-double i:after {\n margin-left: -8px;\n}\n.bk-date-picker-next-btn {\n float: right;\n}\n.bk-date-picker-next-btn-arrow-double {\n margin-right: 10px;\n}\n.bk-date-picker-next-btn-arrow-double i:after {\n margin-left: -8px;\n}\n.bk-date-picker-with-range .bk-picker-panel-body {\n min-width: 532px;\n}\n.bk-date-picker-with-range .bk-picker-panel-content {\n float: left;\n}\n.bk-date-picker-with-range .bk-picker-cells-show-week-numbers {\n min-width: 492px;\n}\n.bk-date-picker-transfer {\n z-index: 1060;\n max-height: none;\n}\n.bk-fade-down-transition-enter-from,\n.bk-fade-down-transition-leave-to {\n opacity: 0;\n transform: translateY(-20px);\n}\n.bk-fade-down-transition-enter-to,\n.bk-fade-down-transition-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n.bk-fade-down-transition-enter-active {\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.bk-fade-down-transition-leave-active {\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n";
72
72
  var divider = ".bk-divider {\n position: relative;\n background: #c4c6cc;\n}\n.bk-divider-horizontal {\n width: 100%;\n height: 1px;\n margin: 1em 0;\n}\n.bk-divider-info {\n position: absolute;\n top: 50%;\n padding: 0 1.4em;\n color: #63656e;\n background-color: white;\n transform: translateY(-50%);\n}\n.bk-divider-info-center {\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}\n.bk-divider-info .bk-divider-horizontal-left {\n left: 2em;\n}\n.bk-divider-info .bk-divider-horizontal-right {\n right: 2em;\n}\n.bk-divider-vertical .bk-divider-info {\n padding: 20px 0;\n}\n.bk-divider-vertical {\n display: inline-block;\n width: 1px;\n height: 100%;\n min-height: 1em;\n margin: 0 8px;\n vertical-align: middle;\n}\n";
73
73
  var tab = ".bk-tab {\n position: relative;\n display: flex;\n width: 100%;\n}\n.bk-tab--top {\n flex-direction: column;\n}\n.bk-tab--right {\n flex-direction: row-reverse;\n}\n.bk-tab-header {\n display: flex;\n color: #63656e;\n}\n.bk-tab-header > div {\n display: flex;\n margin-bottom: -1px;\n flex-wrap: nowrap;\n}\n.bk-tab--card .bk-tab-header > div,\n.bk-tab--border-card .bk-tab-header > div {\n border-right: 1px solid #dcdee5;\n}\n.bk-tab--top .bk-tab-header-nav {\n overflow-x: auto;\n overflow-y: visible;\n}\n.bk-tab--left .bk-tab-header-nav,\n.bk-tab--right .bk-tab-header-nav {\n overflow-x: visible;\n overflow-y: auto;\n}\n.bk-tab--card .bk-tab-header-nav,\n.bk-tab--border-card .bk-tab-header-nav {\n border-left: 1px solid #dcdee5;\n}\n.bk-tab-header-nav::-webkit-scrollbar {\n display: none;\n width: 0;\n height: 0;\n}\n.bk-tab-header-operation .bk-tab-header-item {\n padding: 0 12px;\n}\n.bk-tab--left .bk-tab-header {\n border-right: 1px solid #dcdee5;\n}\n.bk-tab--right .bk-tab-header {\n border-left: 1px solid #dcdee5;\n}\n.bk-tab--left .bk-tab-header,\n.bk-tab--right .bk-tab-header {\n flex-direction: column;\n}\n.bk-tab--left .bk-tab-header > div,\n.bk-tab--right .bk-tab-header > div {\n flex-direction: column;\n}\n.bk-tab--card .bk-tab-header {\n border-bottom: 1px solid #dcdee5;\n}\n.bk-tab--border-card .bk-tab-header {\n background: #FAFBFD;\n border: solid #dcdee5;\n border-width: 1px 1px 1px 0;\n}\n.bk-tab--unborder-card .bk-tab-header {\n border-bottom: 1px solid #dcdee5;\n}\n.bk-tab-header-item {\n display: flex;\n white-space: nowrap;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n}\n.bk-tab-header-item:hover {\n color: #3a84ff;\n}\n.bk-tab-header-item:hover .bk-tab-header-item-close {\n display: block;\n margin-left: 10px;\n color: #ea3636;\n}\n.bk-tab--top .bk-tab-header-item {\n padding: 0 20px;\n}\n.bk-tab--left .bk-tab-header-item,\n.bk-tab--right .bk-tab-header-item {\n padding: 0 12px;\n}\n.bk-tab--left .bk-tab-header-item {\n text-align: right;\n}\n.bk-tab--card .bk-tab-header-item {\n border-top: 1px solid #dcdee5;\n}\n.bk-tab--card .bk-tab-header-item,\n.bk-tab--border-card .bk-tab-header-item {\n border-right: 1px solid #dcdee5;\n border-bottom: 1px solid #dcdee5;\n}\n.bk-tab--card .bk-tab-header-item:last-of-type,\n.bk-tab--border-card .bk-tab-header-item:last-of-type {\n border-right: none;\n}\n.bk-tab-header-operation .bk-tab-header-item {\n padding-right: 12px;\n padding-left: 12px;\n}\n.bk-tab-header-item-close {\n display: none;\n color: #c4c6cc;\n}\n.bk-tab-header--active {\n color: #3a84ff;\n}\n.bk-tab--card .bk-tab-header--active,\n.bk-tab--border-card .bk-tab-header--active {\n border-bottom-color: white;\n}\n.bk-tab--unborder-card .bk-tab-header--active {\n border-bottom: 2px solid #3a84ff;\n}\n.bk-tab--left .bk-tab-header--active {\n border-right: 2px solid #3a84ff;\n}\n.bk-tab--right .bk-tab-header--active {\n border-left: 2px solid #3a84ff;\n}\n.bk-tab-header--disabled {\n color: #aaa;\n pointer-events: none;\n cursor: not-allowed;\n}\n.bk-tab-content {\n flex: 1;\n padding: 10px;\n}\n.bk-tab--border-card .bk-tab-content {\n border: solid #dcdee5;\n border-width: 0 1px 1px;\n}\n.bk-tab-panel {\n height: 100%;\n}\n";
74
74
  var BKLAYERTYPE;
@@ -8023,6 +8023,13 @@ const typeValueResolver = {
8023
8023
  }
8024
8024
  }
8025
8025
  };
8026
+ const initTime = () => {
8027
+ const date = new Date();
8028
+ date.setHours(0);
8029
+ date.setMinutes(0);
8030
+ date.setSeconds(0);
8031
+ return date;
8032
+ };
8026
8033
  const isAllEmptyArr = (arr) => arr.every((item) => !item || typeof item === "string" && item.trim() === "");
8027
8034
  const extractTime = (date) => {
8028
8035
  if (!date) {
@@ -8545,7 +8552,7 @@ const dateTableProps = {
8545
8552
  };
8546
8553
  var DateTable = vue.defineComponent({
8547
8554
  props: dateTableProps,
8548
- emits: ["pick", "pick-click", "change-range"],
8555
+ emits: ["pick", "pick-click", "changeRange"],
8549
8556
  setup(props, {
8550
8557
  emit
8551
8558
  }) {
@@ -8603,7 +8610,7 @@ var DateTable = vue.defineComponent({
8603
8610
  return;
8604
8611
  }
8605
8612
  const newDate = cell.date;
8606
- emit("change-range", newDate);
8613
+ emit("changeRange", newDate);
8607
8614
  };
8608
8615
  const getCellCls = (cell) => ["bk-date-picker-cells-cell", {
8609
8616
  ["bk-date-picker-cells-cell-selected"]: cell.selected || cell.start || cell.end,
@@ -8635,6 +8642,9 @@ var DateTable = vue.defineComponent({
8635
8642
  }
8636
8643
  });
8637
8644
  const datePanelProps = {
8645
+ modelValue: {
8646
+ type: [Date, String, Number, Array]
8647
+ },
8638
8648
  shortcuts: {
8639
8649
  type: Array,
8640
8650
  default: () => []
@@ -8653,10 +8663,14 @@ const datePanelProps = {
8653
8663
  },
8654
8664
  selectionMode: {
8655
8665
  type: String,
8656
- default: "date"
8657
- },
8658
- modelValue: {
8659
- type: [Date, String, Number, Array]
8666
+ default: "date",
8667
+ validator(v2) {
8668
+ if (["year", "month", "date", "time"].indexOf(v2) < 0) {
8669
+ console.error(`selectionMode property is not valid: '${v2}'`);
8670
+ return false;
8671
+ }
8672
+ return true;
8673
+ }
8660
8674
  },
8661
8675
  startDate: {
8662
8676
  type: Date
@@ -8695,6 +8709,7 @@ var DatePanel = vue.defineComponent({
8695
8709
  }
8696
8710
  };
8697
8711
  const handlePick = (value, type) => {
8712
+ console.warn("handlePick");
8698
8713
  let val = value;
8699
8714
  if (props.selectionMode === "year") {
8700
8715
  val = new Date(value.getFullYear(), 0, 1);
@@ -8768,7 +8783,7 @@ var DatePanel = vue.defineComponent({
8768
8783
  const showLabelFirst = vue.computed(() => datePanelLabel.value.labels[0].type === "year" || state.currentView === "date");
8769
8784
  const showLabelSecond = vue.computed(() => datePanelLabel.value.labels[1].type === "year" || state.currentView === "date");
8770
8785
  const isTime = vue.computed(() => state.currentView === "time");
8771
- console.error("panelDatepanelDate", state.panelDate);
8786
+ console.warn("panelDatepanelDate", state.panelDate);
8772
8787
  return __spreadProps(__spreadValues({}, vue.toRefs(state)), {
8773
8788
  panelPickerHandlers,
8774
8789
  datePanelLabel,
@@ -8855,6 +8870,406 @@ var DatePanel = vue.defineComponent({
8855
8870
  })() : ""])])]);
8856
8871
  }
8857
8872
  });
8873
+ const dateRangePanelProps = {
8874
+ modelValue: {
8875
+ type: [Date, String, Number, Array]
8876
+ },
8877
+ type: {
8878
+ type: String,
8879
+ default: "date",
8880
+ validator(value) {
8881
+ const validList = ["year", "month", "date", "daterange", "datetime", "datetimerange", "time", "timerange"];
8882
+ if (validList.indexOf(value) < 0) {
8883
+ console.error(`type property is not valid: '${value}'`);
8884
+ return false;
8885
+ }
8886
+ return true;
8887
+ }
8888
+ },
8889
+ shortcuts: {
8890
+ type: Array,
8891
+ default: () => []
8892
+ },
8893
+ clearable: {
8894
+ type: Boolean,
8895
+ default: true
8896
+ },
8897
+ splitPanels: {
8898
+ type: Boolean,
8899
+ default: true
8900
+ },
8901
+ shortcutClose: {
8902
+ type: Boolean,
8903
+ default: false
8904
+ },
8905
+ showTime: {
8906
+ type: Boolean,
8907
+ default: false
8908
+ },
8909
+ selectionMode: {
8910
+ type: String,
8911
+ default: "date",
8912
+ validator(v2) {
8913
+ if (["year", "month", "date", "time"].indexOf(v2) < 0) {
8914
+ console.error(`selectionMode property is not valid: '${v2}'`);
8915
+ return false;
8916
+ }
8917
+ return true;
8918
+ }
8919
+ },
8920
+ startDate: {
8921
+ type: Date
8922
+ },
8923
+ upToNow: {
8924
+ type: Boolean,
8925
+ default: false
8926
+ },
8927
+ disableDate: Function,
8928
+ focusedDate: {
8929
+ type: Date,
8930
+ required: true
8931
+ }
8932
+ };
8933
+ var DateRangePanel = vue.defineComponent({
8934
+ props: dateRangePanelProps,
8935
+ emits: ["pick"],
8936
+ setup(props, {
8937
+ emit
8938
+ }) {
8939
+ const [minDate, maxDate] = props.modelValue.map((date) => date || initTime());
8940
+ const leftPanelDate = props.startDate ? props.startDate : minDate;
8941
+ const state = vue.reactive({
8942
+ currentView: props.selectionMode || "date",
8943
+ leftPickerTable: `${props.selectionMode}-table`,
8944
+ rightPickerTable: `${props.selectionMode}-table`,
8945
+ leftPanelDate,
8946
+ rightPanelDate: new Date(leftPanelDate.getFullYear(), leftPanelDate.getMonth() + 1, 1),
8947
+ rangeState: {
8948
+ from: props.modelValue[0],
8949
+ to: props.modelValue[1],
8950
+ selecting: minDate && !maxDate
8951
+ },
8952
+ upToNowEnable: false,
8953
+ dates: props.modelValue
8954
+ });
8955
+ const dateSorter = (a2, b2) => {
8956
+ if (!a2 || !b2) {
8957
+ return 0;
8958
+ }
8959
+ return a2.getTime() - b2.getTime();
8960
+ };
8961
+ const reset2 = () => {
8962
+ state.currentView = props.selectionMode;
8963
+ state.leftPickerTable = `${state.currentView}-table`;
8964
+ state.rightPickerTable = `${state.currentView}-table`;
8965
+ };
8966
+ const timeSpinner = vue.ref(null);
8967
+ const timeSpinnerEnd = vue.ref(null);
8968
+ const onToggleVisibility = (open) => {
8969
+ var _a, _b;
8970
+ if (open) {
8971
+ (_a = timeSpinner == null ? void 0 : timeSpinner.value) == null ? void 0 : _a.updateScroll();
8972
+ (_b = timeSpinnerEnd == null ? void 0 : timeSpinnerEnd.value) == null ? void 0 : _b.updateScroll();
8973
+ }
8974
+ };
8975
+ const changePanelDate = (panel, type, increment, updateOtherPanel = true) => {
8976
+ const current = new Date(state[`${panel}PanelDate`]);
8977
+ current[`set${type}`](current[`get${type}`]() + increment);
8978
+ state[`${panel}PanelDate`] = current;
8979
+ if (!updateOtherPanel) {
8980
+ return;
8981
+ }
8982
+ if (props.splitPanels) {
8983
+ const otherPanel = panel === "left" ? "right" : "left";
8984
+ if (panel === "left" && state.leftPanelDate >= state.rightPanelDate) {
8985
+ changePanelDate(otherPanel, type, 1);
8986
+ }
8987
+ if (panel === "right" && state.rightPanelDate <= state.leftPanelDate) {
8988
+ changePanelDate(otherPanel, type, -1);
8989
+ }
8990
+ } else {
8991
+ const otherPanel = panel === "left" ? "right" : "left";
8992
+ const currentDate = state[`${otherPanel}PanelDate`];
8993
+ const temp = new Date(currentDate);
8994
+ if (type === "Month") {
8995
+ const nextMonthLastDate = new Date(temp.getFullYear(), temp.getMonth() + increment + 1, 0).getDate();
8996
+ temp.setDate(Math.min(nextMonthLastDate, temp.getDate()));
8997
+ }
8998
+ temp[`set${type}`](temp[`get${type}`]() + increment);
8999
+ state[`${otherPanel}PanelDate`] = temp;
9000
+ }
9001
+ };
9002
+ const prevYear = (panel) => {
9003
+ const increment = state.currentView === "year" ? -10 : -1;
9004
+ changePanelDate(panel, "FullYear", increment);
9005
+ };
9006
+ const nextYear = (panel) => {
9007
+ const increment = state.currentView === "year" ? 10 : 1;
9008
+ changePanelDate(panel, "FullYear", increment);
9009
+ };
9010
+ const prevMonth = (panel) => {
9011
+ changePanelDate(panel, "Month", -1);
9012
+ };
9013
+ const nextMonth = (panel) => {
9014
+ changePanelDate(panel, "Month", 1);
9015
+ };
9016
+ const showYearPicker = (panel) => {
9017
+ state[`${panel}PickerTable`] = "year-table";
9018
+ };
9019
+ const showMonthPicker = (panel) => {
9020
+ state[`${panel}PickerTable`] = "month-table";
9021
+ };
9022
+ const panelLabelConfig = (direction) => {
9023
+ const locale2 = "zh-CN";
9024
+ const datePanelLabel = "[yyyy]-[mm]";
9025
+ const date = state[`${direction}PanelDate`];
9026
+ const {
9027
+ labels: labels2,
9028
+ separator
9029
+ } = formatDateLabels(locale2, datePanelLabel, date);
9030
+ const handler = (type) => {
9031
+ const fn2 = type === "month" ? showMonthPicker : showYearPicker;
9032
+ return () => fn2(direction);
9033
+ };
9034
+ return {
9035
+ separator,
9036
+ labels: labels2.map((obj) => {
9037
+ const ret = obj;
9038
+ ret.handler = handler(obj.type);
9039
+ return ret;
9040
+ })
9041
+ };
9042
+ };
9043
+ const handleConfirm = (visible, type) => {
9044
+ emit("pick", state.dates, visible, type || props.type);
9045
+ };
9046
+ const handleRangePick = (val, type) => {
9047
+ console.warn("handleRangePick");
9048
+ if (state.rangeState.selecting || state.currentView === "time") {
9049
+ if (state.currentView === "time") {
9050
+ state.dates = val;
9051
+ } else {
9052
+ const [minDate2, maxDate2] = [state.rangeState.from, val].sort(dateSorter);
9053
+ const maxDateLastMoment = type === "upToNow" ? new Date() : new Date(new Date(new Date(maxDate2.setHours(23)).setMinutes(59)).setSeconds(59));
9054
+ state.dates = [minDate2, maxDateLastMoment];
9055
+ state.rangeState = {
9056
+ from: minDate2,
9057
+ to: maxDateLastMoment,
9058
+ selecting: false
9059
+ };
9060
+ }
9061
+ handleConfirm(false, type || "date");
9062
+ } else {
9063
+ state.upToNowEnable = new Date(val).getTime() < new Date().getTime();
9064
+ state.rangeState = {
9065
+ from: val,
9066
+ to: null,
9067
+ selecting: true
9068
+ };
9069
+ }
9070
+ };
9071
+ const handlePreSelection = (panelPosition, value) => {
9072
+ state[`${panelPosition}PanelDate`] = value;
9073
+ const currentViewType = state[`${panelPosition}PickerTable`];
9074
+ if (currentViewType === "year-table") {
9075
+ state[`${panelPosition}PickerTable`] = "month-table";
9076
+ } else {
9077
+ state[`${panelPosition}PickerTable`] = `${state.currentView}-table`;
9078
+ }
9079
+ if (!props.splitPanels) {
9080
+ const otherPanel = panelPosition === "left" ? "right" : "left";
9081
+ state[`${otherPanel}PanelDate`] = value;
9082
+ const increment = otherPanel === "left" ? -1 : 1;
9083
+ changePanelDate(otherPanel, "Month", increment, false);
9084
+ }
9085
+ };
9086
+ const handleChangeRange = (val) => {
9087
+ state.rangeState.to = val;
9088
+ };
9089
+ vue.watch(() => props.selectionMode, (v2) => {
9090
+ state.currentView = v2 || "range";
9091
+ });
9092
+ const isTime = vue.computed(() => state.currentView === "time");
9093
+ const leftDatePanelLabel = vue.computed(() => panelLabelConfig("left"));
9094
+ const rightDatePanelLabel = vue.computed(() => panelLabelConfig("right"));
9095
+ const leftDatePanelView = vue.computed(() => state.leftPickerTable.split("-").shift());
9096
+ const rightDatePanelView = vue.computed(() => state.rightPickerTable.split("-").shift());
9097
+ const leftShowLabelFirst = vue.computed(() => leftDatePanelLabel.value.labels[0].type === "year" || state.currentView === "date");
9098
+ const leftShowLabelSecond = vue.computed(() => leftDatePanelLabel.value.labels[1].type === "year" || state.currentView === "date");
9099
+ const rightShowLabelFirst = vue.computed(() => rightDatePanelLabel.value.labels[0].type === "year" || state.currentView === "date");
9100
+ const rightShowLabelSecond = vue.computed(() => rightDatePanelLabel.value.labels[1].type === "year" || state.currentView === "date");
9101
+ const preSelecting = vue.computed(() => {
9102
+ const tableType = `${state.currentView}-table`;
9103
+ return {
9104
+ left: state.leftPickerTable !== tableType,
9105
+ right: state.rightPickerTable !== tableType
9106
+ };
9107
+ });
9108
+ const panelPickerHandlers = vue.computed(() => ({
9109
+ left: preSelecting.value.left ? handlePreSelection.bind("left") : handleRangePick,
9110
+ right: preSelecting.value.right ? handlePreSelection.bind("right") : handleRangePick
9111
+ }));
9112
+ return __spreadProps(__spreadValues({}, vue.toRefs(state)), {
9113
+ isTime,
9114
+ prevYear,
9115
+ nextYear,
9116
+ prevMonth,
9117
+ nextMonth,
9118
+ leftDatePanelLabel,
9119
+ rightDatePanelLabel,
9120
+ leftDatePanelView,
9121
+ rightDatePanelView,
9122
+ leftShowLabelFirst,
9123
+ leftShowLabelSecond,
9124
+ rightShowLabelFirst,
9125
+ rightShowLabelSecond,
9126
+ preSelecting,
9127
+ panelPickerHandlers,
9128
+ reset: reset2,
9129
+ onToggleVisibility,
9130
+ handleRangePick,
9131
+ handleChangeRange
9132
+ });
9133
+ },
9134
+ render() {
9135
+ return vue.createVNode("div", {
9136
+ "class": ["bk-picker-panel-body-wrapper", "bk-date-picker-with-range", this.shortcuts.length || this.$slots.shortcuts ? "bk-picker-panel-with-sidebar" : ""],
9137
+ "onMousedown": (e2) => {
9138
+ e2.preventDefault();
9139
+ }
9140
+ }, [vue.createVNode("div", {
9141
+ "class": ["bk-picker-panel-body", this.showTime ? "bk-picker-panel-body-time" : "bk-picker-panel-body-date"]
9142
+ }, [vue.withDirectives(vue.createVNode("div", {
9143
+ "class": "bk-picker-panel-content bk-picker-panel-content-left",
9144
+ "style": "width: 261px;"
9145
+ }, [vue.withDirectives(vue.createVNode("div", {
9146
+ "class": "bk-date-picker-header"
9147
+ }, [vue.createVNode("span", {
9148
+ "class": iconBtnCls("prev", "-double"),
9149
+ "onClick": () => this.prevYear("left")
9150
+ }, [vue.createVNode(angleDoubleLeft, {
9151
+ "style": {
9152
+ fontSize: "20px",
9153
+ lineHeight: 1
9154
+ }
9155
+ }, null)]), this.leftPickerTable === "date-table" ? vue.withDirectives(vue.createVNode("span", {
9156
+ "class": iconBtnCls("prev"),
9157
+ "onClick": () => this.prevMonth("left")
9158
+ }, [vue.createVNode(angleLeft, {
9159
+ "style": {
9160
+ fontSize: "20px",
9161
+ lineHeight: 1
9162
+ }
9163
+ }, null)]), [[vue.vShow, this.currentView === "date"]]) : "", this.leftDatePanelLabel && Object.keys(this.leftDatePanelLabel).length > 0 ? vue.createVNode("span", null, [vue.withDirectives(vue.createVNode("span", {
9164
+ "class": "bk-date-picker-header-label",
9165
+ "onClick": () => this.leftDatePanelLabel.labels[0].handler
9166
+ }, [this.leftDatePanelLabel.labels[0].label]), [[vue.vShow, this.leftShowLabelFirst]]), this.leftDatePanelView === "date" ? ` ${this.leftDatePanelLabel.separator} ` : " ", vue.withDirectives(vue.createVNode("span", {
9167
+ "class": "bk-date-picker-header-label",
9168
+ "onClick": () => this.leftDatePanelLabel.labels[1].handler
9169
+ }, [this.leftDatePanelLabel.labels[1].label]), [[vue.vShow, this.leftShowLabelSecond]])]) : "", this.splitPanels || this.leftPickerTable !== "date-table" ? vue.createVNode("span", {
9170
+ "class": iconBtnCls("next", "-double"),
9171
+ "onClick": () => this.nextYear("left")
9172
+ }, [vue.createVNode(angleDoubleRight, {
9173
+ "style": {
9174
+ fontSize: "20px",
9175
+ lineHeight: 1
9176
+ }
9177
+ }, null)]) : "", this.splitPanels || this.leftPickerTable === "date-table" ? vue.withDirectives(vue.createVNode("span", {
9178
+ "class": iconBtnCls("next"),
9179
+ "onClick": () => this.nextMonth("left")
9180
+ }, [vue.createVNode(angleRight, {
9181
+ "style": {
9182
+ fontSize: "20px",
9183
+ lineHeight: 1
9184
+ }
9185
+ }, null)]), [[vue.vShow, this.currentView === "date"]]) : ""]), [[vue.vShow, this.currentView !== "time"]]), this.currentView !== "time" ? (() => {
9186
+ switch (this.leftPickerTable) {
9187
+ case "date-table":
9188
+ return vue.createVNode(DateTable, {
9189
+ "selectionMode": "range",
9190
+ "tableDate": this.leftPanelDate,
9191
+ "disableDate": this.disableDate,
9192
+ "rangeState": this.rangeState,
9193
+ "modelValue": this.preSelecting.left ? [this.dates[0]] : this.dates,
9194
+ "focusedDate": this.focusedDate,
9195
+ "onChangeRange": this.handleChangeRange,
9196
+ "onPick": this.panelPickerHandlers.left
9197
+ }, null);
9198
+ default:
9199
+ return null;
9200
+ }
9201
+ })() : ""]), [[vue.vShow, !this.isTime]]), vue.withDirectives(vue.createVNode("div", {
9202
+ "class": "bk-picker-panel-content bk-picker-panel-content-right",
9203
+ "style": "width: 261px;"
9204
+ }, [vue.withDirectives(vue.createVNode("div", {
9205
+ "class": "bk-date-picker-header"
9206
+ }, [this.splitPanels || this.rightPickerTable !== "date-table" ? vue.createVNode("span", {
9207
+ "class": iconBtnCls("prev", "-double"),
9208
+ "onClick": () => this.prevYear("right")
9209
+ }, [vue.createVNode(angleDoubleLeft, {
9210
+ "style": {
9211
+ fontSize: "20px",
9212
+ lineHeight: 1
9213
+ }
9214
+ }, null)]) : "", this.splitPanels && this.rightPickerTable === "date-table" ? vue.withDirectives(vue.createVNode("span", {
9215
+ "class": iconBtnCls("prev", "-double"),
9216
+ "onClick": () => this.prevMonth("right")
9217
+ }, [vue.createVNode(angleLeft, {
9218
+ "style": {
9219
+ fontSize: "20px",
9220
+ lineHeight: 1
9221
+ }
9222
+ }, null)]), [[vue.vShow, this.currentView === "date"]]) : "", this.rightDatePanelLabel && Object.keys(this.rightDatePanelLabel).length > 0 ? vue.createVNode("span", null, [vue.withDirectives(vue.createVNode("span", {
9223
+ "class": "bk-date-picker-header-label",
9224
+ "onClick": () => this.rightDatePanelLabel.labels[0].handler
9225
+ }, [this.rightDatePanelLabel.labels[0].label]), [[vue.vShow, this.rightShowLabelFirst]]), this.rightDatePanelView === "date" ? ` ${this.rightDatePanelLabel.separator} ` : " ", vue.withDirectives(vue.createVNode("span", {
9226
+ "class": "bk-date-picker-header-label",
9227
+ "onClick": () => this.rightDatePanelLabel.labels[1].handler
9228
+ }, [this.rightDatePanelLabel.labels[1].label]), [[vue.vShow, this.rightShowLabelSecond]])]) : "", this.upToNow ? (() => {
9229
+ if ((this.rangeState.selecting || this.currentView === "time") && this.upToNowEnable) {
9230
+ return vue.createVNode("span", {
9231
+ "class": "up-to-now",
9232
+ "onClick": () => this.handleRangePick(new Date(), "upToNow")
9233
+ }, [vue.createTextVNode("\u81F3\u4ECA")]);
9234
+ }
9235
+ return vue.createVNode("span", {
9236
+ "class": "up-to-now disabled"
9237
+ }, [vue.createTextVNode("\u81F3\u4ECA")]);
9238
+ })() : "", vue.createVNode("span", {
9239
+ "class": iconBtnCls("next", "-double"),
9240
+ "onClick": () => this.nextYear("right")
9241
+ }, [vue.createVNode(angleDoubleRight, {
9242
+ "style": {
9243
+ fontSize: "20px",
9244
+ lineHeight: 1
9245
+ }
9246
+ }, null)]), this.rightPickerTable === "date-table" ? vue.withDirectives(vue.createVNode("span", {
9247
+ "class": iconBtnCls("next"),
9248
+ "onClick": () => this.nextMonth("right")
9249
+ }, [vue.createVNode(angleRight, {
9250
+ "style": {
9251
+ fontSize: "20px",
9252
+ lineHeight: 1
9253
+ }
9254
+ }, null)]), [[vue.vShow, this.currentView === "date"]]) : ""]), [[vue.vShow, this.currentView !== "time"]]), this.currentView !== "time" ? (() => {
9255
+ switch (this.rightPickerTable) {
9256
+ case "date-table":
9257
+ return vue.createVNode(DateTable, {
9258
+ "selectionMode": "range",
9259
+ "tableDate": this.rightPanelDate,
9260
+ "disableDate": this.disableDate,
9261
+ "rangeState": this.rangeState,
9262
+ "modelValue": this.preSelecting.right ? [this.dates[this.dates.length - 1]] : this.dates,
9263
+ "focusedDate": this.focusedDate,
9264
+ "onChangeRange": this.handleChangeRange,
9265
+ "onPick": this.panelPickerHandlers.right
9266
+ }, null);
9267
+ default:
9268
+ return null;
9269
+ }
9270
+ })() : ""]), [[vue.vShow, !this.isTime]])])]);
9271
+ }
9272
+ });
8858
9273
  const datePickerProps = {
8859
9274
  type: {
8860
9275
  type: String,
@@ -9460,7 +9875,17 @@ var Component = vue.defineComponent({
9460
9875
  "appendToBody": this.appendToBody,
9461
9876
  "onClick": this.handleTransferClick
9462
9877
  }, {
9463
- default: () => [this.panel === "DateRangePanel" ? vue.createVNode("div", null, [vue.createTextVNode("range")]) : vue.createVNode(DatePanel, {
9878
+ default: () => [this.panel === "DateRangePanel" ? vue.createVNode(DateRangePanel, {
9879
+ "ref": "pickerPanelRef",
9880
+ "shortcuts": this.shortcuts,
9881
+ "modelValue": this.internalValue,
9882
+ "type": this.type,
9883
+ "selectionMode": this.selectionMode,
9884
+ "startDate": this.startDate,
9885
+ "disableDate": this.disableDate,
9886
+ "focusedDate": this.focusedDate,
9887
+ "onPick": this.onPick
9888
+ }, null) : vue.createVNode(DatePanel, {
9464
9889
  "ref": "pickerPanelRef",
9465
9890
  "shortcuts": this.shortcuts,
9466
9891
  "multiple": this.multiple,