@zjpcy/simple-design 1.1.0 → 1.1.2
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.
- package/README.md +0 -7
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/es/Anchor/index.js +1 -1
- package/dist/es/Breadcrumb/index.js +1 -0
- package/dist/es/Cascader/index.js +1 -0
- package/dist/es/Dropdown/index.js +1 -0
- package/dist/es/Icon/path.js +1 -1
- package/dist/es/Menu/index.js +1 -0
- package/dist/es/Modal/index.js +1 -1
- package/dist/es/Navigation/index.js +1 -0
- package/dist/es/Pagination/index.js +1 -0
- package/dist/es/Steps/index.js +1 -0
- package/dist/es/Table/index.js +1 -1
- package/dist/es/Tabs/index.js +1 -0
- package/dist/es/index.css +1 -1
- package/dist/es/index.js +1 -1
- package/dist/es/node_modules/i18next/dist/esm/i18next.js +1 -1
- package/dist/types/components/Breadcrumb/index.d.ts +5 -0
- package/dist/types/components/Breadcrumb/types.d.ts +9 -0
- package/dist/types/components/Cascader/index.d.ts +5 -0
- package/dist/types/components/Cascader/types.d.ts +35 -0
- package/dist/types/components/Dropdown/index.d.ts +5 -0
- package/dist/types/components/Dropdown/types.d.ts +25 -0
- package/dist/types/components/Hooks/useClickOutside.d.ts +4 -0
- package/dist/types/components/Menu/index.d.ts +4 -0
- package/dist/types/components/Menu/types.d.ts +18 -0
- package/dist/types/components/Modal/types.d.ts +1 -0
- package/dist/types/components/Navigation/index.d.ts +5 -0
- package/dist/types/components/Navigation/types.d.ts +43 -0
- package/dist/types/components/Pagination/index.d.ts +5 -0
- package/dist/types/components/Pagination/types.d.ts +29 -0
- package/dist/types/components/Steps/index.d.ts +5 -0
- package/dist/types/components/Steps/types.d.ts +31 -0
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Tabs/index.d.ts +5 -0
- package/dist/types/components/Tabs/types.d.ts +27 -0
- package/dist/types/components/index.d.ts +8 -0
- package/package.json +7 -2
package/dist/es/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.icon-container{align-items:center;background-color:transparent;border-radius:4px;display:inline-flex;justify-content:center;line-height:1;padding:4px;position:relative}.icon{fill:#339af0;cursor:pointer;display:inline-block;transition:fill .2s ease,transform .3s ease;vertical-align:middle}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon-container.align-left{justify-content:flex-start}.icon-container.align-center{justify-content:center}.icon-container.align-right{justify-content:flex-end}.idp-btn{align-items:center;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:400;justify-content:center;line-height:1.5;outline:none;text-align:center;text-decoration:none;transition:all .2s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.idp-btn--primary{background-color:var(--idp-button-primary-bg);border-color:var(--idp-button-primary-border);color:var(--idp-button-text-white)}.idp-btn--primary:hover:not(.idp-btn--disabled){background-color:var(--idp-button-primary-hover-bg);border-color:var(--idp-button-primary-hover-border)}.idp-btn--primary:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-primary-active-shadow);transform:translateY(1px)}.idp-btn--secondary{background-color:var(--idp-button-secondary-bg);border-color:var(--idp-button-secondary-border);color:var(--idp-button-text-dark)}.idp-btn--secondary:hover:not(.idp-btn--disabled){background-color:var(--idp-button-secondary-hover-bg);border-color:var(--idp-button-secondary-hover-border)}.idp-btn--secondary:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-secondary-active-shadow);transform:translateY(1px)}.idp-btn--danger{background-color:var(--idp-button-danger-bg);border-color:var(--idp-button-danger-border);color:var(--idp-button-text-white)}.idp-btn--danger:hover:not(.idp-btn--disabled){background-color:var(--idp-button-danger-hover-bg);border-color:var(--idp-button-danger-hover-border)}.idp-btn--danger:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-danger-active-shadow);transform:translateY(1px)}.idp-btn--success{background-color:var(--idp-button-success-bg);border-color:var(--idp-button-success-border);color:var(--idp-button-text-white)}.idp-btn--success:hover:not(.idp-btn--disabled){background-color:var(--idp-button-success-hover-bg);border-color:var(--idp-button-success-hover-border)}.idp-btn--success:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-success-active-shadow);transform:translateY(1px)}.idp-btn--warning{background-color:var(--idp-button-warning-bg);border-color:var(--idp-button-warning-border);color:var(--idp-button-text-dark)}.idp-btn--warning:hover:not(.idp-btn--disabled){background-color:var(--idp-button-warning-hover-bg);border-color:var(--idp-button-warning-hover-border)}.idp-btn--warning:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-warning-active-shadow);transform:translateY(1px)}.idp-btn--small{font-size:12px;height:24px;padding:0 8px}.idp-btn--medium{font-size:14px;height:32px;padding:0 12px}.idp-btn--large{font-size:16px;height:40px;padding:0 16px}.idp-btn--disabled{cursor:not-allowed;opacity:.65}.idp-color-picker{display:inline-block;position:relative;vertical-align:middle}.idp-color-picker--disabled{cursor:not-allowed;opacity:.6}.idp-color-picker-trigger{align-items:center;background-color:#1890ff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin:0;outline:none;padding:0;position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:32px}.idp-color-picker-trigger:hover{border-color:#40a9ff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.idp-color-picker-trigger:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.idp-color-picker-trigger:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.idp-color-picker-text{color:#666;font-size:12px;margin-left:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idp-color-picker-popup{left:0;margin-top:8px;position:absolute;top:100%;z-index:1050}.idp-color-picker-content{background:#fff;border-radius:8px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:5px;padding:16px}.idp-color-picker-input-group{display:flex;flex-direction:column;gap:6px;margin-top:4px}.idp-color-picker-input-label{color:#666;font-size:12px;font-weight:500}.idp-color-picker-input{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;color:#333;font-size:14px;height:32px;line-height:1.5;outline:none;padding:0 8px;transition:all .2s ease;width:100%}.idp-color-picker-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.idp-color-picker-input:hover{border-color:#40a9ff}.idp-color-picker-presets-label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.idp-color-picker-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.idp-color-picker-preset{border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;cursor:pointer;height:24px;transition:all .2s ease;width:24px}.idp-color-picker-preset:hover{border-color:#40a9ff;transform:scale(1.1)}.idp-color-picker-trigger-container{cursor:pointer}.idp-color-picker-default-trigger{cursor:pointer;height:32px;width:32px}.idp-color-picker-actions{align-items:center;display:flex;gap:8px;margin-top:8px}.idp-color-picker-preview-label{color:#666;font-size:14px;font-weight:500}.idp-color-picker-preview{border:1px solid #d9d9d9;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.idp-color-picker-gradient-preview,.idp-color-picker-solid-preview{flex:1;height:24px}.idp-color-picker-button-group{display:flex;gap:8px;margin-left:auto}.react-colorful{height:180px;width:208px}.react-colorful__saturation{border-radius:6px 6px 0 0;height:140px}.react-colorful__hue{border-radius:0 0 6px 6px;height:12px;margin-top:8px}.react-colorful__alpha{border-radius:6px;height:12px;margin-top:8px}.react-colorful__pointer{border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.3);height:14px;width:14px}.react-colorful__alpha-pointer,.react-colorful__hue-pointer{border:1px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.3);height:16px;width:14px}.idp-color-picker-mode-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.idp-color-picker-gradient{display:flex;gap:16px}.idp-color-picker-gradient-item{display:flex;flex-direction:column;gap:8px}.idp-color-picker-gradient-label{color:#666;font-size:12px;font-weight:500;margin-bottom:4px}.idp-color-picker-gradient-direction{display:flex;flex-direction:column;gap:8px;margin-top:8px}.idp-color-picker-gradient-direction-label{color:#666;font-size:12px;font-weight:500}.idp-color-picker-gradient-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f0f0f0;border-radius:2px;height:4px;outline:none;width:100%}.idp-color-picker-gradient-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1890ff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.3);cursor:pointer;height:16px;-webkit-transition:all .2s ease;transition:all .2s ease;width:16px}.idp-color-picker-gradient-range::-moz-range-thumb{background:#1890ff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.3);cursor:pointer;height:16px;-moz-transition:all .2s ease;transition:all .2s ease;width:16px}.idp-color-picker-gradient-range::-webkit-slider-thumb:hover{background:#40a9ff;transform:scale(1.1)}.idp-color-picker-gradient-range::-moz-range-thumb:hover{background:#40a9ff;transform:scale(1.1)}.idp-color-picker-type{color:#666;flex:1;font-size:12px;font-weight:500;text-align:center}.idp-copy-to-clipboard{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-copy-to-clipboard:hover{opacity:.8}.idp-copy-to-clipboard:active{transform:translateY(1px)}.idp-copy-to-clipboard-text{color:#1890ff;font-size:14px}.idp-copy-to-clipboard-text:hover{text-decoration:underline}.divider{background-color:#339af0;margin:0;padding:0;width:auto}.divider-horizontal{height:1px;width:auto}.divider-vertical{background-color:transparent;border-left:1px solid #339af0;height:100%;width:0}.divider-dashed.divider-horizontal{background:repeating-linear-gradient(90deg,currentColor,currentColor 4px,transparent 0,transparent 8px)}.divider-dashed.divider-vertical{background-color:transparent;border-left:1px dashed}.idp-empty{flex-direction:column;padding:48px 24px;text-align:center}.idp-empty,.idp-empty__icon-wrapper{align-items:center;display:flex;justify-content:center}.idp-empty__icon-wrapper{margin-bottom:16px}.idp-empty__icon{color:#d9d9d9;font-size:48px}.idp-empty__image{height:auto;max-width:100%}.idp-empty__description{color:#8c8c8c;font-size:14px;line-height:1.5}.idp-empty__actions{margin-top:24px}.idp-empty--large{padding:64px 32px}.idp-empty--large .idp-empty__icon-wrapper{margin-bottom:24px}.idp-empty--large .idp-empty__description{font-size:16px}.idp-empty--small{padding:32px 16px}.idp-empty--small .idp-empty__icon-wrapper{margin-bottom:12px}.idp-empty--small .idp-empty__description{font-size:12px}.flex{display:flex}.flex,.flex>*{box-sizing:border-box}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-column{flex-direction:column}.flex-column-reverse{flex-direction:column-reverse}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify-center{justify-content:center}.flex-justify-between{justify-content:space-between}.flex-justify-around{justify-content:space-around}.flex-justify-evenly{justify-content:space-evenly}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-baseline{align-items:baseline}.flex-align-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.input-wrapper{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;display:inline-flex;font-family:inherit;font-size:14px;outline:none;position:relative;transition:all .3s ease}.input-wrapper:hover{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.input-inner{background-color:transparent;border:none;box-sizing:border-box;flex:1;font-family:inherit;font-size:14px;outline:none;padding:8px}.input-inner::placeholder{color:#bfbfbf;opacity:1}.input-inner::-webkit-input-placeholder{color:#bfbfbf}.input-inner::-moz-placeholder{color:#bfbfbf;opacity:1}.input-inner:-ms-input-placeholder{color:#bfbfbf}.input-prefix{align-items:center;color:#909399;display:flex;justify-content:center;margin:0 0 0 6px}.input-prefix .icon-container{padding:0}.input-suffix-group{align-items:center;display:flex;margin:0 4px}.input-suffix-clear{align-items:center;color:#1890ff;cursor:pointer;display:flex;justify-content:center;margin-right:4px;opacity:0;overflow:hidden;transform:scale(.8);transition:all .3s ease;visibility:hidden}.input-suffix-clear.visible{opacity:1;transform:scale(1);visibility:visible}.input-suffix-clear .icon-container{padding:0}.input-suffix-clear .icon{fill:#1890ff}.input-suffix-content{align-items:center;color:#909399;cursor:pointer;display:flex;justify-content:center}.input-suffix-content .icon-container{padding:0}.input-suffix{align-items:center;color:#909399;cursor:pointer;display:flex;justify-content:center;margin:0 8px}.input-suffix .icon-container{padding:0}.number-input-wrapper{display:flex;flex-direction:column;width:100%}.input-error{border-color:#f5222d!important}.input-error:focus-within,.input-error:hover{border-color:#f5222d!important;box-shadow:0 0 0 2px rgba(245,34,45,.2)!important}.input-error-message{border-radius:4px;box-shadow:0 2px 8px rgba(245,34,45,.1);clear:left;color:#f5222d;float:left;font-size:12px;line-height:1.5;max-height:50px;opacity:0;overflow:hidden;padding:4px 8px;position:relative;text-align:left;transform:scaleX(0);transform-origin:left center;transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),max-height .5s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1);visibility:hidden;white-space:nowrap;width:0;z-index:10}.input-error-message.visible{max-height:50px;opacity:1;transform:scaleX(1);transition-timing-function:cubic-bezier(.16,1,.3,1);visibility:visible;width:auto}.input-error-message:not(.visible){max-height:50px;opacity:0;transform:scaleX(0);transition-timing-function:cubic-bezier(.55,0,.1,1);visibility:hidden;width:0}.input-wrapper.input-disabled{background-color:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf;cursor:not-allowed}.input-wrapper.input-disabled:hover{border-color:#d9d9d9;box-shadow:none}.input-wrapper.input-disabled .input-inner{background-color:transparent;color:#bfbfbf;cursor:not-allowed}.input-wrapper.input-readonly{background-color:#f5f5f5;border-color:#d9d9d9;cursor:default}.input-wrapper.input-readonly:hover{border-color:#d9d9d9;box-shadow:none}.input-wrapper.input-readonly .input-inner{background-color:transparent;cursor:default}.input-wrapper:focus-within{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.input{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;display:inline-block;font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:all .3s ease}.input:focus,.input:hover{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.search-input-wrapper{display:inline-block;position:relative}.search-input-suffix{align-items:center;display:flex;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.search-input-suffix svg{pointer-events:all}.marquee-container{align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}.marquee-container-fixed{left:0;position:fixed;right:0;top:0;z-index:99999}.marquee-text{color:#333;font-size:14px;height:100%;left:0;padding:0 10px}.marquee-close,.marquee-text{align-items:center;display:flex;position:absolute;top:0}.marquee-close{cursor:pointer;justify-content:center;right:0;z-index:10}.idp-message{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;height:30px;justify-content:center;left:50%;max-width:800px;min-width:100px;opacity:0;pointer-events:auto;position:fixed;top:20px;transform:translateX(-50%) translateY(-100%);transition:all .3s cubic-bezier(.4,0,.2,1);width:auto;z-index:1050}.idp-message--show{opacity:1;transform:translateX(-50%) translateY(0)}.idp-message-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:center;padding:0 20px}.idp-message-text{color:#333;flex:1;font-size:13px;line-height:1.5;text-align:left}.idp-message--success{background-color:#fff;border:1px solid #b7eb8f}.idp-message--success .idp-message-text{color:#52c41a}.idp-message--warning{background-color:#fff;border:1px solid #ffe58f}.idp-message--warning .idp-message-text{color:#faad14}.idp-message--error{background-color:#fff;border:1px solid #ffccc7}.idp-message--error .idp-message-text{color:#f5222d}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-100%)}}.idp-message--show{animation:slideDown .3s cubic-bezier(.4,0,.2,1) forwards}.idp-message:not(.idp-message--show){animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}@import "../variables.css";.idp-modal-overlay{align-items:center;background-color:var(--idp-modal-mask-bg);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity var(--idp-transition-duration) var(--idp-transition-timing-function),visibility var(--idp-transition-duration) var(--idp-transition-timing-function);visibility:hidden;width:100%;z-index:var(--idp-z-index-modal)}.idp-modal-overlay--visible{opacity:1;visibility:visible}.idp-modal-overlay--closing{opacity:0;visibility:hidden}.idp-modal-container{background-color:var(--idp-modal-container-bg);border-radius:var(--idp-border-radius-lg);box-shadow:var(--idp-shadow-md);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:relative;transform-origin:center center}.idp-modal-overlay--custom-top{align-items:flex-start;justify-content:center}.idp-modal-container--center{animation:centerAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes centerAnimateIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.idp-modal-container--normal{animation:normalAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes normalAnimateIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.idp-modal-container--top-right{animation:topRightAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes topRightAnimateIn{0%{opacity:0;transform:translate(100%,-100%) scale(.5)}to{opacity:1;transform:translate(0) scale(1)}}.idp-modal-container--bottom-right{animation:bottomRightAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes bottomRightAnimateIn{0%{opacity:0;transform:translate(100%,100%) scale(.5)}to{opacity:1;transform:translate(0) scale(1)}}.idp-modal-container--closing-center{animation:centerAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes centerAnimateOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.idp-modal-container--closing-normal{animation:normalAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes normalAnimateOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.idp-modal-container--closing-top-right{animation:topRightAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes topRightAnimateOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,-100%) scale(.5)}}.idp-modal-container--closing-bottom-right{animation:bottomRightAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes bottomRightAnimateOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(.5)}}.idp-modal-header{background-color:var(--idp-modal-header-bg);border-bottom:1px solid var(--idp-border-color);flex-shrink:0;justify-content:space-between;padding:0 10px 0 20px}.idp-modal-header,.idp-modal-header__left,.idp-modal-header__right{align-items:center;display:flex}.idp-modal-header__right{margin-right:0}.idp-modal-header__title{color:var(--idp-text-color);font-size:16px;font-weight:500}.idp-modal-content{flex:1;min-height:0;overflow-y:auto;padding:20px}.idp-modal-footer{background-color:var(--idp-modal-footer-bg);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:0 20px;position:absolute;right:0}.idp-modal-footer__divider{background-color:var(--idp-border-color);height:1px;margin-bottom:12px}.idp-modal-footer__actions{display:flex;gap:12px;justify-content:flex-end;padding-bottom:12px}.idp-modal-footer__custom{align-items:center;flex-flow:nowrap;justify-content:center}.idp-notice{background:linear-gradient(90deg,#1a2980,#26d0ce);border-radius:0;box-shadow:0 3px 10px rgba(0,0,0,.2);box-sizing:border-box;color:#fff;display:flex;margin:0;overflow:hidden;padding:0;position:relative;width:100%}.idp-notice-close{align-items:center;background:linear-gradient(90deg,#26d0ce,#1a2980);cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;width:45px;z-index:9999}.idp-notice-close:hover{transform:scale(1.05)}.idp-notice-floating{box-sizing:border-box;left:0;position:fixed;right:0;top:0;width:100%!important;z-index:99999}.notification{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#333;max-width:400px;min-width:200px;padding:15px 20px;position:fixed;z-index:2000}.notification-top-left{animation:slideInTopLeft .3s ease;left:20px;top:20px}.notification-top-center{animation:slideInTopCenter .3s ease;left:50%;top:20px;transform:translateX(-50%)}.notification-top-right{animation:slideInTopRight .3s ease;right:20px;top:20px}.notification-center{animation:fadeInCenter .3s ease;left:50%;top:50%;transform:translate(-50%,-50%)}.notification-bottom-left{animation:slideInBottomLeft .3s ease;bottom:20px;left:20px}.notification-bottom-center{animation:slideInBottomCenter .3s ease;bottom:20px;left:50%;transform:translateX(-50%)}.notification-bottom-right{animation:slideInBottomRight .3s ease;bottom:20px;right:20px}.notification-info{background:rgba(26,41,128,.95);color:#fff}.notification-success{background:rgba(40,167,69,.95);color:#fff}.notification-warning{background:rgba(255,193,7,.95);color:#212529}.notification-error{background:rgba(220,53,69,.95);color:#fff}.notification-content{align-items:center;display:flex;gap:10px;justify-content:flex-start;width:100%}.notification-content i{flex-shrink:0;font-size:1.2rem}.notification-content span{flex:1;line-height:1.4;text-align:center}.notification-error .notification-content span,.notification-info .notification-content span,.notification-success .notification-content span{color:#fff}.notification-warning .notification-content span{color:#212529}.fade-out{animation:fadeOut .5s ease forwards}@keyframes slideInTopLeft{0%{opacity:0;transform:translateY(-20px) translateX(-20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes slideInTopCenter{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideInTopRight{0%{opacity:0;transform:translateY(-20px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes fadeInCenter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes slideInBottomLeft{0%{opacity:0;transform:translateY(20px) translateX(-20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes slideInBottomCenter{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideInBottomRight{0%{opacity:0;transform:translateY(20px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.idp-radio{align-items:center;cursor:pointer;display:inline-flex;margin-bottom:8px;margin-right:16px;position:relative;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-radio-group--button .idp-radio{border:1px solid var(--idp-border-color-extra-light);border-radius:var(--idp-border-radius-sm);height:auto;margin-right:0;min-width:60px;padding:4px 16px;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);width:auto}.idp-radio-group:not(.idp-radio-group--button) .idp-radio{height:auto;width:auto}.idp-radio-group--button .idp-radio{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;margin-bottom:0;margin-right:-1px}.idp-radio-group--button .idp-radio:first-child{border-bottom-left-radius:var(--idp-border-radius-sm);border-top-left-radius:var(--idp-border-radius-sm)}.idp-radio-group--button .idp-radio:last-child{border-bottom-right-radius:var(--idp-border-radius-sm);border-top-right-radius:var(--idp-border-radius-sm);margin-right:0}.idp-radio-group--button .idp-radio--checked{background-color:var(--idp-primary-color);border-color:var(--idp-primary-color);color:var(--idp-bg-color-white)}.idp-radio-group--button .idp-radio--checked .idp-radio__inner{background-color:var(--idp-bg-color-white);border-color:var(--idp-bg-color-white)}.idp-radio-group--button .idp-radio__label{color:inherit;margin:0}.idp-radio-group--button .idp-radio:not(.idp-radio--disabled):hover{border-color:var(--idp-primary-hover-color)}.idp-radio-group--button .idp-radio--checked:not(.idp-radio--disabled):hover{background-color:var(--idp-primary-hover-color);border-color:var(--idp-primary-hover-color)}.idp-radio-group--button .idp-radio--disabled{background-color:var(--idp-bg-color-light);border-color:var(--idp-border-color-light);color:var(--idp-text-color-light)}.idp-radio-group--large .idp-radio{height:40px}.idp-radio-group--large .idp-radio__inner{height:20px;width:20px}.idp-radio-group--large .idp-radio--checked .idp-radio__inner:after{height:8px;width:8px}.idp-radio-group--large .idp-radio__label{font-size:16px}.idp-radio-group--button.idp-radio-group--large .idp-radio{font-size:16px;height:40px;padding:8px 20px}.idp-radio-group--small .idp-radio{height:24px}.idp-radio-group--small .idp-radio__inner{height:14px;width:14px}.idp-radio-group--small .idp-radio--checked .idp-radio__inner:after{height:5px;width:5px}.idp-radio-group--small .idp-radio__label{font-size:12px}.idp-radio-group--button.idp-radio-group--small .idp-radio{font-size:12px;height:24px;padding:2px 12px}.idp-radio-group--middle .idp-radio{height:32px}.idp-radio-group--middle .idp-radio__inner{height:16px;width:16px}.idp-radio-group--middle .idp-radio--checked .idp-radio__inner:after{height:6px;width:6px}.idp-radio-group--middle .idp-radio__label{font-size:14px}.idp-radio-group--button.idp-radio-group--middle .idp-radio{font-size:14px;height:32px;padding:4px 16px}.idp-radio__input{height:0;opacity:0;position:absolute;width:0}.idp-radio__inner{background-color:var(--idp-bg-color-white);border:2px solid var(--idp-border-color-extra-light);border-radius:50%;display:inline-block;height:16px;margin-right:8px;position:relative;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);width:16px}.idp-radio--checked .idp-radio__inner{background-color:var(--idp-primary-color);border-color:var(--idp-primary-color)}.idp-radio--checked .idp-radio__inner:after{animation:idp-radio-checked .2s ease-in-out;background-color:var(--idp-bg-color-white);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}@keyframes idp-radio-checked{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.idp-radio__label{color:var(--idp-text-color);font-size:14px;line-height:1.5;transition:color var(--idp-transition-duration) var(--idp-transition-timing-function)}.idp-radio--disabled{cursor:not-allowed}.idp-radio--disabled .idp-radio__inner{background-color:var(--idp-bg-color-light);border-color:var(--idp-border-color-light)}.idp-radio--disabled .idp-radio__label{color:var(--idp-text-color-light)}.idp-radio--disabled.idp-radio--checked .idp-radio__inner{background-color:var(--idp-border-color-light);border-color:var(--idp-border-color-light)}.idp-radio--disabled.idp-radio--checked .idp-radio__inner:after{background-color:var(--idp-text-color-light)}.idp-radio:not(.idp-radio--disabled):hover .idp-radio__inner{border-color:var(--idp-primary-hover-color)}.idp-radio-group{display:inline-block}.idp-radio-group--vertical .idp-radio{display:block;margin-right:0}.idp-radio-group--horizontal .idp-radio{display:inline-block;margin-right:16px}.idp-select{box-sizing:border-box;display:inline-block;font-size:14px;line-height:1.5;position:relative;width:100%}.idp-select__trigger{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05);box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:0 6px 0 12px;transition:all .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-select__trigger:hover{border-color:#40a9ff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.idp-select--open .idp-select__trigger{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#40a9ff;border-bottom:1px solid transparent;box-shadow:0 2px 8px rgba(64,169,255,.2)}.idp-select__value{color:#000000d9;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idp-select__value--placeholder{color:#00000040}.idp-select__arrow{align-items:center;color:#8c8c8c;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:8px;transition:transform .3s;width:20px}.idp-select--open .idp-select__arrow{transform:rotate(180deg)}.idp-select-dropdown{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);box-sizing:border-box;left:0;margin-top:4px;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:100%;transform:translateY(-8px) scale(.95);transform-origin:top center;transition:opacity .35s cubic-bezier(.23,1,.32,1),max-height .4s cubic-bezier(.23,1,.32,1),visibility .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s cubic-bezier(.23,1,.32,1);visibility:hidden;z-index:1050}.idp-select--open .idp-select-dropdown{box-shadow:0 6px 16px rgba(0,0,0,.15);max-height:300px;opacity:1;transform:translateY(0) scale(1);visibility:visible}.idp-select-dropdown__content{max-height:200px;overflow-x:hidden;overflow-y:auto}.idp-select-option{align-items:center;animation:optionFadeIn .3s ease-out forwards;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;opacity:0;overflow:hidden;padding:8px;position:relative;text-overflow:ellipsis;transform:translateY(8px);transition:background-color .2s ease,color .2s ease;white-space:nowrap}@keyframes optionFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.idp-select-option:first-child{animation-delay:.05s}.idp-select-option:nth-child(2){animation-delay:.1s}.idp-select-option:nth-child(3){animation-delay:.15s}.idp-select-option:nth-child(4){animation-delay:.2s}.idp-select-option:nth-child(5){animation-delay:.25s}.idp-select-option:nth-child(n+6){animation-delay:.3s}.idp-select-option:hover{background-color:#f0f7ff}.idp-select-option--selected{background-color:#e6f7ff;color:#1890ff;font-weight:500}.idp-select-option .icon-container{flex-shrink:0;margin-left:8px;padding:0}.idp-select-option--disabled{color:#00000040;cursor:not-allowed}.idp-select-option--disabled:hover{background-color:transparent}.idp-select-optgroup{padding:0}.idp-select-optgroup__label{animation:optionFadeIn .3s ease-out forwards;animation-delay:.05s;background-color:#fafafa;border-bottom:1px solid #f0f0f0;color:#00000073;font-size:13px;font-weight:600;letter-spacing:.5px;opacity:0;padding:12px 16px 8px;text-transform:uppercase;transform:translateY(8px)}.idp-select-optgroup__content{padding:4px 0}.idp-select-optgroup .idp-select-option{padding-left:32px}.idp-select-dropdown__content::-webkit-scrollbar{width:8px}.idp-select-dropdown__content::-webkit-scrollbar-track{border-radius:4px}.idp-select-dropdown__content::-webkit-scrollbar-thumb{border-radius:4px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.idp-select--large .idp-select__trigger{font-size:16px;height:40px;padding:0 6px 0 12px}.idp-select--middle .idp-select__trigger{font-size:14px;height:32px}.idp-select--small .idp-select__trigger{font-size:12px;height:24px;padding:0 8px}.idp-select--disabled .idp-select__trigger{background-color:#f5f5f5;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.idp-select--disabled .idp-select__trigger:hover{border-color:#d9d9d9}.idp-select--disabled .idp-select__arrow{color:#00000040}.idp-select-dropdown__content::-webkit-scrollbar{width:6px}.idp-select-dropdown__content::-webkit-scrollbar-track{background-color:#f5f5f5}.idp-select-dropdown__content::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.idp-select-dropdown__content::-webkit-scrollbar-thumb:hover{background-color:#999}.idp-select-option__icon{padding:0}.custom-table-container{background:#fff;color:rgba(0,0,0,.88);font-size:14px}.custom-table-container.bordered{border:1px solid #d9d9d9;border-radius:6px}.custom-table-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;overflow-x:hidden;overflow-y:hidden}.custom-table-header-inner{overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;will-change:scroll-position}.custom-table-header-inner::-webkit-scrollbar{height:0;width:0}.custom-table-header-inner{-ms-overflow-style:none;scrollbar-width:none}.custom-table-body{overflow-x:auto;scroll-behavior:auto;will-change:scroll-position}.custom-table{border-collapse:collapse;table-layout:fixed;width:100%}.custom-table.bordered td,.custom-table.bordered th{border:1px solid #d9d9d9}.custom-table thead{background-color:#fafafa}.custom-table th{font-weight:600;text-align:left}.custom-table td,.custom-table th{border-bottom:1px solid #f0f0f0;overflow-wrap:break-word;padding:12px 8px}.custom-table tbody tr:hover{background-color:#fafafa}.custom-table-empty{border-top:1px solid #f0f0f0;color:rgba(0,0,0,.25);padding:16px;text-align:center}.custom-table td[style*=sticky],.custom-table th[style*=sticky]{box-shadow:1px 0 0 0 #f0f0f0}.custom-table td[style*="right: 0"],.custom-table th[style*="right: 0"]{box-shadow:-1px 0 0 0 #f0f0f0}.custom-table td[style*="position: sticky"][style*=right],.custom-table th[style*="position: sticky"][style*=right]{position:sticky!important;z-index:5!important}.custom-table thead td[style*="position: sticky"],.custom-table thead th[style*="position: sticky"]{top:0;z-index:10!important}.custom-table-pagination{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:12px 16px}.custom-table-pagination-total{color:rgba(0,0,0,.65);font-size:14px;margin-right:8px}.custom-table-pagination-btn{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;font-size:14px;padding:4px 12px;transition:all .2s}.custom-table-pagination-btn:hover:not(:disabled){border-color:#1a2980;color:#1a2980}.custom-table-pagination-btn:disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.custom-table-pagination-page{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;height:32px;line-height:32px;min-width:32px;text-align:center;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-table-pagination-page:hover{border-color:#1a2980;color:#1a2980}.custom-table-pagination-page.active{background:#1a2980;border-color:#1a2980;color:#fff}.custom-table-pagination-page.ellipsis{border:none;cursor:default}.custom-table-pagination-page.ellipsis:hover{border-color:#d9d9d9;color:rgba(0,0,0,.65)}.custom-table-pagination-select{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;font-size:14px;outline:none;padding:4px 8px}.custom-table-pagination-select:focus{border-color:#1a2980}.top-button-wrapper{z-index:1000}.top-button-wrapper-container{clear:both;float:right}.top-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;transition:all .3s ease}.top-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.top-button:active{transform:translateY(0)}.idp-typography{word-wrap:break-word;color:rgba(0,0,0,.88);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-break:loose;line-height:1.5;margin:0;overflow:hidden;overflow-wrap:break-word;padding:0;white-space:normal;word-break:break-all}.idp-typography--line-clamp-1{-webkit-line-clamp:1}.idp-typography--line-clamp-1,.idp-typography--line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-2{-webkit-line-clamp:2}.idp-typography--line-clamp-3{-webkit-line-clamp:3}.idp-typography--line-clamp-3,.idp-typography--line-clamp-4{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-4{-webkit-line-clamp:4}.idp-typography--line-clamp-5{-webkit-line-clamp:5}.idp-typography--line-clamp-5,.idp-typography--line-clamp-6{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-6{-webkit-line-clamp:6}.idp-typography--line-clamp-7{-webkit-line-clamp:7}.idp-typography--line-clamp-7,.idp-typography--line-clamp-8{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-8{-webkit-line-clamp:8}.idp-typography--line-clamp-9{-webkit-line-clamp:9}.idp-typography--line-clamp-10,.idp-typography--line-clamp-9{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-10{-webkit-line-clamp:10}.idp-masonry{width:100%}.idp-masonry,.idp-masonry-column,.idp-masonry-item{box-sizing:border-box}.idp-masonry-item{transition:all .3s ease}@media (max-width:768px){.idp-masonry{flex-direction:column}.idp-masonry-column{margin-bottom:20px}}.idp-masonry-item{background-color:#f5f5f5;border-radius:8px;overflow:hidden}.idp-masonry-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.space{box-sizing:border-box}.space-inline,.space-item{display:inline-flex}.space-item{align-items:center;box-sizing:border-box}.space-item>*{box-sizing:border-box;display:inline-block}.idp-anchor{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:16px;position:relative}.idp-anchor-affix{left:16px;position:fixed;top:16px;z-index:100}.idp-anchor-list{list-style:none;margin:0;padding:0}.idp-anchor-link{margin:8px 0;padding:4px 0}.idp-anchor-link-a{border-radius:4px;color:#666;display:block;font-size:14px;line-height:1.5;padding:6px 12px;text-decoration:none;transition:all .3s ease}.idp-anchor-link-a:hover{background-color:#e6f7ff;color:#1890ff}.idp-anchor-link-active .idp-anchor-link-a{background-color:#e6f7ff;border-left:3px solid #1890ff;color:#1890ff;font-weight:500}@media (max-width:768px){.idp-anchor-affix{margin-bottom:24px;position:static}.idp-anchor{padding:12px}.idp-anchor-link-a{padding:8px 12px}}
|
|
1
|
+
.icon-container{align-items:center;background-color:transparent;border-radius:4px;display:inline-flex;justify-content:center;line-height:1;position:relative}.icon{fill:#339af0;cursor:pointer;display:inline-block;transition:fill .2s ease,transform .3s ease;vertical-align:middle}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon-container.align-left{justify-content:flex-start}.icon-container.align-center{justify-content:center}.icon-container.align-right{justify-content:flex-end}.idp-btn{align-items:center;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:400;justify-content:center;line-height:1.5;outline:none;text-align:center;text-decoration:none;transition:all .2s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.idp-btn--primary{background-color:var(--idp-button-primary-bg);border-color:var(--idp-button-primary-border);color:var(--idp-button-text-white)}.idp-btn--primary:hover:not(.idp-btn--disabled){background-color:var(--idp-button-primary-hover-bg);border-color:var(--idp-button-primary-hover-border)}.idp-btn--primary:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-primary-active-shadow);transform:translateY(1px)}.idp-btn--secondary{background-color:var(--idp-button-secondary-bg);border-color:var(--idp-button-secondary-border);color:var(--idp-button-text-dark)}.idp-btn--secondary:hover:not(.idp-btn--disabled){background-color:var(--idp-button-secondary-hover-bg);border-color:var(--idp-button-secondary-hover-border)}.idp-btn--secondary:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-secondary-active-shadow);transform:translateY(1px)}.idp-btn--danger{background-color:var(--idp-button-danger-bg);border-color:var(--idp-button-danger-border);color:var(--idp-button-text-white)}.idp-btn--danger:hover:not(.idp-btn--disabled){background-color:var(--idp-button-danger-hover-bg);border-color:var(--idp-button-danger-hover-border)}.idp-btn--danger:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-danger-active-shadow);transform:translateY(1px)}.idp-btn--success{background-color:var(--idp-button-success-bg);border-color:var(--idp-button-success-border);color:var(--idp-button-text-white)}.idp-btn--success:hover:not(.idp-btn--disabled){background-color:var(--idp-button-success-hover-bg);border-color:var(--idp-button-success-hover-border)}.idp-btn--success:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-success-active-shadow);transform:translateY(1px)}.idp-btn--warning{background-color:var(--idp-button-warning-bg);border-color:var(--idp-button-warning-border);color:var(--idp-button-text-dark)}.idp-btn--warning:hover:not(.idp-btn--disabled){background-color:var(--idp-button-warning-hover-bg);border-color:var(--idp-button-warning-hover-border)}.idp-btn--warning:active:not(.idp-btn--disabled){box-shadow:var(--idp-button-warning-active-shadow);transform:translateY(1px)}.idp-btn--small{font-size:12px;height:24px;padding:0 8px}.idp-btn--medium{font-size:14px;height:32px;padding:0 12px}.idp-btn--large{font-size:16px;height:40px;padding:0 16px}.idp-btn--disabled{cursor:not-allowed;opacity:.65}.idp-empty{flex-direction:column;padding:48px 24px;text-align:center}.idp-empty,.idp-empty__icon-wrapper{align-items:center;display:flex;justify-content:center}.idp-empty__icon-wrapper{margin-bottom:16px}.idp-empty__icon{color:#d9d9d9;font-size:48px}.idp-empty__image{height:auto;max-width:100%}.idp-empty__description{color:#8c8c8c;font-size:14px;line-height:1.5}.idp-empty__actions{margin-top:24px}.idp-empty--large{padding:64px 32px}.idp-empty--large .idp-empty__icon-wrapper{margin-bottom:24px}.idp-empty--large .idp-empty__description{font-size:16px}.idp-empty--small{padding:32px 16px}.idp-empty--small .idp-empty__icon-wrapper{margin-bottom:12px}.idp-empty--small .idp-empty__description{font-size:12px}.cascader{box-sizing:border-box;color:rgba(0,0,0,.88);display:inline-block;font-size:14px;line-height:1.5715;min-width:180px;position:relative}.cascader-trigger{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;display:flex;min-height:32px;padding:4px 11px;position:relative;transition:all .2s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cascader:hover:not(.cascader-disabled) .cascader-trigger{border-color:#4096ff}.cascader.cascader-open .cascader-trigger{border-color:#4096ff;box-shadow:0 0 0 2px rgba(5,145,255,.1)}.cascader.cascader-disabled .cascader-trigger{background-color:rgba(0,0,0,.04);color:rgba(0,0,0,.25);cursor:not-allowed}.cascader-selection-placeholder{color:rgba(0,0,0,.25);overflow:hidden;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.cascader-selection-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cascader-selection-hidden{display:none}.cascader-arrow{align-items:center;color:rgba(0,0,0,.25);display:flex;flex-shrink:0;justify-content:center;margin-left:5px;position:absolute;right:10px;transition:transform .2s;width:5px}.cascader-open .cascader-arrow{transform:rotate(180deg)}.cascader-clear{align-items:center;background:#fff;color:rgba(0,0,0,.25);cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:18px;top:50%;transform:translateY(-50%);transition:color .2s;width:18px}.cascader-clear:hover{color:rgba(0,0,0,.45)}.cascader-dropdown{background-color:transparent;left:0;margin-top:4px;min-width:180px;position:absolute;top:100%;z-index:1050}.cascader-dropdown-bottomRight{left:auto;right:0}.cascader-dropdown-topLeft,.cascader-dropdown-topRight{bottom:100%;margin-bottom:4px;margin-top:0;top:auto}.cascader-dropdown-topRight{left:auto;right:0}.cascader-menus{align-items:flex-start;display:flex;gap:2px}.cascader-menu{background-color:#fff;border:1px solid #f0f0f0;border-left:none;border-radius:0 8px 8px 0;box-shadow:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);flex:0 0 auto;list-style:none;margin:0 0 0 -1px;min-width:180px;overflow-x:hidden;overflow-y:auto;padding:4px 0;position:relative}.cascader-menu:first-child{border:1px solid #f0f0f0;border-radius:8px 0 0 8px;margin-left:0}.cascader-menu-empty{align-items:center;display:flex;justify-content:center;padding:20px 0;text-align:center}.cascader-menu-empty .idp-empty{padding:0}.cascader-menu-empty .idp-empty__icon-wrapper{margin-bottom:8px}.cascader-menu-empty .idp-empty__description{color:rgba(0,0,0,.45);font-size:14px}.cascader-menu::-webkit-scrollbar{width:6px}.cascader-menu::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.cascader-menu::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.cascader-menu-item{align-items:center;color:rgba(0,0,0,.88);cursor:pointer;display:flex;font-size:14px;line-height:22px;padding:5px 12px;position:relative;transition:all .2s}.cascader-menu-checkbox .cascader-menu-item{padding-left:32px}.cascader-menu-item-checkbox{align-items:center;display:flex;flex-shrink:0;justify-content:center;left:8px;position:absolute}.cascader-menu-item-checkbox input[type=checkbox]{cursor:pointer;height:16px;margin:0;width:16px}.cascader-menu-item:hover{background-color:#deaff21c;color:#1677ff}.cascader-menu-item-active,.cascader-menu-item-selected.cascader-menu-item-active{background-color:#e6f4ff;color:#1677ff}.cascader-menu-item-selected .cascader-menu-item-expand-icon{color:#fff}.cascader-menu-item-disabled{color:rgba(0,0,0,.25)!important;cursor:not-allowed}.cascader-menu-item-disabled:hover{background-color:transparent;color:rgba(0,0,0,.25)!important}.cascader-menu-item-content{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cascader-menu-item-expand-icon{align-items:center;display:flex;flex-shrink:0;margin-left:8px}.cascader-large .cascader-trigger{font-size:16px;min-height:40px;padding:6.5px 11px}.cascader-small .cascader-trigger{font-size:14px;min-height:24px;padding:0 7px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cascader-dropdown{animation:fadeIn .15s cubic-bezier(.23,1,.32,1)}.idp-color-picker{display:inline-block;position:relative;vertical-align:middle}.idp-color-picker--disabled{cursor:not-allowed;opacity:.6}.idp-color-picker-trigger{align-items:center;background-color:#1890ff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin:0;outline:none;padding:0;position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:32px}.idp-color-picker-trigger:hover{border-color:#40a9ff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.idp-color-picker-trigger:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.idp-color-picker-trigger:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.idp-color-picker-text{color:#666;font-size:12px;margin-left:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idp-color-picker-popup{left:0;margin-top:8px;position:absolute;top:100%;z-index:1050}.idp-color-picker-content{background:#fff;border-radius:8px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:5px;padding:16px}.idp-color-picker-input-group{display:flex;flex-direction:column;gap:6px;margin-top:4px}.idp-color-picker-input-label{color:#666;font-size:12px;font-weight:500}.idp-color-picker-input{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;color:#333;font-size:14px;height:32px;line-height:1.5;outline:none;padding:0 8px;transition:all .2s ease;width:100%}.idp-color-picker-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.idp-color-picker-input:hover{border-color:#40a9ff}.idp-color-picker-presets-label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.idp-color-picker-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.idp-color-picker-preset{border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;cursor:pointer;height:24px;transition:all .2s ease;width:24px}.idp-color-picker-preset:hover{border-color:#40a9ff;transform:scale(1.1)}.idp-color-picker-trigger-container{cursor:pointer}.idp-color-picker-default-trigger{cursor:pointer;height:32px;width:32px}.idp-color-picker-actions{align-items:center;display:flex;gap:8px;margin-top:8px}.idp-color-picker-preview-label{color:#666;font-size:14px;font-weight:500}.idp-color-picker-preview{border:1px solid #d9d9d9;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.idp-color-picker-gradient-preview,.idp-color-picker-solid-preview{flex:1;height:24px}.idp-color-picker-button-group{display:flex;gap:8px;margin-left:auto}.react-colorful{height:180px;width:208px}.react-colorful__saturation{border-radius:6px 6px 0 0;height:140px}.react-colorful__hue{border-radius:0 0 6px 6px;height:12px;margin-top:8px}.react-colorful__alpha{border-radius:6px;height:12px;margin-top:8px}.react-colorful__pointer{border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.3);height:14px;width:14px}.react-colorful__alpha-pointer,.react-colorful__hue-pointer{border:1px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.3);height:16px;width:14px}.idp-color-picker-mode-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.idp-color-picker-gradient{display:flex;gap:16px}.idp-color-picker-gradient-item{display:flex;flex-direction:column;gap:8px}.idp-color-picker-gradient-label{color:#666;font-size:12px;font-weight:500;margin-bottom:4px}.idp-color-picker-gradient-direction{display:flex;flex-direction:column;gap:8px;margin-top:8px}.idp-color-picker-gradient-direction-label{color:#666;font-size:12px;font-weight:500}.idp-color-picker-gradient-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f0f0f0;border-radius:2px;height:4px;outline:none;width:100%}.idp-color-picker-gradient-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1890ff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.3);cursor:pointer;height:16px;-webkit-transition:all .2s ease;transition:all .2s ease;width:16px}.idp-color-picker-gradient-range::-moz-range-thumb{background:#1890ff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.3);cursor:pointer;height:16px;-moz-transition:all .2s ease;transition:all .2s ease;width:16px}.idp-color-picker-gradient-range::-webkit-slider-thumb:hover{background:#40a9ff;transform:scale(1.1)}.idp-color-picker-gradient-range::-moz-range-thumb:hover{background:#40a9ff;transform:scale(1.1)}.idp-color-picker-type{color:#666;flex:1;font-size:12px;font-weight:500;text-align:center}.idp-copy-to-clipboard{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-copy-to-clipboard:hover{opacity:.8}.idp-copy-to-clipboard:active{transform:translateY(1px)}.idp-copy-to-clipboard-text{color:#1890ff;font-size:14px}.idp-copy-to-clipboard-text:hover{text-decoration:underline}.divider{background-color:#339af0;margin:0;padding:0;width:auto}.divider-horizontal{height:1px;width:auto}.divider-vertical{background-color:transparent;border-left:1px solid #339af0;height:100%;width:0}.divider-dashed.divider-horizontal{background:repeating-linear-gradient(90deg,currentColor,currentColor 4px,transparent 0,transparent 8px)}.divider-dashed.divider-vertical{background-color:transparent;border-left:1px dashed}.flex{display:flex}.flex,.flex>*{box-sizing:border-box}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-column{flex-direction:column}.flex-column-reverse{flex-direction:column-reverse}.flex-justify-start{justify-content:flex-start}.flex-justify-end{justify-content:flex-end}.flex-justify-center{justify-content:center}.flex-justify-between{justify-content:space-between}.flex-justify-around{justify-content:space-around}.flex-justify-evenly{justify-content:space-evenly}.flex-align-start{align-items:flex-start}.flex-align-end{align-items:flex-end}.flex-align-center{align-items:center}.flex-align-baseline{align-items:baseline}.flex-align-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.input-wrapper{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;display:inline-flex;font-family:inherit;font-size:14px;outline:none;position:relative;transition:all .3s ease}.input-wrapper:hover{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.input-inner{background-color:transparent;border:none;box-sizing:border-box;flex:1;font-family:inherit;font-size:14px;outline:none;padding:8px}.input-inner::placeholder{color:#bfbfbf;opacity:1}.input-inner::-webkit-input-placeholder{color:#bfbfbf}.input-inner::-moz-placeholder{color:#bfbfbf;opacity:1}.input-inner:-ms-input-placeholder{color:#bfbfbf}.input-prefix{align-items:center;color:#909399;display:flex;justify-content:center;margin:0 0 0 6px}.input-prefix .icon-container{padding:0}.input-suffix-group{align-items:center;display:flex;margin:0 4px}.input-suffix-clear{align-items:center;color:#1890ff;cursor:pointer;display:flex;justify-content:center;margin-right:4px;opacity:0;overflow:hidden;transform:scale(.8);transition:all .3s ease;visibility:hidden}.input-suffix-clear.visible{opacity:1;transform:scale(1);visibility:visible}.input-suffix-clear .icon-container{padding:0}.input-suffix-clear .icon{fill:#1890ff}.input-suffix-content{align-items:center;color:#909399;cursor:pointer;display:flex;justify-content:center}.input-suffix-content .icon-container{padding:0}.input-suffix{align-items:center;color:#909399;cursor:pointer;display:flex;justify-content:center;margin:0 8px}.input-suffix .icon-container{padding:0}.number-input-wrapper{display:flex;flex-direction:column;width:100%}.input-error{border-color:#f5222d!important}.input-error:focus-within,.input-error:hover{border-color:#f5222d!important;box-shadow:0 0 0 2px rgba(245,34,45,.2)!important}.input-error-message{border-radius:4px;box-shadow:0 2px 8px rgba(245,34,45,.1);clear:left;color:#f5222d;float:left;font-size:12px;line-height:1.5;max-height:50px;opacity:0;overflow:hidden;padding:4px 8px;position:relative;text-align:left;transform:scaleX(0);transform-origin:left center;transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),max-height .5s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1);visibility:hidden;white-space:nowrap;width:0;z-index:10}.input-error-message.visible{max-height:50px;opacity:1;transform:scaleX(1);transition-timing-function:cubic-bezier(.16,1,.3,1);visibility:visible;width:auto}.input-error-message:not(.visible){max-height:50px;opacity:0;transform:scaleX(0);transition-timing-function:cubic-bezier(.55,0,.1,1);visibility:hidden;width:0}.input-wrapper.input-disabled{background-color:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf;cursor:not-allowed}.input-wrapper.input-disabled:hover{border-color:#d9d9d9;box-shadow:none}.input-wrapper.input-disabled .input-inner{background-color:transparent;color:#bfbfbf;cursor:not-allowed}.input-wrapper.input-readonly{background-color:#f5f5f5;border-color:#d9d9d9;cursor:default}.input-wrapper.input-readonly:hover{border-color:#d9d9d9;box-shadow:none}.input-wrapper.input-readonly .input-inner{background-color:transparent;cursor:default}.input-wrapper:focus-within{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.input{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;display:inline-block;font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:all .3s ease}.input:focus,.input:hover{border-color:#339af0;box-shadow:0 0 0 2px rgba(51,154,240,.2)}.search-input-wrapper{display:inline-block;position:relative}.search-input-suffix{align-items:center;display:flex;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.search-input-suffix svg{pointer-events:all}.marquee-container{align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;overflow:hidden;position:relative;white-space:nowrap;width:100%}.marquee-container-fixed{left:0;position:fixed;right:0;top:0;z-index:99999}.marquee-text{color:#333;font-size:14px;height:100%;left:0;padding:0 10px}.marquee-close,.marquee-text{align-items:center;display:flex;position:absolute;top:0}.marquee-close{cursor:pointer;justify-content:center;right:0;z-index:10}.idp-message{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;height:30px;justify-content:center;left:50%;max-width:800px;min-width:100px;opacity:0;pointer-events:auto;position:fixed;top:20px;transform:translateX(-50%) translateY(-100%);transition:all .3s cubic-bezier(.4,0,.2,1);width:auto;z-index:1050}.idp-message--show{opacity:1;transform:translateX(-50%) translateY(0)}.idp-message-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:center;padding:0 20px}.idp-message-text{color:#333;flex:1;font-size:13px;line-height:1.5;text-align:left}.idp-message--success{background-color:#fff;border:1px solid #b7eb8f}.idp-message--success .idp-message-text{color:#52c41a}.idp-message--warning{background-color:#fff;border:1px solid #ffe58f}.idp-message--warning .idp-message-text{color:#faad14}.idp-message--error{background-color:#fff;border:1px solid #ffccc7}.idp-message--error .idp-message-text{color:#f5222d}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-100%)}}.idp-message--show{animation:slideDown .3s cubic-bezier(.4,0,.2,1) forwards}.idp-message:not(.idp-message--show){animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}@import "../variables.css";.idp-modal-overlay{align-items:center;background-color:var(--idp-modal-mask-bg);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity var(--idp-transition-duration) var(--idp-transition-timing-function),visibility var(--idp-transition-duration) var(--idp-transition-timing-function);visibility:hidden;width:100%;z-index:var(--idp-z-index-modal)}.idp-modal-overlay--visible{opacity:1;visibility:visible}.idp-modal-overlay--closing{opacity:0;visibility:hidden}.idp-modal-container{background-color:var(--idp-modal-container-bg);border-radius:var(--idp-border-radius-lg);box-shadow:var(--idp-shadow-md);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:relative;transform-origin:center center}.idp-modal-container--bordered{border:1px solid var(--idp-border-color);box-shadow:0 12px 28px rgba(15,23,42,.16),0 4px 12px rgba(15,23,42,.08)}.idp-modal-overlay--custom-top{align-items:flex-start;justify-content:center}.idp-modal-container--center{animation:centerAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes centerAnimateIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.idp-modal-container--normal{animation:normalAnimateIn .55s cubic-bezier(.23,1,.32,1) forwards}@keyframes normalAnimateIn{0%{opacity:0;transform:translate(var(--idp-modal-origin-x,0),var(--idp-modal-origin-y,0)) scale(.85)}to{opacity:1;transform:translate(0) scale(1)}}.idp-modal-container--top-right{animation:topRightAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes topRightAnimateIn{0%{opacity:0;transform:translate(100%,-100%) scale(.5)}to{opacity:1;transform:translate(0) scale(1)}}.idp-modal-container--bottom-right{animation:bottomRightAnimateIn .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes bottomRightAnimateIn{0%{opacity:0;transform:translate(100%,100%) scale(.5)}to{opacity:1;transform:translate(0) scale(1)}}.idp-modal-container--closing-center{animation:centerAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes centerAnimateOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.idp-modal-container--closing-normal{animation:normalAnimateOut .55s cubic-bezier(.23,1,.32,1) forwards}@keyframes normalAnimateOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--idp-modal-origin-x,0),var(--idp-modal-origin-y,0)) scale(.85)}}.idp-modal-container--closing-top-right{animation:topRightAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes topRightAnimateOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,-100%) scale(.5)}}.idp-modal-container--closing-bottom-right{animation:bottomRightAnimateOut .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes bottomRightAnimateOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(.5)}}.idp-modal-header{background-color:var(--idp-modal-header-bg);border-bottom:1px solid var(--idp-border-color);flex-shrink:0;justify-content:space-between;padding:0 10px 0 20px}.idp-modal-header,.idp-modal-header__left,.idp-modal-header__right{align-items:center;display:flex}.idp-modal-header__right{margin-right:0}.idp-modal-header__title{color:var(--idp-text-color);font-size:16px;font-weight:500}.idp-modal-content{flex:1;min-height:0;overflow-y:auto;padding:20px}.idp-modal-footer{background-color:var(--idp-modal-footer-bg);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:0 20px;position:absolute;right:0}.idp-modal-footer__divider{background-color:var(--idp-border-color);height:1px;margin-bottom:12px}.idp-modal-footer__actions{display:flex;gap:12px;justify-content:flex-end;padding-bottom:12px}.idp-modal-footer__custom{align-items:center;flex-flow:nowrap;justify-content:center}.idp-notice{background:linear-gradient(90deg,#1a2980,#26d0ce);border-radius:0;box-shadow:0 3px 10px rgba(0,0,0,.2);box-sizing:border-box;color:#fff;display:flex;margin:0;overflow:hidden;padding:0;position:relative;width:100%}.idp-notice-close{align-items:center;background:linear-gradient(90deg,#26d0ce,#1a2980);cursor:pointer;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;width:45px;z-index:9999}.idp-notice-close:hover{transform:scale(1.05)}.idp-notice-floating{box-sizing:border-box;left:0;position:fixed;right:0;top:0;width:100%!important;z-index:99999}.notification{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#333;max-width:400px;min-width:200px;padding:15px 20px;position:fixed;z-index:2000}.notification-top-left{animation:slideInTopLeft .3s ease;left:20px;top:20px}.notification-top-center{animation:slideInTopCenter .3s ease;left:50%;top:20px;transform:translateX(-50%)}.notification-top-right{animation:slideInTopRight .3s ease;right:20px;top:20px}.notification-center{animation:fadeInCenter .3s ease;left:50%;top:50%;transform:translate(-50%,-50%)}.notification-bottom-left{animation:slideInBottomLeft .3s ease;bottom:20px;left:20px}.notification-bottom-center{animation:slideInBottomCenter .3s ease;bottom:20px;left:50%;transform:translateX(-50%)}.notification-bottom-right{animation:slideInBottomRight .3s ease;bottom:20px;right:20px}.notification-info{background:rgba(26,41,128,.95);color:#fff}.notification-success{background:rgba(40,167,69,.95);color:#fff}.notification-warning{background:rgba(255,193,7,.95);color:#212529}.notification-error{background:rgba(220,53,69,.95);color:#fff}.notification-content{align-items:center;display:flex;gap:10px;justify-content:flex-start;width:100%}.notification-content i{flex-shrink:0;font-size:1.2rem}.notification-content span{flex:1;line-height:1.4;text-align:center}.notification-error .notification-content span,.notification-info .notification-content span,.notification-success .notification-content span{color:#fff}.notification-warning .notification-content span{color:#212529}.fade-out{animation:fadeOut .5s ease forwards}@keyframes slideInTopLeft{0%{opacity:0;transform:translateY(-20px) translateX(-20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes slideInTopCenter{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideInTopRight{0%{opacity:0;transform:translateY(-20px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes fadeInCenter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes slideInBottomLeft{0%{opacity:0;transform:translateY(20px) translateX(-20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes slideInBottomCenter{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideInBottomRight{0%{opacity:0;transform:translateY(20px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.idp-radio{align-items:center;cursor:pointer;display:inline-flex;margin-bottom:8px;margin-right:16px;position:relative;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-radio-group--button .idp-radio{border:1px solid var(--idp-border-color-extra-light);border-radius:var(--idp-border-radius-sm);height:auto;margin-right:0;min-width:60px;padding:4px 16px;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);width:auto}.idp-radio-group:not(.idp-radio-group--button) .idp-radio{height:auto;width:auto}.idp-radio-group--button .idp-radio{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;margin-bottom:0;margin-right:-1px}.idp-radio-group--button .idp-radio:first-child{border-bottom-left-radius:var(--idp-border-radius-sm);border-top-left-radius:var(--idp-border-radius-sm)}.idp-radio-group--button .idp-radio:last-child{border-bottom-right-radius:var(--idp-border-radius-sm);border-top-right-radius:var(--idp-border-radius-sm);margin-right:0}.idp-radio-group--button .idp-radio--checked{background-color:var(--idp-primary-color);border-color:var(--idp-primary-color);color:var(--idp-bg-color-white)}.idp-radio-group--button .idp-radio--checked .idp-radio__inner{background-color:var(--idp-bg-color-white);border-color:var(--idp-bg-color-white)}.idp-radio-group--button .idp-radio__label{color:inherit;margin:0}.idp-radio-group--button .idp-radio:not(.idp-radio--disabled):hover{border-color:var(--idp-primary-hover-color)}.idp-radio-group--button .idp-radio--checked:not(.idp-radio--disabled):hover{background-color:var(--idp-primary-hover-color);border-color:var(--idp-primary-hover-color)}.idp-radio-group--button .idp-radio--disabled{background-color:var(--idp-bg-color-light);border-color:var(--idp-border-color-light);color:var(--idp-text-color-light)}.idp-radio-group--large .idp-radio{height:40px}.idp-radio-group--large .idp-radio__inner{height:20px;width:20px}.idp-radio-group--large .idp-radio--checked .idp-radio__inner:after{height:8px;width:8px}.idp-radio-group--large .idp-radio__label{font-size:16px}.idp-radio-group--button.idp-radio-group--large .idp-radio{font-size:16px;height:40px;padding:8px 20px}.idp-radio-group--small .idp-radio{height:24px}.idp-radio-group--small .idp-radio__inner{height:14px;width:14px}.idp-radio-group--small .idp-radio--checked .idp-radio__inner:after{height:5px;width:5px}.idp-radio-group--small .idp-radio__label{font-size:12px}.idp-radio-group--button.idp-radio-group--small .idp-radio{font-size:12px;height:24px;padding:2px 12px}.idp-radio-group--middle .idp-radio{height:32px}.idp-radio-group--middle .idp-radio__inner{height:16px;width:16px}.idp-radio-group--middle .idp-radio--checked .idp-radio__inner:after{height:6px;width:6px}.idp-radio-group--middle .idp-radio__label{font-size:14px}.idp-radio-group--button.idp-radio-group--middle .idp-radio{font-size:14px;height:32px;padding:4px 16px}.idp-radio__input{height:0;opacity:0;position:absolute;width:0}.idp-radio__inner{background-color:var(--idp-bg-color-white);border:2px solid var(--idp-border-color-extra-light);border-radius:50%;display:inline-block;height:16px;margin-right:8px;position:relative;transition:all var(--idp-transition-duration) var(--idp-transition-timing-function);width:16px}.idp-radio--checked .idp-radio__inner{background-color:var(--idp-primary-color);border-color:var(--idp-primary-color)}.idp-radio--checked .idp-radio__inner:after{animation:idp-radio-checked .2s ease-in-out;background-color:var(--idp-bg-color-white);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}@keyframes idp-radio-checked{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.idp-radio__label{color:var(--idp-text-color);font-size:14px;line-height:1.5;transition:color var(--idp-transition-duration) var(--idp-transition-timing-function)}.idp-radio--disabled{cursor:not-allowed}.idp-radio--disabled .idp-radio__inner{background-color:var(--idp-bg-color-light);border-color:var(--idp-border-color-light)}.idp-radio--disabled .idp-radio__label{color:var(--idp-text-color-light)}.idp-radio--disabled.idp-radio--checked .idp-radio__inner{background-color:var(--idp-border-color-light);border-color:var(--idp-border-color-light)}.idp-radio--disabled.idp-radio--checked .idp-radio__inner:after{background-color:var(--idp-text-color-light)}.idp-radio:not(.idp-radio--disabled):hover .idp-radio__inner{border-color:var(--idp-primary-hover-color)}.idp-radio-group{display:inline-block}.idp-radio-group--vertical .idp-radio{display:block;margin-right:0}.idp-radio-group--horizontal .idp-radio{display:inline-block;margin-right:16px}.idp-select{box-sizing:border-box;display:inline-block;font-size:14px;line-height:1.5;position:relative;width:100%}.idp-select__trigger{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05);box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;padding:0 6px 0 12px;transition:all .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-select__trigger:hover{border-color:#40a9ff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.idp-select--open .idp-select__trigger{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#40a9ff;border-bottom:1px solid transparent;box-shadow:0 2px 8px rgba(64,169,255,.2)}.idp-select__value{color:#000000d9;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idp-select__value--placeholder{color:#00000040}.idp-select__arrow{align-items:center;color:#8c8c8c;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-left:8px;transition:transform .3s;width:20px}.idp-select--open .idp-select__arrow{transform:rotate(180deg)}.idp-select-dropdown{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);box-sizing:border-box;left:0;margin-top:4px;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:100%;transform:translateY(-8px) scale(.95);transform-origin:top center;transition:opacity .35s cubic-bezier(.23,1,.32,1),max-height .4s cubic-bezier(.23,1,.32,1),visibility .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s cubic-bezier(.23,1,.32,1);visibility:hidden;z-index:1050}.idp-select--open .idp-select-dropdown{box-shadow:0 6px 16px rgba(0,0,0,.15);max-height:300px;opacity:1;transform:translateY(0) scale(1);visibility:visible}.idp-select-dropdown__content{max-height:200px;overflow-x:hidden;overflow-y:auto}.idp-select-option{align-items:center;animation:optionFadeIn .3s ease-out forwards;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;opacity:0;overflow:hidden;padding:8px;position:relative;text-overflow:ellipsis;transform:translateY(8px);transition:background-color .2s ease,color .2s ease;white-space:nowrap}@keyframes optionFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.idp-select-option:first-child{animation-delay:.05s}.idp-select-option:nth-child(2){animation-delay:.1s}.idp-select-option:nth-child(3){animation-delay:.15s}.idp-select-option:nth-child(4){animation-delay:.2s}.idp-select-option:nth-child(5){animation-delay:.25s}.idp-select-option:nth-child(n+6){animation-delay:.3s}.idp-select-option:hover{background-color:#f0f7ff}.idp-select-option--selected{background-color:#e6f7ff;color:#1890ff;font-weight:500}.idp-select-option .icon-container{flex-shrink:0;margin-left:8px;padding:0}.idp-select-option--disabled{color:#00000040;cursor:not-allowed}.idp-select-option--disabled:hover{background-color:transparent}.idp-select-optgroup{padding:0}.idp-select-optgroup__label{animation:optionFadeIn .3s ease-out forwards;animation-delay:.05s;background-color:#fafafa;border-bottom:1px solid #f0f0f0;color:#00000073;font-size:13px;font-weight:600;letter-spacing:.5px;opacity:0;padding:12px 16px 8px;text-transform:uppercase;transform:translateY(8px)}.idp-select-optgroup__content{padding:4px 0}.idp-select-optgroup .idp-select-option{padding-left:32px}.idp-select-dropdown__content::-webkit-scrollbar{width:8px}.idp-select-dropdown__content::-webkit-scrollbar-track{border-radius:4px}.idp-select-dropdown__content::-webkit-scrollbar-thumb{border-radius:4px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.idp-select--large .idp-select__trigger{font-size:16px;height:40px;padding:0 6px 0 12px}.idp-select--middle .idp-select__trigger{font-size:14px;height:32px}.idp-select--small .idp-select__trigger{font-size:12px;height:24px;padding:0 8px}.idp-select--disabled .idp-select__trigger{background-color:#f5f5f5;border-color:#d9d9d9;color:#00000040;cursor:not-allowed}.idp-select--disabled .idp-select__trigger:hover{border-color:#d9d9d9}.idp-select--disabled .idp-select__arrow{color:#00000040}.idp-select-dropdown__content::-webkit-scrollbar{width:6px}.idp-select-dropdown__content::-webkit-scrollbar-track{background-color:#f5f5f5}.idp-select-dropdown__content::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.idp-select-dropdown__content::-webkit-scrollbar-thumb:hover{background-color:#999}.idp-select-option__icon{padding:0}:root{--pagination-color:#333;--pagination-bg:#fff;--pagination-border-color:#e8e8e8;--pagination-hover-color:#1a2980;--pagination-hover-bg:rgba(26,41,128,.08);--pagination-active-color:#fff;--pagination-active-bg:#1a2980;--pagination-disabled-color:#ccc;--pagination-disabled-bg:#fafafa;--pagination-item-size:32px;--pagination-item-size-sm:24px;--pagination-font-size:14px;--pagination-border-radius:8px;--pagination-margin:8px;--pagination-input-width:50px;--pagination-select-width:80px}.idp-pagination{align-items:center;color:var(--pagination-color);display:flex;flex-wrap:wrap;font-size:var(--pagination-font-size);justify-content:flex-start;margin-top:4px;padding:10px}.idp-pagination.align-center{justify-content:center}.idp-pagination.align-right{justify-content:flex-end}.idp-pagination-total-text{margin-right:var(--pagination-margin)}.idp-pagination-list,.idp-pagination-total-text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.idp-pagination-list{align-items:center;display:flex;list-style:none;margin:0;padding:0}.idp-pagination-item{align-items:center;border:1px solid var(--pagination-border-color);border-radius:var(--pagination-border-radius);box-sizing:border-box;cursor:pointer;display:flex;height:var(--pagination-item-size);justify-content:center;line-height:calc(var(--pagination-item-size) - 2px);margin:0 4px;min-width:var(--pagination-item-size);padding:0 8px;text-align:center;transition:all .2s ease}.idp-pagination-item:hover{background-color:var(--pagination-hover-bg);border-color:var(--pagination-hover-color);color:var(--pagination-hover-color)}.idp-pagination-item-active{cursor:default}.idp-pagination-item-active,.idp-pagination-item-active:hover{background-color:var(--pagination-active-bg);border-color:var(--pagination-active-bg);color:var(--pagination-active-color)}.idp-pagination-item-disabled{cursor:not-allowed}.idp-pagination-item-disabled,.idp-pagination-item-disabled:hover{background-color:var(--pagination-disabled-bg);border-color:var(--pagination-border-color);color:var(--pagination-disabled-color)}.idp-pagination-next,.idp-pagination-prev{align-items:center;border:1px solid var(--pagination-border-color);border-radius:var(--pagination-border-radius);box-sizing:border-box;cursor:pointer;display:flex;height:var(--pagination-item-size);justify-content:center;line-height:calc(var(--pagination-item-size) - 2px);margin:0 4px;padding:0;position:relative;transition:all .2s ease;width:var(--pagination-item-size)}.idp-pagination-next:hover,.idp-pagination-prev:hover{background-color:var(--pagination-hover-bg);border-color:var(--pagination-hover-color);color:var(--pagination-hover-color)}.idp-pagination-next-disabled,.idp-pagination-prev-disabled{cursor:not-allowed}.idp-pagination-next-disabled,.idp-pagination-next-disabled:hover,.idp-pagination-prev-disabled,.idp-pagination-prev-disabled:hover{background-color:var(--pagination-disabled-bg);border-color:var(--pagination-border-color);color:var(--pagination-disabled-color)}.idp-pagination-ellipsis{align-items:center;color:var(--pagination-color);cursor:default;display:flex;height:var(--pagination-item-size);justify-content:center;line-height:calc(var(--pagination-item-size) - 2px);margin:0 4px;min-width:var(--pagination-item-size);padding:0 8px}.idp-pagination.mini .idp-pagination-ellipsis,.idp-pagination.mini .idp-pagination-item,.idp-pagination.mini .idp-pagination-next,.idp-pagination.mini .idp-pagination-prev{font-size:12px;height:var(--pagination-item-size-sm);line-height:calc(var(--pagination-item-size-sm) - 2px);min-width:var(--pagination-item-size-sm)}.idp-pagination-options{align-items:center;display:flex;margin-left:var(--pagination-margin)}.idp-pagination-options-size-changer{margin-right:8px;min-width:var(--pagination-select-width)}.idp-pagination-options-quick-jumper{align-items:center;display:flex}.idp-pagination-options-quick-jumper input{border:1px solid var(--pagination-border-color);border-radius:var(--pagination-border-radius);box-sizing:border-box;height:32px;margin:0 8px;outline:none;padding:4px 8px;text-align:center;width:var(--pagination-input-width)}.idp-pagination-options-quick-jumper input:focus{border-color:var(--pagination-hover-color);box-shadow:0 0 0 2px rgba(26,41,128,.2)}@media (max-width:768px){.idp-pagination{justify-content:center}.idp-pagination-options{display:none}}.custom-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000021;color:rgba(0,0,0,.88);font-size:14px;padding:12px}.custom-table-container.bordered{border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.04);overflow:hidden}.custom-table-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;overflow-x:hidden;overflow-y:hidden}.custom-table-header-inner{overflow-x:hidden;overflow-y:hidden}.custom-table-body,.custom-table-header-inner{scroll-behavior:auto;will-change:scroll-position}.custom-table-body{overflow-x:auto}.custom-table{border-collapse:collapse;table-layout:fixed;width:100%}.custom-table.bordered td,.custom-table.bordered th{border:1px solid #e8e8e8}.custom-table thead{background-color:#fafafa}.custom-table th{border-bottom:1px solid #f0f0f0;font-weight:600;overflow-wrap:break-word;padding:12px 8px;text-align:left}.custom-table:not(.bordered) thead th{position:relative}.custom-table:not(.bordered) thead th:not(:last-child):after{background-color:rgba(0,0,0,.08);content:"";height:60%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.custom-table:not(.bordered) thead th[style*="position: sticky"][style*=right]:before{background-color:rgba(0,0,0,.08);content:"";height:60%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1px}.custom-table:not(.bordered) thead th:not(:last-child):has(+th[style*="position: sticky"][style*=right]):after{display:none}.custom-table td{border-bottom:1px solid #f0f0f0;overflow-wrap:break-word;padding:12px 8px}.custom-table tbody tr:hover{background-color:#fafafa}.custom-table-empty{border-top:1px solid #f0f0f0;color:rgba(0,0,0,.25);padding:16px;text-align:center}.custom-table td[style*=sticky],.custom-table th[style*=sticky]{box-shadow:1px 0 0 0 #f0f0f0}.custom-table td[style*="right: 0"],.custom-table th[style*="right: 0"]{box-shadow:-1px 0 0 0 #f0f0f0}.custom-table td[style*="position: sticky"][style*=right],.custom-table th[style*="position: sticky"][style*=right]{position:sticky!important;z-index:5!important}.custom-table thead td[style*="position: sticky"],.custom-table thead th[style*="position: sticky"]{top:0;z-index:10!important}.custom-table tbody td.idp-table-fixed-left-shadow{background-color:#fff;box-shadow:inset -3px 0 12px -10px rgba(166,57,57,.24)!important;z-index:6}.custom-table tbody td.idp-table-fixed-right-shadow{background-color:#fff;box-shadow:inset 3px 0 12px -10px rgba(166,57,57,.24)!important;z-index:6}.custom-table-pagination{align-items:center;border-top:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:12px 16px}.custom-table-pagination-total{color:rgba(0,0,0,.65);font-size:14px;margin-right:8px}.custom-table-pagination-btn{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;font-size:14px;padding:4px 12px;transition:all .2s}.custom-table-pagination-btn:hover:not(:disabled){border-color:#1a2980;color:#1a2980}.custom-table-pagination-btn:disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.custom-table-pagination-page{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;height:32px;line-height:32px;min-width:32px;text-align:center;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-table-pagination-page:hover{border-color:#1a2980;color:#1a2980}.custom-table-pagination-page.active{background:#1a2980;border-color:#1a2980;color:#fff}.custom-table-pagination-page.ellipsis{border:none;cursor:default}.custom-table-pagination-page.ellipsis:hover{border-color:#d9d9d9;color:rgba(0,0,0,.65)}.custom-table-pagination-select{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;font-size:14px;outline:none;padding:4px 8px}.custom-table-pagination-select:focus{border-color:#1a2980}.top-button-wrapper{z-index:1000}.top-button-wrapper-container{clear:both;float:right}.top-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;transition:all .3s ease}.top-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.top-button:active{transform:translateY(0)}.idp-typography{word-wrap:break-word;color:rgba(0,0,0,.88);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-break:loose;line-height:1.5;margin:0;overflow:hidden;overflow-wrap:break-word;padding:0;white-space:normal;word-break:break-all}.idp-typography--line-clamp-1{-webkit-line-clamp:1}.idp-typography--line-clamp-1,.idp-typography--line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-2{-webkit-line-clamp:2}.idp-typography--line-clamp-3{-webkit-line-clamp:3}.idp-typography--line-clamp-3,.idp-typography--line-clamp-4{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-4{-webkit-line-clamp:4}.idp-typography--line-clamp-5{-webkit-line-clamp:5}.idp-typography--line-clamp-5,.idp-typography--line-clamp-6{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-6{-webkit-line-clamp:6}.idp-typography--line-clamp-7{-webkit-line-clamp:7}.idp-typography--line-clamp-7,.idp-typography--line-clamp-8{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-8{-webkit-line-clamp:8}.idp-typography--line-clamp-9{-webkit-line-clamp:9}.idp-typography--line-clamp-10,.idp-typography--line-clamp-9{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.idp-typography--line-clamp-10{-webkit-line-clamp:10}.idp-masonry{width:100%}.idp-masonry,.idp-masonry-column,.idp-masonry-item{box-sizing:border-box}.idp-masonry-item{transition:all .3s ease}@media (max-width:768px){.idp-masonry{flex-direction:column}.idp-masonry-column{margin-bottom:20px}}.idp-masonry-item{background-color:#f5f5f5;border-radius:8px;overflow:hidden}.idp-masonry-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.space{box-sizing:border-box}.space-inline,.space-item{display:inline-flex}.space-item{align-items:center;box-sizing:border-box}.space-item>*{box-sizing:border-box;display:inline-block}.idp-anchor{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:16px;position:relative}.idp-anchor-affix{left:16px;position:fixed;top:16px;z-index:100}.idp-anchor-list{list-style:none;margin:0;padding:0}.idp-anchor-link{margin:8px 0;padding:4px 0}.idp-anchor-link-a{border-radius:4px;color:#666;display:block;font-size:14px;line-height:1.5;padding:6px 12px;text-decoration:none;transition:all .3s ease}.idp-anchor-link-a:hover{background-color:#e6f7ff;color:#1890ff}.idp-anchor-link-active .idp-anchor-link-a{background-color:#e6f7ff;border-left:3px solid #1890ff;color:#1890ff;font-weight:500}@media (max-width:768px){.idp-anchor-affix{margin-bottom:24px;position:static}.idp-anchor{padding:12px}.idp-anchor-link-a{padding:8px 12px}}.breadcrumb{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.breadcrumb-list{list-style:none;margin:0;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex;gap:8px}.breadcrumb-link{color:#666;display:inline-flex;position:relative;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#333;text-decoration:none}.breadcrumb-link:after{background-color:#339af0;bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.breadcrumb-link:hover:after{left:0;transform:translateX(0);width:100%}.breadcrumb-text{color:#666}.breadcrumb-current{color:#000;font-weight:500}.breadcrumb-separator{color:#999;font-weight:300}.dropdown{display:inline-block}.dropdown,.dropdown-content-wrapper{position:relative}.dropdown--disabled{cursor:not-allowed;opacity:.6}.dropdown-trigger{align-items:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;display:inline-flex;gap:8px;padding:8px 12px;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dropdown-trigger--text{background-color:transparent;border:none;color:#1890ff;padding:4px 8px}.dropdown-trigger:hover{border-color:#4096ff}.dropdown-trigger--text:hover{background-color:#f0f8ff;border:none;color:#096dd9}.dropdown-trigger--disabled{cursor:not-allowed;opacity:.6}.dropdown-trigger--disabled:hover{border-color:#d9d9d9}.dropdown-arrow{color:#666;font-size:12px;transition:transform .2s ease}.dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1),0 8px 24px rgba(0,0,0,.08),0 16px 32px rgba(0,0,0,.06);left:0;min-width:120px;opacity:0;overflow:hidden;position:absolute;top:100%;transform:translateY(-8px);transition:all .2s ease;z-index:1000}.dropdown-menu.dropdown-menu--visible{opacity:1;transform:translateY(0)}.dropdown-menu:before{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));top:-8px;z-index:1002}.dropdown-menu:after,.dropdown-menu:before{content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.dropdown-menu:after{border-bottom:10px solid #d9d9d9;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;z-index:1001}.dropdown-menu--top{bottom:100%!important;left:50%!important;top:auto!important;transform:translateX(-50%) translateY(-8px)!important;z-index:1001!important}.dropdown-menu--bottom{left:50%!important;top:100%!important;transform:translateX(-50%)!important;z-index:1001!important}.dropdown-menu--top:before{border:8px solid transparent;border-bottom:none;border-top-color:#fff;bottom:-8px;left:50%;top:auto;transform:translateX(-50%)}.dropdown-menu--top:after{border:9px solid transparent;border-bottom:none;border-top-color:#d9d9d9;bottom:-9px;left:50%;top:auto;transform:translateX(-50%)}.dropdown-menu--left{left:auto!important;right:0!important;top:0!important;z-index:1001!important}.dropdown-menu--left:before{border:8px solid transparent;border-left:none;border-right-color:#fff;left:auto;right:-8px;top:50%;transform:translateY(-50%)}.dropdown-menu--left:after{border:9px solid transparent;border-left:none;border-right-color:#d9d9d9;left:auto;right:-9px;top:50%;transform:translateY(-50%)}.dropdown-menu--right{left:0!important;right:auto!important;top:0!important;z-index:1001!important}.dropdown-menu--right:before{border:8px solid transparent;border-left:8px solid #fff;border-right:none;left:-8px;top:50%;transform:translateY(-50%)}.dropdown-menu--right:after{border:9px solid transparent;border-left:9px solid #d9d9d9;border-right:none;left:-9px;top:50%;transform:translateY(-50%)}.dropdown-list{list-style:none;margin:0;padding:4px 0}.dropdown-item{align-items:center;cursor:pointer;display:flex;gap:8px;min-width:0;padding:8px 12px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item--disabled{color:#ccc;cursor:not-allowed}.dropdown-item--disabled:hover{background-color:transparent}.dropdown-item-icon{align-items:center;display:flex;font-size:14px}.dropdown-item-label{flex:1;min-width:0;white-space:nowrap}.dropdown-item-label--with-width{word-wrap:break-word;white-space:normal}.dropdown-item-label--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}:root{--menu-bg-color:#fff;--menu-text-color:#333;--menu-hover-bg:#f5f7fa;--menu-selected-bg:#e6f4ff;--menu-selected-color:#1890ff;--menu-hover-color:#339af0;--menu-border-color:#e1e1e1;--menu-item-padding:6px 12px;--menu-item-gap:6px;--menu-item-radius:8px;--menu-item-height:auto;--menu-font-size:14px;--menu-transition-duration:0.3s;--menu-transition-ease:ease;--menu-popup-transition:0.25s cubic-bezier(0.4,0,0.2,1);--menu-hover-shadow:0 2px 8px rgba(0,0,0,.1);--menu-popup-shadow:0 4px 12px rgba(0,0,0,.15)}.menu-item-base{align-items:center;border-radius:var(--menu-item-radius);color:var(--menu-text-color);cursor:pointer;display:flex;font-size:var(--menu-font-size);gap:var(--menu-item-gap);height:var(--menu-item-height);padding:var(--menu-item-padding);transition:background-color var(--menu-transition-duration) var(--menu-transition-ease),box-shadow var(--menu-transition-duration) var(--menu-transition-ease),color var(--menu-transition-duration) var(--menu-transition-ease)}.menu-item-base:hover{background-color:var(--menu-hover-bg);box-shadow:var(--menu-hover-shadow)}.menu-horizontal-selected,.menu-inline-selected,.menu-item-selected,.menu-vertical-selected{background-color:var(--menu-selected-bg);color:var(--menu-selected-color)}.menu-horizontal-selected:hover,.menu-inline-selected:hover,.menu-item-selected:hover,.menu-vertical-selected:hover{background-color:var(--menu-selected-bg);box-shadow:none}.horizontal-menu-item-content,.vertical-menu-item-content{align-items:center;border-radius:var(--menu-item-radius);color:var(--menu-text-color);cursor:pointer;display:flex;font-size:var(--menu-font-size);gap:var(--menu-item-gap);height:var(--menu-item-height);padding:var(--menu-item-padding);transition:background-color var(--menu-transition-duration) var(--menu-transition-ease),box-shadow var(--menu-transition-duration) var(--menu-transition-ease),color var(--menu-transition-duration) var(--menu-transition-ease)}.horizontal-menu-item-content:hover,.vertical-menu-item-content:hover{background-color:var(--menu-hover-bg);box-shadow:var(--menu-hover-shadow)}.horizontal-menu-item-content.menu-horizontal-selected,.vertical-menu-item-content.menu-vertical-selected{background-color:var(--menu-selected-bg);color:var(--menu-selected-color)}.horizontal-menu-item-content.menu-horizontal-selected:hover,.vertical-menu-item-content.menu-vertical-selected:hover{background-color:var(--menu-selected-bg);box-shadow:none}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content{justify-content:center;padding:8px}.idp-menu-item.vertical-menu .vertical-menu-item-content,.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content{transition:padding var(--menu-transition-duration) cubic-bezier(.4,0,.2,1),justify-content var(--menu-transition-duration) cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu .vertical-menu-item-content{justify-content:flex-start}.idp-menu-item.vertical-menu .vertical-menu-item-content>:first-child{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content>:first-child{opacity:.9;transform:scale(1.1)}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content span{display:none;opacity:0;transform:scale(.8) translateX(-10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu .vertical-menu-item-content span{opacity:1;transform:scale(1) translateX(0);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content .common-menu-item-icon{display:none;opacity:0;transform:scale(.8) translateX(10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu .vertical-menu-item-content .common-menu-item-icon{opacity:1;transform:scale(1) translateX(0);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content{position:relative}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content:after{background:rgba(0,0,0,.8);border-radius:4px;color:#fff;content:attr(data-title);font-size:12px;left:100%;margin-left:8px;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:0;transform:translateX(-10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:1000}.idp-menu-item.vertical-menu.collapsed .vertical-menu-item-content:hover:after{opacity:1;transform:translateX(0)}.idp-menu-item.vertical-menu.collapsed .sub-menu-container{display:none}.idp-menu-item{background-color:var(--menu-bg-color);padding:var(--menu-item-padding)}.idp-menu-item.vertical-menu{transition:width var(--menu-transition-duration) cubic-bezier(.4,0,.2,1),padding var(--menu-transition-duration) cubic-bezier(.4,0,.2,1);width:230px}.idp-menu-item.vertical-menu.collapsed{width:48px}.idp-menu-item.horizontal-menu{width:230px}.menu-horizontal-selected,.menu-vertical-selected{background-color:var(--menu-selected-bg);color:var(--menu-selected-color);transition:background-color var(--menu-transition-duration) var(--menu-transition-ease),color var(--menu-transition-duration) var(--menu-transition-ease)}.sub-menu-container{max-height:0;opacity:0;overflow:hidden;transform:scaleY(0);transform-origin:top;transition:max-height var(--menu-transition-duration) var(--menu-popup-transition),opacity var(--menu-transition-duration) var(--menu-popup-transition),transform var(--menu-transition-duration) var(--menu-popup-transition)}.sub-menu-container.open{opacity:1;transform:scaleY(1);transform-origin:top}.vertical-menu .sub-menu-container{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s cubic-bezier(.34,1.56,.64,1),opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.vertical-menu .sub-menu-container.open{max-height:500px;opacity:1;transform:scaleY(1);transform-origin:top}.horizontal-menu-item,.vertical-menu-item{position:relative}.horizontal-menu-item .vertical-menu-item,.vertical-menu-item .vertical-menu-item{margin-left:16px}.inline-menu{display:flex;gap:16px}.inline-menu-item{align-items:center;border-radius:var(--menu-item-radius);color:#666;cursor:pointer;display:flex;padding:0 10px;position:relative;text-decoration:none;transition:color var(--menu-transition-duration) var(--menu-transition-ease)}.inline-menu-item:hover{color:var(--menu-hover-color);text-decoration:none}.inline-menu-item:after{background-color:var(--menu-hover-color);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width var(--menu-transition-duration) var(--menu-transition-ease);width:0}.inline-menu-item:hover:after{left:0;transform:translateX(0);width:100%}.menu-popup{opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transition:opacity var(--menu-popup-transition),transform var(--menu-popup-transition)}.menu-popup.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.popup-menu-item{align-items:center;border-radius:var(--menu-item-radius);cursor:pointer;display:flex;gap:3px;padding:var(--menu-item-padding);transition:background-color var(--menu-transition-duration) var(--menu-transition-ease),box-shadow var(--menu-transition-duration) var(--menu-transition-ease)}.popup-menu-item.has-children.sub-menu-active,.popup-menu-item.has-children:hover,.popup-menu-item:hover{background-color:var(--menu-hover-bg)!important}.menu-inline-selected:after{background-color:var(--menu-hover-color);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:100%}.menu-inline-selected{color:var(--menu-hover-color);transition:color var(--menu-transition-duration) var(--menu-transition-ease)}.common-item{position:relative}.common-menu-item-icon{position:absolute;right:8px}:root{--navigation-transition-duration:250ms;--navigation-transition-ease:cubic-bezier(0.4,0,0.2,1);--navigation-bg-color:#f8f9fa;--navigation-border-color:#e9ecef;--navigation-text-color:#495057;--navigation-hover-bg:#e9ecef;--navigation-selected-bg:#339af0;--navigation-selected-text:#fff;--navigation-disabled-text:#adb5bd;--navigation-shadow:0 2px 8px rgba(0,0,0,.1)}.idp-navigation{background-color:var(--navigation-bg-color);border-right:1px solid var(--navigation-border-color);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;transition:width var(--navigation-transition-duration) var(--navigation-transition-ease)}.idp-navigation.collapsed{width:48px!important}.navigation-header{align-items:center;border-bottom:1px solid var(--navigation-border-color);box-sizing:border-box;display:flex;justify-content:space-between;min-height:64px;padding:16px}.navigation-title{color:var(--navigation-text-color);font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-collapse-button{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:center;min-width:32px;padding:0;transition:background-color var(--navigation-transition-duration) var(--navigation-transition-ease)}.navigation-collapse-button:hover{background-color:var(--navigation-hover-bg)}.idp-navigation.collapsed .navigation-header{justify-content:center;padding:16px 8px}.idp-navigation.collapsed .navigation-title{display:none}.navigation-list{flex:1;overflow-x:hidden;overflow-y:auto;padding:8px 0}.navigation-item,.navigation-item-wrapper{position:relative}.navigation-item{align-items:center;border-radius:8px;box-sizing:border-box;color:var(--navigation-text-color);cursor:pointer;display:flex;min-height:40px;padding:8px 16px;transition:background-color var(--navigation-transition-duration) var(--navigation-transition-ease),color var(--navigation-transition-duration) var(--navigation-transition-ease)}.navigation-item:hover{background-color:var(--navigation-hover-bg)}.navigation-item.selected{background-color:var(--navigation-selected-bg);color:var(--navigation-selected-text)}.navigation-item.disabled{color:var(--navigation-disabled-text);cursor:not-allowed}.navigation-item.disabled:hover{background-color:transparent}.navigation-item-content{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.navigation-item-icon{align-items:center;display:flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.navigation-item-name{flex:1;font-size:14px;font-weight:500;min-width:0}.navigation-item-description,.navigation-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-item-description{color:#6c757d;font-size:12px;max-width:120px}.navigation-item.selected .navigation-item-description{color:hsla(0,0%,100%,.8)}.navigation-item-arrow{align-items:center;color:#6c757d;display:flex;font-size:12px;height:16px;justify-content:center;transition:transform var(--navigation-transition-duration) var(--navigation-transition-ease);width:16px}.navigation-item-arrow.horizontal{margin-left:4px}.navigation-item-arrow.open{transform:rotate(180deg)}.navigation-item.selected .navigation-item-arrow{color:hsla(0,0%,100%,.8)}.navigation-children{opacity:0;transform:translateY(-6px);transition:opacity var(--navigation-transition-duration) var(--navigation-transition-ease),transform var(--navigation-transition-duration) var(--navigation-transition-ease);will-change:opacity,transform}.navigation-children.open{opacity:1;transform:translateY(0)}.idp-navigation.horizontal{border-bottom:1px solid var(--navigation-border-color);border-right:none;height:auto;overflow:visible}.idp-navigation.horizontal .navigation-list{align-items:center;display:flex;gap:4px;overflow:visible;padding:0 12px}.idp-navigation.horizontal .navigation-item-wrapper{position:relative}.idp-navigation.horizontal .navigation-item{min-height:48px;padding:10px 12px}.idp-navigation.horizontal .navigation-item-content{gap:6px}.idp-navigation.horizontal .navigation-item-description{display:none}.navigation-children.horizontal{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 6px rgba(15,23,42,.08);left:50%;min-width:240px;opacity:1;padding:10px;position:absolute;top:calc(100% + 6px);transform:translate(-50%);z-index:1000}.idp-navigation.horizontal .navigation-children.horizontal .navigation-item{border-radius:8px;margin:2px 0;padding:8px 12px}.idp-navigation.horizontal .navigation-children.horizontal .navigation-item:hover{background-color:var(--navigation-hover-bg)}.idp-navigation.horizontal .navigation-children.horizontal .navigation-item.selected{background-color:var(--navigation-selected-bg);color:var(--navigation-selected-text)}.navigation-children.horizontal.open{animation:dropdownIn .2s var(--navigation-transition-ease)}.idp-navigation.collapsed .navigation-item{justify-content:center;padding:8px 12px}.idp-navigation.collapsed .navigation-item-content{justify-content:center}.idp-navigation.collapsed .navigation-item-arrow,.idp-navigation.collapsed .navigation-item-description,.idp-navigation.collapsed .navigation-item-name{display:none}.idp-navigation.collapsed .navigation-item-icon{height:20px;width:20px}.idp-navigation.collapsed .navigation-item{position:relative}.idp-navigation.collapsed .navigation-item:after{background:rgba(0,0,0,.8);border-radius:4px;color:#fff;content:attr(title);font-size:12px;left:100%;margin-left:8px;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity var(--navigation-transition-duration) var(--navigation-transition-ease);white-space:nowrap;z-index:1000}.idp-navigation.collapsed .navigation-item:hover:after{opacity:1}.navigation-footer{border-top:1px solid var(--navigation-border-color);padding:16px;text-align:center}.navigation-footer p{color:#6c757d;font-size:12px;margin:revert}.idp-navigation.collapsed .navigation-footer{display:none}.navigation-list::-webkit-scrollbar{width:4px}.navigation-list::-webkit-scrollbar-track{background:transparent}.navigation-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.navigation-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.idp-navigation{box-shadow:var(--navigation-shadow);left:0;position:fixed;top:0;z-index:1000}.idp-navigation.collapsed{transform:translateX(-100%)}.idp-navigation.horizontal{position:relative}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes dropdownIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.navigation-children.open .navigation-item{animation:slideIn .2s ease}:root{--steps-primary-color:var(--primary-color,#1890ff);--steps-wait-color:var(--text-color-secondary,#8c8c8c);--steps-finish-color:var(--success-color,#52c41a);--steps-error-color:var(--error-color,#ff4d4f);--steps-process-color:var(--primary-color,#1890ff);--steps-bg-color:var(--background-color,#fff);--steps-border-color:var(--border-color,#d9d9d9);--steps-text-color:var(--text-color,#262626);--steps-description-color:var(--text-color-secondary,#8c8c8c);--steps-disabled-color:var(--disabled-color,#bfbfbf)}.idp-steps{display:flex;font-family:var(--font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif);width:100%}.idp-steps.panel{background:var(--steps-bg-color);border:1px solid var(--steps-border-color);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px}.idp-steps.horizontal{align-items:flex-start;flex-direction:row;justify-content:space-between}.idp-steps.vertical{flex-direction:column}.idp-steps.small .idp-step-node{font-size:12px;height:24px;width:24px}.idp-steps.small .idp-step-title{font-size:12px}.idp-steps.small .idp-step-description{font-size:11px}.idp-step{cursor:pointer;flex:1;position:relative;text-align:center}.idp-step,.idp-steps.panel .idp-step{transition:all .3s cubic-bezier(.4,0,.2,1)}.idp-steps.panel .idp-step{background:var(--steps-bg-color);border:1px solid var(--steps-border-color);border-radius:6px;margin:0 8px;padding:16px}.idp-steps.panel .idp-step:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.idp-steps.panel .idp-step.process{background:rgba(24,144,255,.05);border-color:var(--steps-process-color);box-shadow:0 2px 8px rgba(24,144,255,.2)}.idp-steps.panel .idp-step.finish{background:rgba(82,196,26,.05);border-color:var(--steps-finish-color)}.idp-steps.panel .idp-step.error{background:rgba(245,34,45,.05);border-color:var(--steps-error-color)}.idp-step.disabled{cursor:not-allowed;opacity:.6}.idp-step.horizontal{align-items:center;display:flex;flex:1;flex-direction:column;padding:0 16px;position:relative;text-align:center}.idp-step-node:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.idp-step.vertical{align-items:flex-start;display:flex;min-height:60px;padding:8px 0}.idp-step-head{align-items:center;display:flex;justify-content:center;position:relative}.idp-step.horizontal .idp-step-head{margin-bottom:8px;position:relative;width:100%}.idp-step.vertical .idp-step-head{margin-right:16px}.idp-step-node{align-items:center;background-color:var(--steps-bg-color);border:2px solid var(--steps-wait-color);border-radius:8px;color:var(--steps-wait-color);display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;min-width:32px;padding:6px;transition:all .3s cubic-bezier(.4,0,.2,1);width:auto;z-index:1}.idp-step-node.wait{border-color:var(--steps-wait-color);color:var(--steps-wait-color)}.idp-step-node.process{background-color:var(--steps-process-color);border-color:var(--steps-process-color);box-shadow:0 0 0 4px rgba(24,144,255,.1);color:var(--steps-bg-color);transform:scale(1.1)}.idp-step-node.finish{background-color:var(--steps-finish-color);border-color:var(--steps-finish-color)}.idp-step-node.error,.idp-step-node.finish{color:var(--steps-bg-color);transform:scale(1.05)}.idp-step-node.error{background-color:var(--steps-error-color);border-color:var(--steps-error-color)}.idp-step-tail{align-items:center;background-color:var(--steps-border-color);display:flex;justify-content:center;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1)}.idp-step-tail-dashed{background:repeating-linear-gradient(90deg,var(--steps-border-color),var(--steps-border-color) 4px,transparent 4px,transparent 8px)}.idp-step-tail-title{background:var(--steps-bg-color);border:1px solid var(--steps-wait-color);border-radius:4px;color:var(--steps-wait-color);font-size:12px;left:50%;padding:2px 6px;top:-20px;transform:translateX(-50%);white-space:nowrap;z-index:2}.idp-step-arrow,.idp-step-tail-title{position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1)}.idp-step-arrow{align-items:center;color:var(--steps-border-color);display:flex;height:16px;justify-content:center;left:calc(100% + 17px);top:50%;transform:translateY(-50%);width:16px}.idp-step.finish .idp-step-arrow{color:var(--steps-finish-color)}.idp-step.process .idp-step-arrow{color:var(--steps-process-color);transform:translateY(-50%) scale(1.2)}.idp-step.error .idp-step-arrow{color:var(--steps-error-color)}.idp-step.finish .idp-step-tail-title{border-color:var(--steps-finish-color);color:var(--steps-finish-color)}.idp-step.process .idp-step-tail-title{border-color:var(--steps-process-color);color:var(--steps-process-color)}.idp-step.error .idp-step-tail-title{border-color:var(--steps-error-color);color:var(--steps-error-color)}.idp-step.horizontal .idp-step-tail{background-color:var(--steps-border-color);height:2px;left:50%;top:50%;transform:translateY(-50%);width:110%;z-index:0}.idp-step.vertical .idp-step-tail{align-items:center;display:flex;height:100%;justify-content:center;left:50%;top:100%;transform:translateX(-50%);width:2px}.idp-step.vertical .idp-step-tail-dashed{background:repeating-linear-gradient(180deg,var(--steps-border-color),var(--steps-border-color) 4px,transparent 4px,transparent 8px)}.idp-step.vertical .idp-step-tail-title{background:var(--steps-bg-color);border:1px solid var(--steps-wait-color);border-radius:4px;color:var(--steps-wait-color);font-size:12px;left:10px;padding:2px 6px;position:absolute;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:left center;white-space:nowrap;z-index:2}.idp-step.vertical.finish .idp-step-tail-title{border-color:var(--steps-finish-color);color:var(--steps-finish-color)}.idp-step.vertical.process .idp-step-tail-title{border-color:var(--steps-process-color);color:var(--steps-process-color)}.idp-step.vertical.error .idp-step-tail-title{border-color:var(--steps-error-color);color:var(--steps-error-color)}.idp-step.finish .idp-step-tail,.idp-step.process .idp-step-tail{transition:background .5s cubic-bezier(.4,0,.2,1)}.idp-step.process .idp-step-tail{background:linear-gradient(90deg,var(--steps-finish-color) 0,var(--steps-process-color) 100%)}.idp-step.error .idp-step-tail{background:linear-gradient(90deg,var(--steps-finish-color) 0,var(--steps-error-color) 100%);transition:background .5s cubic-bezier(.4,0,.2,1)}.idp-step-content{flex:1}.idp-step.horizontal .idp-step-content{word-wrap:break-word;max-width:120px}.idp-step.vertical .idp-step-content{word-wrap:break-word;max-width:180px;min-width:100px;padding-top:4px}.idp-steps.panel .idp-step-content{word-wrap:break-word;margin-top:12px;max-width:150px;padding:0}.idp-step-title{color:var(--steps-text-color);font-size:14px;font-weight:600;margin-bottom:4px;transition:color .3s cubic-bezier(.4,0,.2,1)}.idp-steps.panel .idp-step-title{font-size:16px;font-weight:600;margin-bottom:8px}.idp-step.wait .idp-step-title{color:var(--steps-wait-color)}.idp-step.process .idp-step-title{color:var(--steps-process-color)}.idp-step.finish .idp-step-title{color:var(--steps-finish-color)}.idp-step.error .idp-step-title{color:var(--steps-error-color)}.idp-step.disabled .idp-step-title{color:var(--steps-disabled-color)}.idp-step-description{color:var(--steps-description-color);font-size:12px;line-height:1.4}.idp-steps.panel .idp-step-description{font-size:14px;line-height:1.5}.idp-step.wait .idp-step-description{color:var(--steps-wait-color)}.idp-step.process .idp-step-description{color:var(--steps-process-color)}.idp-step.finish .idp-step-description{color:var(--steps-finish-color)}.idp-step.error .idp-step-description{color:var(--steps-error-color)}.idp-step.disabled .idp-step-description{color:var(--steps-disabled-color)}@keyframes colorFlow{0%{background-position:-100% 0}to{background-position:100% 0}}.idp-step.finish .idp-step-tail{animation:colorFlow 1.2s ease-in-out forwards;background:linear-gradient(90deg,var(--steps-finish-color) 0,var(--steps-finish-color) 100%);background-size:200% 100%}.idp-step.process .idp-step-tail{animation:colorFlow .8s ease-in-out forwards;background:linear-gradient(90deg,var(--steps-finish-color) 0,var(--steps-process-color) 50%,var(--steps-process-color) 100%);background-size:200% 100%}.idp-step.error .idp-step-tail{animation:colorFlow .6s ease-in-out forwards;background:linear-gradient(90deg,var(--steps-finish-color) 0,var(--steps-error-color) 50%,var(--steps-error-color) 100%);background-size:200% 100%}@media (max-width:768px){.idp-steps.horizontal{flex-direction:column}.idp-step.horizontal{align-items:flex-start;padding:8px 0;text-align:left}.idp-step.horizontal .idp-step-head{flex-direction:row;margin-bottom:0;margin-right:12px}.idp-step.horizontal .idp-step-tail{display:none}.idp-step.vertical .idp-step-head{margin-right:12px}}.idp-tabs{color:rgba(0,0,0,.88);width:100%}.idp-tabs--bottom,.idp-tabs--top{display:flex;flex-direction:column}.idp-tabs--end,.idp-tabs--start{align-items:flex-start;display:flex;gap:0}.idp-tabs--end{flex-direction:row-reverse}.idp-tabs-nav-wrapper{align-items:center;display:flex;flex:1;min-width:0;position:relative}.idp-tabs--end .idp-tabs-nav-wrapper,.idp-tabs--start .idp-tabs-nav-wrapper{flex:0 0 auto;min-width:unset;width:auto}.idp-tabs-nav{align-items:center;background:#fff;display:flex;flex-wrap:wrap;gap:12px;min-width:0;overflow:visible;padding:4px 16px;position:relative}.idp-tabs--end .idp-tabs-nav,.idp-tabs--start .idp-tabs-nav{flex:0 0 auto;max-width:none;min-width:auto;overflow:visible}.idp-tabs--bottom .idp-tabs-nav,.idp-tabs--top .idp-tabs-nav{-ms-overflow-style:none;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;transition:scroll-left .3s cubic-bezier(.4,0,.2,1);width:110%}.idp-tabs--bottom .idp-tabs-nav::-webkit-scrollbar,.idp-tabs--top .idp-tabs-nav::-webkit-scrollbar{display:none}.idp-tabs-nav__button{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e8e8e8;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.06);cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);width:28px;z-index:10}.idp-tabs-nav__button--visible{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.idp-tabs-nav__button:hover:not(:disabled){background:linear-gradient(135deg,#f0f5ff,#e6f7ff);border-color:#91d5ff;box-shadow:0 4px 12px rgba(22,119,255,.15),0 2px 4px rgba(22,119,255,.1);transform:translateY(-50%) scale(1.08)}.idp-tabs-nav__button:active:not(:disabled){box-shadow:0 2px 6px rgba(22,119,255,.2),0 1px 2px rgba(22,119,255,.15);transform:translateY(-50%) scale(.95)}.idp-tabs-nav__button:disabled{background:#f5f5f5;border-color:#e8e8e8;box-shadow:none;cursor:not-allowed;opacity:.3}.idp-tabs-nav__button--left{left:4px}.idp-tabs-nav__button--right{right:4px}.idp-tabs-nav__button .icon{color:#595959;transition:color .3s ease}.idp-tabs-nav__button:hover:not(:disabled) .icon{color:#1677ff}.idp-tabs-nav__button:disabled .icon{color:#bfbfbf}.idp-tabs-tab{display:flex;flex-wrap:wrap;gap:12px;padding:4px 16px}.idp-tabs--end .idp-tabs-nav,.idp-tabs--start .idp-tabs-nav{align-items:stretch;flex-direction:column;flex-wrap:nowrap;padding:16px 4px;width:auto}.idp-tabs-tab{align-items:center;background:#fff;border-radius:8px;color:rgba(0,0,0,.65);cursor:pointer;display:inline-flex;flex-shrink:0;gap:6px;outline:none;padding:6px 12px;position:relative;transition:color .2s ease;white-space:nowrap}.idp-tabs--end .idp-tabs-tab,.idp-tabs--start .idp-tabs-tab{box-sizing:border-box;display:flex;justify-content:flex-start;width:100%}.idp-tabs-tab:hover{color:#1677ff}.idp-tabs-tab--active{background:#fff;color:#1677ff}.idp-tabs-indicator{background:#1677ff;bottom:-1px;height:2px;pointer-events:none;position:absolute;transition:left .5s cubic-bezier(.4,0,.2,1),width .5s cubic-bezier(.4,0,.2,1)!important}.idp-tabs--end .idp-tabs-indicator,.idp-tabs--start .idp-tabs-indicator{border-radius:2px;bottom:auto;height:auto;right:-1px;transition:top .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1)!important;width:2px}.idp-tabs--end .idp-tabs-indicator{left:-1px;right:auto}.idp-tabs-tab--disabled{background:#fafafa;cursor:not-allowed}.idp-tabs-tab--disabled,.idp-tabs-tab--disabled:hover{border-color:#f0f0f0;box-shadow:none;color:rgba(0,0,0,.25)}.idp-tabs-tab__close{align-items:center;border-radius:50%;color:rgba(0,0,0,.45);display:inline-flex;height:16px;justify-content:center;transition:all .2s ease;width:16px}.idp-tabs-tab__close:hover{background:rgba(26,41,128,.08);color:#1677ff}.idp-tabs-tab__icon{align-items:center;display:inline-flex;justify-content:center}.idp-tabs-tab__icon+.idp-tabs-tab__label{margin-left:6px}.idp-tabs-tab__drag-handle{align-items:center;display:flex;flex:1;gap:6px}.idp-tabs-tab--dragging{cursor:grabbing!important;opacity:.5}.idp-tabs-tab__placeholder{background-color:rgba(22,119,255,.1);border:2px dashed #1677ff;border-radius:8px;height:100%}.idp-tabs-content{background:#fff;border-radius:0 0 8px;box-shadow:0 8px 12px -10px rgba(0,0,0,.08),8px 0 12px -10px rgba(0,0,0,.06),-8px 0 12px -10px rgba(0,0,0,.06);margin-top:0;min-height:120px;padding:16px}.idp-tabs-content--top{border-top:1px solid #f0f0f0}.idp-tabs-content--bottom{border-bottom:1px solid #f0f0f0}.idp-tabs-content--start{border-left:1px solid #f0f0f0}.idp-tabs-content--end{border-right:1px solid #f0f0f0}.idp-tabs--end .idp-tabs-content,.idp-tabs--start .idp-tabs-content{border-radius:0 8px 8px 0;flex:1;margin-left:0;margin-top:0;min-height:200px;min-width:0;overflow:auto}.idp-tabs--end .idp-tabs-content{border-radius:8px 0 0 8px}.idp-tabs--card .idp-tabs-nav{-ms-overflow-style:none;background:transparent;border-radius:0;flex-wrap:nowrap;gap:2px;margin-top:10px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:0;scrollbar-width:none}.idp-tabs--card .idp-tabs-nav::-webkit-scrollbar{display:none}.idp-tabs--card .idp-tabs-tab{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:8px 8px 0 0;box-shadow:0 1px 2px rgba(0,0,0,.05);color:rgba(0,0,0,.65);cursor:pointer;display:inline-flex;flex-shrink:0;gap:6px;outline:none;padding:10px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.idp-tabs--card .idp-tabs-tab:hover:not(.idp-tabs-tab--disabled){background:#f0f5ff;border-color:#91d5ff;box-shadow:0 2px 4px rgba(22,119,255,.1);color:#1677ff}.idp-tabs--card .idp-tabs-tab--active{background:#1677ff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#1677ff;box-shadow:0 2px 8px rgba(22,119,255,.2),0 1px 3px rgba(22,119,255,.15);color:#fff;position:relative;z-index:2}.idp-tabs--card .idp-tabs-tab--active:hover{background:#4096ff;border-color:#4096ff}.idp-tabs--card .idp-tabs-tab--disabled{background:#fafafa;border-color:#e8e8e8;color:rgba(0,0,0,.25);cursor:not-allowed}.idp-tabs--card .idp-tabs-tab--disabled:hover{background:#fafafa;border-color:#e8e8e8;box-shadow:0 1px 2px rgba(0,0,0,.05);color:rgba(0,0,0,.25)}.idp-tabs--card .idp-tabs-tab__close{color:hsla(0,0%,100%,.85)}.idp-tabs--card .idp-tabs-tab--active .idp-tabs-tab__close:hover{background:hsla(0,0%,100%,.2);color:#fff}.idp-tabs--card .idp-tabs-indicator{display:none}.idp-tabs--card .idp-tabs-content{background:#fff;border-radius:0 0 8px 8px;border-top:1px solid #f0f0f0;box-shadow:0 2px 8px rgba(22,119,255,.15);margin-top:-1px;position:relative;z-index:2}.idp-tabs--card .idp-tabs-tab--add{background:#fafafa;border:1px dashed #bfbfbf;color:#8c8cff;cursor:pointer;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:5}.idp-tabs--card .idp-tabs-tab--add:hover{background:#e6f7ff;border-color:#91d5ff;box-shadow:0 2px 6px rgba(22,119,255,.1);color:#1677ff}.idp-tabs--card .idp-tabs-tab--add:active{box-shadow:0 1px 3px rgba(22,119,255,.15);transform:scale(.95)}.idp-tabs--card .idp-tabs-tab--add.sticky{position:sticky;right:0}
|
package/dist/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{default as ColorPicker}from"./ColorPicker/index.js";export{default as CopyToClipboard,useOnCopy as useCopy}from"./CopyToClipboard/index.js";export{default as Divider}from"./Divider/index.js";export{default as Empty}from"./Empty/index.js";export{default as Flex}from"./Flex/index.js";export{default as Icon}from"./Icon/Icon.js";export{default as Input}from"./Input/index.js";export{default as Marquee}from"./Marquee/index.js";export{MessageProvider,useMessage}from"./Message/index.js";export{default as Modal}from"./Modal/index.js";export{default as Notice}from"./Notice/Notice.js";export{default as Notification}from"./Notification/Notification.js";export{default as Radio}from"./Radio/index.js";export{default as Select}from"./Select/index.js";export{default as Table}from"./Table/index.js";export{default as Top}from"./Top/index.js";export{default as Typography}from"./Typography/index.js";export{default as Masonry}from"./Masonry/index.js";export{default as Space}from"./Space/index.js";export{default as Anchor}from"./Anchor/index.js";export{default as I18nProvider,load18n,useI18n}from"./src/i18n/I18nProvider.js";import"./src/i18n/index.js";export{default as Message}from"./Message/Message.js";export{default as i18n}from"./node_modules/i18next/dist/esm/i18next.js";export{default as Button}from"./Button/Button.js";
|
|
1
|
+
export{default as Cascader}from"./Cascader/index.js";export{default as ColorPicker}from"./ColorPicker/index.js";export{default as CopyToClipboard,useOnCopy as useCopy}from"./CopyToClipboard/index.js";export{default as Divider}from"./Divider/index.js";export{default as Empty}from"./Empty/index.js";export{default as Flex}from"./Flex/index.js";export{default as Icon}from"./Icon/Icon.js";export{default as Input}from"./Input/index.js";export{default as Marquee}from"./Marquee/index.js";export{MessageProvider,useMessage}from"./Message/index.js";export{default as Modal}from"./Modal/index.js";export{default as Notice}from"./Notice/Notice.js";export{default as Notification}from"./Notification/Notification.js";export{default as Radio}from"./Radio/index.js";export{default as Select}from"./Select/index.js";export{default as Table}from"./Table/index.js";export{default as Top}from"./Top/index.js";export{default as Typography}from"./Typography/index.js";export{default as Masonry}from"./Masonry/index.js";export{default as Space}from"./Space/index.js";export{default as Anchor}from"./Anchor/index.js";export{default as Breadcrumb}from"./Breadcrumb/index.js";export{default as I18nProvider,load18n,useI18n}from"./src/i18n/I18nProvider.js";import"./src/i18n/index.js";export{default as Dropdown}from"./Dropdown/index.js";export{default as Menu}from"./Menu/index.js";export{default as Pagination}from"./Pagination/index.js";export{default as Navigation}from"./Navigation/index.js";export{default as Steps}from"./Steps/index.js";export{default as Tabs}from"./Tabs/index.js";export{default as Message}from"./Message/Message.js";export{default as i18n}from"./node_modules/i18next/dist/esm/i18next.js";export{default as Button}from"./Button/Button.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>"string"==typeof e,t=()=>{let e,t;const s=new Promise((s,i)=>{e=s,t=i});return s.resolve=e,s.reject=t,s},s=e=>null==e?"":""+e,i=/###/g,o=e=>e&&e.indexOf("###")>-1?e.replace(i,"."):e,n=t=>!t||e(t),a=(t,s,i)=>{const a=e(s)?s.split("."):s;let r=0;for(;r<a.length-1;){if(n(t))return{};const e=o(a[r]);!t[e]&&i&&(t[e]=new i),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{},++r}return n(t)?{}:{obj:t,k:o(a[r])}},r=(e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=s);let n=t[t.length-1],r=t.slice(0,t.length-1),l=a(e,r,Object);for(;void 0===l.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),l=a(e,r,Object),l?.obj&&void 0!==l.obj[`${l.k}.${n}`]&&(l.obj=void 0);l.obj[`${l.k}.${n}`]=s},l=(e,t)=>{const{obj:s,k:i}=a(e,t);if(s&&Object.prototype.hasOwnProperty.call(s,i))return s[i]},h=(t,s,i)=>{for(const o in s)"__proto__"!==o&&"constructor"!==o&&(o in t?e(t[o])||t[o]instanceof String||e(s[o])||s[o]instanceof String?i&&(t[o]=s[o]):h(t[o],s[o],i):t[o]=s[o]);return t},p=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var c={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const u=t=>e(t)?t.replace(/[&<>"'\/]/g,e=>c[e]):t;const g=[" ",",","?","!",";"],d=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),f=(e,t,s=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(s);let o=e;for(let e=0;e<i.length;){if(!o||"object"!=typeof o)return;let t,n="";for(let a=e;a<i.length;++a)if(a!==e&&(n+=s),n+=i[a],t=o[n],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<i.length-1)continue;e+=a-e+1;break}o=t}return o},m=e=>e?.replace("_","-"),y={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class x{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||y,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,s,i,o){return o&&!this.debug?null:(e(t[0])&&(t[0]=`${i}${this.prefix} ${t[0]}`),this.logger[s](t))}create(e){return new x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var v=new x;class b{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e,...t){if(this.observers[e]){Array.from(this.observers[e].entries()).forEach(([e,s])=>{for(let i=0;i<s;i++)e(...t)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(([s,i])=>{for(let o=0;o<i;o++)s.apply(s,[e,...t])})}}}class k extends b{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(t,s,i,o={}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;t.indexOf(".")>-1?r=t.split("."):(r=[t,s],i&&(Array.isArray(i)?r.push(...i):e(i)&&n?r.push(...i.split(n)):r.push(i)));const h=l(this.data,r);return!h&&!s&&!i&&t.indexOf(".")>-1&&(t=r[0],s=r[1],i=r.slice(2).join(".")),!h&&a&&e(i)?f(this.data?.[t]?.[s],i,n):h}addResource(e,t,s,i,o={silent:!1}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];s&&(a=a.concat(n?s.split(n):s)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),r(this.data,a,i),o.silent||this.emit("added",e,t,s,i)}addResources(t,s,i,o={silent:!1}){for(const o in i)(e(i[o])||Array.isArray(i[o]))&&this.addResource(t,s,o,i[o],{silent:!0});o.silent||this.emit("added",t,s,i)}addResourceBundle(e,t,s,i,o,n={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=s,s=t,t=a[1]),this.addNamespaces(t);let p=l(this.data,a)||{};n.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?h(p,s,o):p={...p,...s},r(this.data,a,p),n.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var S={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,o){return e.forEach(e=>{t=this.processors[e]?.process(t,s,i,o)??t}),t}};const O=Symbol("i18next/PATH_KEY");function L(e,t){const{[O]:s}=e(function(){const e=[],t=Object.create(null);let s;return t.get=(i,o)=>(s?.revoke?.(),o===O?e:(e.push(o),s=Proxy.revocable(i,t),s.proxy)),Proxy.revocable(Object.create(null),t).proxy}());return s.join(t?.keySeparator??".")}const w={},$=t=>!e(t)&&"boolean"!=typeof t&&"number"!=typeof t;class R extends b{constructor(e,t={}){var s,i;super(),s=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach(e=>{s[e]&&(i[e]=s[e])}),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=v.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};if(null==e)return!1;const i=this.resolve(e,s);if(void 0===i?.res)return!1;const o=$(i.res);return!1!==s.returnObjects||!o}extractFromKey(t,s){let i=void 0!==s.nsSeparator?s.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator;let n=s.ns||this.options.defaultNS||[];const a=i&&t.indexOf(i)>-1,r=!(this.options.userDefinedKeySeparator||s.keySeparator||this.options.userDefinedNsSeparator||s.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=g.filter(e=>t.indexOf(e)<0&&s.indexOf(e)<0);if(0===i.length)return!0;const o=d.getRegExp(`(${i.map(e=>"?"===e?"\\?":e).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(s);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(t,i,o));if(a&&!r){const s=t.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:t,namespaces:e(n)?[n]:n};const a=t.split(i);(i!==o||i===o&&this.options.ns.indexOf(a[0])>-1)&&(n=a.shift()),t=a.join(o)}return{key:t,namespaces:e(n)?[n]:n}}translate(t,s,i){let o="object"==typeof s?{...s}:s;if("object"!=typeof o&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof o&&(o={...o}),o||(o={}),null==t)return"";"function"==typeof t&&(t=L(t,{...this.options,...o})),Array.isArray(t)||(t=[String(t)]);const n=void 0!==o.returnDetails?o.returnDetails:this.options.returnDetails,a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,{key:r,namespaces:l}=this.extractFromKey(t[t.length-1],o),h=l[l.length-1];let p=void 0!==o.nsSeparator?o.nsSeparator:this.options.nsSeparator;void 0===p&&(p=":");const c=o.lng||this.language,u=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===c?.toLowerCase())return u?n?{res:`${h}${p}${r}`,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:`${h}${p}${r}`:n?{res:r,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:r;const g=this.resolve(t,o);let d=g?.res;const f=g?.usedKey||r,m=g?.exactUsedKey||r,y=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,v=void 0!==o.count&&!e(o.count),b=R.hasDefaultValue(o),k=v?this.pluralResolver.getSuffix(c,o.count,o):"",S=o.ordinal&&v?this.pluralResolver.getSuffix(c,o.count,{ordinal:!1}):"",O=v&&!o.ordinal&&0===o.count,w=O&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${k}`]||o[`defaultValue${S}`]||o.defaultValue;let C=d;x&&!d&&b&&(C=w);const P=$(C),j=Object.prototype.toString.apply(C);if(!(x&&C&&P&&["[object Number]","[object Function]","[object RegExp]"].indexOf(j)<0)||e(y)&&Array.isArray(C))if(x&&e(y)&&Array.isArray(d))d=d.join(y),d&&(d=this.extendTranslation(d,t,o,i));else{let e=!1,s=!1;!this.isValidLookup(d)&&b&&(e=!0,d=w),this.isValidLookup(d)||(s=!0,d=r);const n=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:d,l=b&&w!==d&&this.options.updateMissing;if(s||e||l){if(this.logger.log(l?"updateKey":"missingKey",c,h,r,l?w:d),a){const e=this.resolve(r,{...o,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let s=0;s<t.length;s++)e.push(t[s]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(o.lng||this.language):e.push(o.lng||this.language);const s=(e,t,s)=>{const i=b&&s!==d?s:n;this.options.missingKeyHandler?this.options.missingKeyHandler(e,h,t,i,l,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,h,t,i,l,o),this.emit("missingKey",e,h,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach(e=>{const t=this.pluralResolver.getSuffixes(e,o);O&&o[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{s([e],r+t,o[`defaultValue${t}`]||w)})}):s(e,r,w))}d=this.extendTranslation(d,t,o,g,i),s&&d===r&&this.options.appendNamespaceToMissingKey&&(d=`${h}${p}${r}`),(s||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}${p}${r}`:r,e?d:void 0,o))}else{if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(f,C,{...o,ns:l}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(g.res=e,g.usedParams=this.getUsedParamsDetails(o),g):e}if(a){const e=Array.isArray(C),t=e?[]:{},s=e?m:f;for(const e in C)if(Object.prototype.hasOwnProperty.call(C,e)){const i=`${s}${a}${e}`;t[e]=b&&!d?this.translate(i,{...o,defaultValue:$(w)?w[e]:void 0,joinArrays:!1,ns:l}):this.translate(i,{...o,joinArrays:!1,ns:l}),t[e]===i&&(t[e]=C[e])}d=t}}return n?(g.res=d,g.usedParams=this.getUsedParamsDetails(o),g):d}extendTranslation(t,s,i,o,n){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const a=e(t)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let r;if(a){const e=t.match(this.interpolator.nestingRegexp);r=e&&e.length}let l=i.replace&&!e(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,i.lng||this.language||o.usedLng,i),a){const e=t.match(this.interpolator.nestingRegexp);r<(e&&e.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(t=this.interpolator.nest(t,(...e)=>n?.[0]!==e[0]||i.context?this.translate(...e,s):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${s[0]}`),null),i)),i.interpolation&&this.interpolator.reset()}const a=i.postProcess||this.options.postProcess,r=e(a)?[a]:a;return null!=t&&r?.length&&!1!==i.applyPostProcessor&&(t=S.handle(r,t,s,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),t}resolve(t,s={}){let i,o,n,a,r;return e(t)&&(t=[t]),t.forEach(t=>{if(this.isValidLookup(i))return;const l=this.extractFromKey(t,s),h=l.key;o=h;let p=l.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const c=void 0!==s.count&&!e(s.count),u=c&&!s.ordinal&&0===s.count,g=void 0!==s.context&&(e(s.context)||"number"==typeof s.context)&&""!==s.context,d=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);p.forEach(e=>{this.isValidLookup(i)||(r=e,w[`${d[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(w[`${d[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${d.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),d.forEach(t=>{if(this.isValidLookup(i))return;a=t;const o=[h];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,h,t,e,s);else{let e;c&&(e=this.pluralResolver.getSuffix(t,s.count,s));const i=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(s.ordinal&&0===e.indexOf(n)&&o.push(h+e.replace(n,this.options.pluralSeparator)),o.push(h+e),u&&o.push(h+i)),g){const t=`${h}${this.options.contextSeparator||"_"}${s.context}`;o.push(t),c&&(s.ordinal&&0===e.indexOf(n)&&o.push(t+e.replace(n,this.options.pluralSeparator)),o.push(t+e),u&&o.push(t+i))}}let r;for(;r=o.pop();)this.isValidLookup(i)||(n=r,i=this.getResource(t,e,r,s))}))})}),{res:i,usedKey:o,exactUsedKey:n,usedLng:a,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(t={}){const s=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&!e(t.replace);let o=i?t.replace:t;if(i&&void 0!==t.count&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of s)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class C{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=v.create("languageUtils")}getScriptPartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(t){if(e(t)&&t.indexOf("-")>-1){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(e){}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;const s=this.getScriptPartFromCode(e);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(e=>e===i?e:e.indexOf("-")<0&&i.indexOf("-")<0?void 0:e.indexOf("-")>0&&i.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1?e:void 0)}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(t,s){if(!t)return[];if("function"==typeof t&&(t=t(s)),e(t)&&(t=[t]),Array.isArray(t))return t;if(!s)return t.default||[];let i=t[s];return i||(i=t[this.getScriptPartFromCode(s)]),i||(i=t[this.formatLanguageCode(s)]),i||(i=t[this.getLanguagePartFromCode(s)]),i||(i=t.default),i||[]}toResolveHierarchy(t,s){const i=this.getFallbackCodes((!1===s?[]:s)||this.options.fallbackLng||[],t),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return e(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):e(t)&&n(this.formatLanguageCode(t)),i.forEach(e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))}),o}}const P={zero:0,one:1,two:2,few:3,many:4,other:5},j={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class N{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=v.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=m("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:s,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),j;if(!e.match(/-|_/))return j;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort((e,t)=>P[e]-P[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,s={}){const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const E=(t,s,i,o=".",n=!0)=>{let a=((e,t,s)=>{const i=l(e,s);return void 0!==i?i:l(t,s)})(t,s,i);return!a&&n&&e(i)&&(a=f(t,i,o),void 0===a&&(a=f(s,i,o))),a},F=e=>e.replace(/\$/g,"$$$$");class V{constructor(e={}){this.logger=v.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:a,suffixEscaped:r,formatSeparator:l,unescapeSuffix:h,unescapePrefix:c,nestingPrefix:g,nestingPrefixEscaped:d,nestingSuffix:f,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:x,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:u,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?p(o):n||"{{",this.suffix=a?p(a):r||"}}",this.formatSeparator=l||",",this.unescapePrefix=h?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":h||"",this.nestingPrefix=g?p(g):d||p("$t("),this.nestingSuffix=f?p(f):m||p(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=x||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(t,i,o,n){let a,r,l;const h=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=e=>{if(e.indexOf(this.formatSeparator)<0){const t=E(i,h,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...i,interpolationkey:e}):t}const t=e.split(this.formatSeparator),s=t.shift().trim(),a=t.join(this.formatSeparator).trim();return this.format(E(i,h,s,this.options.keySeparator,this.options.ignoreJSONStructure),a,o,{...n,...i,interpolationkey:s})};this.resetRegExp();const c=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>F(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?F(this.escape(e)):F(e)}].forEach(i=>{for(l=0;a=i.regex.exec(t);){const o=a[1].trim();if(r=p(o),void 0===r)if("function"==typeof c){const s=c(t,a,n);r=e(s)?s:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))r="";else{if(u){r=a[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${t}`),r=""}else e(r)||this.useRawValueToEscape||(r=s(r));const h=i.safeValue(r);if(t=t.replace(a[0],h),u?(i.regex.lastIndex+=r.length,i.regex.lastIndex-=a[0].length):i.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,i,o={}){let n,a,r;const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),a=o.match(/"/g);((n?.length??0)%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;n=this.nestingRegexp.exec(t);){let h=[];r={...o},r=r.replace&&!e(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;const p=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==p&&(h=n[1].slice(p).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,p)),a=i(l.call(this,n[1].trim(),r),r),a&&n[0]===t&&!e(a))return a;e(a)||(a=s(a)),a||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${t}`),a=""),h.length&&(a=h.reduce((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()}),a.trim())),t=t.replace(n[0],a),this.regexp.lastIndex=0}return t}}const I=e=>{const t={};return(s,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const a=i+JSON.stringify(n);let r=t[a];return r||(r=e(m(i),o),t[a]=r),r(s)}},T=e=>(t,s,i)=>e(m(s),i)(t);class D{constructor(e={}){this.logger=v.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?I:T;this.formats={number:s((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)}),currency:s((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)}),datetime:s((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)}),relativetime:s((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")}),list:s((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=I(t)}format(e,t,s,i={}){const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(e=>e.indexOf(")")>-1)){const e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?s.currency||(s.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?s.range||(s.range=o.trim()):o.split(";").forEach(e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();s[n]||(s[n]=o),"false"===o&&(s[n]=!1),"true"===o&&(s[n]=!0),isNaN(o)||(s[n]=parseInt(o,10))}})}return{formatName:t,formatOptions:s}})(t);if(this.formats[o]){let t=e;try{const a=i?.formatParams?.[i.interpolationkey]||{},r=a.locale||a.lng||i.locale||i.lng||s;t=this.formats[o](e,r,{...n,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class K extends b{constructor(e,t,s,i={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=v.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const o={},n={},a={},r={};return e.forEach(e=>{let i=!0;t.forEach(t=>{const a=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===n[a]&&(n[a]=!0):(this.state[a]=1,i=!1,void 0===n[a]&&(n[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===r[t]&&(r[t]=!0)))}),i||(a[e]=!0)}),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(r)}}loaded(e,t,s){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&s&&this.store.addResourceBundle(o,n,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach(s=>{((e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);i[o]=i[o]||[],i[o].push(s)})(s.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach(e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach(t=>{void 0===r[e][t]&&(r[e][t]=!0)})}),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())}),this.emit("loaded",r),this.queue=this.queue.filter(e=>!e.done)}read(e,t,s,i=0,o=this.retryTimeout,n){if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:o,callback:n});this.readingCalls++;const a=(a,r)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&r&&i<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,s,i+1,2*o,n)},o):n(a,r)},r=this.backend[s].bind(this.backend);if(2!==r.length)return r(e,t,a);try{const s=r(e,t);s&&"function"==typeof s.then?s.then(e=>a(null,e)).catch(a):a(null,s)}catch(e){a(e)}}prepareLoading(t,s,i={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();e(t)&&(t=this.languageUtils.toResolveHierarchy(t)),e(s)&&(s=[s]);const n=this.queueLoad(t,s,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),i=s[0],o=s[1];this.read(i,o,"read",void 0,void 0,(s,n)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,s),!s&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,s,n)})}saveMissing(e,t,s,i,o,n={},a=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const r={...n,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,s,i,r):l(e,t,s,i),o&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,s,i,a,r)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const A=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let s={};if("object"==typeof t[1]&&(s=t[1]),e(t[1])&&(s.defaultValue=t[1]),e(t[2])&&(s.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const e=t[3]||t[2];Object.keys(e).forEach(t=>{s[t]=e[t]})}return s},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),U=t=>(e(t.ns)&&(t.ns=[t.ns]),e(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),e(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),"boolean"==typeof t.initImmediate&&(t.initAsync=t.initImmediate),t),M=()=>{};class H extends b{constructor(e={},t){var s;if(super(),this.options=U(e),this.services={},this.logger=v,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach(e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))}),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(s={},i){this.isInitializing=!0,"function"==typeof s&&(i=s,s={}),null==s.defaultNS&&s.ns&&(e(s.ns)?s.defaultNS=s.ns:s.ns.indexOf("translation")<0&&(s.defaultNS=s.ns[0]));const o=A();this.options={...o,...this.options,...U(s)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==s.keySeparator&&(this.options.userDefinedKeySeparator=s.keySeparator),void 0!==s.nsSeparator&&(this.options.userDefinedNsSeparator=s.nsSeparator),"function"!=typeof this.options.overloadTranslationOptionHandler&&(this.options.overloadTranslationOptionHandler=o.overloadTranslationOptionHandler);const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?v.init(n(this.modules.logger),this.options):v.init(null,this.options),e=this.modules.formatter?this.modules.formatter:D;const t=new C(this.options);this.store=new k(this.options.resources,this.options);const s=this.services;s.logger=v,s.resourceStore=this.store,s.languageUtils=t,s.pluralResolver=new N(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix});this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),!e||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(s.formatter=n(e),s.formatter.init&&s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new V(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new K(n(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(s.languageDetector=n(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=n(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new R(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,i||(i=M),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});const a=t(),r=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),i(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?r():setTimeout(r,0),a}loadResources(t,s=M){let i=s;const o=e(t)?t:this.language;if("function"==typeof t&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===o?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)})};if(o)t(o);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e))}this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(e)})}else i(null)}reloadResources(e,s,i){const o=t();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof s&&(i=s,s=void 0),e||(e=this.languages),s||(s=this.options.ns),i||(i=M),this.services.backendConnector.reload(e,s,e=>{o.resolve(),i(e)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&S.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(s,i){this.isLanguageChangingTo=s;const o=t();this.emit("languageChanging",s);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,t)=>{t?this.isLanguageChangingTo===s&&(n(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve((...e)=>this.t(...e)),i&&i(e,(...e)=>this.t(...e))},r=t=>{s||t||!this.services.languageDetector||(t=[]);const i=e(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(i)?i:this.services.languageUtils.getBestMatchFromCodes(e(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,e=>{a(e,o)})};return s||!this.services.languageDetector||this.services.languageDetector.async?!s&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(s):r(this.services.languageDetector.detect()),o}getFixedT(t,s,i){const o=(e,t,...s)=>{let n;n="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(s)):{...t},n.lng=n.lng||o.lng,n.lngs=n.lngs||o.lngs,n.ns=n.ns||o.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||i||o.keyPrefix);const a=this.options.keySeparator||".";let r;return n.keyPrefix&&Array.isArray(e)?r=e.map(e=>("function"==typeof e&&(e=L(e,{...this.options,...t})),`${n.keyPrefix}${a}${e}`)):("function"==typeof e&&(e=L(e,{...this.options,...t})),r=n.keyPrefix?`${n.keyPrefix}${a}${e}`:e),this.t(r,n)};return e(t)?o.lng=t:o.lngs=t,o.ns=s,o.keyPrefix=i,o}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const n=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(s,e)||i&&!n(o,e)))}loadNamespaces(s,i){const o=t();return this.options.ns?(e(s)&&(s=[s]),s.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}loadLanguages(s,i){const o=t();e(s)&&(s=[s]);const n=this.options.preload||[],a=s.filter(e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return a.length?(this.options.preload=n.concat(a),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const t=new Intl.Locale(e);if(t&&t.getTextInfo){const e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}const t=this.services?.languageUtils||new C(A());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){const s=new H(e,t);return s.createInstance=H.createInstance,s}cloneInstance(e={},t=M){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new H(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));if(["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},s){const e=Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((s,i)=>(s[i]={...e[t][i]},s),e[t]),e),{});o.store=new k(e,i),o.services.resourceStore=o.store}if(e.interpolation){const t={...A().interpolation,...this.options.interpolation,...e.interpolation},s={...i,interpolation:t};o.services.interpolator=new V(s)}return o.translator=new R(o.services,i),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const B=H.createInstance();export{B as default,L as keyFromSelector};
|
|
1
|
+
const e=e=>"string"==typeof e,t=()=>{let e,t;const s=new Promise((s,i)=>{e=s,t=i});return s.resolve=e,s.reject=t,s},s=e=>null==e?"":""+e,i=/###/g,o=e=>e&&e.indexOf("###")>-1?e.replace(i,"."):e,n=t=>!t||e(t),a=(t,s,i)=>{const a=e(s)?s.split("."):s;let r=0;for(;r<a.length-1;){if(n(t))return{};const e=o(a[r]);!t[e]&&i&&(t[e]=new i),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{},++r}return n(t)?{}:{obj:t,k:o(a[r])}},r=(e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=s);let n=t[t.length-1],r=t.slice(0,t.length-1),l=a(e,r,Object);for(;void 0===l.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),l=a(e,r,Object),l?.obj&&void 0!==l.obj[`${l.k}.${n}`]&&(l.obj=void 0);l.obj[`${l.k}.${n}`]=s},l=(e,t)=>{const{obj:s,k:i}=a(e,t);if(s&&Object.prototype.hasOwnProperty.call(s,i))return s[i]},h=(t,s,i)=>{for(const o in s)"__proto__"!==o&&"constructor"!==o&&(o in t?e(t[o])||t[o]instanceof String||e(s[o])||s[o]instanceof String?i&&(t[o]=s[o]):h(t[o],s[o],i):t[o]=s[o]);return t},p=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var c={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const u=t=>e(t)?t.replace(/[&<>"'\/]/g,e=>c[e]):t;const g=[" ",",","?","!",";"],d=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),f=(e,t,s=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(s);let o=e;for(let e=0;e<i.length;){if(!o||"object"!=typeof o)return;let t,n="";for(let a=e;a<i.length;++a)if(a!==e&&(n+=s),n+=i[a],t=o[n],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<i.length-1)continue;e+=a-e+1;break}o=t}return o},m=e=>e?.replace("_","-"),y={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class x{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||y,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,s,i,o){return o&&!this.debug?null:(e(t[0])&&(t[0]=`${i}${this.prefix} ${t[0]}`),this.logger[s](t))}create(e){return new x(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new x(this.logger,e)}}var v=new x;class b{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e,...t){if(this.observers[e]){Array.from(this.observers[e].entries()).forEach(([e,s])=>{for(let i=0;i<s;i++)e(...t)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(([s,i])=>{for(let o=0;o<i;o++)s.apply(s,[e,...t])})}}}class k extends b{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(t,s,i,o={}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;t.indexOf(".")>-1?r=t.split("."):(r=[t,s],i&&(Array.isArray(i)?r.push(...i):e(i)&&n?r.push(...i.split(n)):r.push(i)));const h=l(this.data,r);return!h&&!s&&!i&&t.indexOf(".")>-1&&(t=r[0],s=r[1],i=r.slice(2).join(".")),!h&&a&&e(i)?f(this.data?.[t]?.[s],i,n):h}addResource(e,t,s,i,o={silent:!1}){const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let a=[e,t];s&&(a=a.concat(n?s.split(n):s)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),r(this.data,a,i),o.silent||this.emit("added",e,t,s,i)}addResources(t,s,i,o={silent:!1}){for(const o in i)(e(i[o])||Array.isArray(i[o]))&&this.addResource(t,s,o,i[o],{silent:!0});o.silent||this.emit("added",t,s,i)}addResourceBundle(e,t,s,i,o,n={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=s,s=t,t=a[1]),this.addNamespaces(t);let p=l(this.data,a)||{};n.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?h(p,s,o):p={...p,...s},r(this.data,a,p),n.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var S={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,o){return e.forEach(e=>{t=this.processors[e]?.process(t,s,i,o)??t}),t}};const O=Symbol("i18next/PATH_KEY");function L(e,t){const{[O]:s}=e(function(){const e=[],t=Object.create(null);let s;return t.get=(i,o)=>(s?.revoke?.(),o===O?e:(e.push(o),s=Proxy.revocable(i,t),s.proxy)),Proxy.revocable(Object.create(null),t).proxy}());return s.join(t?.keySeparator??".")}const w={},$=t=>!e(t)&&"boolean"!=typeof t&&"number"!=typeof t;class R extends b{constructor(e,t={}){var s,i;super(),s=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach(e=>{s[e]&&(i[e]=s[e])}),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=v.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};if(null==e)return!1;const i=this.resolve(e,s);if(void 0===i?.res)return!1;const o=$(i.res);return!1!==s.returnObjects||!o}extractFromKey(t,s){let i=void 0!==s.nsSeparator?s.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==s.keySeparator?s.keySeparator:this.options.keySeparator;let n=s.ns||this.options.defaultNS||[];const a=i&&t.indexOf(i)>-1,r=!(this.options.userDefinedKeySeparator||s.keySeparator||this.options.userDefinedNsSeparator||s.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=g.filter(e=>t.indexOf(e)<0&&s.indexOf(e)<0);if(0===i.length)return!0;const o=d.getRegExp(`(${i.map(e=>"?"===e?"\\?":e).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(s);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(t,i,o));if(a&&!r){const s=t.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:t,namespaces:e(n)?[n]:n};const a=t.split(i);(i!==o||i===o&&this.options.ns.indexOf(a[0])>-1)&&(n=a.shift()),t=a.join(o)}return{key:t,namespaces:e(n)?[n]:n}}translate(t,s,i){let o="object"==typeof s?{...s}:s;if("object"!=typeof o&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof o&&(o={...o}),o||(o={}),null==t)return"";"function"==typeof t&&(t=L(t,{...this.options,...o})),Array.isArray(t)||(t=[String(t)]);const n=void 0!==o.returnDetails?o.returnDetails:this.options.returnDetails,a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,{key:r,namespaces:l}=this.extractFromKey(t[t.length-1],o),h=l[l.length-1];let p=void 0!==o.nsSeparator?o.nsSeparator:this.options.nsSeparator;void 0===p&&(p=":");const c=o.lng||this.language,u=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===c?.toLowerCase())return u?n?{res:`${h}${p}${r}`,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:`${h}${p}${r}`:n?{res:r,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:h,usedParams:this.getUsedParamsDetails(o)}:r;const g=this.resolve(t,o);let d=g?.res;const f=g?.usedKey||r,m=g?.exactUsedKey||r,y=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,v=void 0!==o.count&&!e(o.count),b=R.hasDefaultValue(o),k=v?this.pluralResolver.getSuffix(c,o.count,o):"",S=o.ordinal&&v?this.pluralResolver.getSuffix(c,o.count,{ordinal:!1}):"",O=v&&!o.ordinal&&0===o.count,w=O&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${k}`]||o[`defaultValue${S}`]||o.defaultValue;let C=d;x&&!d&&b&&(C=w);const P=$(C),j=Object.prototype.toString.apply(C);if(!(x&&C&&P&&["[object Number]","[object Function]","[object RegExp]"].indexOf(j)<0)||e(y)&&Array.isArray(C))if(x&&e(y)&&Array.isArray(d))d=d.join(y),d&&(d=this.extendTranslation(d,t,o,i));else{let e=!1,s=!1;!this.isValidLookup(d)&&b&&(e=!0,d=w),this.isValidLookup(d)||(s=!0,d=r);const n=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&s?void 0:d,l=b&&w!==d&&this.options.updateMissing;if(s||e||l){if(this.logger.log(l?"updateKey":"missingKey",c,h,r,l?w:d),a){const e=this.resolve(r,{...o,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let s=0;s<t.length;s++)e.push(t[s]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(o.lng||this.language):e.push(o.lng||this.language);const s=(e,t,s)=>{const i=b&&s!==d?s:n;this.options.missingKeyHandler?this.options.missingKeyHandler(e,h,t,i,l,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,h,t,i,l,o),this.emit("missingKey",e,h,t,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach(e=>{const t=this.pluralResolver.getSuffixes(e,o);O&&o[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{s([e],r+t,o[`defaultValue${t}`]||w)})}):s(e,r,w))}d=this.extendTranslation(d,t,o,g,i),s&&d===r&&this.options.appendNamespaceToMissingKey&&(d=`${h}${p}${r}`),(s||e)&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${h}${p}${r}`:r,e?d:void 0,o))}else{if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(f,C,{...o,ns:l}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(g.res=e,g.usedParams=this.getUsedParamsDetails(o),g):e}if(a){const e=Array.isArray(C),t=e?[]:{},s=e?m:f;for(const e in C)if(Object.prototype.hasOwnProperty.call(C,e)){const i=`${s}${a}${e}`;t[e]=b&&!d?this.translate(i,{...o,defaultValue:$(w)?w[e]:void 0,joinArrays:!1,ns:l}):this.translate(i,{...o,joinArrays:!1,ns:l}),t[e]===i&&(t[e]=C[e])}d=t}}return n?(g.res=d,g.usedParams=this.getUsedParamsDetails(o),g):d}extendTranslation(t,s,i,o,n){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const a=e(t)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let r;if(a){const e=t.match(this.interpolator.nestingRegexp);r=e&&e.length}let l=i.replace&&!e(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,i.lng||this.language||o.usedLng,i),a){const e=t.match(this.interpolator.nestingRegexp);r<(e&&e.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(t=this.interpolator.nest(t,(...e)=>n?.[0]!==e[0]||i.context?this.translate(...e,s):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${s[0]}`),null),i)),i.interpolation&&this.interpolator.reset()}const a=i.postProcess||this.options.postProcess,r=e(a)?[a]:a;return null!=t&&r?.length&&!1!==i.applyPostProcessor&&(t=S.handle(r,t,s,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),t}resolve(t,s={}){let i,o,n,a,r;return e(t)&&(t=[t]),t.forEach(t=>{if(this.isValidLookup(i))return;const l=this.extractFromKey(t,s),h=l.key;o=h;let p=l.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const c=void 0!==s.count&&!e(s.count),u=c&&!s.ordinal&&0===s.count,g=void 0!==s.context&&(e(s.context)||"number"==typeof s.context)&&""!==s.context,d=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);p.forEach(e=>{this.isValidLookup(i)||(r=e,w[`${d[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(w[`${d[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${d.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),d.forEach(t=>{if(this.isValidLookup(i))return;a=t;const o=[h];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,h,t,e,s);else{let e;c&&(e=this.pluralResolver.getSuffix(t,s.count,s));const i=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(s.ordinal&&0===e.indexOf(n)&&o.push(h+e.replace(n,this.options.pluralSeparator)),o.push(h+e),u&&o.push(h+i)),g){const t=`${h}${this.options.contextSeparator||"_"}${s.context}`;o.push(t),c&&(s.ordinal&&0===e.indexOf(n)&&o.push(t+e.replace(n,this.options.pluralSeparator)),o.push(t+e),u&&o.push(t+i))}}let r;for(;r=o.pop();)this.isValidLookup(i)||(n=r,i=this.getResource(t,e,r,s))}))})}),{res:i,usedKey:o,exactUsedKey:n,usedLng:a,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(t={}){const s=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&!e(t.replace);let o=i?t.replace:t;if(i&&void 0!==t.count&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of s)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class C{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=v.create("languageUtils")}getScriptPartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=m(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(t){if(e(t)&&t.indexOf("-")>-1){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(e){}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;const s=this.getScriptPartFromCode(e);if(this.isSupportedCode(s))return t=s;const i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(e=>e===i?e:e.indexOf("-")<0&&i.indexOf("-")<0?void 0:e.indexOf("-")>0&&i.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1?e:void 0)}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(t,s){if(!t)return[];if("function"==typeof t&&(t=t(s)),e(t)&&(t=[t]),Array.isArray(t))return t;if(!s)return t.default||[];let i=t[s];return i||(i=t[this.getScriptPartFromCode(s)]),i||(i=t[this.formatLanguageCode(s)]),i||(i=t[this.getLanguagePartFromCode(s)]),i||(i=t.default),i||[]}toResolveHierarchy(t,s){const i=this.getFallbackCodes((!1===s?[]:s)||this.options.fallbackLng||[],t),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return e(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):e(t)&&n(this.formatLanguageCode(t)),i.forEach(e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))}),o}}const P={zero:0,one:1,two:2,few:3,many:4,other:5},j={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class N{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=v.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=m("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:s,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),j;if(!e.match(/-|_/))return j;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort((e,t)=>P[e]-P[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,s={}){const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const E=(t,s,i,o=".",n=!0)=>{let a=((e,t,s)=>{const i=l(e,s);return void 0!==i?i:l(t,s)})(t,s,i);return!a&&n&&e(i)&&(a=f(t,i,o),void 0===a&&(a=f(s,i,o))),a},F=e=>e.replace(/\$/g,"$$$$");class I{constructor(e={}){this.logger=v.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:a,suffixEscaped:r,formatSeparator:l,unescapeSuffix:h,unescapePrefix:c,nestingPrefix:g,nestingPrefixEscaped:d,nestingSuffix:f,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:x,alwaysFormat:v}=e.interpolation;this.escape=void 0!==t?t:u,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?p(o):n||"{{",this.suffix=a?p(a):r||"}}",this.formatSeparator=l||",",this.unescapePrefix=h?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":h||"",this.nestingPrefix=g?p(g):d||p("$t("),this.nestingSuffix=f?p(f):m||p(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=x||1e3,this.alwaysFormat=void 0!==v&&v,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(t,i,o,n){let a,r,l;const h=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},p=e=>{if(e.indexOf(this.formatSeparator)<0){const t=E(i,h,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...i,interpolationkey:e}):t}const t=e.split(this.formatSeparator),s=t.shift().trim(),a=t.join(this.formatSeparator).trim();return this.format(E(i,h,s,this.options.keySeparator,this.options.ignoreJSONStructure),a,o,{...n,...i,interpolationkey:s})};this.resetRegExp();const c=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>F(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?F(this.escape(e)):F(e)}].forEach(i=>{for(l=0;a=i.regex.exec(t);){const o=a[1].trim();if(r=p(o),void 0===r)if("function"==typeof c){const s=c(t,a,n);r=e(s)?s:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))r="";else{if(u){r=a[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${t}`),r=""}else e(r)||this.useRawValueToEscape||(r=s(r));const h=i.safeValue(r);if(t=t.replace(a[0],h),u?(i.regex.lastIndex+=r.length,i.regex.lastIndex-=a[0].length):i.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,i,o={}){let n,a,r;const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),a=o.match(/"/g);((n?.length??0)%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;n=this.nestingRegexp.exec(t);){let h=[];r={...o},r=r.replace&&!e(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;const p=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==p&&(h=n[1].slice(p).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,p)),a=i(l.call(this,n[1].trim(),r),r),a&&n[0]===t&&!e(a))return a;e(a)||(a=s(a)),a||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${t}`),a=""),h.length&&(a=h.reduce((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:n[1].trim()}),a.trim())),t=t.replace(n[0],a),this.regexp.lastIndex=0}return t}}const V=e=>{const t={};return(s,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const a=i+JSON.stringify(n);let r=t[a];return r||(r=e(m(i),o),t[a]=r),r(s)}},T=e=>(t,s,i)=>e(m(s),i)(t);class D{constructor(e={}){this.logger=v.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?V:T;this.formats={number:s((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)}),currency:s((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)}),datetime:s((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)}),relativetime:s((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")}),list:s((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=V(t)}format(e,t,s,i={}){const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(e=>e.indexOf(")")>-1)){const e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?s.currency||(s.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?s.range||(s.range=o.trim()):o.split(";").forEach(e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();s[n]||(s[n]=o),"false"===o&&(s[n]=!1),"true"===o&&(s[n]=!0),isNaN(o)||(s[n]=parseInt(o,10))}})}return{formatName:t,formatOptions:s}})(t);if(this.formats[o]){let t=e;try{const a=i?.formatParams?.[i.interpolationkey]||{},r=a.locale||a.lng||i.locale||i.lng||s;t=this.formats[o](e,r,{...n,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class A extends b{constructor(e,t,s,i={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=v.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const o={},n={},a={},r={};return e.forEach(e=>{let i=!0;t.forEach(t=>{const a=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===n[a]&&(n[a]=!0):(this.state[a]=1,i=!1,void 0===n[a]&&(n[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===r[t]&&(r[t]=!0)))}),i||(a[e]=!0)}),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(r)}}loaded(e,t,s){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&s&&this.store.addResourceBundle(o,n,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach(s=>{((e,t,s)=>{const{obj:i,k:o}=a(e,t,Object);i[o]=i[o]||[],i[o].push(s)})(s.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach(e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach(t=>{void 0===r[e][t]&&(r[e][t]=!0)})}),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())}),this.emit("loaded",r),this.queue=this.queue.filter(e=>!e.done)}read(e,t,s,i=0,o=this.retryTimeout,n){if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:o,callback:n});this.readingCalls++;const a=(a,r)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&r&&i<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,s,i+1,2*o,n)},o):n(a,r)},r=this.backend[s].bind(this.backend);if(2!==r.length)return r(e,t,a);try{const s=r(e,t);s&&"function"==typeof s.then?s.then(e=>a(null,e)).catch(a):a(null,s)}catch(e){a(e)}}prepareLoading(t,s,i={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();e(t)&&(t=this.languageUtils.toResolveHierarchy(t)),e(s)&&(s=[s]);const n=this.queueLoad(t,s,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),i=s[0],o=s[1];this.read(i,o,"read",void 0,void 0,(s,n)=>{s&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,s),!s&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,s,n)})}saveMissing(e,t,s,i,o,n={},a=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const r={...n,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;o=5===l.length?l(e,t,s,i,r):l(e,t,s,i),o&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,s,i,a,r)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const K=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let s={};if("object"==typeof t[1]&&(s=t[1]),e(t[1])&&(s.defaultValue=t[1]),e(t[2])&&(s.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const e=t[3]||t[2];Object.keys(e).forEach(t=>{s[t]=e[t]})}return s},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),U=t=>(e(t.ns)&&(t.ns=[t.ns]),e(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),e(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),"boolean"==typeof t.initImmediate&&(t.initAsync=t.initImmediate),t),M=()=>{};class H extends b{constructor(e={},t){var s;if(super(),this.options=U(e),this.services={},this.logger=v,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach(e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))}),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(s={},i){this.isInitializing=!0,"function"==typeof s&&(i=s,s={}),null==s.defaultNS&&s.ns&&(e(s.ns)?s.defaultNS=s.ns:s.ns.indexOf("translation")<0&&(s.defaultNS=s.ns[0]));const o=K();this.options={...o,...this.options,...U(s)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==s.keySeparator&&(this.options.userDefinedKeySeparator=s.keySeparator),void 0!==s.nsSeparator&&(this.options.userDefinedNsSeparator=s.nsSeparator),"function"!=typeof this.options.overloadTranslationOptionHandler&&(this.options.overloadTranslationOptionHandler=o.overloadTranslationOptionHandler),!0===this.options.debug&&"undefined"!=typeof console&&console.warn("i18next is maintained with support from locize.com — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com");const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?v.init(n(this.modules.logger),this.options):v.init(null,this.options),e=this.modules.formatter?this.modules.formatter:D;const t=new C(this.options);this.store=new k(this.options.resources,this.options);const s=this.services;s.logger=v,s.resourceStore=this.store,s.languageUtils=t,s.pluralResolver=new N(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix});this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),!e||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(s.formatter=n(e),s.formatter.init&&s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new I(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new A(n(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(s.languageDetector=n(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=n(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new R(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,i||(i=M),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});const a=t(),r=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),i(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?r():setTimeout(r,0),a}loadResources(t,s=M){let i=s;const o=e(t)?t:this.language;if("function"==typeof t&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===o?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)})};if(o)t(o);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e))}this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(e)})}else i(null)}reloadResources(e,s,i){const o=t();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof s&&(i=s,s=void 0),e||(e=this.languages),s||(s=this.options.ns),i||(i=M),this.services.backendConnector.reload(e,s,e=>{o.resolve(),i(e)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&S.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(s,i){this.isLanguageChangingTo=s;const o=t();this.emit("languageChanging",s);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,t)=>{t?this.isLanguageChangingTo===s&&(n(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,o.resolve((...e)=>this.t(...e)),i&&i(e,(...e)=>this.t(...e))},r=t=>{s||t||!this.services.languageDetector||(t=[]);const i=e(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(i)?i:this.services.languageUtils.getBestMatchFromCodes(e(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,e=>{a(e,o)})};return s||!this.services.languageDetector||this.services.languageDetector.async?!s&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(s):r(this.services.languageDetector.detect()),o}getFixedT(t,s,i){const o=(e,t,...s)=>{let n;n="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(s)):{...t},n.lng=n.lng||o.lng,n.lngs=n.lngs||o.lngs,n.ns=n.ns||o.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||i||o.keyPrefix);const a=this.options.keySeparator||".";let r;return n.keyPrefix&&Array.isArray(e)?r=e.map(e=>("function"==typeof e&&(e=L(e,{...this.options,...t})),`${n.keyPrefix}${a}${e}`)):("function"==typeof e&&(e=L(e,{...this.options,...t})),r=n.keyPrefix?`${n.keyPrefix}${a}${e}`:e),this.t(r,n)};return e(t)?o.lng=t:o.lngs=t,o.ns=s,o.keyPrefix=i,o}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const n=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(s,e)||i&&!n(o,e)))}loadNamespaces(s,i){const o=t();return this.options.ns?(e(s)&&(s=[s]),s.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}loadLanguages(s,i){const o=t();e(s)&&(s=[s]);const n=this.options.preload||[],a=s.filter(e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return a.length?(this.options.preload=n.concat(a),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const t=new Intl.Locale(e);if(t&&t.getTextInfo){const e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}const t=this.services?.languageUtils||new C(K());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){const s=new H(e,t);return s.createInstance=H.createInstance,s}cloneInstance(e={},t=M){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new H(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));if(["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},s){const e=Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((s,i)=>(s[i]={...e[t][i]},s),e[t]),e),{});o.store=new k(e,i),o.services.resourceStore=o.store}if(e.interpolation){const t={...K().interpolation,...this.options.interpolation,...e.interpolation},s={...i,interpolation:t};o.services.interpolator=new I(s)}return o.translator=new R(o.services,i),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const z=H.createInstance();export{z as default,L as keyFromSelector};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface CascaderOption {
|
|
3
|
+
value: any;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
children?: CascaderOption[];
|
|
7
|
+
}
|
|
8
|
+
export interface CascaderProps {
|
|
9
|
+
value?: any[];
|
|
10
|
+
defaultValue?: any[];
|
|
11
|
+
onChange?: (value: any[], selectedOptions: CascaderOption[]) => void;
|
|
12
|
+
options?: CascaderOption[];
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
size?: 'large' | 'middle' | 'small';
|
|
16
|
+
style?: React.CSSProperties;
|
|
17
|
+
className?: string;
|
|
18
|
+
allowClear?: boolean;
|
|
19
|
+
maxTagCount?: number;
|
|
20
|
+
showSearch?: boolean;
|
|
21
|
+
expandTrigger?: 'click' | 'hover';
|
|
22
|
+
changeOnSelect?: boolean;
|
|
23
|
+
fieldNames?: {
|
|
24
|
+
label?: string;
|
|
25
|
+
value?: string;
|
|
26
|
+
children?: string;
|
|
27
|
+
};
|
|
28
|
+
width?: number | string;
|
|
29
|
+
dropdownWidth?: number | string;
|
|
30
|
+
dropdownHeight?: number | string;
|
|
31
|
+
dropdownStyle?: React.CSSProperties;
|
|
32
|
+
dropdownClassName?: string;
|
|
33
|
+
placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
|
|
34
|
+
checkbox?: boolean;
|
|
35
|
+
}
|