@sl-material/sl-import 1.0.0-beta0

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.
@@ -0,0 +1,2 @@
1
+ !function(){"use strict";try{if("undefined"!=typeof document){var A=document.createElement("style");A.appendChild(document.createTextNode("@charset \"UTF-8\";:root{--sl-color-white: #ffffff;--sl-color-black: #000000;--sl-color-primary-rgb: 40, 120, 255;--sl-color-success-rgb: 0, 180, 42;--sl-color-warning-rgb: 255, 105, 0;--sl-color-danger-rgb: 255, 77, 80;--sl-color-error-rgb: 255, 77, 80;--sl-color-info-rgb: 136, 141, 154;--sl-font-size-extra-large: 20px;--sl-font-size-large: 18px;--sl-font-size-medium: 16px;--sl-font-size-base: 14px;--sl-font-size-small: 13px;--sl-font-size-extra-small: 12px;--sl-font-size-extra-smaller: 11px;--sl-font-size-last-small: 10px;--sl-font-family: \"PingFang SC\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, \"Hiragino Sans GB\", \"微软雅黑\", Arial, sans-serif;--sl-font-weight-primary: 400;--sl-font-weight-500: 500;--sl-font-line-height-primary: 24px;--sl-index-normal: 1;--sl-index-top: 1000;--sl-index-popper: 2000;--sl-border-radius-base: 4px;--sl-border-radius-small: 2px;--sl-border-radius-round: 20px;--sl-border-radius-circle: 100%;--sl-transition-duration: .3s;--sl-transition-duration-fast: .2s;--sl-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);--sl-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);--sl-transition-all: all var(--sl-transition-duration) var(--sl-transition-function-ease-in-out-bezier);--sl-transition-fade: opacity var(--sl-transition-duration) var(--sl-transition-function-fast-bezier);--sl-transition-md-fade: transform var(--sl-transition-duration) var(--sl-transition-function-fast-bezier), opacity var(--sl-transition-duration) var(--sl-transition-function-fast-bezier);--sl-transition-fade-linear: opacity var(--sl-transition-duration-fast) linear;--sl-transition-border: border-color var(--sl-transition-duration-fast) var(--sl-transition-function-ease-in-out-bezier);--sl-transition-box-shadow: box-shadow var(--sl-transition-duration-fast) var(--sl-transition-function-ease-in-out-bezier);--sl-transition-color: color var(--sl-transition-duration-fast) var(--sl-transition-function-ease-in-out-bezier);--sl-component-size-large: 40px;--sl-component-size: 32px;--sl-component-size-small: 24px;color-scheme:light;--sl-color-primary: #2878ff;--sl-color-primary-light-3: #5594ff;--sl-color-primary-light-5: #9FC3FF;--sl-color-primary-light-7: #bfd7ff;--sl-color-primary-light-8: #d4e4ff;--sl-color-primary-light-9: #E8F3FF;--sl-color-primary-dark-2: #0A59DF;--sl-color-success: #00B42A;--sl-color-success-light-3: rgb(77, 203, 106);--sl-color-success-light-5: rgb(128, 218, 149);--sl-color-success-light-7: rgb(179, 233, 191);--sl-color-success-light-8: rgb(204, 240, 212);--sl-color-success-light-9: #E8FFEA;--sl-color-success-dark-2: rgb(0, 144, 34);--sl-color-warning: #FF6900;--sl-color-warning-light-3: rgb(255, 150, 77);--sl-color-warning-light-5: rgb(255, 180, 128);--sl-color-warning-light-7: rgb(255, 210, 179);--sl-color-warning-light-8: rgb(255, 225, 204);--sl-color-warning-light-9: #FFF3E4;--sl-color-warning-dark-2: rgb(204, 84, 0);--sl-color-danger: #FF4D50;--sl-color-danger-light-3: rgb(255, 130, 133);--sl-color-danger-light-5: rgb(255, 166, 168);--sl-color-danger-light-7: rgb(255, 202, 203);--sl-color-danger-light-8: rgb(255, 219, 220);--sl-color-danger-light-9: #FFEBEB;--sl-color-danger-dark-2: rgb(204, 62, 64);--sl-color-error: #FF4D50;--sl-color-error-light-3: rgb(255, 130, 133);--sl-color-error-light-5: rgb(255, 166, 168);--sl-color-error-light-7: rgb(255, 202, 203);--sl-color-error-light-8: rgb(255, 219, 220);--sl-color-error-light-9: rgb(255, 237, 238);--sl-color-error-dark-2: rgb(204, 62, 64);--sl-color-info: #888d9a;--sl-color-info-light-3: #b1b3b8;--sl-color-info-light-5: #c8c9cc;--sl-color-info-light-7: #dedfe0;--sl-color-info-light-8: #e9e9eb;--sl-color-info-light-9: #f4f5f6;--sl-color-info-dark-2: rgb(109, 113, 123);--sl-color-rest: #955609;--sl-color-rest-light-1: #ffeac9;--sl-color-success-light-4: #23C343;--sl-color-success-light-6: #7BE188;--sl-color-warning-light-4: #FD7E14;--sl-color-warning-light-6: #FFC078;--sl-color-danger-light-4: #FC7274;--sl-color-danger-light-6: #FFB9BA;--sl-bg-color: #ffffff;--sl-bg-color-page: #f2f3f5;--sl-bg-color-overlay: #ffffff;--sl-bg-color-rest: rgba(253, 192, 45, .03);--sl-bg-color-container: #f2f4f6;--sl-text-color: #1D2129;--sl-text-color-primary: #1D2129;--sl-text-color-regular: #1D2129;--sl-text-color-secondary: #4E5969;--sl-text-color-thridary: #86909C;--sl-text-color-four: #C9CDD4;--sl-text-color-fifth: #FFFFFF;--sl-text-color-placeholder: #86909C;--sl-text-color-disabled: #C9CDD4;--sl-text-color-icon: #afb1b4;--sl-border-color: #E5E6EB;--sl-border-color-light: #F2F3F5;--sl-border-color-dark: #C9CDD4;--sl-border-color-darker: #86909C;--sl-border-color-checkbox: #C9CDD4;--sl-border-color-switch: #C9CDD4;--sl-fill-color: #F2F3F5;--sl-fill-color-light: #F7F8FA;--sl-fill-color-dark: #E5E6EB;--sl-fill-color-darker: #C9CDD4;--sl-fill-color-extra-darker: #4E5969;--sl-fill-color-blank: #ffffff;--sl-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--sl-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--sl-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--sl-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);--sl-disabled-bg-color: var(--sl-fill-color-light);--sl-disabled-text-color: var(--sl-text-color-thridary);--sl-disabled-border-color: var(--sl-border-color-dark);--sl-overlay-color: rgba(0, 0, 0, .8);--sl-overlay-color-light: rgba(0, 0, 0, .7);--sl-overlay-color-lighter: rgba(0, 0, 0, .5);--sl-mask-color: rgba(255, 255, 255, .9);--sl-mask-color-extra-light: rgba(255, 255, 255, .3);--sl-border-width: 1px;--sl-border-style: solid;--sl-border-color-hover: var(--sl-text-color-disabled);--sl-border: var(--sl-border-width) var(--sl-border-style) var(--sl-border-color);--sl-checkbox-input-border-custom: var(--sl-border-width) var(--sl-border-style) var(--sl-border-color-checkbox);--sl-svg-monochrome-grey: var(--sl-border-color);--sl-form-item-tooltip-width: 240px }:root{--slm-card-bg-color4: #F6F6F6;--slm-card-bg-color5:#EDEDED;--slm-primary-color-hover:#5297ff }@font-face{font-family:iconfont;src:url(data:font/woff2;base64,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) format(\"woff2\"),url(data:font/woff;base64,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) format(\"woff\"),url(data:font/ttf;base64,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) format(\"truetype\"),url(\"data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%20%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%3e%3cmetadata%3eCreated%20by%20iconfont%3c/metadata%3e%3cdefs%3e%3cfont%20id='iconfont'%20horiz-adv-x='1024'%3e%3cfont-face%20font-family='iconfont'%20font-weight='400'%20font-stretch='normal'%20units-per-em='1024'%20ascent='896'%20descent='-128'%20/%3e%3cmissing-glyph%20/%3e%3cglyph%20glyph-name='info'%20unicode='&%2359005;'%20d='M512%20800c-229.76%200-416-186.24-416-416s186.24-416%20416-416%20416%20186.24%20416%20416-186.24%20416-416%20416zM577.248%20230.944c-31.392-47.136-63.328-83.456-117.056-83.456-36.672%205.984-51.744%2032.256-43.808%2059.04l69.12%20228.928c1.696%205.6-1.12%2011.584-6.24%2013.408-5.088%201.792-15.072-4.832-23.712-14.304l-41.792-50.272c-1.12%208.448-0.128%2022.4-0.128%2028.032%2031.392%2047.136%2082.976%2084.32%20117.952%2084.32%2033.248-3.392%2048.992-29.984%2043.2-59.2l-69.6-230.048c-0.928-5.184%201.824-10.464%206.528-12.128%205.12-1.792%2015.872%204.832%2024.544%2014.304l41.76%2050.24c1.12-8.448-0.768-23.232-0.768-28.864zM567.936%20529.952c-26.432%200-47.872%2019.264-47.872%2047.616s21.44%2047.584%2047.872%2047.584%2047.872-19.264%2047.872-47.584c0-28.384-21.44-47.616-47.872-47.616z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='warning'%20unicode='&%2358993;'%20d='M512%20832q190.016-4.992%20316.512-131.488T960%20384q-4.992-190.016-131.488-316.512T512-64q-190.016%204.992-316.512%20131.488T64%20384q4.992%20190.016%20131.488%20316.512T512%20832z%20m0-192q-26.016%200-43.008-19.008T453.984%20576l23.008-256q2.016-14.016%2011.488-22.496t23.488-8.512%2023.488%208.512%2011.488%2022.496l23.008%20256q2.016%2026.016-15.008%2044.992T511.936%20640z%20m0-512q22.016%200.992%2036.512%2015.008t14.496%2036-14.496%2036.512T512%20230.016t-36.512-14.496-14.496-36.512%2014.496-36T512%20128z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='success'%20unicode='&%2358924;'%20d='M510.646-63.35c-247.257%200-447.692%20200.447-447.692%20447.701%200%20247.247%20200.436%20447.692%20447.692%20447.692s447.693-200.445%20447.693-447.692c0-247.254-200.437-447.7-447.693-447.7z%20m273.546%20605.113l-14.388%2014.388c-7.949%207.949-20.826%207.949-28.775%200L442.6%20263.914%20333.045%20378.569c-3.598%203.597-12.958%200.06-20.908-7.888l-14.388-14.39c-7.95-7.95-11.465-17.31-7.87-20.896l146.185-152.97c3.576-3.598%2012.937-0.05%2020.887%207.889l14.368%2014.388c2.543%202.524%204.411%205.137%205.96%207.711l306.914%20300.563c7.95%207.94%207.95%2020.838-0.001%2028.787z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='cuowu'%20unicode='&%2358900;'%20d='M512-85.333333C252.8-85.333333%2042.666667%20124.8%2042.666667%20384S252.8%20853.333333%20512%20853.333333s469.333333-210.133333%20469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z%20m44.245333%20469.333333l159.914667%20159.914667a31.274667%2031.274667%200%201%201-44.245333%2044.245333L512%20428.245333%20352.085333%20588.16a31.274667%2031.274667%200%201%201-44.245333-44.245333L467.754667%20384l-159.914667-159.914667a31.274667%2031.274667%200%201%201%2044.245333-44.245333L512%20339.754667l159.914667-159.914667a31.274667%2031.274667%200%201%201%2044.245333%2044.245333L556.245333%20384z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='prev2'%20unicode='&%2358881;'%20d='M62.56%20384.096L485.952%20807.744a48.64%2048.64%200%200%200%2068.736-68.736L199.616%20383.936l356.8-356.8A48.64%2048.64%200%200%200%20487.68-41.6l-39.744%2039.744%200.256%200.256L62.528%20384.064z%20m388.8%200L874.752%20807.744a48.64%2048.64%200%200%200%2068.736-68.736L588.416%20383.936l356.8-356.8A48.64%2048.64%200%200%200%20876.48-41.6l-39.776%2039.744%200.288%200.256-385.664%20385.664z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='prev3'%20unicode='&%2358899;'%20d='M714.608%20854.926L265.584%20405.903c-10.963-10.963-11.993-28.099-3.083-40.21899999l0.06099999-0.07900001a31.629%2031.629%200%200%201%201.55500001-1.926c0.47-0.539%200.954-1.07000001%201.468-1.584L714.608-86.92700000000002c12.098-12.097%2031.71-12.097%2043.808%200%2012.097%2012.096%2012.097%2031.71%200%2043.807L331.296%20384l427.11900001%20427.12c12.097%2012.096%2012.097%2031.71-1e-8%2043.807-12.097%2012.097-31.708%2012.097-43.807-0.001z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='next'%20unicode='&%2358896;'%20d='M277.761223-128c-7.82426%200-15.64852%203.91213-23.472779%209.780325-11.73639%2011.73639-11.73639%2033.253104%200%2044.989494l457.719198%20459.675263-455.763133%20455.763133c-11.73639%2011.73639-11.73639%2033.253104%200%2044.989494s33.253104%2011.73639%2044.989494%200l479.235912-479.235912c11.73639-11.73639%2011.73639-33.253104%200-44.989494l-481.191977-483.148042C293.409742-124.08787%20285.585482-128%20277.761223-128z'%20horiz-adv-x='1037'%20/%3e%3cglyph%20glyph-name='next1'%20unicode='&%2358880;'%20d='M948.064%20382.944L536.064-29.312a47.296%2047.296%200%200%200-66.88%2066.88l345.504%20345.504L467.52%20730.24a47.296%2047.296%200%200%200%2066.88%2066.88l38.688-38.688-0.256-0.256%20375.264-375.264m-378.336%200.032L157.76-29.312a47.296%2047.296%200%200%200-66.88%2066.88l345.472%20345.504L89.184%20730.24a47.296%2047.296%200%200%200%2066.88%2066.88l38.688-38.688-0.256-0.256%20375.264-375.264'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='icon_tips'%20unicode='&%2358919;'%20d='M512%20192c-53.024%200-96%2042.976-96%2096v512c0%2053.024%2042.976%2096%2096%2096s96-42.976%2096-96v-512c0-53.024-42.976-96-96-96M512%2064c53.024%200%2096-42.976%2096-96s-42.976-96-96-96c-53.024%200-96%2042.976-96%2096%200%2053.024%2042.976%2096%2096%2096z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='xiazai'%20unicode='&%2358921;'%20d='M469.357714%20334.628571V789.357714h85.284572v-454.729143l120.685714%20120.685715%2060.416-60.342857L512%20171.300571%20288.329143%20394.971429l60.342857%2060.342857%20120.685714-120.685715z%20m-256-270.628571v85.357714H128v-170.715428h768v170.715428h-85.357714v-85.357714H213.357714z'%20horiz-adv-x='1024'%20/%3e%3cglyph%20glyph-name='tishi'%20unicode='&%2358922;'%20d='M170.666667%20384a341.333333%20341.333333%200%201%201%20682.666666%200%20341.333333%20341.333333%200%201%201-682.666666%200ZM512-85.333333A469.333333%20469.333333%200%201%201%20512%20853.333333a469.333333%20469.333333%200%200%201%200-938.666666zM448%20618.666667a64%2064%200%200%200%20128%200v-256a64%2064%200%200%200-128%200v256zM597.333333%20170.666667a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z'%20horiz-adv-x='1024'%20/%3e%3c/font%3e%3c/defs%3e%3c/svg%3e\") format(\"svg\")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-info:before{content:\"\"}.icon-warning:before{content:\"\"}.icon-success:before{content:\"\"}.icon-cuowu:before{content:\"\"}.icon-prev2:before{content:\"\"}.icon-prev3:before{content:\"\"}.icon-next:before{content:\"\"}.icon-next1:before{content:\"\"}.icon-icon_tips:before{content:\"\"}.icon-xiazai:before{content:\"\"}.icon-tishi:before{content:\"\"}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\"\";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:#0000001a}.numInputWrapper span:active{background:#0003}.numInputWrapper span:after{display:block;content:\"\";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:#0000000d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:#0000000d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#0000000d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}")),document.head.appendChild(A)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}}();
2
+ "use strict";var e=Object.defineProperty,n=(n,t,a)=>((n,t,a)=>t in n?e(n,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[t]=a)(n,"symbol"!=typeof t?t+"":t,a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("flatpickr"),a=require("resumablejs");var l=(e=>(e.BASE="base",e.TEMPLATE1="template1",e.TEMPLATE2="template2",e.TEMPLATE3="template3",e.TEMPLATE4="template4",e.TEMPLATE5="template5",e))(l||{}),i=(e=>(e.image="image",e.excel="excel",e))(i||{}),o=(e=>(e.ZH_CN="zh-CN",e.ZH_TW="zh-TW",e.JA="ja",e.ID="id",e.EN_US="en-US",e))(o||{});const r="zh-CN",s=e=>[{label:e("imageRatioOriginal"),value:"original"},{label:e("imageRatio4to3"),value:"4:3"},{label:e("imageRatio3to4"),value:"3:4"},{label:e("imageRatio1to1"),value:"1:1"},{label:e("imageRatio16to9"),value:"16:9"}],d=e=>({[l.BASE]:{type:i.excel,tabs:[],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:e("uploadTitleBase"),uploadLinkText:e("uploadLinkTextDefault"),uploadHint:e("uploadHintExcel"),acceptTypes:".xls,.xlsx",tips:[],templateUrl:"/template/base_template.xlsx"},[l.TEMPLATE1]:{type:i.excel,tabs:[],showBrand:!0,showImageRatio:!0,showMonth:!1,showDateRange:!1,uploadTitle:e("uploadTitleTemplate1"),uploadLinkText:e("uploadLinkTextDefault"),uploadHint:e("uploadHintExcel"),acceptTypes:".xls,.xlsx",tips:e("tipsTemplate1").split("\n"),templateUrl:"/template/template1.xlsx"},[l.TEMPLATE2]:{type:i.excel,tabs:[{label:e("tabCoverImport"),key:"cover"},{label:e("tabIncrementImport"),key:"increment"}],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:e("uploadTitleTemplate2"),uploadLinkText:e("uploadLinkTextImport"),uploadHint:e("uploadHintImage"),acceptTypes:".rar,.zip,.jpg,.png,.jpeg",tips:e("tipsTemplate2").split("\n"),templateUrl:"/template/template2.xlsx"},[l.TEMPLATE3]:{type:i.excel,tabs:[],showBrand:!0,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:e("uploadTitleTemplate3"),uploadLinkText:e("uploadLinkTextImport"),uploadHint:e("uploadHintExcel"),acceptTypes:".xls,.xlsx",tips:e("tipsTemplate3").split("\n"),templateUrl:"/template/template3.xlsx"},[l.TEMPLATE4]:{type:i.excel,tabs:[],showBrand:!0,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:e("uploadTitleTemplate4"),uploadLinkText:e("uploadLinkTextImport"),uploadHint:e("uploadHintExcel"),acceptTypes:".xls,.xlsx",tips:e("tipsTemplate4").split("\n"),templateUrl:"/template/template4.xlsx"},[l.TEMPLATE5]:{type:i.excel,tabs:[{label:e("tabInPrice"),key:"inPrice"},{label:e("tabOutPrice"),key:"outPrice"}],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!0,uploadTitle:e("uploadTitleTemplate5"),uploadLinkText:e("uploadLinkTextImport"),uploadHint:e("uploadHintExcel"),acceptTypes:".xls,.xlsx",tips:e("tipsTemplate5").split("\n"),templateUrl:"/template/template5.xlsx"}}),p={[l.BASE]:{type:i.excel,tabs:[],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:"上传文件",uploadLinkText:"点击上传",uploadHint:"文件仅支持扩展名:.xls,.xlsx",acceptTypes:".xls,.xlsx",tips:[],templateUrl:"/template/base_template.xlsx"},[l.TEMPLATE1]:{type:i.excel,tabs:[],showBrand:!0,showImageRatio:!0,showMonth:!1,showDateRange:!1,uploadTitle:"上传编辑好的文件",uploadLinkText:"点击上传",uploadHint:"文件仅支持扩展名:.xls,.xlsx",acceptTypes:".xls,.xlsx",tips:["这里写一些提示信息"],templateUrl:"/template/template1.xlsx"},[l.TEMPLATE2]:{type:i.excel,tabs:[{label:"覆盖导入数据",key:"cover"},{label:"增量导入数据",key:"increment"}],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:"导入菜品图片文件",uploadLinkText:"点击导入",uploadHint:"文件仅支持扩展名:.rar .zip .jpg .png .jpeg",acceptTypes:".rar,.zip,.jpg,.png,.jpeg",tips:["图片名称需要与菜品名称一致","上传文件仅支持ZIP、RAR压缩包文件(暂不支持win11自带工具压缩的文件),文件大小不超过100M","图片支持jpg、png、jpeg格式,单张大小不超过2M"],templateUrl:"/template/template2.xlsx"},[l.TEMPLATE3]:{type:i.excel,tabs:[],showBrand:!1,showImageRatio:!1,showMonth:!0,showDateRange:!1,uploadTitle:"上传营业目标文件",uploadLinkText:"点击上传",uploadHint:"文件仅支持扩展名:.xls,.xlsx",acceptTypes:".xls,.xlsx",tips:["日目标金额最多支持两位小数,单位是元","导入文件严格按照下载的模版格式进行数据填入","导入采用直接覆盖的方式且直接保存成功,不可逆","每次仅支持多个门店一个月的目标导入"],templateUrl:"/template/template3.xlsx"},[l.TEMPLATE4]:{type:i.excel,tabs:[],showBrand:!0,showImageRatio:!1,showMonth:!1,showDateRange:!1,uploadTitle:"导入菜谱方案文件",uploadLinkText:"点击导入",uploadHint:"文件仅支持扩展名:.xls,.xlsx",acceptTypes:".xls,.xlsx",tips:["最多支持导入五个菜谱方案","菜品以代码为唯一标识进行集团菜品的匹配,请仔细核对菜品代码","模版支持导入名称、线上可点分类、价格和自定义分类,其余菜品的属性获取集团菜品库"],templateUrl:"/template/template4.xlsx"},[l.TEMPLATE5]:{type:i.excel,tabs:[{label:"合批修改入库价格",key:"inPrice"},{label:"合批修改出库价格",key:"outPrice"}],showBrand:!1,showImageRatio:!1,showMonth:!1,showDateRange:!0,uploadTitle:"导入菜谱方案文件",uploadLinkText:"点击导入",uploadHint:"文件仅支持扩展名:.xls,.xlsx",acceptTypes:".xls,.xlsx",tips:[],templateUrl:"/template/template5.xlsx"}},c=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_IMAGE_RATIOS:[{label:"原图",value:"original"},{label:"4:3",value:"4:3"},{label:"3:4",value:"3:4"},{label:"1:1",value:"1:1"},{label:"16:9",value:"16:9"}],DEFAULT_TEMPLATE_CONFIGS:p,getImageRatioOptions:s,getTranslatedTemplateConfigs:d},Symbol.toStringTag,{value:"Module"}));"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var h={exports:{}};!function(e){var n="undefined"!=typeof window&&void 0!==window.flatpickr?window.flatpickr:{l10ns:{}},t={weekdays:{shorthand:["周日","周一","周二","周三","周四","周五","周六"],longhand:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},months:{shorthand:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],longhand:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},rangeSeparator:" 至 ",weekAbbreviation:"周",scrollTitle:"滚动切换",toggleTitle:"点击切换 12/24 小时时制"};n.l10ns.zh=t;var a=n.l10ns;e.Mandarin=t,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})}(h.exports);const m={...h.exports.Mandarin,weekdays:{shorthand:["日","一","二","三","四","五","六"],longhand:["日","一","二","三","四","五","六"]}};class g{constructor(e){n(this,"container"),n(this,"startInput"),n(this,"endInput"),n(this,"fpInstance",null),n(this,"selectedDates",[null,null]),n(this,"onChange"),n(this,"placeholder"),n(this,"shortcuts"),n(this,"disabledDate"),n(this,"activeShortcutIndex",-1),n(this,"isShortcutTriggered",!1),n(this,"scrollHandler",null),n(this,"scrollParents",[]),this.container=e.container,this.selectedDates=e.defaultDates||[null,null],this.onChange=e.onChange,this.placeholder=e.placeholder||["Start date","End date"],this.shortcuts=e.shortcuts||[],this.disabledDate=e.disabledDate,this.render(),this.initFlatpickr()}render(){this.container.innerHTML="",this.container.className="sl-date-range-picker",this.startInput=document.createElement("input"),this.startInput.type="text",this.startInput.className="sl-date-range-input",this.startInput.placeholder=this.placeholder[0],this.startInput.readOnly=!0,this.selectedDates[0]&&(this.startInput.value=this.formatDate(this.selectedDates[0]));const e=document.createElement("span");e.className="sl-date-range-separator",e.textContent="To",this.endInput=document.createElement("input"),this.endInput.type="text",this.endInput.className="sl-date-range-input",this.endInput.placeholder=this.placeholder[1],this.endInput.readOnly=!0,this.selectedDates[1]&&(this.endInput.value=this.formatDate(this.selectedDates[1]));const n=document.createElement("span");n.className="sl-date-range-icon",n.innerHTML='<svg width="14" height="14" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M5 1v2M11 1v2M1.5 6h13M3 2.5h10a1.5 1.5 0 011.5 1.5v10a1.5 1.5 0 01-1.5 1.5H3a1.5 1.5 0 01-1.5-1.5V4A1.5 1.5 0 013 2.5z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>\n </svg>',this.container.appendChild(this.startInput),this.container.appendChild(e),this.container.appendChild(this.endInput),this.container.appendChild(n),this.container.addEventListener("click",e=>{var n;e.stopPropagation(),null==(n=this.fpInstance)||n.open()})}buildShortcutsPanel(){const e=document.createElement("div");return e.className="sl-date-range-shortcuts",this.shortcuts.forEach((n,t)=>{const a=document.createElement("div");a.className="sl-date-range-shortcut-item",t===this.activeShortcutIndex&&a.classList.add("active"),a.textContent=n.text,a.addEventListener("click",e=>{e.stopPropagation(),this.handleShortcutClick(t)}),e.appendChild(a)}),e}handleShortcutClick(e){var n,t,a,l;const i=this.shortcuts[e];if(!i)return;const[o,r]=i.value();this.isShortcutTriggered=!0,this.activeShortcutIndex=e,this.selectedDates=[o,r],this.startInput.value=this.formatDate(o),this.endInput.value=this.formatDate(r),null==(n=this.fpInstance)||n.setDate([o,r],!1),null==(t=this.onChange)||t.call(this,[o,r]),null==(a=this.fpInstance)||a.calendarContainer.classList.add("sl-range-confirmed"),this.fpInstance&&(this.updateMonthHeaders(this.fpInstance),this.unwrapDayCells(this.fpInstance),this.padDayContainers(this.fpInstance),this.wrapDayCells(this.fpInstance)),this.updateShortcutActiveState(),this.isShortcutTriggered=!1,null==(l=this.fpInstance)||l.close()}updateShortcutActiveState(){var e;const n=null==(e=this.fpInstance)?void 0:e.calendarContainer.querySelector(".sl-date-range-shortcuts");if(!n)return;n.querySelectorAll(".sl-date-range-shortcut-item").forEach((e,n)=>{n===this.activeShortcutIndex?e.classList.add("active"):e.classList.remove("active")})}initFlatpickr(){const e=document.createElement("input");e.type="text",e.style.cssText="position:absolute;width:0;height:0;opacity:0;pointer-events:none;",this.container.appendChild(e);const n=[];this.selectedDates[0]&&n.push(this.selectedDates[0]),this.selectedDates[1]&&n.push(this.selectedDates[1]);const a=this.disabledDate,l=a?[e=>a(e)]:[];this.fpInstance=t(e,{mode:"range",showMonths:2,locale:m,dateFormat:"Y-m-d",defaultDate:2===n.length?n:void 0,positionElement:this.container,static:!1,position:"below",disable:l,onReady:(e,n,t)=>{if(t.calendarContainer.classList.add("sl-date-range-calendar"),2===e.length&&t.calendarContainer.classList.add("sl-range-confirmed"),t.calendarContainer.addEventListener("mouseleave",()=>{t.calendarContainer.classList.contains("sl-range-confirmed")||1!==t.selectedDates.length||t.calendarContainer.querySelectorAll(".flatpickr-day.inRange, .flatpickr-day.endRange").forEach(e=>{e.classList.remove("inRange","endRange")})}),this.customizeCalendarHeader(t),this.padDayContainers(t),this.wrapDayCells(t),this.shortcuts.length>0){t.calendarContainer.classList.add("has-shortcuts");const e=document.createElement("div");for(e.className="sl-date-range-calendar-content";t.calendarContainer.firstChild;)e.appendChild(t.calendarContainer.firstChild);const n=this.buildShortcutsPanel();t.calendarContainer.appendChild(n),t.calendarContainer.appendChild(e)}},onOpen:(e,n,t)=>{this.updateMonthHeaders(t),this.unwrapDayCells(t),this.padDayContainers(t),this.wrapDayCells(t),requestAnimationFrame(()=>{this.positionCalendar(t)}),this.bindScrollListeners(t)},onClose:()=>{this.unbindScrollListeners()},onMonthChange:(e,n,t)=>{requestAnimationFrame(()=>{this.updateMonthHeaders(t),this.unwrapDayCells(t),this.padDayContainers(t),this.wrapDayCells(t)})},onYearChange:(e,n,t)=>{requestAnimationFrame(()=>{this.updateMonthHeaders(t),this.unwrapDayCells(t),this.padDayContainers(t),this.wrapDayCells(t)})},onChange:(e,n,t)=>{var a;this.isShortcutTriggered||(this.activeShortcutIndex=-1,this.updateShortcutActiveState()),2===e.length?(this.selectedDates=[e[0],e[1]],this.startInput.value=this.formatDate(e[0]),this.endInput.value=this.formatDate(e[1]),null==(a=this.onChange)||a.call(this,this.selectedDates),t.calendarContainer.classList.add("sl-range-confirmed")):1===e.length&&(this.selectedDates=[e[0],null],this.startInput.value=this.formatDate(e[0]),this.endInput.value="",t.calendarContainer.classList.remove("sl-range-confirmed")),requestAnimationFrame(()=>{this.updateMonthHeaders(t),this.unwrapDayCells(t),this.padDayContainers(t),this.wrapDayCells(t)})}})}customizeCalendarHeader(e){const n=e.calendarContainer.querySelector(".flatpickr-months");if(!n)return;const t=document.createElement("span");t.className="flatpickr-prev-year",t.innerHTML='<i class="iconfont icon-prev2"></i>',t.addEventListener("click",n=>{n.stopPropagation(),e.changeYear(e.currentYear-1)});const a=document.createElement("span");a.className="flatpickr-next-year",a.innerHTML='<i class="iconfont icon-next1"></i>',a.addEventListener("click",n=>{n.stopPropagation(),e.changeYear(e.currentYear+1)});const l=n.querySelector(".flatpickr-prev-month"),i=n.querySelector(".flatpickr-next-month");l&&(l.innerHTML='<i class="iconfont icon-prev3"></i>',n.insertBefore(t,l)),i&&(i.innerHTML='<i class="iconfont icon-next"></i>',i.after(a)),this.updateMonthHeaders(e)}updateMonthHeaders(e){const n=["1","2","3","4","5","6","7","8","9","10","11","12"];e.calendarContainer.querySelectorAll(".flatpickr-current-month").forEach((t,a)=>{const l=t.querySelector(".cur-month"),i=t.querySelector(".numInputWrapper");if(!l||!i)return;const o=(e.currentMonth+a)%12,r=e.currentYear+Math.floor((e.currentMonth+a)/12);i.style.display="none",l.textContent=`${r} 年 ${n[o]} 月`})}padDayContainers(e){e.calendarContainer.querySelectorAll(".dayContainer").forEach((n,t)=>{n.querySelectorAll(".sl-pad-day").forEach(e=>e.remove()),n.querySelectorAll(".flatpickr-day.hidden").forEach(e=>e.classList.remove("hidden"));const a=(e.currentMonth+t)%12,l=e.currentYear+Math.floor((e.currentMonth+t)/12),i=n.querySelectorAll(".flatpickr-day.prevMonthDay"),o=new Date(l,a,1).getDay()-i.length;if(o>0){const e=new Date(0===a?l-1:l,(0===a?11:a-1)+1,0).getDate(),t=n.firstChild;for(let a=o-1;a>=0;a--){const l=e-a,i=document.createElement("span");i.className="flatpickr-day prevMonthDay sl-pad-day",i.textContent=String(l),i.tabIndex=-1,n.insertBefore(i,t)}}const r=n.querySelectorAll(".flatpickr-day").length;if(r<42){const e=n.querySelectorAll(".nextMonthDay");let t=1;if(e.length>0){const n=e[e.length-1];t=parseInt(n.textContent||"0",10)+1}const a=42-r;for(let l=0;l<a;l++){const e=document.createElement("span");e.className="flatpickr-day nextMonthDay sl-pad-day",e.textContent=String(t+l),e.tabIndex=-1,n.appendChild(e)}}})}wrapDayCells(e){e.calendarContainer.querySelectorAll(".dayContainer").forEach(e=>{e.querySelectorAll(".flatpickr-day:not(.sl-day-wrapped)").forEach(e=>{var n;if(e.parentElement&&e.parentElement.classList.contains("sl-day-cell"))return;const t=document.createElement("div");t.className="sl-day-cell",e.classList.add("sl-day-wrapped"),null==(n=e.parentNode)||n.insertBefore(t,e),t.appendChild(e)})})}unwrapDayCells(e){e.calendarContainer.querySelectorAll(".sl-day-cell").forEach(e=>{var n;const t=e.firstElementChild;t&&(t.classList.remove("sl-day-wrapped"),null==(n=e.parentNode)||n.insertBefore(t,e)),e.remove()})}positionCalendar(e){const n=e.calendarContainer,t=this.container.getBoundingClientRect(),a=n.offsetHeight,l=n.offsetWidth,i=t.left+t.width/2,o=i-l/2,r=window.innerWidth-l-8,s=Math.max(8,Math.min(o,r)),d=window.innerHeight-t.bottom-4-8,p=t.top-4-8,c=d<a&&p>d;n.style.top=c?t.top+window.scrollY-a-4-8+"px":`${t.bottom+window.scrollY+4+8}px`,n.style.left=`${s}px`;let h=n.querySelector(".sl-calendar-arrow");h||(h=document.createElement("div"),h.className="sl-calendar-arrow",n.appendChild(h));const m=i-s;h.style.left=`${m}px`,h.className=c?"sl-calendar-arrow sl-calendar-arrow-bottom":"sl-calendar-arrow sl-calendar-arrow-top"}formatDate(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}getDates(){return[...this.selectedDates]}setDates(e){var n;this.selectedDates=e,e[0]?this.startInput.value=this.formatDate(e[0]):this.startInput.value="",e[1]?this.endInput.value=this.formatDate(e[1]):this.endInput.value="";const t=[];e[0]&&t.push(e[0]),e[1]&&t.push(e[1]),null==(n=this.fpInstance)||n.setDate(t,!1)}getScrollParents(e){const n=[];let t=e.parentElement;for(;t;){const e=getComputedStyle(t),a=e.overflow+e.overflowY+e.overflowX;/auto|scroll/.test(a)&&n.push(t),t=t.parentElement}return n.push(window),n}bindScrollListeners(e){this.unbindScrollListeners(),this.scrollHandler=()=>{this.positionCalendar(e)},this.scrollParents=this.getScrollParents(this.container),this.scrollParents.forEach(e=>{e.addEventListener("scroll",this.scrollHandler,{passive:!0})})}unbindScrollListeners(){this.scrollHandler&&(this.scrollParents.forEach(e=>{e.removeEventListener("scroll",this.scrollHandler)}),this.scrollHandler=null,this.scrollParents=[])}destroy(){var e;this.unbindScrollListeners(),null==(e=this.fpInstance)||e.destroy(),this.fpInstance=null}}const u=r,f={"zh-CN":{loadingText:"加载中...",cancel:"取消",confirm:"确认",download:"下载",select:"选择",required:"必填",batchImport:"批量导入",downloadTemplateTitle:"1.下载模版,根据提示信息完善表格内容",downloadTemplateText:"下载模板",importSettingsTitle:"2.导入设置",selectBrand:"选择所属品牌",defaultBrand:"默认品牌",selectImageRatio:"选择图片比例",selectMonth:"选择月份",selectDate:"选择日期",uploadTitle:"3.上传文件",dragFileHere:"将文件拖到此处,或",or:"或",uploadLinkText:"点击上传",uploadHint:"文件仅支持扩展名:.xls,.xlsx",tipsTitle:"提示信息",month:"月",startDate:"开始日期",endDate:"结束日期",to:"至",fileTypeError:"请上传文件",fileSizeError:"文件大小超出限制",uploadFailed:"上传失败",uploadSuccess:"上传成功",uploading:"上传中...",uploadTitleBase:"上传文件",uploadTitleTemplate1:"上传编辑好的文件",uploadTitleTemplate2:"导入菜品图片文件",uploadTitleTemplate3:"导入菜品信息文件",uploadTitleTemplate4:"导入菜谱方案文件",uploadTitleTemplate5:"导入价格调整文件",uploadLinkTextDefault:"点击上传",uploadLinkTextImport:"点击导入",uploadHintExcel:"文件仅支持扩展名:.xls,.xlsx",uploadHintImage:"文件仅支持扩展名:.rar .zip .jpg .png .jpeg",tipsDefault:[],tipsTemplate1:[],tipsTemplate2:["图片名称需要与菜品名称一致","上传文件仅支持ZIP、RAR压缩包文件(暂不支持win11自带工具压缩的文件),文件大小不超过100M","图片支持jpg、png、jpeg格式,单张大小不超过2M"],tipsTemplate3:["菜品以代码为唯一标识进行集团菜品的匹配,请仔细核对菜品代码","模版支持导入名称、价格、自定义分类,其余菜品的属性获取集团菜品库"],tipsTemplate4:["最多支持导入五个菜谱方案","菜品以代码为唯一标识进行集团菜品的匹配,请仔细核对菜品代码","模版支持导入名称、线上可点分类、价格和自定义分类,其余菜品的属性获取集团菜品库"],tipsTemplate5:["价格调整将覆盖现有价格,请谨慎操作","支持批量调整入库价格和出库价格"],tabCoverImport:"覆盖导入数据",tabIncrementImport:"增量导入数据",tabInPrice:"合批修改入库价格",tabOutPrice:"合批修改出库价格",imageRatioOriginal:"原图",imageRatio4to3:"4:3",imageRatio3to4:"3:4",imageRatio1to1:"1:1",imageRatio16to9:"16:9"},"zh-TW":{loadingText:"載入中...",cancel:"取消",confirm:"確認",download:"下載",select:"選擇",required:"必填",batchImport:"批量匯入",downloadTemplateTitle:"1.下載模板,根據提示資訊完善表格內容",downloadTemplateText:"下載模板",importSettingsTitle:"2.匯入設置",selectBrand:"選擇所屬品牌",defaultBrand:"預設品牌",selectImageRatio:"選擇圖片比例",selectMonth:"選擇月份",selectDate:"選擇日期",uploadTitle:"3.上傳檔案",dragFileHere:"將檔案拖到此處,或",or:"或",uploadLinkText:"點擊上傳",uploadHint:"檔案僅支援副檔名:.xls,.xlsx",tipsTitle:"提示資訊",month:"月",startDate:"開始日期",endDate:"結束日期",to:"至",fileTypeError:"請上傳檔案",fileSizeError:"檔案大小超出限制",uploadFailed:"上傳失敗",uploadSuccess:"上傳成功",uploading:"上傳中...",uploadTitleBase:"上傳檔案",uploadTitleTemplate1:"上傳編輯好的檔案",uploadTitleTemplate2:"匯入菜品圖片檔案",uploadTitleTemplate3:"匯入菜品資訊檔案",uploadTitleTemplate4:"匯入食譜方案檔案",uploadTitleTemplate5:"匯入價格調整檔案",uploadLinkTextDefault:"點擊上傳",uploadLinkTextImport:"點擊匯入",uploadHintExcel:"檔案僅支援副檔名:.xls,.xlsx",uploadHintImage:"檔案僅支援副檔名:.rar .zip .jpg .png .jpeg",tipsDefault:["這裡寫一些提示資訊"],tipsTemplate1:["這裡寫一些提示資訊"],tipsTemplate2:["圖片名稱需要與菜品名稱一致","上傳檔案僅支援ZIP、RAR壓縮包檔案(暫不支援win11自帶工具壓縮的檔案),檔案大小不超過100M","圖片支援jpg、png、jpeg格式,單張大小不超過2M"],tipsTemplate3:["菜品以代碼為唯一標識進行集團菜品的匹配,請仔細核對菜品代碼","模板支援匯入名稱、價格、自定義分類,其餘菜品的屬性獲取集團菜品庫"],tipsTemplate4:["最多支援匯入五個食譜方案","菜品以代碼為唯一標識進行集團菜品的匹配,請仔細核對菜品代碼","模板支援匯入名稱、線上可點分類、價格和自定義分類,其餘菜品的屬性獲取集團菜品庫"],tipsTemplate5:["價格調整將覆蓋現有價格,請謹慎操作","支援批量調整入庫價格和出庫價格"],tabCoverImport:"覆蓋匯入資料",tabIncrementImport:"增量匯入資料",tabInPrice:"合批修改入庫價格",tabOutPrice:"合批修改出庫價格",imageRatioOriginal:"原圖",imageRatio4to3:"4:3",imageRatio3to4:"3:4",imageRatio1to1:"1:1",imageRatio16to9:"16:9"},ja:{loadingText:"読み込み中...",cancel:"キャンセル",confirm:"確認",download:"ダウンロード",select:"選択",required:"必須",batchImport:"一括インポート",downloadTemplateTitle:"1.テンプレートをダウンロードし、指示に従ってスプレッドシートを完成させる",downloadTemplateText:"テンプレートをダウンロード",importSettingsTitle:"2.インポート設定",selectBrand:"ブランドを選択",defaultBrand:"デフォルトブランド",selectImageRatio:"画像比率を選択",selectMonth:"月を選択",selectDate:"日付を選択",uploadTitle:"3.ファイルをアップロード",dragFileHere:"ファイルをここにドラッグ、または",or:"または",uploadLinkText:"クリックしてアップロード",uploadHint:"ファイルは拡張子のみサポート:.xls,.xlsx",tipsTitle:"ヒント",month:"月",startDate:"開始日",endDate:"終了日",to:"から",fileTypeError:"ファイルをアップロードしてください",fileSizeError:"ファイルサイズが制限を超えています",uploadFailed:"アップロード失敗",uploadSuccess:"アップロード成功",uploading:"アップロード中...",uploadTitleBase:"ファイルをアップロード",uploadTitleTemplate1:"編集済みファイルをアップロード",uploadTitleTemplate2:"料理画像ファイルをインポート",uploadTitleTemplate3:"料理情報ファイルをインポート",uploadTitleTemplate4:"レシプトプランファイルをインポート",uploadTitleTemplate5:"価格調整ファイルをインポート",uploadLinkTextDefault:"クリックしてアップロード",uploadLinkTextImport:"クリックしてインポート",uploadHintExcel:"ファイルは拡張子のみサポート:.xls,.xlsx",uploadHintImage:"ファイルは拡張子のみサポート:.rar .zip .jpg .png .jpeg",tipsDefault:[],tipsTemplate1:[],tipsTemplate2:["画像名は料理名と一致する必要があります","アップロードファイルはZIP、RAR圧縮ファイルのみサポート(Windows11付属ツールで圧縮されたファイルはサポートされません)、ファイルサイズは100Mを超えないでください","画像はjpg、png、jpeg形式をサポート、単一サイズは2Mを超えないでください"],tipsTemplate3:["料理はコードを唯一の識別子としてグループ料理と一致させ、料理コードを慎重に確認してください","テンプレートは名前、価格、カスタム分類のインポートをサポート、その他の料理属性はグループ料理データベースから取得"],tipsTemplate4:["最大5つのレシピプランのインポートをサポート","料理はコードを唯一の識別子としてグループ料理と一致させ、料理コードを慎重に確認してください","テンプレートは名前、オンライン注文可能分類、価格とカスタム分類のインポートをサポート、その他の料理属性はグループ料理データベースから取得"],tipsTemplate5:["価格調整は既存価格を上書きします、慎重に操作してください","仕入価格と販売価格の一括調整をサポート"],tabCoverImport:"上書きインポートデータ",tabIncrementImport:"増分インポートデータ",tabInPrice:"一括仕入価格修正",tabOutPrice:"一括販売価格修正",imageRatioOriginal:"元画像",imageRatio4to3:"4:3",imageRatio3to4:"3:4",imageRatio1to1:"1:1",imageRatio16to9:"16:9"},id:{loadingText:"Memuat...",cancel:"Batal",confirm:"Konfirmasi",download:"Unduh",select:"Pilih",required:"Wajib",batchImport:"Impor Batch",downloadTemplateTitle:"1. Unduh template dan lengkapi spreadsheet sesuai petunjuk",downloadTemplateText:"Unduh Template",importSettingsTitle:"2. Pengaturan Impor",selectBrand:"Pilih Merek",defaultBrand:"Merek Default",selectImageRatio:"Pilih Rasio Gambar",selectMonth:"Pilih Bulan",selectDate:"Pilih Tanggal",uploadTitle:"3. Unggah File",dragFileHere:"Seret file di sini, atau",or:"atau",uploadLinkText:"klik untuk mengunggah",uploadHint:"Hanya mendukung ekstensi file: .xls,.xlsx",tipsTitle:"Tips",month:"Bulan",startDate:"Tanggal mulai",endDate:"Tanggal akhir",to:"hingga",fileTypeError:"Silakan unggah file",fileSizeError:"Ukuran file melebihi batas",uploadFailed:"Unggah gagal",uploadSuccess:"Unggah berhasil",uploading:"Mengunggah...",uploadTitleBase:"Unggah File",uploadTitleTemplate1:"Unggah File yang Diedit",uploadTitleTemplate2:"Impor File Gambar Menu",uploadTitleTemplate3:"Impor File Informasi Menu",uploadTitleTemplate4:"Impor File Rencana Resep",uploadTitleTemplate5:"Impor File Penyesuaian Harga",uploadLinkTextDefault:"klik untuk mengunggah",uploadLinkTextImport:"klik untuk mengimpor",uploadHintExcel:"Hanya mendukung ekstensi file: .xls,.xlsx",uploadHintImage:"Hanya mendukung ekstensi file: .rar .zip .jpg .png .jpeg",tipsDefault:[],tipsTemplate1:[],tipsTemplate2:["Nama gambar harus sesuai dengan nama menu","File unggah hanya mendukung file terkompresi ZIP, RAR (file yang dikompresi dengan tools bawaan Windows11 tidak didukung), ukuran file tidak melebihi 100M","Gambar mendukung format jpg, png, jpeg, ukuran tunggal tidak melebihi 2M"],tipsTemplate3:["Menu dicocokkan dengan menu grup menggunakan kode sebagai identifier unik, harap periksa kode menu dengan cermat","Template mendukung impor nama, harga, kategori kustom, atribut menu lainnya diperoleh dari database menu grup"],tipsTemplate4:["Mendukung impor hingga lima rencana resep","Menu dicocokkan dengan menu grup menggunakan kode sebagai identifier unik, harap periksa kode menu dengan cermat","Template mendukung impor nama, kategori dapat dipesan online, harga dan kategori kustom, atribut menu lainnya diperoleh dari database menu grup"],tipsTemplate5:["Penyesuaian harga akan menimpa harga yang ada, harap beroperasi dengan hati-hati","Mendukung penyesuaian harga pembelian dan harga jual secara batch"],tabCoverImport:"Timpa Data Impor",tabIncrementImport:"Data Impor Incremental",tabInPrice:"Modifikasi Harga Pembelian Batch",tabOutPrice:"Modifikasi Harga Penjualan Batch",imageRatioOriginal:"Asli",imageRatio4to3:"4:3",imageRatio3to4:"3:4",imageRatio1to1:"1:1",imageRatio16to9:"16:9"},"en-US":{loadingText:"Loading...",cancel:"Cancel",confirm:"Confirm",download:"Download",select:"Select",required:"Required",batchImport:"Batch Import",downloadTemplateTitle:"1. Download template and complete the spreadsheet according to the instructions",downloadTemplateText:"Download Template",importSettingsTitle:"2. Import Settings",selectBrand:"Select Brand",defaultBrand:"Default Brand",selectImageRatio:"Select Image Ratio",selectMonth:"Select Month",selectDate:"Select Date",uploadTitle:"3. Upload File",dragFileHere:"Drag files here, or",or:"or",uploadLinkText:"click to upload",uploadHint:"Supports batch import, file size not exceeding 10MB",tipsTitle:"Tips",month:"Month",startDate:"Start date",endDate:"End date",to:"to",fileTypeError:"Please upload file",fileSizeError:"File size exceeds limit",uploadFailed:"Upload failed",uploadSuccess:"Upload successful",uploading:"Uploading...",uploadTitleBase:"Upload File",uploadTitleTemplate1:"Upload Edited File",uploadTitleTemplate2:"Import Dish Image File",uploadTitleTemplate3:"Import Dish Information File",uploadTitleTemplate4:"Import Recipe Plan File",uploadTitleTemplate5:"Import Price Adjustment File",uploadLinkTextDefault:"click to upload",uploadLinkTextImport:"click to import",uploadHintExcel:"File only supports extensions: .xls,.xlsx",uploadHintImage:"File only supports extensions: .rar .zip .jpg .png .jpeg",tipsDefault:[],tipsTemplate1:[],tipsTemplate2:["Image name must match dish name","Upload files only support ZIP, RAR compressed files (files compressed with Win11 built-in tools are not supported), file size not exceeding 100M","Images support jpg, png, jpeg formats, single size not exceeding 2M"],tipsTemplate3:["Dishes are matched with group dishes by code as unique identifier, please carefully check dish codes","Template supports importing name, price, custom category, other dish attributes are obtained from group dish database"],tipsTemplate4:["Support importing up to five recipe plans","Dishes are matched with group dishes by code as unique identifier, please carefully check dish codes","Template supports importing name, online orderable category, price and custom category, other dish attributes are obtained from group dish database"],tipsTemplate5:["Price adjustment will overwrite existing prices, please operate with caution","Support batch adjustment of purchase price and sale price"],tabCoverImport:"Overwrite Import Data",tabIncrementImport:"Increment Import Data",tabInPrice:"Batch Modify Purchase Price",tabOutPrice:"Batch Modify Sale Price",imageRatioOriginal:"Original",imageRatio4to3:"4:3",imageRatio3to4:"3:4",imageRatio1to1:"1:1",imageRatio16to9:"16:9"}};const v=new class{constructor(){n(this,"currentLocale",u),n(this,"messages",f[u])}setLocale(e){this.currentLocale=e,this.messages=f[e]||f[u]}getLocale(){return this.currentLocale}t(e,n){const t=this.messages[e]||e;return Array.isArray(t)?t.join("\n"):n?t.replace(/\{(\w+)\}/g,(e,t)=>String(n[t]||e)):t}tBatch(e){const n={};return e.forEach(e=>{n[e]=this.t(e)}),n}},x=(e,n)=>v.t(e,n),b=e=>v.setLocale(e);class w{constructor(e){n(this,"context"),this.context=e}updateContext(e){this.context={...this.context,...e}}get showSettingSection(){const e=this.context.currentConfig;return e.showBrand||e.showImageRatio||e.showMonth||e.showDateRange}get uploadSectionIndex(){return this.showSettingSection?3:2}get tipsList(){return this.context.currentConfig.tips}get imageRatioOptions(){return s(x)}get monthOptions(){return Array.from({length:12},(e,n)=>n+1)}render(){const e=this.context.currentConfig,n=e.tabs&&e.tabs.length>0;return`\n <div class="import-dialog-vanilla-overlay">\n <div class="import-dialog-vanilla-modal" style="width: ${this.context.width}">\n <div class="import-dialog-vanilla-header">\n <span class="import-dialog-vanilla-title">${this.context.dialogTitle}</span>\n <span id="import-dialog-close-btn" class="import-dialog-vanilla-close">&times;</span>\n </div>\n <div class="import-dialog-vanilla-content">\n ${n?this.renderTabs():""}\n ${this.renderDownloadSection()}\n ${this.showSettingSection?this.renderSettingSection():""}\n ${this.renderUploadSection()}\n ${this.tipsList.length>0?this.renderTipsSection():""}\n ${this.renderFooter()}\n </div>\n </div>\n </div>\n `}renderTabs(){return`\n <div class="import-dialog-vanilla-tabs">\n ${this.context.currentConfig.tabs.map((e,n)=>`\n <div class="import-dialog-vanilla-tab ${this.context.activeTabIndex===n?"active":""}" \n data-tab-index="${n}">\n ${e.label}\n </div>\n `).join("")}\n </div>\n `}renderDownloadSection(){return`\n <div class="import-dialog-vanilla-section">\n <div class="import-dialog-vanilla-section-title">${x("downloadTemplateTitle")}</div>\n <a id="import-dialog-download-btn" class="import-dialog-vanilla-btn download-template-btn import-dialog-vanilla-btn-primary" href="${this.context.currentConfig.templateUrl}">\n <i class="iconfont icon-xiazai"></i>\n ${x("downloadTemplateText")}\n </a>\n </div>\n `}renderSettingSection(){const e=this.context.currentConfig;let n="";return e.showBrand&&(n+=this.renderBrandSelect()),e.showImageRatio&&(n+=this.renderImageRatioSelect()),e.showMonth&&(n+=this.renderMonthSelect()),e.showDateRange&&(n+=this.renderDateRangeSelect()),`\n <div class="import-dialog-vanilla-section">\n <div class="import-dialog-vanilla-section-title">${x("importSettingsTitle")}</div>\n <div class="import-dialog-vanilla-setting-content">\n ${n}\n </div>\n </div>\n `}renderBrandSelect(){const e=this.context.brandPlaceholder,n=this.context.brandList.find(e=>e.value===this.context.formData.brandId),t=n?n.label:this.context.brandLoading?x("loadingText"):e;return`\n <div class="import-dialog-vanilla-setting-item">\n <span class="import-dialog-vanilla-setting-label required">${x("selectBrand")}</span>\n <div class="import-dialog-vanilla-custom-select" data-field="brandId">\n <div class="import-dialog-vanilla-select-trigger ${this.context.brandLoading?"disabled":""}">\n <span class="import-dialog-vanilla-select-value ${n||this.context.brandLoading?"":"import-dialog-vanilla-select-placeholder"}">${t}</span>\n <span class="import-dialog-vanilla-select-arrow"></span>\n </div>\n <div class="import-dialog-vanilla-select-dropdown">\n ${this.context.brandList.map(e=>`\n <div class="import-dialog-vanilla-select-option ${this.context.formData.brandId===e.value?"selected":""}" \n data-value="${e.value}">\n ${e.label}\n </div>\n `).join("")}\n </div>\n </div>\n </div>\n `}renderImageRatioSelect(){const e=this.imageRatioOptions;return`\n <div class="import-dialog-vanilla-setting-item">\n <span class="import-dialog-vanilla-setting-label required">${x("selectImageRatio")}</span>\n <div class="import-dialog-vanilla-radio-group">\n ${e.map(e=>`\n <label class="import-dialog-vanilla-radio">\n <input type="radio" name="imageRatio" value="${e.value}" \n ${this.context.formData.imageRatio===e.value?"checked":""} data-field="imageRatio">\n <span>${e.label}</span>\n </label>\n `).join("")}\n </div>\n </div>\n `}renderMonthSelect(){const e=this.monthOptions.find(e=>e===this.context.formData.month),n=e?`${e}${x("month")}`:x("selectMonth");return`\n <div class="import-dialog-vanilla-setting-item">\n <span class="import-dialog-vanilla-setting-label required">${x("selectMonth")}</span>\n <div class="import-dialog-vanilla-custom-select" data-field="month">\n <div class="import-dialog-vanilla-select-trigger">\n <span class="import-dialog-vanilla-select-value ${e?"":"import-dialog-vanilla-select-placeholder"}">${n}</span>\n <span class="import-dialog-vanilla-select-arrow"></span>\n </div>\n <div class="import-dialog-vanilla-select-dropdown">\n ${this.monthOptions.map(e=>`\n <div class="import-dialog-vanilla-select-option ${this.context.formData.month===e?"selected":""}" \n data-value="${e}">\n ${e}${x("month")}\n </div>\n `).join("")}\n </div>\n </div>\n </div>\n `}renderDateRangeSelect(){return`\n <div class="import-dialog-vanilla-setting-item">\n <span class="import-dialog-vanilla-setting-label required">${x("selectDate")}</span>\n <div class="import-dialog-vanilla-date-range-container" data-field="dateRange"></div>\n </div>\n `}renderUploadSection(){const e=this.context.currentConfig,n=this.context.uploadFileList.length>0,t=this.context.uploadFileList.some(e=>"uploading"===e.status),a=this.context.multiple&&this.context.uploadFileList.length>=this.context.maxFiles;return`\n <div class="import-dialog-vanilla-section">\n <div class="import-dialog-vanilla-section-title">${this.uploadSectionIndex}.${e.uploadTitle}</div>\n <div class="import-dialog-vanilla-upload-wrapper">\n ${n?this.renderFileList():""}\n ${a?"":`\n <div id="import-dialog-upload-area" class="import-dialog-vanilla-upload-area ${t?"disabled":""}">\n <input type="file" class="import-dialog-vanilla-file-input" accept="${e.acceptTypes}" ${this.context.multiple?"multiple":""} ${t?"disabled":""}>\n <div class="import-dialog-vanilla-upload-content">\n <img class="import-dialog-vanilla-upload-icon" src="data:image/png;base64,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" alt="">\n <p class="import-dialog-vanilla-upload-text">\n ${x("dragFileHere")}\n ${x("or")}\n <a class="import-dialog-vanilla-upload-link">${e.uploadLinkText}</a>\n </p>\n <p class="import-dialog-vanilla-upload-hint">${e.uploadHint}</p>\n </div>\n </div>\n `}\n </div>\n </div>\n `}renderFileList(){return 0===this.context.uploadFileList.length?"":`\n <div class="import-dialog-vanilla-file-list">\n ${this.context.uploadFileList.map((e,n)=>this.renderFileItem(e,n)).join("")}\n </div>\n `}renderFileItem(e,n){var t;const a=`status-${e.status}`,l=this.formatFileSize(e.size),i="uploading"===e.status,o="error"===e.status,r=(null==(t=e.name.split(".").pop())?void 0:t.toUpperCase())||"FILE",s=this.context.multiple?"":"width-100",d=o?"#FF1212":"#FFD741";let p="";return p=o?`<span class="import-dialog-vanilla-file-error-text">${x("uploadFailed")}</span>`:i?`<span class="import-dialog-vanilla-file-progress-text">${x("uploading")}...</span><span>·</span><span>${l}</span>`:`<span>${r}</span><span>·</span><span>${l}</span>`,`\n <div class="import-dialog-vanilla-file-item ${a} ${s}" data-file-id="${e.id}">\n <div class="import-dialog-vanilla-file-icon">\n <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M4 6C4 4.89543 4.89543 4 6 4H14L18 8H26C27.1046 8 28 8.89543 28 10V26C28 27.1046 27.1046 28 26 28H6C4.89543 28 4 27.1046 4 26V6Z" fill="${d}"/>\n </svg>\n </div>\n <button class="import-dialog-vanilla-file-remove-btn" data-file-index="${n}" title="删除">\n <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n <circle cx="8" cy="8" r="8" fill="rgba(0,0,0)"/>\n <path d="M5 5L11 11M11 5L5 11" stroke="white" stroke-width="1.5" stroke-linecap="round"/>\n </svg>\n </button>\n <div class="import-dialog-vanilla-file-info">\n <div class="import-dialog-vanilla-file-name" title="${e.name}">${e.name}</div>\n <div class="import-dialog-vanilla-file-meta">\n ${p}\n </div>\n </div>\n </div>\n `}formatFileSize(e){if(0===e)return"0 B";const n=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,n)).toFixed(0))+["B","KB","MB","GB"][n]}renderUploadProgress(){if(!this.context.isUploading&&!this.context.uploadMessage)return"";const e="error"===this.context.uploadMessageType?"error":100===this.context.uploadProgress?"success":"active";return`\n <div class="import-dialog-vanilla-upload-progress">\n ${this.context.isUploading||this.context.uploadProgress>0?`\n <div class="import-dialog-vanilla-progress-bar">\n <div class="import-dialog-vanilla-progress-inner ${e}" style="width: ${this.context.uploadProgress}%"></div>\n </div>\n <span class="import-dialog-vanilla-progress-text">${this.context.uploadProgress}%</span>\n `:""}\n ${this.context.uploadMessage?`\n <div class="import-dialog-vanilla-upload-message ${this.context.uploadMessageType}">\n ${this.context.uploadMessage}\n </div>\n `:""}\n </div>\n `}renderTipsSection(){return`\n <div class="import-dialog-vanilla-section">\n <div class="import-dialog-vanilla-section-title">\n <span class="import-dialog-vanilla-tips-icon"><i class="iconfont icon-icon_tips"></i></span>\n <span class="import-dialog-vanilla-tips-title">${x("tipsTitle")}</span>\n </div>\n <div class="import-dialog-vanilla-tips-content">\n ${this.tipsList.map(e=>`<p class="import-dialog-vanilla-tip-item">${e}</p>`).join("")}\n </div>\n </div>\n `}renderFooter(){return`\n <div class="import-dialog-vanilla-footer">\n <button id="import-dialog-cancel-btn" class="import-dialog-vanilla-btn">${x("cancel")}</button>\n <button id="import-dialog-confirm-btn" class="import-dialog-vanilla-btn import-dialog-vanilla-btn-primary">\n ${x("confirm")}\n </button>\n </div>\n ${this.context.confirmLoading?'\n <div class="import-dialog-vanilla-loading-overlay">\n <div class="import-dialog-vanilla-loading-spinner"></div>\n </div>\n ':""}\n `}}const y=()=>`file_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;class k{constructor(e,t={}){n(this,"config"),n(this,"callbacks"),n(this,"resumable"),n(this,"currentFileItem",null),n(this,"uploadCompleteResolve"),n(this,"uploadCompleteReject"),n(this,"uploadFileList",[]),n(this,"fileList",[]),n(this,"uploadProgress",0),n(this,"isUploading",!1),n(this,"uploadMessage",""),n(this,"uploadMessageType","info"),this.config=e,this.callbacks=t}shouldUseChunkedUpload(){const e=this.config.uploadConfig;return!(!(null==e?void 0:e.chunkedUpload)||this.config.multiple)}getChunkedUploadConfig(){var e;return(null==(e=this.config.uploadConfig)?void 0:e.chunkedUpload)||null}updateConfig(e){this.config={...this.config,...e}}updateCallbacks(e){this.callbacks={...this.callbacks,...e}}reset(){this.cancelUpload(),this.uploadFileList=[],this.fileList=[],this.uploadProgress=0,this.isUploading=!1,this.uploadMessage="",this.uploadMessageType="info",this.currentFileItem=null,this.uploadCompleteResolve=void 0,this.uploadCompleteReject=void 0}beforeUpload(e){var n,t,a,l,i,o,r,s,d,p,c;const h=Array.isArray(e)?e:[e];if(!h.length)return null==(t=(n=this.callbacks).onMessage)||t.call(n,"请选择文件","warning"),!1;if(this.config.multiple){if(this.uploadFileList.length+h.length>this.config.maxFiles)return null==(l=(a=this.callbacks).onMessage)||l.call(a,`最多只能上传 ${this.config.maxFiles} 个文件`,"warning"),!1}for(const m of h)if(m.size>this.config.maxFileSize)return null==(o=(i=this.callbacks).onMessage)||o.call(i,`文件 ${m.name} 超过最大限制 ${Math.round(this.config.maxFileSize/1024/1024)}MB`,"warning"),!1;for(const m of h){const e={id:y(),file:m,name:m.name,size:m.size,progress:0,status:"pending"};this.config.multiple?(this.uploadFileList.unshift(e),this.fileList.unshift(m)):(this.uploadFileList=[e],this.fileList=[m])}null==(s=(r=this.callbacks).onUpdate)||s.call(r),null==(p=(d=this.callbacks).onFileChange)||p.call(d,this.uploadFileList);return null!=(null==(c=this.config.uploadConfig)?void 0:c.autoUpload)&&this.config.uploadConfig.autoUpload&&this.startUploadFiles(),!0}removeFile(e){var n,t,a,l,i,o;if(void 0!==e&&e>=0&&e<this.uploadFileList.length){if("uploading"===this.uploadFileList[e].status)return null==(t=(n=this.callbacks).onMessage)||t.call(n,"正在上传中,无法删除","warning"),!1;this.uploadFileList.splice(e,1),this.fileList.splice(e,1)}else this.uploadFileList=[],this.fileList=[];return this.uploadProgress=0,this.uploadMessage="",this.uploadMessageType="info",this.isUploading=!1,null==(l=(a=this.callbacks).onFileChange)||l.call(a,this.uploadFileList),null==(o=(i=this.callbacks).onUpdate)||o.call(i),!0}async startUploadFiles(){const e=this.uploadFileList.filter(e=>"pending"===e.status);for(const n of e)await this.uploadSingleFile(n)}async uploadSingleFile(e){var n,t,a,l,i,o,r,s;e.status="uploading",e.progress=0,this.isUploading=!0,null==(t=(n=this.callbacks).onUpdate)||t.call(n);try{this.shouldUseChunkedUpload()?await this.uploadFileChunked(e):await this.uploadFileSimple(e),e.status="success",e.progress=100,null==(l=(a=this.callbacks).onUploadSuccess)||l.call(a,e,e.response)}catch(d){e.status="error",e.errorMessage=d instanceof Error?d.message:"上传失败",null==(o=(i=this.callbacks).onUploadError)||o.call(i,e,d)}this.isUploading=this.uploadFileList.some(e=>"uploading"===e.status),null==(s=(r=this.callbacks).onUpdate)||s.call(r),this.updateOverallProgress()}async uploadFileSimple(e){var n;const t=null==(n=this.config.uploadConfig)?void 0:n.customUpload;e.response=t?await t(e.file,n=>{var t,a,l,i;e.progress=n,null==(a=(t=this.callbacks).onUploadProgress)||a.call(t,e,n),null==(i=(l=this.callbacks).onUpdate)||i.call(l)}):e.file}async uploadFileChunked(e){const n=this.getChunkedUploadConfig();if(!n)throw new Error("分片上传需要配置 chunkedUpload");try{const t=await n.initUpload(e.file.name,e.file.size);e.uploadSessionId=t.uploadSessionId,this.currentFileItem=e,this.initResumable(n,t),this.resumable.addFile(e.file),e.response=await this.waitForUploadComplete()}catch(t){throw t instanceof Error?t:new Error(String(t))}}waitForUploadComplete(){return new Promise((e,n)=>{this.uploadCompleteResolve=e,this.uploadCompleteReject=n})}initResumable(e,n){this.resumable&&this.resumable.cancel();const t=e.getResumableConfig(n),l={...{chunkSize:n.partSize,simultaneousUploads:3,testChunks:!1,method:"multipart",chunkNumberParameterName:"partNumber",totalChunksParameterName:"totalParts",fileParameterName:"file",withCredentials:!0,maxChunkRetries:3,chunkRetryInterval:1e3,forceChunkSize:!0},...t};this.resumable=new a(l),this.bindResumableEvents()}bindResumableEvents(){this.resumable.on("progress",()=>{var e,n,t,a;const l=Math.floor(100*this.resumable.progress());this.uploadProgress=l,this.uploadMessage=`正在上传 (${l}%)...`,this.currentFileItem&&(this.currentFileItem.progress=Math.min(l,90),null==(n=(e=this.callbacks).onUploadProgress)||n.call(e,this.currentFileItem,this.currentFileItem.progress)),null==(a=(t=this.callbacks).onUpdate)||a.call(t)}),this.resumable.on("fileSuccess",()=>{this.handleResumableComplete()}),this.resumable.on("error",e=>{this.handleResumableError(e)}),this.resumable.on("fileAdded",()=>{this.resumable.upload()}),this.resumable.on("pause",()=>{this.uploadMessage="上传已暂停"})}async handleResumableComplete(){var e;if(this.currentFileItem&&this.uploadCompleteResolve&&this.uploadCompleteReject)try{const e=this.getChunkedUploadConfig();if(!e)throw new Error("分片上传配置缺失");const n=await e.mergeChunks(this.currentFileItem.uploadSessionId);this.currentFileItem&&(this.currentFileItem.progress=100),this.uploadMessage="上传完成",this.uploadMessageType="success",this.uploadCompleteResolve(n),this.uploadCompleteResolve=void 0,this.uploadCompleteReject=void 0}catch(n){const t=n instanceof Error?n:new Error(String(n));this.handleResumableError(t.message),null==(e=this.uploadCompleteReject)||e.call(this,n),this.uploadCompleteResolve=void 0,this.uploadCompleteReject=void 0}}handleResumableError(e){var n,t;this.currentFileItem&&(this.currentFileItem.status="error",this.currentFileItem.errorMessage=e),this.uploadMessage=e||"上传失败",this.uploadMessageType="error",this.isUploading=!1,this.uploadCompleteReject&&(this.uploadCompleteReject(new Error(e)),this.uploadCompleteResolve=void 0,this.uploadCompleteReject=void 0),null==(t=(n=this.callbacks).onUpdate)||t.call(n)}async startUpload(){await this.startUploadFiles()}pauseUpload(){this.resumable&&this.resumable.pause()}resumeUpload(){this.resumable&&this.resumable.upload()}cancelUpload(){var e,n;this.resumable&&(this.resumable.cancel(),this.resumable=null),this.currentFileItem=null,this.isUploading=!1,this.uploadMessage="上传已取消",this.uploadMessageType="info",null==(n=(e=this.callbacks).onUpdate)||n.call(e)}updateOverallProgress(){if(0===this.uploadFileList.length)return void(this.uploadProgress=0);const e=this.uploadFileList.reduce((e,n)=>e+n.progress,0);this.uploadProgress=Math.round(e/this.uploadFileList.length)}hasUploadingFiles(){return this.uploadFileList.some(e=>"uploading"===e.status)}hasPendingFiles(){return this.uploadFileList.some(e=>"pending"===e.status)}hasAllFilesUploaded(){return this.uploadFileList.length>0&&this.uploadFileList.every(e=>"success"===e.status)}getFailedFiles(){return this.uploadFileList.filter(e=>"error"===e.status)}}const T={success:"icon-success",error:"icon-cuowu",warning:"icon-warning",info:"icon-info"},C=new Set;const A=class e{constructor(e){n(this,"container",null),n(this,"modalElement",null),n(this,"styleElement",null),n(this,"dateRangePicker",null),n(this,"activeTabIndex",0),n(this,"brandList",[]),n(this,"brandLoading",!1),n(this,"confirmLoading",!1),n(this,"formData",{brandId:void 0,imageRatio:"original",month:1,dateRange:[null,null]}),n(this,"modalOptions",{}),n(this,"renderer"),n(this,"uploader"),n(this,"onTabChangeCallback"),n(this,"onBrandChangeCallback"),n(this,"handleDocumentClick",e=>{const n=e.target;Array.from(document.querySelectorAll(".import-dialog-vanilla-custom-select")).some(e=>e.contains(n))||this.closeAllSelects()}),this.container=e||document.body,this.injectStyles(),this.initUploader()}injectStyles(){document.getElementById("import-dialog-vanilla-styles")||(this.styleElement=document.createElement("style"),this.styleElement.id="import-dialog-vanilla-styles",this.styleElement.textContent='\n /* iconfont 字体内联定义 */\n @font-face {\n font-family: "iconfont";\n src: url(\'data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAASEAAsAAAAACawAAAQ2AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACDZAqFXIRmATYCJAMgCxIABCAFhGcHYxthCMgOJQUSwWAgIkBBPPz/fv32ufc+GeEvs4ZaFc9/kVSTJvGZhljJVLwEQqPimTz/p1O/rACBShRCFpzks1m+Aspu2V5LNAWUvk4IOKxN/v/9Zsbrp1HtNrQ3s/cxt8R5iUonJEKCiUlaijvrOyu5TgF2toQ/gR8R6NquiOZwVUMHBFxjiQliuFFXg6A9rmGJBS/OoRSwQ2uuq15YUryFivRMcw9vnO+Pf3ZGS1Jl6qOOXK0U4NJP+LmRHkwPyN8Nu5vCwQkVMjZPzBWD4sB9tFfYjNbN+lyxDPS1kvIzfoz/mPqx7sfG6RE/RagbdGop9I1p/+JRhCyp1BqiBlOfYlwuNvxkCCn8DCMHjcMmA03BJgGtg00FtAE2NdBGDGhAa10wDozhG7FEJXdTuSQEqdSyZXw8ONT4s/6dTjsz49c/Je06PnEgTEA79o8fiyiiotkHwvbd4fwNXJOOCFHa5VCdrDNipyNSEk3bpCs1Zg8Tthe7nGoyfzK8kDoeZR08yeeS8wnlPnzqegxl8KjDlpvymJw9RaJ907HWjq72HsrHhBE9Neh8rhGu7peEo+sF4ex4hsNRVfGdhh0XXechDc45L1Cd9iOnnGeOUl3ftEgZHXtnUT3vX+R44b3H2ZF3y0EzHEtyRs54vqcJt/onAWx+333p0hYP7dVrW6ODY7aq6olbY4KjIfyJ7+2nsVtv37l509YHu7YPHyI3+PRlDHYdUPbtez9vct79Ez19fWg80/JeBM3tJNvj/XHO/XnqSBcFo4vrl88Hw9Ri2ecpnlLbAc+Wb3TdWL787ke16+6WzZ2dKrwzZUFVBpc0LWloMJxxbEuWePgzia0dqYqxGBcW4mLjlC63rbgwjJ+iTiu6GFOZVRkDsYezKmK3X9z81yWJUuSs4KpgUABGt/NFOguMDmfI52WukiPykPs8H6cXce1phLbr/1g2OgIlNb/IXd/X73h9iskdDiz43/YK+PGhZrcTHykFulF9H0hl1dcUOl38T/wcJUlbstTG4opAA4foCh0M1Ujoakt8QpFJH7okpyq3ElpTASSNJchaKymFsREqPTuh1toDXZtUXt4zxYIWpYO1NhAQxk1AMuYrZONuUgrjJVRm/YTauP/QdTT8b9azNi6Vy4glSGC4lQzmzSZRNxNn0zYkLTWwclq2C8k2jDSTmpQSL1cjE5LbOMW2TEojRGRE2WxkqpjHIYPBzFhksw7xJElLiCUvOVnM+pIk3myEcjKERSACBmclBsYzMxEtPIn+vDaIZCkDllyR0lWQ2WBszkiVJKUCpdpkqjR3IrttlpGkIQiROkwkMzNiVCk+xKAVzBiW7P10EB6RRNsgZ5EnmcSJVU1Jw5PG07wGXeq920iRo0QVdTTRRkd1S0bL0qz6dLcbaAVxN+2p3ntyp2GCLTaPFZhdxWJ3gm1aDAAAAA==\') format(\'woff2\');\n }\n .iconfont {\n font-family: "iconfont" !important;\n font-size: 16px;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .icon-prev2:before { content: "\\e601"; }\n .icon-prev3:before { content: "\\e613"; }\n .icon-next:before { content: "\\e610"; }\n .icon-next1:before { content: "\\e600"; }\n .icon-icon_tips:before { content: "\\e627"; }\n .icon-xiazai:before { content: "\\e629"; }\n .icon-tishi:before { content: "\\e62a"; }\n\n .import-dialog-vanilla-wrapper {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n }\n\n .import-dialog-vanilla-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--sl-overlay-color-lighter);\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding-top: 100px;\n overflow: auto;\n }\n\n .import-dialog-vanilla-modal {\n padding: 20px 16px;\n position: relative;\n background-color: var(--sl-color-white);\n background-clip: padding-box;\n border: 0;\n border-radius: 4px;\n \n \n box-shadow: var(--sl-box-shadow);\n pointer-events: auto;\n }\n\n .import-dialog-vanilla-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: 8px 8px 0 0;\n border-bottom: none;\n margin-bottom: 16px;\n font-size: 16px;\n font-weight: 500;\n padding: 0px;\n }\n\n .import-dialog-vanilla-title {\n font-size: 16px;\n font-weight: 500;\n color: var(--sl-text-color);\n }\n\n .import-dialog-vanilla-close {\n font-size: 20px;\n color: var(--sl-text-color-thridary);\n cursor: pointer;\n line-height: 1;\n padding: 4px;\n transition: color 0.3s;\n font-weight:300;\n }\n\n\n\n .import-dialog-vanilla-tabs {\n display: flex;\n margin-bottom: 8px;\n gap: 4px;\n border-bottom: 1px solid var(--sl-border-color);\n }\n\n .import-dialog-vanilla-tab {\n padding: 0 16px;\n height: 32px;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: var(--slm-card-bg-color4);\n color: var(--sl-text-color-secondary);\n font-size: 14px;\n border-radius: 4px 4px 0 0;\n border: 1px solid var(--sl-border-color);\n border-bottom: none;\n transition: all 0.3s;\n }\n\n .import-dialog-vanilla-tab:hover {\n color: var(--sl-color-primary);\n }\n\n .import-dialog-vanilla-tab.active {\n background: var(--sl-color-primary);\n border-color: var(--sl-color-primary);\n color: var(--sl-color-white);\n }\n\n .import-dialog-vanilla-section {\n background: var(--slm-card-bg-color4);\n border-radius: 8px;\n padding: 8px 12px;\n margin-bottom: 8px;\n }\n\n .import-dialog-vanilla-section-title {\n font-size: 14px;\n font-weight: 500;\n color: var(--sl-text-color);\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n }\n\n .import-dialog-vanilla-tips-icon {\n width: 18px;\n height: 18px;\n background: #ECECEC;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .import-dialog-vanilla-tips-icon>i {\n font-size: 12px;\n font-weight:600;\n }\n\n .import-dialog-vanilla-tips-title {\n font-size: 16px;\n margin-left:12px;\n }\n\n .import-dialog-vanilla-tips-content {\n padding-left: 30px;\n }\n\n .import-dialog-vanilla-tip-item {\n font-size: 14px;\n color: var(--sl-text-color-secondary);\n margin: 4px 0;\n line-height: 1.4;\n }\n\n .import-dialog-vanilla-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 4px 16px;\n height: 32px;\n font-size: 14px;\n border-radius: 4px;\n border: 1px solid var(--sl-border-color);\n background: var(--sl-color-white);\n color: var(--sl-text-color-regular);\n cursor: pointer;\n transition: all 0.3s;\n }\n\n .import-dialog-vanilla-btn:hover {\n border-color: var(--sl-color-primary);\n color: var(--sl-color-primary);\n }\n\n .import-dialog-vanilla-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .import-dialog-vanilla-btn-primary {\n background: var(--sl-color-primary);\n border-color: var(--sl-color-primary);\n color: var(--sl-color-white);\n text-decoration: none;\n }\n .download-template-btn {\n font-weight:500;\n }\n\n .import-dialog-vanilla-btn-primary:hover {\n background: var(--slm-primary-color-hover);\n border-color: var(--slm-primary-color-hover);\n color: var(--sl-color-white);\n text-decoration: none;\n }\n\n \n .import-dialog-vanilla-icon {\n font-size: 14px;\n }\n\n .import-dialog-vanilla-setting-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .import-dialog-vanilla-setting-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .import-dialog-vanilla-setting-label {\n min-width: 100px;\n color: var(--sl-text-color-primary);\n font-size: 14px;\n }\n\n .import-dialog-vanilla-setting-label.required::before {\n content: "*";\n color: var(--sl-color-error);\n margin-right: 4px;\n }\n\n .import-dialog-vanilla-select {\n width: 200px;\n height: 28px;\n padding: 0 8px;\n font-size: 14px;\n border: 1px solid var(--sl-border-color);\n border-radius: 4px;\n background: var(--sl-color-white);\n outline: none;\n cursor: pointer;\n }\n\n .import-dialog-vanilla-select:focus {\n border-color: var(--sl-color-primary);\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n }\n\n /* Custom Select Component Styles */\n .import-dialog-vanilla-custom-select {\n position: relative;\n width: 200px;\n height: 28px;\n font-size: 14px;\n }\n\n .import-dialog-vanilla-select-trigger {\n width: 100%;\n height: 100%;\n padding: 0 8px;\n border: 1px solid var(--sl-border-color);\n border-radius: 4px;\n background: var(--sl-color-white);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition: all 0.3s;\n }\n\n .import-dialog-vanilla-select-trigger:hover {\n border-color: var(--sl-color-primary);\n }\n\n .import-dialog-vanilla-select-trigger.active {\n border-color: var(--sl-color-primary);\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n }\n\n .import-dialog-vanilla-select-trigger.disabled {\n background: #f5f5f5;\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .import-dialog-vanilla-select-value {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--sl-text-color-primary);\n }\n\n .import-dialog-vanilla-select-placeholder {\n color: var(--sl-text-color-placeholder);\n }\n\n .import-dialog-vanilla-select-arrow {\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 4px solid var(--sl-text-color-placeholder);\n transition: transform 0.3s;\n margin-left: 8px;\n }\n\n .import-dialog-vanilla-select-trigger.active .import-dialog-vanilla-select-arrow {\n transform: rotate(180deg);\n }\n\n .import-dialog-vanilla-select-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 1000;\n margin-top: 4px;\n background: var(--sl-color-white);\n border-radius: 4px;\n box-shadow: var(--sl-box-shadow-light);\n max-height: 200px;\n overflow-y: auto;\n opacity: 0;\n transform: translateY(-10px);\n transition: all 0.3s;\n pointer-events: none;\n padding: 4px 0;\n }\n\n .import-dialog-vanilla-select-dropdown.show {\n opacity: 1;\n transform: translateY(0);\n pointer-events: auto;\n }\n\n .import-dialog-vanilla-select-option {\n padding: 0px 8px;\n cursor: pointer;\n transition: background-color 0.3s;\n color: var(--sl-text-color-primary);\n font-size: 14px;\n height: 34px;\n margin: 0px 4px;\n border-radius: 8px;\n line-height: 34px;\n }\n\n .import-dialog-vanilla-select-option:hover {\n background: var(--sl-fill-color-light);\n }\n\n .import-dialog-vanilla-select-option.selected {\n background: var(--sl-color-primary-light-9);\n color: var(--sl-color-primary);\n font-weight: 500;\n }\n\n .import-dialog-vanilla-radio-group {\n display: flex;\n gap: 20px;\n flex-wrap: wrap;\n }\n\n .import-dialog-vanilla-radio {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 14px;\n color: var(--sl-text-color-secondary);\n }\n\n .import-dialog-vanilla-radio input[type="radio"] {\n appearance: none;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 2px solid var(--sl-text-color-four);\n position: relative;\n outline: none;\n cursor: pointer;\n margin: 0;\n }\n .import-dialog-vanilla-radio input[type="radio"]:hover {\n border-color: var(--sl-color-primary);\n }\n .import-dialog-vanilla-radio input[type="radio"]:checked {\n border-color: var(--sl-color-primary);\n border-width: 5px;\n }\n\n .import-dialog-vanilla-radio input[type="radio"]:checked::before {\n content: \'\';\n width: 6px;\n height: 6px;\n border-radius: 50%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .import-dialog-vanilla-radio span {\n color: var(--sl-text-color-primary);\n font-size: 14px;\n }\n\n .import-dialog-vanilla-date-range {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .import-dialog-vanilla-date-input {\n width: 150px;\n height: 28px;\n padding: 0 8px;\n font-size: 14px;\n border: 1px solid var(--sl-border-color);\n border-radius: 4px;\n outline: none;\n }\n\n .import-dialog-vanilla-date-input:focus {\n border-color: var(--sl-color-primary);\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n }\n\n .import-dialog-vanilla-date-separator {\n color: #999;\n }\n\n /* 上传区域包装器 - 文件列表和上传区域横向排列 */\n .import-dialog-vanilla-upload-wrapper {\n display: flex;\n flex-direction: column;\n }\n\n .import-dialog-vanilla-upload-area {\n min-height: 176px;\n cursor: pointer;\n transition: all 0.3s;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n\n .import-dialog-vanilla-upload-area:hover {\n border-color: var(--sl-color-primary);\n }\n\n .import-dialog-vanilla-upload-area.dragover {\n border-color: var(--sl-color-primary);\n background: rgba(24, 144, 255, 0.05);\n }\n\n .import-dialog-vanilla-upload-area.disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .import-dialog-vanilla-file-input {\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n pointer-events: none;\n }\n\n .import-dialog-vanilla-upload-content {\n text-align: center;\n padding: 20px;\n }\n\n .import-dialog-vanilla-upload-icon {\n // font-size: 48px;\n width:88px;\n height:74px;\n object-fit: contain;\n margin-bottom: 16px;\n }\n\n .import-dialog-vanilla-upload-text {\n color: var(--sl-text-color-secondary);\n font-size: 14px;\n margin-bottom: 8px;\n }\n\n .import-dialog-vanilla-upload-link {\n color: var(--sl-color-primary);\n cursor: pointer;\n }\n\n .import-dialog-vanilla-upload-link:hover {\n text-decoration: underline;\n }\n\n .import-dialog-vanilla-upload-hint {\n color: var(--sl-text-color-secondary);\n font-size: 12px;\n margin: 0;\n }\n\n .import-dialog-vanilla-file-info {\n display: flex;\n }\n\n .import-dialog-vanilla-file-name {\n flex: 1;\n font-size: 14px;\n color: var(--sl-text-color-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .import-dialog-vanilla-file-remove {\n font-size: 18px;\n color: #999;\n cursor: pointer;\n line-height: 1;\n }\n\n .import-dialog-vanilla-file-remove:hover {\n color: #ff4d4f;\n }\n\n .import-dialog-vanilla-upload-progress {\n margin-top: 12px;\n padding: 8px 0;\n }\n\n .import-dialog-vanilla-progress-bar {\n height: 8px;\n background: #f0f0f0;\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 8px;\n }\n\n .import-dialog-vanilla-progress-inner {\n height: 100%;\n border-radius: 4px;\n transition: width 0.3s;\n }\n\n .import-dialog-vanilla-progress-inner.active {\n background: var(--sl-color-primary);\n }\n\n .import-dialog-vanilla-progress-inner.success {\n background: #52c41a;\n }\n\n .import-dialog-vanilla-progress-inner.error {\n background: #ff4d4f;\n }\n\n .import-dialog-vanilla-progress-text {\n font-size: 12px;\n color: var(--sl-text-color-secondary);\n }\n\n .import-dialog-vanilla-upload-message {\n font-size: 14px;\n padding: 6px 12px;\n border-radius: 4px;\n margin-top: 8px;\n }\n\n .import-dialog-vanilla-upload-message.info {\n color: var(--sl-color-primary);\n background: rgba(24, 144, 255, 0.1);\n }\n\n .import-dialog-vanilla-upload-message.success {\n color: #52c41a;\n background: rgba(82, 196, 26, 0.1);\n }\n\n .import-dialog-vanilla-upload-message.error {\n color: #ff4d4f;\n background: rgba(255, 77, 79, 0.1);\n }\n\n .import-dialog-vanilla-footer {\n display: flex;\n justify-content: flex-end;\n gap: 12px;\n padding-top: 8px;\n }\n\n .import-dialog-vanilla-toast {\n position: fixed;\n top: 16px;\n left: 50%;\n transform: translateX(-50%);\n padding: 0;\n border-radius: 4px;\n font-size: 14px;\n z-index: 1100;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n animation: import-dialog-toast-in 0.3s ease;\n display: flex;\n align-items: center;\n padding: 8px 15px;\n box-sizing: content-box;\n }\n\n .import-dialog-vanilla-toast-content {\n display: flex;\n align-items: center;\n flex: 1;\n gap:8px;\n }\n\n .import-dialog-vanilla-toast-icon {\n font-size: 16px;\n flex-shrink: 0;\n }\n\n .import-dialog-vanilla-toast-message {\n flex: 1;\n }\n\n .import-dialog-vanilla-toast-close {\n background: none;\n border: none;\n padding: 11px 15px;\n cursor: pointer;\n display: flex;\n align-items: center;\n color: inherit;\n opacity: 0.6;\n transition: opacity 0.2s;\n flex-shrink: 0;\n }\n\n .import-dialog-vanilla-toast-close:hover {\n opacity: 1;\n }\n\n .import-dialog-vanilla-toast-close i {\n font-size: 14px;\n }\n\n .import-dialog-vanilla-toast.info {\n background-color: var(--sl-color-primary-light-9);\n color: var(--sl-color-primary);\n border: 1px solid var(--sl-color-primary-light-8);\n }\n\n .import-dialog-vanilla-toast.success {\n background-color: var(--sl-color-success-light-9);\n color: var(--sl-color-success);\n border: 1px solid var(--sl-color-success-light-8);\n }\n\n .import-dialog-vanilla-toast.warning {\n background-color: var(--sl-color-warning-light-9);\n color: var(--sl-color-warning);\n border: 1px solid var(--sl-color-warning-light-8);\n }\n\n .import-dialog-vanilla-toast.error {\n background-color: var(--sl-color-error-light-9);\n color: var(--sl-color-error);\n border: 1px solid var(--sl-color-error-light-8);\n }\n\n .import-dialog-vanilla-toast.fade-out {\n animation: import-dialog-toast-out 0.3s ease forwards;\n }\n\n @keyframes import-dialog-toast-in {\n from {\n opacity: 0;\n transform: translateX(-50%) translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n }\n }\n\n @keyframes import-dialog-toast-out {\n from {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n }\n to {\n opacity: 0;\n transform: translateX(-50%) translateY(-20px);\n }\n }\n\n /* DateRangePicker */\n .sl-date-range-picker {\n position: relative;\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--sl-border-color);\n border-radius: 4px;\n background: var(--sl-color-white);\n height: 28px;\n padding: 0 8px;\n gap: 6px;\n cursor: pointer;\n transition: border-color 0.3s;\n }\n\n .sl-date-range-picker:hover {\n border-color: var(--sl-color-primary);\n }\n\n .sl-date-range-picker:focus-within {\n border-color: var(--sl-color-primary);\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n }\n\n .sl-date-range-input {\n border: none;\n outline: none;\n background: transparent;\n font-size: 13px;\n color: var(--sl-text-color-primary);\n width: 80px;\n text-align: center;\n cursor: pointer;\n padding: 0;\n height: 100%;\n }\n\n .sl-date-range-input::placeholder {\n color: var(--sl-text-color-placeholder);\n }\n\n .sl-date-range-separator {\n color: var(--sl-text-color);\n font-size: 13px;\n flex-shrink: 0;\n }\n\n .sl-date-range-icon {\n display: flex;\n align-items: center;\n color: var(--sl-text-color-placeholder);\n flex-shrink: 0;\n }\n\n /* 日期范围选择器日历样式覆盖 */\n .sl-date-range-calendar {\n border: 1px solid var(--sl-border-color-light);\n box-shadow: var(--sl-box-shadow-light);\n border-radius: 8px;\n z-index: 1100 !important;\n padding: 0 !important;\n overflow: visible !important;\n }\n\n /* 隐藏 flatpickr 自带的箭头 */\n .sl-date-range-calendar::before,\n .sl-date-range-calendar::after {\n display: none !important;\n }\n\n /* 自定义箭头元素 — 基础样式 */\n .sl-calendar-arrow {\n position: absolute;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n z-index: 1;\n }\n\n /* 箭头朝上(日历在输入框下方) */\n .sl-calendar-arrow-top {\n top: -8px;\n border-bottom: 8px solid #e4e7ed;\n }\n .sl-calendar-arrow-top::after {\n content: "";\n position: absolute;\n top: 1px;\n left: -8px;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid #fff;\n }\n\n /* 箭头朝下(日历在输入框上方) */\n .sl-calendar-arrow-bottom {\n bottom: -8px;\n border-top: 8px solid #e4e7ed;\n }\n .sl-calendar-arrow-bottom::after {\n content: "";\n position: absolute;\n bottom: 1px;\n left: -8px;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-top: 8px solid #fff;\n }\n\n /* 日历整体固定宽度 */\n .sl-date-range-calendar {\n width: 646px !important;\n }\n\n .sl-date-range-calendar.has-shortcuts {\n display: flex !important;\n flex-direction: row !important;\n width: 756px !important; /* 646 + 110 快捷方式面板 */\n }\n\n .sl-date-range-calendar-content {\n width: 646px;\n flex-shrink: 0;\n padding: 12px;\n box-sizing: border-box;\n position: relative;\n }\n\n /* 两个月份之间的连续分割线 */\n .sl-date-range-calendar-content::after {\n content: \'\';\n position: absolute;\n top: 12px;\n bottom: 12px;\n left: 50%;\n width: 1px;\n background-color: var(--sl-border-color);\n // transform: translateX(-50%);\n pointer-events: none;\n }\n\n .sl-date-range-calendar-content .flatpickr-months,\n .sl-date-range-calendar-content .flatpickr-innerContainer {\n width: 100%;\n }\n\n /* 覆盖 flatpickr 固定宽度,让两个月份并排 */\n .sl-date-range-calendar .flatpickr-innerContainer {\n overflow: visible !important;\n width: 622px !important; /* 311px * 2 */\n position: relative;\n }\n\n /* 没有快捷方式时的分割线(直接在 innerContainer 上) */\n .sl-date-range-calendar:not(.has-shortcuts) .flatpickr-innerContainer::after {\n content: \'\';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n background-color: var(--sl-border-color-light);\n transform: translateX(-50%);\n pointer-events: none;\n }\n\n /* 没有快捷方式时月份头部的分割线 */\n .sl-date-range-calendar:not(.has-shortcuts) .flatpickr-months::after {\n content: \'\';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n background-color: var(--sl-border-color-light);\n transform: translateX(-50%);\n pointer-events: none;\n }\n\n .sl-date-range-calendar .flatpickr-rContainer {\n width: 622px !important; /* 311px * 2 */\n }\n\n .sl-date-range-calendar .flatpickr-days .dayContainer + .dayContainer {\n box-shadow: none !important;\n }\n\n /* 快捷方式面板 */\n .sl-date-range-shortcuts {\n display: flex;\n flex-direction: column;\n padding: 12px 0;\n border-right: 1px solid var(--sl-border-color);\n width: 110px;\n flex-shrink: 0;\n }\n\n .sl-date-range-shortcut-item {\n padding: 0px 12px;\n font-size: 14px;\n color: var(--sl-text-color-regular);\n cursor: pointer;\n white-space: nowrap;\n transition: color 0.2s;\n line-height: 28px;\n text-align: start;\n }\n\n .sl-date-range-shortcut-item:hover {\n color: var(--sl-color-primary);\n }\n\n .sl-date-range-shortcut-item.active {\n color: var(--sl-color-primary);\n font-weight: 500;\n }\n\n /* 月份头部区域 */\n .sl-date-range-calendar .flatpickr-months {\n padding: 0 4px !important;\n align-items: center;\n width: 622px !important; /* 311px * 2 */\n position: relative !important;\n }\n\n .sl-date-range-calendar .flatpickr-months .flatpickr-month {\n height: 30px;\n display: flex;\n align-items: center;\n width: 311px !important;\n flex: none !important;\n }\n\n /* 箭头样式 */\n .sl-date-range-calendar .flatpickr-prev-year,\n .sl-date-range-calendar .flatpickr-next-year,\n .sl-date-range-calendar .flatpickr-prev-month,\n .sl-date-range-calendar .flatpickr-next-month {\n position: absolute !important;\n top: 0;\n height: 34px;\n padding: 10px;\n z-index: 3;\n }\n\n .sl-date-range-calendar .flatpickr-prev-year,\n .sl-date-range-calendar .flatpickr-prev-month {\n left: 0;\n }\n\n .sl-date-range-calendar .flatpickr-next-year,\n .sl-date-range-calendar .flatpickr-next-month {\n right: 0;\n }\n\n .sl-date-range-calendar .flatpickr-current-month {\n font-size: 14px;\n font-weight: 500;\n padding-top: 8px;\n }\n\n .sl-date-range-calendar .flatpickr-current-month .cur-month {\n font-weight: 500;\n font-size: 16px;\n color:var(--sl-text-color)\n }\n\n /* 年份和月份导航箭头 */\n .sl-date-range-calendar .flatpickr-prev-year,\n .sl-date-range-calendar .flatpickr-next-year {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n cursor: pointer;\n font-size: 16px;\n user-select: none;\n transition: color 0.2s;\n position: relative;\n top: 0;\n line-height: 40px;\n padding: 0;\n z-index: 1;\n }\n\n .sl-date-range-calendar .flatpickr-prev-year:hover,\n .sl-date-range-calendar .flatpickr-next-year:hover {\n color: var(--sl-color-primary);\n }\n\n .sl-date-range-calendar .flatpickr-prev-month,\n .sl-date-range-calendar .flatpickr-next-month {\n padding: 0 !important;\n width: 28px;\n height: 28px;\n display: inline-flex !important;\n align-items: center;\n justify-content: center;\n position: absolute !important;\n top: 0 !important;\n line-height: 28px;\n font-size: 16px;\n color: var(--sl-text-color);\n overflow: visible !important;\n }\n\n .sl-date-range-calendar .flatpickr-prev-month {\n left: 12px !important;\n }\n\n .sl-date-range-calendar .flatpickr-next-month {\n right: 12px !important;\n }\n\n .sl-date-range-calendar .flatpickr-prev-month:hover,\n .sl-date-range-calendar .flatpickr-next-month:hover {\n color: var(--sl-color-primary);\n }\n\n /* 隐藏 flatpickr 原始 SVG 箭头(已替换为 iconfont) */\n .sl-date-range-calendar .flatpickr-prev-month svg,\n .sl-date-range-calendar .flatpickr-next-month svg {\n display: none !important;\n }\n .flatpickr-prev-month .iconfont,\n .flatpickr-next-month .iconfont,\n .flatpickr-prev-year .iconfont,\n .flatpickr-next-year .iconfont {\n font-size:12px;\n color:var(--sl-text-color-primary);\n }\n\n /* 星期标题 */\n .sl-date-range-calendar .flatpickr-weekdays {\n padding: 0 4px;\n height: 36px;\n width: 622px !important; /* 311px * 2 */\n }\n\n .sl-date-range-calendar .flatpickr-weekdaycontainer {\n width: 311px !important;\n min-width: 311px !important;\n flex: none !important;\n }\n\n .sl-date-range-calendar span.flatpickr-weekday {\n font-size: var(--sl-font-size-base);\n color: var(--sl-text-color);\n font-weight:400;\n }\n\n /* 日期单元格 */\n .sl-date-range-calendar .flatpickr-days {\n padding: 0 4px;\n width: 622px !important; /* 311px * 2 */\n overflow: visible !important;\n }\n\n .sl-date-range-calendar .dayContainer {\n padding: 0 4px;\n width: 311px !important; /* (646 - 24px padding - 1px border) / 2 */\n min-width: 311px !important;\n max-width: 311px !important;\n min-height: 216px;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n box-sizing: border-box;\n }\n\n /* 外层包裹:占满一格宽度,提供 inRange 选中区间的背景色 */\n .sl-day-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 14.2857%;\n height: 30px;\n box-sizing: border-box;\n position: relative;\n }\n\n /* 内层 span:日期数字,选中时显示为圆形高亮 */\n .sl-day-cell .flatpickr-day {\n font-size: 14px;\n color: var(--sl-text-color);\n width: 24px;\n height: 24px;\n max-width: 24px;\n min-width: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border:none;\n background:transparent;\n }\n\n .sl-day-cell .flatpickr-day:hover {\n background: transparent !important;\n border-color: transparent !important;\n border: none !important;\n color: var(--sl-color-primary);\n }\n\n /* 未确认范围时,去掉 flatpickr 默认给 startRange/endRange/inRange 加的背景和边框 */\n .sl-date-range-calendar:not(.sl-range-confirmed) .sl-day-cell .flatpickr-day.startRange,\n .sl-date-range-calendar:not(.sl-range-confirmed) .sl-day-cell .flatpickr-day.endRange,\n .sl-date-range-calendar:not(.sl-range-confirmed) .sl-day-cell .flatpickr-day.inRange {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n color: var(--sl-text-color) !important;\n }\n\n /* 未确认范围时,鼠标悬停在单元格上才显示主题色 */\n .sl-date-range-calendar:not(.sl-range-confirmed) .sl-day-cell:hover .flatpickr-day {\n color: var(--sl-color-primary) !important;\n }\n\n /* 未确认范围时,仅第一个选中的日期保留蓝色圆 */\n .sl-date-range-calendar:not(.sl-range-confirmed) .sl-day-cell .flatpickr-day.selected {\n background: var(--sl-color-primary) !important;\n color: var(--sl-color-white) !important;\n border-radius: 50% !important;\n }\n\n /* 今天:蓝色文字 */\n .sl-day-cell .flatpickr-day.today {\n border: none;\n color: var(--sl-color-primary);\n font-weight: 600;\n }\n\n .sl-day-cell .flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {\n color: var(--sl-color-primary);\n font-weight: 600;\n }\n /* 悬停时的 inRange(未确认范围):仅改变字体颜色,不显示灰色背景带 */\n .sl-day-cell:has(.flatpickr-day.inRange) .flatpickr-day {\n box-shadow: none ;\n }\n\n /* 已确认范围:显示灰色背景带 */\n .sl-range-confirmed .sl-day-cell:has(.flatpickr-day.inRange) {\n background: var(--sl-border-color-light);\n }\n\n .sl-range-confirmed .sl-day-cell:has(.flatpickr-day.inRange) .flatpickr-day:hover {\n color: var(--sl-color-primary) !important;\n }\n\n /* 开始日期:仅在范围确认后显示灰色背景带 */\n .sl-range-confirmed .sl-day-cell:has(.flatpickr-day.startRange) {\n background: var(--sl-border-color-light);\n border-top-left-radius: 50%;\n border-bottom-left-radius: 50%;\n }\n\n .sl-range-confirmed .sl-day-cell:has(.flatpickr-day.startRange.endRange) {\n background: transparent;\n }\n\n /* 结束日期:仅在范围确认后显示灰色背景带 */\n .sl-range-confirmed .sl-day-cell:has(.flatpickr-day.endRange) {\n background: var(--sl-border-color-light);\n border-top-right-radius: 50%;\n border-bottom-right-radius: 50%;\n }\n\n /* 选中的开始和结束日期:蓝色实心圆 */\n .sl-day-cell .flatpickr-day.selected,\n .sl-day-cell .flatpickr-day.startRange,\n .sl-day-cell .flatpickr-day.endRange {\n background: var(--sl-color-primary) !important;\n border-color: var(--sl-color-primary) !important;\n color: var(--sl-color-white) !important;\n border-radius: 50% !important;\n box-shadow: none !important;\n }\n /* 禁用日期 */\n .sl-day-cell .flatpickr-day.flatpickr-disabled {\n color: var(--sl-text-color-disabled);\n cursor: not-allowed;\n opacity: 1;\n }\n\n .sl-day-cell .flatpickr-day.flatpickr-disabled:hover {\n background: transparent !important;\n border-color: transparent !important;\n cursor: not-allowed;\n }\n\n .sl-day-cell .flatpickr-day.prevMonthDay,\n .sl-day-cell .flatpickr-day.nextMonthDay {\n color: #c0c4cc;\n }\n .flatpickr-day.nextMonthDay.inRange,.flatpickr-day.preMonthDay.inRange{\n background: transparent ;\n border:none;\n }\n\n /* ============ 多文件上传列表样式 - 横向滚动 ============ */\n .import-dialog-vanilla-file-list {\n display: flex;\n flex-direction: row;\n gap: 12px;\n overflow-x: auto;\n overflow-y: hidden;\n padding: 0px 0px 12px 0px;\n scrollbar-width: thin;\n // scrollbar-color: #d9d9d9 transparent;\n }\n\n .import-dialog-vanilla-file-list::-webkit-scrollbar {\n height: 6px;\n }\n\n .import-dialog-vanilla-file-list::-webkit-scrollbar-track {\n background: transparent;\n }\n\n .import-dialog-vanilla-file-list::-webkit-scrollbar-thumb {\n background: #d9d9d9;\n border-radius: 3px;\n }\n\n .import-dialog-vanilla-file-list::-webkit-scrollbar-thumb:hover {\n background: #bfbfbf;\n }\n\n .import-dialog-vanilla-file-item {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n padding: 4px 8px;\n background: var(--slm-card-bg-color5);\n border-radius: 12px;\n flex-shrink: 0;\n min-width: 196px;\n width:196px;\n height:52px;\n cursor: default;\n transition: all 0.2s;\n }\n .import-dialog-vanilla-file-item.width-100{\n width:100%;\n }\n\n // .import-dialog-vanilla-file-item:hover {\n // background: #FFF7E6;\n // }\n\n // .import-dialog-vanilla-file-item.status-success {\n // background: #FFFBF0;\n // }\n\n .import-dialog-vanilla-file-item.status-error {\n background: #FFF2F0;\n }\n\n .import-dialog-vanilla-file-item.status-uploading {\n background: #FFFBF0;\n }\n\n .import-dialog-vanilla-file-icon {\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n }\n\n .import-dialog-vanilla-file-icon svg {\n width: 32px;\n height: 32px;\n }\n\n .import-dialog-vanilla-file-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .import-dialog-vanilla-file-name {\n font-size: 13px;\n color: var(--sl-text-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.4;\n width:144px;\n }\n\n .import-dialog-vanilla-file-meta {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--sl-text-color-secondary);\n }\n\n .import-dialog-vanilla-file-progress-text {\n font-size: 12px;\n color: #1890FF;\n }\n\n .import-dialog-vanilla-file-error-text {\n font-size: 12px;\n color: var(--sl-color-error);\n }\n\n /* 删除按钮 - 默认隐藏,hover时显示 */\n .import-dialog-vanilla-file-remove-btn {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 14px;\n height: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.2s;\n z-index: 1;\n }\n\n .import-dialog-vanilla-file-item:hover .import-dialog-vanilla-file-remove-btn {\n opacity: 1;\n }\n\n .import-dialog-vanilla-file-remove-btn svg {\n width: 14px;\n height: 14px;\n }\n\n /* 全局遮罩 Loading */\n .import-dialog-vanilla-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--sl-overlay-color-lighter);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n }\n\n .import-dialog-vanilla-loading-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid var(--sl-border-color);\n border-top: 3px solid var(--sl-color-primary);\n border-radius: 50%;\n animation: import-dialog-vanilla-spin 1s linear infinite;\n }\n\n @keyframes import-dialog-vanilla-spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n ',document.head.appendChild(this.styleElement))}initUploader(){this.uploader=new k({multiple:!1,maxFiles:10,maxFileSize:104857600},{onUpdate:()=>this.updateModal(),onMessage:(e,n)=>this.showMessage(e,n),onFileChange:e=>{var n,t;return null==(t=(n=this.modalOptions).onFileChange)?void 0:t.call(n,e)},onUploadProgress:(e,n)=>{var t,a;return null==(a=(t=this.modalOptions).onUploadProgress)?void 0:a.call(t,e,n)},onUploadSuccess:(e,n)=>{var t,a;return null==(a=(t=this.modalOptions).onUploadSuccess)?void 0:a.call(t,e,n)},onUploadError:(e,n)=>{var t,a;return null==(a=(t=this.modalOptions).onUploadError)?void 0:a.call(t,e,n)}})}get currentConfig(){const e=this.modalOptions.templateType||l.BASE,n=d(x),t=n[e]||n[l.BASE],a=this.modalOptions;return{...t,tabs:a.tabs||t.tabs,showBrand:null!=a.showBrand?a.showBrand:t.showBrand,showImageRatio:null!=a.showImageRatio?a.showImageRatio:t.showImageRatio,showMonth:null!=a.showMonth?a.showMonth:t.showMonth,showDateRange:null!=a.showDateRange?a.showDateRange:t.showDateRange,uploadTitle:a.uploadTitle||t.uploadTitle,uploadLinkText:a.uploadLinkText||t.uploadLinkText,uploadHint:a.uploadHint||t.uploadHint,acceptTypes:a.acceptTypes||t.acceptTypes,tips:a.tips||t.tips,templateUrl:a.templateUrl||t.templateUrl}}get dialogTitle(){return this.modalOptions.title||x("batchImport")}get dialogWidth(){return this.modalOptions.width||"480px"}getRenderContext(){var e,n;return{currentConfig:this.currentConfig,dialogTitle:this.dialogTitle,width:this.dialogWidth,activeTabIndex:this.activeTabIndex,brandList:this.brandList,brandLoading:this.brandLoading,brandPlaceholder:this.modalOptions.brandPlaceholder||x("defaultBrand"),formData:this.formData,uploadFileList:this.uploader.uploadFileList,multiple:null!=(null==(e=this.modalOptions.uploadConfig)?void 0:e.multiple)&&this.modalOptions.uploadConfig.multiple,maxFiles:null!=(null==(n=this.modalOptions.uploadConfig)?void 0:n.maxFiles)?this.modalOptions.uploadConfig.maxFiles:10,confirmLoading:this.confirmLoading,isUploading:this.uploader.isUploading,uploadProgress:this.uploader.uploadProgress,uploadMessage:this.uploader.uploadMessage,uploadMessageType:this.uploader.uploadMessageType}}createModal(){var e;this.modalElement&&this.modalElement.remove(),this.renderer=new w(this.getRenderContext()),this.modalElement=document.createElement("div"),this.modalElement.className="import-dialog-vanilla-wrapper",this.modalElement.innerHTML=this.renderer.render(),null==(e=this.container)||e.appendChild(this.modalElement),this.bindEvents(),this.initDateRangePicker()}updateModal(){var e;if(!this.modalElement)return;const n=null==(e=this.dateRangePicker)?void 0:e.getDates();this.renderer.updateContext(this.getRenderContext()),this.modalElement.innerHTML=this.renderer.render(),this.bindEvents(),this.currentConfig.showDateRange&&(n&&(this.formData.dateRange=n),this.initDateRangePicker())}initDateRangePicker(){var e;if(!this.modalElement)return;const n=this.modalElement.querySelector('[data-field="dateRange"]');n&&(null==(e=this.dateRangePicker)||e.destroy(),this.dateRangePicker=new g({container:n,defaultDates:[this.formData.dateRange[0],this.formData.dateRange[1]],placeholder:[x("startDate"),x("endDate")],shortcuts:this.modalOptions.dateRangeShortcuts,disabledDate:this.modalOptions.disabledDate,onChange:e=>{this.formData.dateRange[0]=e[0],this.formData.dateRange[1]=e[1]?new Date(e[1].getFullYear(),e[1].getMonth(),e[1].getDate(),23,59,59):null}}))}bindEvents(){if(!this.modalElement)return;const e=this.modalElement.querySelector(".import-dialog-vanilla-overlay");null==e||e.addEventListener("click",e=>e.stopPropagation());const n=this.modalElement.querySelector(".import-dialog-vanilla-modal");null==n||n.addEventListener("click",e=>e.stopPropagation());const t=this.modalElement.querySelector("#import-dialog-close-btn");null==t||t.addEventListener("click",()=>this.handleCancel());this.modalElement.querySelectorAll(".import-dialog-vanilla-tab").forEach(e=>{e.addEventListener("click",e=>{const n=parseInt(e.currentTarget.dataset.tabIndex||"0");this.handleTabChange(n)})});const a=this.modalElement.querySelector(".import-dialog-vanilla-upload-area"),l=this.modalElement.querySelector(".import-dialog-vanilla-file-input");null==a||a.addEventListener("click",()=>{this.uploader.isUploading||null==l||l.click()}),null==l||l.addEventListener("change",e=>{var n;const t=e.target.files;if(t&&t.length>0){null!=(null==(n=this.modalOptions.uploadConfig)?void 0:n.multiple)&&this.modalOptions.uploadConfig.multiple?this.uploader.beforeUpload(Array.from(t)):this.uploader.beforeUpload(t[0])}}),null==a||a.addEventListener("dragover",e=>{e.preventDefault(),a.classList.add("dragover")}),null==a||a.addEventListener("dragleave",()=>{a.classList.remove("dragover")}),null==a||a.addEventListener("drop",e=>{var n,t;e.preventDefault(),a.classList.remove("dragover");const l=null==(n=e.dataTransfer)?void 0:n.files;if(l&&l.length>0&&!this.uploader.isUploading){null!=(null==(t=this.modalOptions.uploadConfig)?void 0:t.multiple)&&this.modalOptions.uploadConfig.multiple?this.uploader.beforeUpload(Array.from(l)):this.uploader.beforeUpload(l[0])}});this.modalElement.querySelectorAll(".import-dialog-vanilla-file-remove-btn").forEach(e=>{e.addEventListener("click",n=>{n.stopPropagation();const t=e.getAttribute("data-file-index");null!==t?this.uploader.removeFile(parseInt(t)):this.uploader.removeFile()})}),this.bindFormEvents();const i=this.modalElement.querySelector("#import-dialog-confirm-btn");null==i||i.addEventListener("click",()=>this.handleConfirm());const o=this.modalElement.querySelector("#import-dialog-cancel-btn");null==o||o.addEventListener("click",()=>this.handleCancel())}bindFormEvents(){if(!this.modalElement)return;this.bindCustomSelectEvents();this.modalElement.querySelectorAll('[data-field="imageRatio"]').forEach(e=>{e.addEventListener("change",e=>{this.formData.imageRatio=e.target.value})})}bindCustomSelectEvents(){if(!this.modalElement)return;this.modalElement.querySelectorAll(".import-dialog-vanilla-custom-select").forEach(e=>{const n=e.querySelector(".import-dialog-vanilla-select-trigger"),t=e.querySelector(".import-dialog-vanilla-select-dropdown"),a=e.querySelectorAll(".import-dialog-vanilla-select-option"),l=e.getAttribute("data-field");null==n||n.addEventListener("click",a=>{a.stopPropagation(),n.classList.contains("disabled")||(this.closeAllSelects(e),n.classList.toggle("active"),null==t||t.classList.toggle("show"))}),a.forEach(e=>{e.addEventListener("click",i=>{var o;i.stopPropagation();const r=e.getAttribute("data-value"),s=e.textContent||"",d=n.querySelector(".import-dialog-vanilla-select-value");d&&(d.textContent=s,d.classList.remove("import-dialog-vanilla-select-placeholder")),a.forEach(e=>e.classList.remove("selected")),e.classList.add("selected"),n.classList.remove("active"),null==t||t.classList.remove("show"),"brandId"===l?(this.formData.brandId=r||void 0,null==(o=this.onBrandChangeCallback)||o.call(this,r||"")):"month"===l&&(this.formData.month=parseInt(r||"1"))})})}),document.addEventListener("click",this.handleDocumentClick)}closeAllSelects(e){if(!this.modalElement)return;this.modalElement.querySelectorAll(".import-dialog-vanilla-custom-select").forEach(n=>{if(e&&n===e)return;const t=n.querySelector(".import-dialog-vanilla-select-trigger"),a=n.querySelector(".import-dialog-vanilla-select-dropdown");null==t||t.classList.remove("active"),null==a||a.classList.remove("show")})}resetForm(){const e=new Date,n=e.getMonth()+1,t=new Date(e.getFullYear(),e.getMonth(),1),a=new Date(e.getFullYear(),e.getMonth()+1,0,23,59,59);this.formData={brandId:void 0,imageRatio:"original",month:n,dateRange:[t,a]},this.uploader.reset()}async loadBrandData(){if(!this.currentConfig.showBrand)return;const e=this.modalOptions.brandData;if(Array.isArray(e))this.brandList=e,this.updateModal();else if("function"==typeof e){this.brandLoading=!0,this.updateModal();try{this.brandList=await e()}catch(n){this.brandList=[]}finally{this.brandLoading=!1,this.updateModal()}}}handleTabChange(e){var n,t,a;this.activeTabIndex=e;const l={index:e,tab:this.currentConfig.tabs[e]};null==(n=this.onTabChangeCallback)||n.call(this,l),null==(a=(t=this.modalOptions).onTabChange)||a.call(t,l),this.updateModal()}async handleCancel(){this.modalOptions.onBeforeCancel&&await this.modalOptions.onBeforeCancel(),this.hide(),this.modalOptions.onCancel&&await this.modalOptions.onCancel()}async handleConfirm(){if(0===this.uploader.uploadFileList.length)return void this.showMessage(x("fileTypeError"),"warning");if(this.uploader.hasUploadingFiles())return void this.showMessage("有文件正在上传中,请等待上传完成","warning");if(this.uploader.hasPendingFiles()){this.confirmLoading=!0,this.updateModal();try{await this.uploader.startUpload()}catch(t){return void this.showMessage("上传失败,请重试","error")}}const e=this.uploader.getFailedFiles();if(e.length>0)return this.showMessage(`有 ${e.length} 个文件上传失败,请重新上传`,"warning"),this.confirmLoading=!1,void this.updateModal();if(!this.uploader.hasAllFilesUploaded())return this.showMessage("请等待所有文件上传完成","warning"),this.confirmLoading=!1,void this.updateModal();const n={files:this.uploader.uploadFileList.map(e=>e.response||e.file),formData:{...this.formData},activeTab:this.currentConfig.tabs[this.activeTabIndex],activeTabIndex:this.activeTabIndex};try{if(this.modalOptions.onBeforeConfirm&&await this.modalOptions.onBeforeConfirm(n),this.modalOptions.onConfirm){const e=await this.modalOptions.onConfirm(n);(null==e?void 0:e.success)?this.hide():(null==e?void 0:e.message)&&this.showMessage(e.message,"error")}}finally{this.confirmLoading=!1,this.updateModal()}}showMessage(e,n){!function(e){const{message:n,type:t,duration:a=3e3,closable:l=!0}=e,i=document.createElement("div");i.className=`import-dialog-vanilla-toast ${t}`;const o=T[t]||T.info;i.innerHTML=`\n <div class="import-dialog-vanilla-toast-content">\n <i class="iconfont ${o} import-dialog-vanilla-toast-icon"></i>\n <span class="import-dialog-vanilla-toast-message">${n}</span>\n </div>\n ${l?'<button class="import-dialog-vanilla-toast-close" data-action="close-toast">\n <i class="iconfont icon-guanbi"></i>\n </button>':""}\n `,document.body.appendChild(i);const r=[],s=()=>{i.classList.add("fade-out");const e=window.setTimeout(()=>{i.remove(),C.delete(d)},3e3);r.push(e)},d={element:i,timers:r,close:s};if(C.add(d),l){const e=i.querySelector('[data-action="close-toast"]');e&&e.addEventListener("click",s)}if(a>0){const e=window.setTimeout(s,a);r.push(e)}}({message:e,type:n,duration:3e3})}_openModalCore(e){this.modalOptions=e||{},(null==e?void 0:e.locale)&&b(e.locale);const n=null==e?void 0:e.uploadConfig;this.uploader.updateConfig({multiple:null!=(null==n?void 0:n.multiple)&&n.multiple,maxFiles:null!=(null==n?void 0:n.maxFiles)?n.maxFiles:10,maxFileSize:null!=(null==n?void 0:n.maxFileSize)?n.maxFileSize:104857600,uploadConfig:n}),this.activeTabIndex=(null==e?void 0:e.defaultActiveTab)||0,this.resetForm(),this.createModal(),this.loadBrandData()}openModal(e){this._openModalCore(e)}closeModal(){this.handleCancel()}setConfirmLoading(e){this.confirmLoading=e,this.updateModal()}hide(){var e;null==(e=this.dateRangePicker)||e.destroy(),this.dateRangePicker=null,this.modalElement&&(this.modalElement.remove(),this.modalElement=null),document.removeEventListener("click",this.handleDocumentClick)}destroy(){this.hide(),C.forEach(e=>{e.timers.forEach(e=>{window.clearTimeout(e)}),e.element.remove()}),C.clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null),document.removeEventListener("click",this.handleDocumentClick)}onTabChange(e){this.onTabChangeCallback=e}onBrandChange(e){this.onBrandChangeCallback=e}static getInstance(){return e.instance||(e.instance=new e(document.body)),e.instance}static open(n){return new Promise((t,a)=>{const l=e.getInstance(),i={...n,onBeforeConfirm:async e=>{(null==n?void 0:n.onBeforeConfirm)&&await n.onBeforeConfirm(e)},onConfirm:async e=>{if(null==n?void 0:n.onConfirm){const a=await n.onConfirm(e);return(null==a?void 0:a.success)&&t(e),a}t(e)},onBeforeCancel:async()=>{(null==n?void 0:n.onBeforeCancel)&&await n.onBeforeCancel()},onCancel:()=>{(null==n?void 0:n.onCancel)&&n.onCancel(),a(new Error("用户取消"))}};l._openModalCore(i)})}static close(){var n;null==(n=e.instance)||n.closeModal()}static setLoading(n){var t;null==(t=e.instance)||t.setConfirmLoading(n)}static isReady(){return null!==e.instance}static setLocale(n){b(n),e.instance&&e.instance.updateModal()}static getLocale(){return v.getLocale()}static destroyInstance(){e.instance&&(e.instance.destroy(),e.instance=null)}static install(){"undefined"!=typeof window&&(window.addEventListener("message",n=>{const{type:t,data:a}=n.data||{};"OPEN_IMPORT_DIALOG"===t?e.open(a).catch(()=>{}):"CLOSE_IMPORT_DIALOG"===t&&e.close()}),window.$importDialog=e)}};n(A,"instance",null);let E=A;const L=E;exports.DEFAULT_LOCALE=r,exports.ExportTypeEnum=i,exports.I18nLocaleEnum=o,exports.ImportDialog=E,exports.TemplateTypeEnum=l,exports.default=E,exports.getLocale=()=>v.getLocale(),exports.importDialogService=L,exports.installImportDialog=()=>E.install(),exports.setLocale=b,exports.t=x,exports.types=c;