@blueking/bk-user-selector 0.0.29-beta.1 → 0.0.29-beta.10

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.
@@ -3,7 +3,7 @@
3
3
  try {
4
4
  if (typeof document != "undefined") {
5
5
  var elementStyle = document.createElement("style");
6
- elementStyle.appendChild(document.createTextNode(".scroll-bar-style::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.scroll-bar-style::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\nhtml,\nbody {\n padding: 0;\n margin: 0;\n}\n* {\n box-sizing: border-box;\n}\n/**\n * HTML5 display definitions\n * ==========================================================================\n *\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n /* 1 */\n display: inline-block;\n /* 2 */\n vertical-align: baseline;\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none;\n}\n/**\n * Links\n * ==========================================================================\n *\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent;\n}\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n outline: 0;\n}\n/**\n * Text-level semantics\n * ==========================================================================\n *\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n/**\n * Embedded content\n * ==========================================================================\n *\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0;\n}\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n/**\n * Grouping content\n * ==========================================================================\n *\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px;\n}\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n height: 0;\n box-sizing: content-box;\n}\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n *\n * Forms\n * ==========================================================================\n *\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n *\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n /* 3 */\n margin: 0;\n /* 2 */\n font: inherit;\n /* 1 */\n color: inherit;\n}\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type `input` and others.\n */\nbutton,\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n /* 3 */\n cursor: pointer;\n /* 2 */\n appearance: button;\n}\n/* Re-set default cursor for disabled elements. */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n/* Remove inner padding and border in Firefox 4+. */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet.\n */\ninput {\n line-height: normal;\n}\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type='checkbox'],\ninput[type='radio'] {\n /* 2 */\n padding: 0;\n /* 1 */\n box-sizing: border-box;\n}\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n::-ms-clear,\n::-ms-reveal {\n display: none;\n}\ninput[type='text']::-ms-clear {\n display: none;\n}\ninput[type='text']::-ms-reveal {\n display: none;\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type='search'] {\n /* 2 */\n box-sizing: content-box;\n /* 1 */\n appearance: textfield;\n}\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n appearance: none;\n}\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n padding: 0.35em 0.625em 0.75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n /* 2 */\n padding: 0;\n /* 1 */\n border: 0;\n}\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto;\n}\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold;\n}\n/**\n* BK-Scroll-Style\n*/\n.bk-scroll-y {\n overflow-y: auto;\n}\n.bk-scroll-y::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.bk-scroll-y::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\n.bk-scroll-x {\n overflow-x: auto;\n}\n.bk-scroll-x::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.bk-scroll-x::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\n@keyframes loading-scale-animate {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0.6);\n }\n}\n@keyframes fade {\n 100% {\n background-color: transparent;\n }\n}\n.bk-user-selector-transition .bk-user-selector-fade-enter-active,\n.bk-user-selector-transition .bk-user-selector-fade-leave-active {\n transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1);\n}\n.bk-user-selector-transition .bk-user-selector-fade-enter,\n.bk-user-selector-transition .bk-user-selector-fade-leave-to {\n opacity: 0;\n}\n.clearfix-style::after {\n display: block;\n height: 0;\n clear: both;\n font-size: 0;\n content: '';\n visibility: hidden;\n}\n.bk-user-selector-popper {\n display: none;\n padding: 7px 14px;\n font-size: 12px;\n color: #fff;\n background: #333;\n border-radius: 4px;\n}\n.bk-user-selector-popper.light {\n color: #63656e;\n background: #fff;\n box-shadow: #dcdee5 0 0 6px 0;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow,\n.bk-user-selector-popper .bk-user-selector-popper-arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow {\n visibility: hidden;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow::before {\n content: '';\n visibility: visible;\n transform: rotate(45deg);\n}\n.bk-user-selector-popper[data-show] {\n display: block;\n}\n.bk-user-selector-popper[data-popper-placement^='top'] > .bk-user-selector-popper-arrow {\n bottom: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='bottom'] > .bk-user-selector-popper-arrow {\n top: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='left'] > .bk-user-selector-popper-arrow {\n right: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='right'] > .bk-user-selector-popper-arrow {\n left: -4px;\n}\n.bk-user-selector-loading-wrapper {\n position: static;\n vertical-align: middle;\n}\n.bk-user-selector-loading-wrapper:not(.bk-user-selector-nested-loading):not(.bk-user-selector-directive-loading) {\n display: inline-flex;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading {\n width: 100%;\n height: 100%;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading {\n position: relative;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading.is-block,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading.is-block {\n display: block;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading .bk-user-selector-loading-indicator,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading .bk-user-selector-loading-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 11;\n text-align: center;\n transform: translate(-50%, -50%);\n}\n.bk-user-selector-loading-wrapper .dot {\n display: inline-flex;\n width: 14px;\n height: 14px;\n margin-right: 10px;\n border-radius: 50%;\n transform: scale(0.6);\n animation-duration: 0.8s;\n animation-iteration-count: infinite;\n animation-name: loading-scale-animate;\n animation-direction: normal;\n}\n.bk-user-selector-loading-wrapper .oval {\n position: absolute;\n width: 6px;\n height: 8px;\n background-color: #63656e;\n border-radius: 8px;\n animation-duration: 1.2s;\n animation-iteration-count: infinite;\n animation-name: fade;\n transform-origin: center 24px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator {\n display: flex;\n line-height: 1;\n text-align: center;\n flex-direction: column;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-4 {\n background-color: #2dcb56;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-4 {\n background-color: #ea3636;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-4 {\n background-color: #ff9c01;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-4 {\n background-color: #3a84ff;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-4 {\n background-color: white;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-4 {\n background-color: #c4c6cc;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-1 {\n background-color: #ea3636;\n animation-delay: 0.1s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-2 {\n background-color: #ff9c01;\n animation-delay: 0.25s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-3 {\n background-color: #2dcb56;\n animation-delay: 0.4s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-4 {\n background-color: #3a84ff;\n animation-delay: 0.55s;\n margin-right: 0px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-1 {\n transform: rotate(135deg);\n animation-delay: -0.45s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-2 {\n transform: rotate(90deg);\n animation-delay: -0.6s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-3 {\n transform: rotate(45deg);\n animation-delay: -0.75s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-4 {\n transform: rotate(0deg);\n animation-delay: -0.9s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-5 {\n transform: rotate(-45deg);\n animation-delay: -1.05s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-6 {\n transform: rotate(-90deg);\n animation-delay: -1.2s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-7 {\n transform: rotate(-135deg);\n animation-delay: -1.35s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-8 {\n transform: rotate(-180deg);\n animation-delay: -1.5s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-normal-indicator {\n display: inline-flex;\n justify-content: center;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-spin-indicator {\n position: relative;\n display: inline-flex;\n justify-content: center;\n width: 48px;\n height: 48px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .bk-user-selector-spin-indicator {\n height: 16px;\n width: 16px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .dot {\n width: 3px;\n height: 3px;\n margin-right: 3px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .oval {\n width: 2px;\n height: 3px;\n border-radius: 3px;\n transform-origin: center 8px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .bk-user-selector-loading-title {\n font-size: 14px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .bk-user-selector-spin-indicator {\n height: 32px;\n width: 32px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .dot {\n width: 6px;\n height: 6px;\n margin-right: 6px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .oval {\n width: 4px;\n height: 5px;\n border-radius: 5px;\n transform-origin: center 16px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .bk-user-selector-loading-title {\n font-size: 12px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .bk-user-selector-spin-indicator {\n height: 68px;\n width: 68px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .dot {\n width: 20px;\n height: 20px;\n margin-right: 12px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .oval {\n width: 8px;\n height: 12px;\n border-radius: 12px;\n transform-origin: center 34px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .bk-user-selector-loading-title {\n font-size: 14px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-loading-title {\n margin-top: 8px;\n font-size: 14px;\n line-height: normal;\n color: #63656e;\n text-align: center;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content {\n position: absolute;\n padding: 12px;\n font-size: 12px;\n color: #fff;\n background: #26323d;\n border-radius: 4px;\n box-sizing: border-box;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content.hidden {\n display: none;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content .bk-user-selector-pop2-arrow {\n position: absolute;\n z-index: -1;\n width: 8px;\n height: 8px;\n background: #333;\n transform: rotate(45deg);\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content[data-theme^='light'] {\n color: #26323d;\n background-color: #fff;\n box-shadow: 0 0 6px 0 #dcdee5;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content[data-theme^='light'] .bk-user-selector-pop2-arrow {\n background-color: #fff;\n}\n.text-ov {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.position-relative {\n position: relative;\n}\n.position-absolute {\n position: absolute;\n}\n.overflow-popover-reference {\n width: 100%;\n}\n.bk-user-selector-tag {\n display: inline-flex;\n align-items: center;\n height: 22px;\n padding: 0 10px;\n font-size: 12px;\n line-height: 22px;\n color: #63656e;\n cursor: default;\n background-color: #f0f1f5;\n border-color: rgba(151, 155, 165, 0.3);\n box-sizing: border-box;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success {\n color: #14a568;\n border-color: rgba(20, 165, 104, 0.3);\n background-color: #E4FAF0;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success.bk-user-selector-tag-filled {\n background-color: #14A568;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success.bk-user-selector-tag-filled:hover {\n background-color: #42B685;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success:hover:not(.bk-user-selector-tag-filled) {\n background-color: #C9F5E2;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info {\n color: #3a84ff;\n border-color: rgba(58, 132, 255, 0.3);\n background-color: #EDF4FF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info.bk-user-selector-tag-filled {\n background-color: #3A84FF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info.bk-user-selector-tag-filled:hover {\n background-color: #609CFE;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info:hover:not(.bk-user-selector-tag-filled) {\n background-color: #E1ECFF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning {\n color: #fe9c00;\n border-color: rgba(254, 165, 0, 0.3);\n background-color: #FFF1DB;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning.bk-user-selector-tag-filled {\n background-color: #FE9C00;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning.bk-user-selector-tag-filled:hover {\n background-color: #FDAF32;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning:hover:not(.bk-user-selector-tag-filled) {\n background-color: #FFE8C3;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger {\n color: #ea3636;\n border-color: rgba(234, 53, 54, 0.3);\n background-color: #FEEBEA;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger.bk-user-selector-tag-filled {\n background-color: #EA3536;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger.bk-user-selector-tag-filled:hover {\n background-color: #ED5C5D;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger:hover:not(.bk-user-selector-tag-filled) {\n background-color: #FEDDDC;\n}\n.bk-user-selector-tag:hover {\n background-color: #dcdee5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-filled {\n color: #fff;\n background-color: #979BA5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-filled:hover {\n background-color: #ACAFB6;\n}\n.bk-user-selector-tag.bk-user-selector-tag-stroke {\n padding: 0 9px;\n line-height: 20px;\n border-style: solid;\n border-width: 1px;\n}\n.bk-user-selector-tag.bk-user-selector-tag-closable {\n padding: 0 4px 0 10px;\n}\n.bk-user-selector-tag.bk-user-selector-tag-checkable {\n cursor: pointer;\n background: none;\n}\n.bk-user-selector-tag.bk-user-selector-tag-checkable:hover {\n background: #F0F1F5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-check {\n color: #fff;\n background: #3a84ff;\n}\n.bk-user-selector-tag.bk-user-selector-tag-check:hover {\n color: #fff;\n background: #3a84ff;\n opacity: 1;\n}\n.bk-user-selector-tag--default {\n padding: 0 8px;\n}\n.bk-user-selector-tag--small {\n height: 16px;\n padding: 0 4px;\n line-height: 16px;\n}\n.bk-user-selector-tag--small .bk-user-selector-tag-text {\n font-size: 10px;\n}\n.bk-user-selector-tag-text {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.bk-user-selector-tag-icon {\n flex-shrink: 0;\n margin-right: 4px;\n font-size: 14px;\n line-height: 0;\n}\n.bk-user-selector-tag-close {\n flex-shrink: 0;\n margin-left: 4px;\n font-size: 12px;\n line-height: 0;\n cursor: pointer;\n}\n.me-tag[data-v-9ccd9029] {\n position: absolute;\n top: 50%;\n right: 8px;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n color: #4d4f56;\n cursor: pointer;\n background-color: #e1ecff;\n border-radius: 50%;\n transform: translateY(-50%);\n}\n.me-tag[data-v-9ccd9029]:hover {\n color: #3a84ff;\n background-color: #cddffe;\n}\n.me-tag.disabled[data-v-9ccd9029] {\n color: #c4c6cc;\n cursor: not-allowed;\n background-color: #f0f1f5;\n}.dropdown-content[data-v-a4132257] {\n min-height: 40px;\n max-height: 300px;\n padding: 5px 0;\n overflow-y: auto;\n}\n.dropdown-content .no-data[data-v-a4132257] {\n padding: 10px;\n color: #979ba5;\n text-align: center;\n}\n.dropdown-content .user-group .group-header[data-v-a4132257] {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n color: #979ba5;\n}\n.dropdown-content .user-group .group-header .group-count[data-v-a4132257] {\n margin-left: 4px;\n}\n.dropdown-content .user-option[data-v-a4132257] {\n display: flex;\n align-items: center;\n height: 32px;\n padding: 8px 12px;\n cursor: pointer;\n}\n.dropdown-content .user-option[data-v-a4132257]:hover {\n background-color: #f5f7fa;\n}.bk-user-selector-popover.bk-user-selector-pop2-content {\n padding: 0;\n}.user-tag[data-v-51944a49] {\n margin-right: 4px;\n margin-left: 0;\n}\n.user-tag.draggable[data-v-51944a49] {\n cursor: move;\n}\n.user-tag.active[data-v-51944a49] {\n background-color: #e1ecff;\n border-color: #3a84ff;\n}\n.user-tag .tag-content .user-name[data-v-51944a49] {\n overflow: hidden;\n font-size: 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.multiple-selector[data-v-bebe517d] {\n position: relative;\n width: 100%;\n}\n.multiple-selector.is-disabled[data-v-bebe517d] {\n pointer-events: none;\n}\n.multiple-selector .tags-container[data-v-bebe517d] {\n min-height: 32px;\n padding: 1px 10px 1px 8px;\n background-color: #fff;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n transition: all 0.2s ease;\n}\n.multiple-selector .tags-container.focused[data-v-bebe517d] {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.multiple-selector .tags-container.collapsed[data-v-bebe517d] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-list[data-v-bebe517d] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-wrapper[data-v-bebe517d] {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n}\n.multiple-selector .search-input[data-v-bebe517d] {\n min-width: 10px;\n height: 28px;\n background: transparent;\n border: none;\n outline: none;\n}\n.multiple-selector .search-input[data-v-bebe517d]::placeholder {\n color: #c4c6cc;\n}\n.multiple-selector .search-input.inline[data-v-bebe517d] {\n min-width: 10px;\n}\n.multiple-selector .search-input.last[data-v-bebe517d], .multiple-selector .search-input.collapsed[data-v-bebe517d] {\n flex: 1;\n min-width: 60px;\n}.single-selector[data-v-67f2ee6a] {\n position: relative;\n width: 100%;\n}\n.single-selector.is-disabled[data-v-67f2ee6a] {\n pointer-events: none;\n}\n.input-container[data-v-67f2ee6a] {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 32px;\n padding: 0 8px;\n background-color: #fff;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n}\n.input-container[data-v-67f2ee6a]:focus-within {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.search-input[data-v-67f2ee6a] {\n flex: 1;\n height: 30px;\n background: transparent;\n border: none;\n outline: none;\n}\n.search-input[data-v-67f2ee6a]::placeholder {\n color: #c4c6cc;\n}.bk-user-selector[data-v-30b84150] {\n position: relative;\n width: 100%;\n font-size: 12px;\n}\n.bk-user-selector.is-disabled[data-v-30b84150] {\n cursor: not-allowed;\n background-color: #dcdee5;\n}"));
6
+ elementStyle.appendChild(document.createTextNode(".scroll-bar-style::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.scroll-bar-style::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\nhtml,\nbody {\n padding: 0;\n margin: 0;\n}\n* {\n box-sizing: border-box;\n}\n/**\n * HTML5 display definitions\n * ==========================================================================\n *\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n /* 1 */\n display: inline-block;\n /* 2 */\n vertical-align: baseline;\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none;\n}\n/**\n * Links\n * ==========================================================================\n *\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent;\n}\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n outline: 0;\n}\n/**\n * Text-level semantics\n * ==========================================================================\n *\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted;\n}\n/**\n * Embedded content\n * ==========================================================================\n *\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0;\n}\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden;\n}\n/**\n * Grouping content\n * ==========================================================================\n *\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px;\n}\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n height: 0;\n box-sizing: content-box;\n}\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n *\n * Forms\n * ==========================================================================\n *\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n *\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n /* 3 */\n margin: 0;\n /* 2 */\n font: inherit;\n /* 1 */\n color: inherit;\n}\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type `input` and others.\n */\nbutton,\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n /* 3 */\n cursor: pointer;\n /* 2 */\n appearance: button;\n}\n/* Re-set default cursor for disabled elements. */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n/* Remove inner padding and border in Firefox 4+. */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet.\n */\ninput {\n line-height: normal;\n}\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type='checkbox'],\ninput[type='radio'] {\n /* 2 */\n padding: 0;\n /* 1 */\n box-sizing: border-box;\n}\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n::-ms-clear,\n::-ms-reveal {\n display: none;\n}\ninput[type='text']::-ms-clear {\n display: none;\n}\ninput[type='text']::-ms-reveal {\n display: none;\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type='search'] {\n /* 2 */\n box-sizing: content-box;\n /* 1 */\n appearance: textfield;\n}\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n appearance: none;\n}\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n padding: 0.35em 0.625em 0.75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n /* 2 */\n padding: 0;\n /* 1 */\n border: 0;\n}\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto;\n}\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold;\n}\n/**\n* BK-Scroll-Style\n*/\n.bk-scroll-y {\n overflow-y: auto;\n}\n.bk-scroll-y::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.bk-scroll-y::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\n.bk-scroll-x {\n overflow-x: auto;\n}\n.bk-scroll-x::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.bk-scroll-x::-webkit-scrollbar-thumb {\n background: #ddd;\n border-radius: 20px;\n box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);\n}\n@keyframes loading-scale-animate {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0.6);\n }\n}\n@keyframes fade {\n 100% {\n background-color: transparent;\n }\n}\n.bk-user-selector-transition .bk-user-selector-fade-enter-active,\n.bk-user-selector-transition .bk-user-selector-fade-leave-active {\n transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1);\n}\n.bk-user-selector-transition .bk-user-selector-fade-enter,\n.bk-user-selector-transition .bk-user-selector-fade-leave-to {\n opacity: 0;\n}\n.clearfix-style::after {\n display: block;\n height: 0;\n clear: both;\n font-size: 0;\n content: '';\n visibility: hidden;\n}\n.bk-user-selector-popper {\n display: none;\n padding: 7px 14px;\n font-size: 12px;\n color: #fff;\n background: #333;\n border-radius: 4px;\n}\n.bk-user-selector-popper.light {\n color: #63656e;\n background: #fff;\n box-shadow: #dcdee5 0 0 6px 0;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow,\n.bk-user-selector-popper .bk-user-selector-popper-arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow {\n visibility: hidden;\n}\n.bk-user-selector-popper .bk-user-selector-popper-arrow::before {\n content: '';\n visibility: visible;\n transform: rotate(45deg);\n}\n.bk-user-selector-popper[data-show] {\n display: block;\n}\n.bk-user-selector-popper[data-popper-placement^='top'] > .bk-user-selector-popper-arrow {\n bottom: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='bottom'] > .bk-user-selector-popper-arrow {\n top: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='left'] > .bk-user-selector-popper-arrow {\n right: -4px;\n}\n.bk-user-selector-popper[data-popper-placement^='right'] > .bk-user-selector-popper-arrow {\n left: -4px;\n}\n.bk-user-selector-loading-wrapper {\n position: static;\n vertical-align: middle;\n}\n.bk-user-selector-loading-wrapper:not(.bk-user-selector-nested-loading):not(.bk-user-selector-directive-loading) {\n display: inline-flex;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading {\n width: 100%;\n height: 100%;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading {\n position: relative;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading.is-block,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading.is-block {\n display: block;\n}\n.bk-user-selector-loading-wrapper.bk-user-selector-directive-loading .bk-user-selector-loading-indicator,\n.bk-user-selector-loading-wrapper.bk-user-selector-nested-loading .bk-user-selector-loading-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 11;\n text-align: center;\n transform: translate(-50%, -50%);\n}\n.bk-user-selector-loading-wrapper .dot {\n display: inline-flex;\n width: 14px;\n height: 14px;\n margin-right: 10px;\n border-radius: 50%;\n transform: scale(0.6);\n animation-duration: 0.8s;\n animation-iteration-count: infinite;\n animation-name: loading-scale-animate;\n animation-direction: normal;\n}\n.bk-user-selector-loading-wrapper .oval {\n position: absolute;\n width: 6px;\n height: 8px;\n background-color: #63656e;\n border-radius: 8px;\n animation-duration: 1.2s;\n animation-iteration-count: infinite;\n animation-name: fade;\n transform-origin: center 24px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator {\n display: flex;\n line-height: 1;\n text-align: center;\n flex-direction: column;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-success .dot-4 {\n background-color: #2dcb56;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-danger .dot-4 {\n background-color: #ea3636;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-warning .dot-4 {\n background-color: #ff9c01;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-primary .dot-4 {\n background-color: #3a84ff;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-white .dot-4 {\n background-color: white;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .oval,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-1,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-2,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-3,\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-default .dot-4 {\n background-color: #c4c6cc;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-1 {\n background-color: #ea3636;\n animation-delay: 0.1s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-2 {\n background-color: #ff9c01;\n animation-delay: 0.25s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-3 {\n background-color: #2dcb56;\n animation-delay: 0.4s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .dot-4 {\n background-color: #3a84ff;\n animation-delay: 0.55s;\n margin-right: 0px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-1 {\n transform: rotate(135deg);\n animation-delay: -0.45s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-2 {\n transform: rotate(90deg);\n animation-delay: -0.6s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-3 {\n transform: rotate(45deg);\n animation-delay: -0.75s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-4 {\n transform: rotate(0deg);\n animation-delay: -0.9s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-5 {\n transform: rotate(-45deg);\n animation-delay: -1.05s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-6 {\n transform: rotate(-90deg);\n animation-delay: -1.2s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-7 {\n transform: rotate(-135deg);\n animation-delay: -1.35s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .oval-8 {\n transform: rotate(-180deg);\n animation-delay: -1.5s;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-normal-indicator {\n display: inline-flex;\n justify-content: center;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-spin-indicator {\n position: relative;\n display: inline-flex;\n justify-content: center;\n width: 48px;\n height: 48px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .bk-user-selector-spin-indicator {\n height: 16px;\n width: 16px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .dot {\n width: 3px;\n height: 3px;\n margin-right: 3px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .oval {\n width: 2px;\n height: 3px;\n border-radius: 3px;\n transform-origin: center 8px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-mini .bk-user-selector-loading-title {\n font-size: 14px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .bk-user-selector-spin-indicator {\n height: 32px;\n width: 32px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .dot {\n width: 6px;\n height: 6px;\n margin-right: 6px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .oval {\n width: 4px;\n height: 5px;\n border-radius: 5px;\n transform-origin: center 16px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-small .bk-user-selector-loading-title {\n font-size: 12px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .bk-user-selector-spin-indicator {\n height: 68px;\n width: 68px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .dot {\n width: 20px;\n height: 20px;\n margin-right: 12px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .dot.dot-4 {\n margin-right: 0;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .oval {\n width: 8px;\n height: 12px;\n border-radius: 12px;\n transform-origin: center 34px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator.bk-user-selector-loading-size-large .bk-user-selector-loading-title {\n font-size: 14px;\n}\n.bk-user-selector-loading-wrapper .bk-user-selector-loading-indicator .bk-user-selector-loading-title {\n margin-top: 8px;\n font-size: 14px;\n line-height: normal;\n color: #63656e;\n text-align: center;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content {\n position: absolute;\n padding: 12px;\n font-size: 12px;\n color: #fff;\n background: #26323d;\n border-radius: 4px;\n box-sizing: border-box;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content.hidden {\n display: none;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content .bk-user-selector-pop2-arrow {\n position: absolute;\n z-index: -1;\n width: 8px;\n height: 8px;\n background: #333;\n transform: rotate(45deg);\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content[data-theme^='light'] {\n color: #26323d;\n background-color: #fff;\n box-shadow: 0 0 6px 0 #dcdee5;\n}\n.bk-user-selector-popover.bk-user-selector-pop2-content[data-theme^='light'] .bk-user-selector-pop2-arrow {\n background-color: #fff;\n}\n.text-ov {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.position-relative {\n position: relative;\n}\n.position-absolute {\n position: absolute;\n}\n.overflow-popover-reference {\n width: 100%;\n}\n.bk-user-selector-tag {\n display: inline-flex;\n align-items: center;\n height: 22px;\n padding: 0 10px;\n font-size: 12px;\n line-height: 22px;\n color: #63656e;\n cursor: default;\n background-color: #f0f1f5;\n border-color: rgba(151, 155, 165, 0.3);\n box-sizing: border-box;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success {\n color: #14a568;\n border-color: rgba(20, 165, 104, 0.3);\n background-color: #E4FAF0;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success.bk-user-selector-tag-filled {\n background-color: #14A568;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success.bk-user-selector-tag-filled:hover {\n background-color: #42B685;\n}\n.bk-user-selector-tag.bk-user-selector-tag-success:hover:not(.bk-user-selector-tag-filled) {\n background-color: #C9F5E2;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info {\n color: #3a84ff;\n border-color: rgba(58, 132, 255, 0.3);\n background-color: #EDF4FF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info.bk-user-selector-tag-filled {\n background-color: #3A84FF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info.bk-user-selector-tag-filled:hover {\n background-color: #609CFE;\n}\n.bk-user-selector-tag.bk-user-selector-tag-info:hover:not(.bk-user-selector-tag-filled) {\n background-color: #E1ECFF;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning {\n color: #fe9c00;\n border-color: rgba(254, 165, 0, 0.3);\n background-color: #FFF1DB;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning.bk-user-selector-tag-filled {\n background-color: #FE9C00;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning.bk-user-selector-tag-filled:hover {\n background-color: #FDAF32;\n}\n.bk-user-selector-tag.bk-user-selector-tag-warning:hover:not(.bk-user-selector-tag-filled) {\n background-color: #FFE8C3;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger {\n color: #ea3636;\n border-color: rgba(234, 53, 54, 0.3);\n background-color: #FEEBEA;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger.bk-user-selector-tag-filled {\n background-color: #EA3536;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger.bk-user-selector-tag-filled:hover {\n background-color: #ED5C5D;\n}\n.bk-user-selector-tag.bk-user-selector-tag-danger:hover:not(.bk-user-selector-tag-filled) {\n background-color: #FEDDDC;\n}\n.bk-user-selector-tag:hover {\n background-color: #dcdee5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-filled {\n color: #fff;\n background-color: #979BA5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-filled:hover {\n background-color: #ACAFB6;\n}\n.bk-user-selector-tag.bk-user-selector-tag-stroke {\n padding: 0 9px;\n line-height: 20px;\n border-style: solid;\n border-width: 1px;\n}\n.bk-user-selector-tag.bk-user-selector-tag-closable {\n padding: 0 4px 0 10px;\n}\n.bk-user-selector-tag.bk-user-selector-tag-checkable {\n cursor: pointer;\n background: none;\n}\n.bk-user-selector-tag.bk-user-selector-tag-checkable:hover {\n background: #F0F1F5;\n}\n.bk-user-selector-tag.bk-user-selector-tag-check {\n color: #fff;\n background: #3a84ff;\n}\n.bk-user-selector-tag.bk-user-selector-tag-check:hover {\n color: #fff;\n background: #3a84ff;\n opacity: 1;\n}\n.bk-user-selector-tag--default {\n padding: 0 8px;\n}\n.bk-user-selector-tag--small {\n height: 16px;\n padding: 0 4px;\n line-height: 16px;\n}\n.bk-user-selector-tag--small .bk-user-selector-tag-text {\n font-size: 10px;\n}\n.bk-user-selector-tag-text {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.bk-user-selector-tag-icon {\n flex-shrink: 0;\n margin-right: 4px;\n font-size: 14px;\n line-height: 0;\n}\n.bk-user-selector-tag-close {\n flex-shrink: 0;\n margin-left: 4px;\n font-size: 12px;\n line-height: 0;\n cursor: pointer;\n}\n.me-tag[data-v-9ccd9029] {\n position: absolute;\n top: 50%;\n right: 8px;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n color: #4d4f56;\n cursor: pointer;\n background-color: #e1ecff;\n border-radius: 50%;\n transform: translateY(-50%);\n}\n.me-tag[data-v-9ccd9029]:hover {\n color: #3a84ff;\n background-color: #cddffe;\n}\n.me-tag.disabled[data-v-9ccd9029] {\n color: #c4c6cc;\n cursor: not-allowed;\n background-color: #f0f1f5;\n}.dropdown-content[data-v-6380faf5] {\n min-height: 40px;\n max-height: 300px;\n padding: 5px 0;\n overflow-y: auto;\n}\n.dropdown-content .no-data[data-v-6380faf5] {\n padding: 10px;\n color: #979ba5;\n text-align: center;\n}\n.dropdown-content .user-group .group-header[data-v-6380faf5] {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n color: #979ba5;\n}\n.dropdown-content .user-group .group-header .group-count[data-v-6380faf5] {\n margin-left: 4px;\n}\n.dropdown-content .user-option[data-v-6380faf5] {\n display: flex;\n align-items: center;\n height: 32px;\n padding: 8px 12px;\n cursor: pointer;\n}\n.dropdown-content .user-option[data-v-6380faf5]:hover {\n background-color: #f5f7fa;\n}.bk-user-selector-popover.bk-user-selector-pop2-content {\n padding: 0;\n}.user-tag[data-v-51944a49] {\n margin-right: 4px;\n margin-left: 0;\n}\n.user-tag.draggable[data-v-51944a49] {\n cursor: move;\n}\n.user-tag.active[data-v-51944a49] {\n background-color: #e1ecff;\n border-color: #3a84ff;\n}\n.user-tag .tag-content .user-name[data-v-51944a49] {\n overflow: hidden;\n font-size: 12px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.multiple-selector[data-v-69acfacb] {\n position: relative;\n width: 100%;\n}\n.multiple-selector.is-disabled[data-v-69acfacb] {\n pointer-events: none;\n}\n.multiple-selector .tags-container[data-v-69acfacb] {\n min-height: 32px;\n padding: 1px 10px 1px 8px;\n background-color: #fff;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n transition: all 0.2s ease;\n}\n.multiple-selector .tags-container.focused[data-v-69acfacb] {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.multiple-selector .tags-container.collapsed[data-v-69acfacb] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-list[data-v-69acfacb] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n.multiple-selector .tag-wrapper[data-v-69acfacb] {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n}\n.multiple-selector .search-input[data-v-69acfacb] {\n min-width: 10px;\n height: 28px;\n background: transparent;\n border: none;\n outline: none;\n}\n.multiple-selector .search-input[data-v-69acfacb]::placeholder {\n color: #c4c6cc;\n}\n.multiple-selector .search-input.inline[data-v-69acfacb] {\n min-width: 10px;\n}\n.multiple-selector .search-input.last[data-v-69acfacb], .multiple-selector .search-input.collapsed[data-v-69acfacb] {\n flex: 1;\n min-width: 60px;\n}.single-selector[data-v-d52d578d] {\n position: relative;\n width: 100%;\n}\n.single-selector.is-disabled[data-v-d52d578d] {\n pointer-events: none;\n}\n.input-container[data-v-d52d578d] {\n position: relative;\n display: flex;\n align-items: center;\n min-height: 32px;\n padding: 0 8px;\n background-color: #fff;\n border: 1px solid #c4c6cc;\n border-radius: 2px;\n}\n.input-container[data-v-d52d578d]:focus-within {\n border-color: #3a84ff;\n box-shadow: 0 0 0 2px rgba(58, 132, 255, 0.1);\n}\n.search-input[data-v-d52d578d] {\n flex: 1;\n height: 30px;\n background: transparent;\n border: none;\n outline: none;\n}\n.search-input[data-v-d52d578d]::placeholder {\n color: #c4c6cc;\n}.bk-user-selector[data-v-02466e5e] {\n position: relative;\n width: 100%;\n font-size: 12px;\n}\n.bk-user-selector.is-disabled[data-v-02466e5e] {\n cursor: not-allowed;\n background-color: #dcdee5;\n}"));
7
7
  document.head.appendChild(elementStyle);
8
8
  }
9
9
  } catch (e) {
@@ -316,11 +316,6 @@ var lesscodeCustomComponentLibrary = function(exports) {
316
316
  function getCurrentScope() {
317
317
  return activeEffectScope;
318
318
  }
319
- function onScopeDispose(fn, failSilently = false) {
320
- if (activeEffectScope) {
321
- activeEffectScope.cleanups.push(fn);
322
- }
323
- }
324
319
  let activeSub;
325
320
  const pausedQueueEffects = /* @__PURE__ */ new WeakSet();
326
321
  class ReactiveEffect {
@@ -2709,6 +2704,47 @@ var lesscodeCustomComponentLibrary = function(exports) {
2709
2704
  }
2710
2705
  return ret;
2711
2706
  }
2707
+ function renderSlot(slots, name, props2 = {}, fallback, noSlotted) {
2708
+ if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
2709
+ return openBlock(), createBlock(
2710
+ Fragment,
2711
+ null,
2712
+ [createVNode("slot", props2, fallback)],
2713
+ 64
2714
+ );
2715
+ }
2716
+ let slot = slots[name];
2717
+ if (slot && slot._c) {
2718
+ slot._d = false;
2719
+ }
2720
+ openBlock();
2721
+ const validSlotContent = slot && ensureValidVNode(slot(props2));
2722
+ const slotKey = props2.key || // slot content array of a dynamic conditional slot may have a branch
2723
+ // key attached in the `createSlots` helper, respect that
2724
+ validSlotContent && validSlotContent.key;
2725
+ const rendered = createBlock(
2726
+ Fragment,
2727
+ {
2728
+ key: (slotKey && !isSymbol$3(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
2729
+ (!validSlotContent && fallback ? "_fb" : "")
2730
+ },
2731
+ validSlotContent || [],
2732
+ validSlotContent && slots._ === 1 ? 64 : -2
2733
+ );
2734
+ if (slot && slot._c) {
2735
+ slot._d = true;
2736
+ }
2737
+ return rendered;
2738
+ }
2739
+ function ensureValidVNode(vnodes) {
2740
+ return vnodes.some((child) => {
2741
+ if (!isVNode(child)) return true;
2742
+ if (child.type === Comment) return false;
2743
+ if (child.type === Fragment && !ensureValidVNode(child.children))
2744
+ return false;
2745
+ return true;
2746
+ }) ? vnodes : null;
2747
+ }
2712
2748
  const getPublicInstance = (i2) => {
2713
2749
  if (!i2) return null;
2714
2750
  if (isStatefulComponent(i2)) return getComponentPublicInstance(i2);
@@ -5053,9 +5089,6 @@ var lesscodeCustomComponentLibrary = function(exports) {
5053
5089
  return ctx;
5054
5090
  }
5055
5091
  };
5056
- function watchEffect(effect2, options) {
5057
- return doWatch(effect2, null, options);
5058
- }
5059
5092
  function watch(source, cb, options) {
5060
5093
  return doWatch(source, cb, options);
5061
5094
  }
@@ -17303,10 +17336,15 @@ ${$(r2)}`), n2;
17303
17336
  const jsonpRequest = (requestUrl, options = {}) => {
17304
17337
  return new Promise((resolve2, reject) => {
17305
17338
  const url = unref(requestUrl);
17306
- const { timeout = 1e3 * 60 * 2, params } = options;
17339
+ const { timeout = 1e3 * 60 * 2, params, withCredentials = true } = options;
17307
17340
  const callbackName = generateCallbackName();
17308
17341
  const script = document.createElement("script");
17309
17342
  let timeoutId;
17343
+ if (withCredentials) {
17344
+ script.crossOrigin = "use-credentials";
17345
+ } else {
17346
+ script.crossOrigin = "anonymous";
17347
+ }
17310
17348
  const cleanup = () => {
17311
17349
  if (timeoutId) {
17312
17350
  clearTimeout(timeoutId);
@@ -17320,7 +17358,7 @@ ${$(r2)}`), n2;
17320
17358
  };
17321
17359
  window[callbackName] = (data2) => {
17322
17360
  cleanup();
17323
- resolve2(data2);
17361
+ resolve2(data2.data || data2);
17324
17362
  };
17325
17363
  timeoutId = setTimeout(() => {
17326
17364
  cleanup();
@@ -17336,48 +17374,6 @@ ${$(r2)}`), n2;
17336
17374
  document.head.appendChild(script);
17337
17375
  });
17338
17376
  };
17339
- const useJSONP = (url, options = {}) => {
17340
- const data2 = shallowRef(null);
17341
- const loading2 = shallowRef(false);
17342
- const error2 = shallowRef(null);
17343
- let abortFlag = false;
17344
- const executeRequest = async (requestUrl) => {
17345
- if (!requestUrl) return;
17346
- loading2.value = true;
17347
- error2.value = null;
17348
- abortFlag = false;
17349
- try {
17350
- const result = await jsonpRequest(requestUrl, options);
17351
- if (!abortFlag) {
17352
- data2.value = result;
17353
- }
17354
- } catch (err) {
17355
- if (!abortFlag) {
17356
- const errorObj = err instanceof Error ? err : new Error(String(err));
17357
- error2.value = errorObj;
17358
- }
17359
- } finally {
17360
- if (!abortFlag) {
17361
- loading2.value = false;
17362
- }
17363
- }
17364
- };
17365
- const stopWatcher = watchEffect(() => {
17366
- executeRequest(unref(url));
17367
- });
17368
- onScopeDispose(() => {
17369
- abortFlag = true;
17370
- stopWatcher();
17371
- });
17372
- return {
17373
- data: data2,
17374
- loading: loading2,
17375
- error: error2,
17376
- refetch: () => {
17377
- executeRequest(unref(url));
17378
- }
17379
- };
17380
- };
17381
17377
  const getTenants = async (apiBaseUrl, tenantId) => {
17382
17378
  if (!apiBaseUrl || !tenantId) {
17383
17379
  console.warn("获取租户信息需要提供有效的apiBaseUrl和租户ID");
@@ -17404,7 +17400,7 @@ ${$(r2)}`), n2;
17404
17400
  };
17405
17401
  const searchUsers = async (params) => {
17406
17402
  const { apiBaseUrl, tenantId, keyword, enableMultiTenantMode = true } = params;
17407
- if (enableMultiTenantMode) {
17403
+ if (!enableMultiTenantMode) {
17408
17404
  const userList = await getUserList(apiBaseUrl, {
17409
17405
  keyword,
17410
17406
  pageSize: 100,
@@ -17440,13 +17436,13 @@ ${$(r2)}`), n2;
17440
17436
  const lookupUsers = async (params) => {
17441
17437
  const { apiBaseUrl, tenantId, exactSearchKey = "bk_username", usersList = [], enableMultiTenantMode = true } = params;
17442
17438
  const users = usersList.filter((user) => user).map((user) => user.trim());
17443
- if (enableMultiTenantMode) {
17439
+ if (!enableMultiTenantMode) {
17444
17440
  const userList = await getUserList(apiBaseUrl, {
17445
17441
  userIds: users
17446
17442
  }).catch(() => {
17447
17443
  return [];
17448
17444
  });
17449
- return userList;
17445
+ return users.map((user) => userList.find((u2) => u2.username === user)).filter(Boolean);
17450
17446
  }
17451
17447
  if (users.length === 0 || !apiBaseUrl || !tenantId) {
17452
17448
  console.warn("批量查找用户需要提供有效的apiBaseUrl、租户ID和至少一个用户名");
@@ -17471,18 +17467,26 @@ ${$(r2)}`), n2;
17471
17467
  return [];
17472
17468
  }
17473
17469
  };
17474
- const formatUsers = (users) => {
17470
+ const formatUsers = (users, enableMultiTenantMode = true) => {
17475
17471
  if (!users || !Array.isArray(users)) return [];
17472
+ if (!enableMultiTenantMode) {
17473
+ return users.map((user) => ({
17474
+ ...user,
17475
+ id: user.username,
17476
+ name: `${user.display_name}(${user.username})`,
17477
+ tenantId: user.owner_tenant_id
17478
+ }));
17479
+ }
17476
17480
  return users.map((user) => ({
17477
- id: user.bk_username || user.username,
17481
+ id: user.bk_username,
17478
17482
  name: user.display_name,
17479
17483
  tenantId: user.owner_tenant_id,
17480
17484
  ...user
17481
17485
  }));
17482
17486
  };
17483
17487
  const getUserList = async (url, params) => {
17484
- const { userIds, keyword, pageSize, page, appCode } = params;
17485
- const { data: userList } = await useJSONP(url, {
17488
+ const { userIds, keyword, pageSize = 20, page, appCode } = params;
17489
+ const data2 = await jsonpRequest(url, {
17486
17490
  params: {
17487
17491
  exact_lookups: (userIds == null ? void 0 : userIds.join(",")) || void 0,
17488
17492
  fuzzy_lookups: keyword || void 0,
@@ -17491,9 +17495,9 @@ ${$(r2)}`), n2;
17491
17495
  app_code: appCode || "bk-magicbox"
17492
17496
  }
17493
17497
  });
17494
- return userList.value || [];
17498
+ return (data2 == null ? void 0 : data2.results) || [];
17495
17499
  };
17496
- const useTenantData = (apiBaseUrl, tenantId) => {
17500
+ const useTenantData = (apiBaseUrl, tenantId, enableMultiTenantMode = true) => {
17497
17501
  const tenants = ref({});
17498
17502
  const loading2 = ref(false);
17499
17503
  const fetchTenants = async () => {
@@ -17518,7 +17522,9 @@ ${$(r2)}`), n2;
17518
17522
  }
17519
17523
  };
17520
17524
  onBeforeMount(() => {
17521
- fetchTenants();
17525
+ if (enableMultiTenantMode) {
17526
+ fetchTenants();
17527
+ }
17522
17528
  });
17523
17529
  return {
17524
17530
  tenants,
@@ -20320,7 +20326,7 @@ ${$(r2)}`), n2;
20320
20326
  }
20321
20327
  return Math.max(1, visibleCount);
20322
20328
  };
20323
- const useUserSearch = (apiBaseUrl, tenantId) => {
20329
+ const useUserSearch = (apiBaseUrl, tenantId, enableMultiTenantMode = true) => {
20324
20330
  const searchResults = ref([]);
20325
20331
  const loading2 = ref(false);
20326
20332
  const searchQuery = ref("");
@@ -20329,7 +20335,7 @@ ${$(r2)}`), n2;
20329
20335
  searchResults.value = [];
20330
20336
  return;
20331
20337
  }
20332
- if (!apiBaseUrl || !tenantId) {
20338
+ if (enableMultiTenantMode && (!apiBaseUrl || !tenantId)) {
20333
20339
  console.warn("执行用户搜索需要提供有效的API基础URL和租户ID");
20334
20340
  return;
20335
20341
  }
@@ -20339,9 +20345,9 @@ ${$(r2)}`), n2;
20339
20345
  apiBaseUrl,
20340
20346
  tenantId,
20341
20347
  keyword,
20342
- enableMultiTenantMode: true
20348
+ enableMultiTenantMode
20343
20349
  });
20344
- searchResults.value = formatUsers(results);
20350
+ searchResults.value = formatUsers(results, enableMultiTenantMode);
20345
20351
  } catch (error2) {
20346
20352
  console.error("用户搜索失败:", error2);
20347
20353
  searchResults.value = [];
@@ -20683,13 +20689,16 @@ ${$(r2)}`), n2;
20683
20689
  /* STABLE */
20684
20690
  }, 8, ["loading"])
20685
20691
  ]),
20686
- _: 1
20687
- /* STABLE */
20692
+ default: withCtx(() => [
20693
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
20694
+ ]),
20695
+ _: 3
20696
+ /* FORWARDED */
20688
20697
  }, 8, ["is-show", "offset", "width"]);
20689
20698
  };
20690
20699
  }
20691
20700
  });
20692
- const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-a4132257"]]);
20701
+ const SelectionPopover = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6380faf5"]]);
20693
20702
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
20694
20703
  ...{
20695
20704
  name: "UserTag"
@@ -20773,7 +20782,7 @@ ${$(r2)}`), n2;
20773
20782
  searchQuery,
20774
20783
  // clearSearch,
20775
20784
  handleSearchInput
20776
- } = useUserSearch(props2.apiBaseUrl, props2.tenantId);
20785
+ } = useUserSearch(props2.apiBaseUrl, props2.tenantId, props2.enableMultiTenantMode);
20777
20786
  const containerRef = ref(null);
20778
20787
  const tagsContainerRef = ref(null);
20779
20788
  const sortableContainerRef = ref(null);
@@ -20791,7 +20800,14 @@ ${$(r2)}`), n2;
20791
20800
  return searchResults.value.filter((user) => !props2.selectedUsers.some((selectedUser) => selectedUser.id === user.id)).filter((user) => !props2.excludeUserIds.includes(user.id));
20792
20801
  });
20793
20802
  const userGroupFilter = computed(() => {
20794
- return props2.userGroup.filter((group) => !props2.selectedUsers.some((user) => user.id === group.id) && !group.hidden);
20803
+ return props2.userGroup.filter((group) => {
20804
+ var _a, _b;
20805
+ const filtered = !props2.selectedUsers.some((user) => user.id === group.id) && !group.hidden;
20806
+ if (filtered) {
20807
+ return ((_a = group.id) == null ? void 0 : _a.includes(searchQuery.value)) || ((_b = group.name) == null ? void 0 : _b.includes(searchQuery.value));
20808
+ }
20809
+ return false;
20810
+ });
20795
20811
  });
20796
20812
  const initSortable = () => {
20797
20813
  if (!props2.draggable || !sortableContainerRef.value) return;
@@ -20900,7 +20916,7 @@ ${$(r2)}`), n2;
20900
20916
  usersList: [props2.currentUserId],
20901
20917
  enableMultiTenantMode: props2.enableMultiTenantMode
20902
20918
  });
20903
- const formattedUsers = formatUsers(result);
20919
+ const formattedUsers = formatUsers(result, props2.enableMultiTenantMode);
20904
20920
  if (formattedUsers.length > 0) {
20905
20921
  if (!props2.selectedUsers.some((item) => item.id === formattedUsers[0].id)) {
20906
20922
  emit2("update:selectedUsers", [...props2.selectedUsers, formattedUsers[0]]);
@@ -20928,7 +20944,7 @@ ${$(r2)}`), n2;
20928
20944
  usersList: users,
20929
20945
  enableMultiTenantMode: props2.enableMultiTenantMode
20930
20946
  });
20931
- const formattedUsers = formatUsers(result);
20947
+ const formattedUsers = formatUsers(result, props2.enableMultiTenantMode);
20932
20948
  if (formattedUsers.length > 0) {
20933
20949
  const updatedUsers = [...props2.selectedUsers, ...formattedUsers];
20934
20950
  emit2("update:selectedUsers", updatedUsers);
@@ -21031,210 +21047,215 @@ ${$(r2)}`), n2;
21031
21047
  class: normalizeClass(["multiple-selector", { "is-disabled": _ctx.disabled }])
21032
21048
  },
21033
21049
  [
21034
- createCommentVNode(" 聚焦状态 - 可编辑模式 "),
21035
- isFocused.value ? (openBlock(), createElementBlock(
21036
- "div",
21037
- {
21038
- key: 0,
21039
- ref_key: "tagsContainerRef",
21040
- ref: tagsContainerRef,
21041
- class: "tags-container focused",
21042
- onClick: withModifiers(handleContainerClick, ["stop"])
21043
- },
21044
- [
21045
- createCommentVNode(" 用户标签列表 "),
21046
- createBaseVNode(
21050
+ createCommentVNode(" 下拉选项列表 "),
21051
+ createVNode(SelectionPopover, {
21052
+ "container-width": containerRef.value ? containerRef.value.offsetWidth : "auto",
21053
+ "cross-axis-offset": crossAxisOffset.value,
21054
+ "empty-text": _ctx.emptyText,
21055
+ "is-show": showDropdown.value,
21056
+ loading: unref(searchLoading),
21057
+ options: options.value,
21058
+ "render-list-item": _ctx.renderListItem,
21059
+ "search-query": unref(searchQuery),
21060
+ "tenant-id": _ctx.tenantId,
21061
+ tenants: _ctx.tenants,
21062
+ "user-group": userGroupFilter.value,
21063
+ "user-group-name": _ctx.userGroupName,
21064
+ onClickOutside: handleClickOutside,
21065
+ onSelectUser: addUser
21066
+ }, {
21067
+ default: withCtx(() => [
21068
+ createCommentVNode(" 聚焦状态 - 可编辑模式 "),
21069
+ isFocused.value ? (openBlock(), createElementBlock(
21047
21070
  "div",
21048
21071
  {
21049
- ref_key: "sortableContainerRef",
21050
- ref: sortableContainerRef,
21051
- class: "tag-list"
21072
+ key: 0,
21073
+ ref_key: "tagsContainerRef",
21074
+ ref: tagsContainerRef,
21075
+ class: "tags-container focused",
21076
+ onClick: withModifiers(handleContainerClick, ["stop"])
21052
21077
  },
21053
21078
  [
21054
- (openBlock(true), createElementBlock(
21055
- Fragment,
21056
- null,
21057
- renderList(_ctx.selectedUsers, (user, index) => {
21058
- return openBlock(), createElementBlock("div", {
21059
- class: "tag-wrapper",
21060
- key: user.id,
21061
- onClick: withModifiers(($event) => handleTagClick(index), ["stop"])
21062
- }, [
21063
- createVNode(UserTag, {
21064
- active: index === activeTagIndex.value,
21065
- "current-tenant-id": _ctx.tenantId,
21066
- draggable: _ctx.draggable,
21067
- "render-tag": _ctx.renderTag,
21068
- tenants: _ctx.tenants,
21069
- user,
21070
- onClick: ($event) => handleTagClick(index),
21071
- onClose: ($event) => removeUser(user)
21072
- }, null, 8, ["active", "current-tenant-id", "draggable", "render-tag", "tenants", "user", "onClick", "onClose"]),
21073
- createCommentVNode(" 在当前激活标签后插入输入框 "),
21074
- index === activeTagIndex.value && activeTagIndex.value !== _ctx.selectedUsers.length - 1 ? withDirectives((openBlock(), createElementBlock(
21075
- "input",
21076
- {
21077
- key: 0,
21078
- ref_for: true,
21079
- ref_key: "inlineInputRef",
21080
- ref: inlineInputRef,
21081
- class: "search-input inline",
21082
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21083
- onFocus: handleInputFocus,
21084
- onInput: handleInput,
21085
- onKeydown: handleKeyDown,
21086
- onPaste: handlePaste
21087
- },
21088
- null,
21089
- 544
21090
- /* NEED_HYDRATION, NEED_PATCH */
21091
- )), [
21092
- [vModelText, unref(searchQuery)]
21093
- ]) : createCommentVNode("v-if", true)
21094
- ], 8, _hoisted_1$1);
21095
- }),
21096
- 128
21097
- /* KEYED_FRAGMENT */
21098
- )),
21099
- createCommentVNode(" 最后一个输入框 "),
21100
- activeTagIndex.value === -1 || activeTagIndex.value === _ctx.selectedUsers.length - 1 ? withDirectives((openBlock(), createElementBlock("input", {
21101
- key: 0,
21102
- ref_key: "lastInputRef",
21103
- ref: lastInputRef,
21104
- class: "search-input last",
21105
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21106
- placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
21107
- onFocus: handleInputFocus,
21108
- onInput: handleInput,
21109
- onKeydown: handleKeyDown,
21110
- onPaste: handlePaste
21111
- }, null, 40, _hoisted_2$1)), [
21112
- [vModelText, unref(searchQuery)]
21113
- ]) : createCommentVNode("v-if", true),
21114
- createCommentVNode(' ""标签 '),
21115
- createVNode(MeTag, {
21116
- "current-user-id": _ctx.currentUserId,
21117
- "is-disabled": !!_ctx.currentUserId && _ctx.selectedUsers.some((user) => user.id === _ctx.currentUserId),
21118
- onClick: addCurrentUser
21119
- }, null, 8, ["current-user-id", "is-disabled"])
21079
+ createCommentVNode(" 用户标签列表 "),
21080
+ createBaseVNode(
21081
+ "div",
21082
+ {
21083
+ ref_key: "sortableContainerRef",
21084
+ ref: sortableContainerRef,
21085
+ class: "tag-list"
21086
+ },
21087
+ [
21088
+ (openBlock(true), createElementBlock(
21089
+ Fragment,
21090
+ null,
21091
+ renderList(_ctx.selectedUsers, (user, index) => {
21092
+ return openBlock(), createElementBlock("div", {
21093
+ class: "tag-wrapper",
21094
+ key: user.id,
21095
+ onClick: withModifiers(($event) => handleTagClick(index), ["stop"])
21096
+ }, [
21097
+ createVNode(UserTag, {
21098
+ active: index === activeTagIndex.value,
21099
+ "current-tenant-id": _ctx.tenantId,
21100
+ draggable: _ctx.draggable,
21101
+ "render-tag": _ctx.renderTag,
21102
+ tenants: _ctx.tenants,
21103
+ user,
21104
+ onClick: ($event) => handleTagClick(index),
21105
+ onClose: ($event) => removeUser(user)
21106
+ }, null, 8, ["active", "current-tenant-id", "draggable", "render-tag", "tenants", "user", "onClick", "onClose"]),
21107
+ createCommentVNode(" 在当前激活标签后插入输入框 "),
21108
+ index === activeTagIndex.value && activeTagIndex.value !== _ctx.selectedUsers.length - 1 ? withDirectives((openBlock(), createElementBlock(
21109
+ "input",
21110
+ {
21111
+ key: 0,
21112
+ ref_for: true,
21113
+ ref_key: "inlineInputRef",
21114
+ ref: inlineInputRef,
21115
+ class: "search-input inline",
21116
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21117
+ onFocus: handleInputFocus,
21118
+ onInput: handleInput,
21119
+ onKeydown: handleKeyDown,
21120
+ onPaste: handlePaste
21121
+ },
21122
+ null,
21123
+ 544
21124
+ /* NEED_HYDRATION, NEED_PATCH */
21125
+ )), [
21126
+ [vModelText, unref(searchQuery)]
21127
+ ]) : createCommentVNode("v-if", true)
21128
+ ], 8, _hoisted_1$1);
21129
+ }),
21130
+ 128
21131
+ /* KEYED_FRAGMENT */
21132
+ )),
21133
+ createCommentVNode(" 最后一个输入框 "),
21134
+ activeTagIndex.value === -1 || activeTagIndex.value === _ctx.selectedUsers.length - 1 ? withDirectives((openBlock(), createElementBlock("input", {
21135
+ key: 0,
21136
+ ref_key: "lastInputRef",
21137
+ ref: lastInputRef,
21138
+ class: "search-input last",
21139
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21140
+ placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
21141
+ onFocus: handleInputFocus,
21142
+ onInput: handleInput,
21143
+ onKeydown: handleKeyDown,
21144
+ onPaste: handlePaste
21145
+ }, null, 40, _hoisted_2$1)), [
21146
+ [vModelText, unref(searchQuery)]
21147
+ ]) : createCommentVNode("v-if", true),
21148
+ createCommentVNode(' "我"标签 '),
21149
+ createVNode(MeTag, {
21150
+ "current-user-id": _ctx.currentUserId,
21151
+ "is-disabled": !!_ctx.currentUserId && _ctx.selectedUsers.some((user) => user.id === _ctx.currentUserId),
21152
+ onClick: addCurrentUser
21153
+ }, null, 8, ["current-user-id", "is-disabled"])
21154
+ ],
21155
+ 512
21156
+ /* NEED_PATCH */
21157
+ )
21120
21158
  ],
21121
21159
  512
21122
21160
  /* NEED_PATCH */
21123
- )
21124
- ],
21125
- 512
21126
- /* NEED_PATCH */
21127
- )) : (openBlock(), createElementBlock(
21128
- Fragment,
21129
- { key: 1 },
21130
- [
21131
- createCommentVNode(" 未聚焦状态 - 只读展示模式 "),
21132
- createBaseVNode(
21133
- "div",
21134
- {
21135
- ref_key: "collapsedContainerRef",
21136
- ref: collapsedContainerRef,
21137
- class: "tags-container collapsed",
21138
- onClick: withModifiers(handleFocus, ["stop"])
21139
- },
21161
+ )) : (openBlock(), createElementBlock(
21162
+ Fragment,
21163
+ { key: 1 },
21140
21164
  [
21141
- (openBlock(true), createElementBlock(
21142
- Fragment,
21143
- null,
21144
- renderList(visibleUsers.value, (user) => {
21145
- return openBlock(), createBlock(UserTag, {
21146
- "current-tenant-id": _ctx.tenantId,
21147
- key: user.id,
21148
- "render-tag": _ctx.renderTag,
21149
- "show-tenant": true,
21150
- tenants: _ctx.tenants,
21151
- user,
21152
- onClick: handleFocus,
21153
- onClose: ($event) => removeUser(user)
21154
- }, null, 8, ["current-tenant-id", "render-tag", "tenants", "user", "onClose"]);
21155
- }),
21156
- 128
21157
- /* KEYED_FRAGMENT */
21158
- )),
21159
- createCommentVNode(" 显示折叠标签数量 "),
21160
- hiddenCount.value > 0 ? (openBlock(), createBlock(unref(__webpack_exports__default$1), {
21161
- key: 0,
21162
- placement: "top"
21163
- }, {
21164
- content: withCtx(() => [
21165
+ createCommentVNode(" 未聚焦状态 - 只读展示模式 "),
21166
+ createBaseVNode(
21167
+ "div",
21168
+ {
21169
+ ref_key: "collapsedContainerRef",
21170
+ ref: collapsedContainerRef,
21171
+ class: "tags-container collapsed",
21172
+ onClick: withModifiers(handleFocus, ["stop"])
21173
+ },
21174
+ [
21165
21175
  (openBlock(true), createElementBlock(
21166
21176
  Fragment,
21167
21177
  null,
21168
- renderList(_ctx.selectedUsers.slice(visibleUsers.value.length), (user) => {
21169
- return openBlock(), createBlock(unref(UserRender), {
21178
+ renderList(visibleUsers.value, (user) => {
21179
+ return openBlock(), createBlock(UserTag, {
21180
+ "current-tenant-id": _ctx.tenantId,
21170
21181
  key: user.id,
21171
- "tenant-id": _ctx.tenantId,
21182
+ "render-tag": _ctx.renderTag,
21183
+ "show-tenant": true,
21172
21184
  tenants: _ctx.tenants,
21173
- user
21174
- }, null, 8, ["tenant-id", "tenants", "user"]);
21185
+ user,
21186
+ onClick: handleFocus,
21187
+ onClose: ($event) => removeUser(user)
21188
+ }, null, 8, ["current-tenant-id", "render-tag", "tenants", "user", "onClose"]);
21175
21189
  }),
21176
21190
  128
21177
21191
  /* KEYED_FRAGMENT */
21178
- ))
21179
- ]),
21180
- default: withCtx(() => [
21181
- createVNode(unref(__webpack_exports__default), null, {
21192
+ )),
21193
+ createCommentVNode(" 显示折叠标签数量 "),
21194
+ hiddenCount.value > 0 ? (openBlock(), createBlock(unref(__webpack_exports__default$1), {
21195
+ key: 0,
21196
+ placement: "top"
21197
+ }, {
21198
+ content: withCtx(() => [
21199
+ (openBlock(true), createElementBlock(
21200
+ Fragment,
21201
+ null,
21202
+ renderList(_ctx.selectedUsers.slice(visibleUsers.value.length), (user) => {
21203
+ return openBlock(), createBlock(unref(UserRender), {
21204
+ key: user.id,
21205
+ "tenant-id": _ctx.tenantId,
21206
+ tenants: _ctx.tenants,
21207
+ user
21208
+ }, null, 8, ["tenant-id", "tenants", "user"]);
21209
+ }),
21210
+ 128
21211
+ /* KEYED_FRAGMENT */
21212
+ ))
21213
+ ]),
21182
21214
  default: withCtx(() => [
21183
- createTextVNode(
21184
- " +" + toDisplayString(hiddenCount.value),
21185
- 1
21186
- /* TEXT */
21187
- )
21215
+ createVNode(unref(__webpack_exports__default), null, {
21216
+ default: withCtx(() => [
21217
+ createTextVNode(
21218
+ " +" + toDisplayString(hiddenCount.value),
21219
+ 1
21220
+ /* TEXT */
21221
+ )
21222
+ ]),
21223
+ _: 1
21224
+ /* STABLE */
21225
+ })
21188
21226
  ]),
21189
21227
  _: 1
21190
21228
  /* STABLE */
21191
- })
21192
- ]),
21193
- _: 1
21194
- /* STABLE */
21195
- })) : createCommentVNode("v-if", true),
21196
- createCommentVNode(" 搜索输入框 "),
21197
- withDirectives(createBaseVNode("input", {
21198
- ref_key: "collapsedInputRef",
21199
- ref: collapsedInputRef,
21200
- class: "search-input collapsed",
21201
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21202
- placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
21203
- onFocus: handleFocus
21204
- }, null, 40, _hoisted_3), [
21205
- [vModelText, unref(searchQuery)]
21206
- ]),
21207
- createCommentVNode(' 未聚焦状态下的"我"标签 '),
21208
- createVNode(MeTag, {
21209
- "current-user-id": _ctx.currentUserId,
21210
- "is-disabled": !!_ctx.currentUserId && _ctx.selectedUsers.some((user) => user[props2.exactSearchKey] === _ctx.currentUserId),
21211
- onClick: addCurrentUser
21212
- }, null, 8, ["current-user-id", "is-disabled"])
21229
+ })) : createCommentVNode("v-if", true),
21230
+ createCommentVNode(" 搜索输入框 "),
21231
+ withDirectives(createBaseVNode("input", {
21232
+ ref_key: "collapsedInputRef",
21233
+ ref: collapsedInputRef,
21234
+ class: "search-input collapsed",
21235
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(searchQuery) ? searchQuery.value = $event : null),
21236
+ placeholder: !_ctx.selectedUsers.length ? _ctx.placeholder : "",
21237
+ onFocus: handleFocus
21238
+ }, null, 40, _hoisted_3), [
21239
+ [vModelText, unref(searchQuery)]
21240
+ ]),
21241
+ createCommentVNode(' 未聚焦状态下的"我"标签 '),
21242
+ createVNode(MeTag, {
21243
+ "current-user-id": _ctx.currentUserId,
21244
+ "is-disabled": !!_ctx.currentUserId && _ctx.selectedUsers.some((user) => user[props2.exactSearchKey] === _ctx.currentUserId),
21245
+ onClick: addCurrentUser
21246
+ }, null, 8, ["current-user-id", "is-disabled"])
21247
+ ],
21248
+ 512
21249
+ /* NEED_PATCH */
21250
+ )
21213
21251
  ],
21214
- 512
21215
- /* NEED_PATCH */
21216
- )
21217
- ],
21218
- 2112
21219
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
21220
- )),
21221
- createCommentVNode(" 下拉选项列表 "),
21222
- createVNode(SelectionPopover, {
21223
- "container-width": containerRef.value ? containerRef.value.offsetWidth : "auto",
21224
- "cross-axis-offset": crossAxisOffset.value,
21225
- "empty-text": _ctx.emptyText,
21226
- "is-show": showDropdown.value,
21227
- loading: unref(searchLoading),
21228
- options: options.value,
21229
- "render-list-item": _ctx.renderListItem,
21230
- "search-query": unref(searchQuery),
21231
- "tenant-id": _ctx.tenantId,
21232
- tenants: _ctx.tenants,
21233
- "user-group": userGroupFilter.value,
21234
- "user-group-name": _ctx.userGroupName,
21235
- onClickOutside: handleClickOutside,
21236
- onSelectUser: addUser
21237
- }, null, 8, ["container-width", "cross-axis-offset", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
21252
+ 2112
21253
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
21254
+ ))
21255
+ ]),
21256
+ _: 1
21257
+ /* STABLE */
21258
+ }, 8, ["container-width", "cross-axis-offset", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
21238
21259
  ],
21239
21260
  2
21240
21261
  /* CLASS */
@@ -21242,7 +21263,7 @@ ${$(r2)}`), n2;
21242
21263
  };
21243
21264
  }
21244
21265
  });
21245
- const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-bebe517d"]]);
21266
+ const MultipleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-69acfacb"]]);
21246
21267
  const _hoisted_1 = { class: "input-container" };
21247
21268
  const _hoisted_2 = ["placeholder"];
21248
21269
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -21279,7 +21300,14 @@ ${$(r2)}`), n2;
21279
21300
  const searchQuery = ref("");
21280
21301
  const showDropdown = ref(false);
21281
21302
  const userGroupFilter = computed(() => {
21282
- return props2.userGroup.filter((group) => group.id !== selectedUser.value && !group.hidden);
21303
+ return props2.userGroup.filter((group) => {
21304
+ var _a, _b;
21305
+ const filtered = group.id !== selectedUser.value && !group.hidden;
21306
+ if (filtered) {
21307
+ return ((_a = group.id) == null ? void 0 : _a.includes(searchQuery.value)) || ((_b = group.name) == null ? void 0 : _b.includes(searchQuery.value));
21308
+ }
21309
+ return false;
21310
+ });
21283
21311
  });
21284
21312
  const selectedUserInfo = computed(() => {
21285
21313
  const userGroup = (props2.userGroup || []).map((group) => ({
@@ -21303,7 +21331,9 @@ ${$(r2)}`), n2;
21303
21331
  usersList: [props2.modelValue],
21304
21332
  enableMultiTenantMode: props2.enableMultiTenantMode
21305
21333
  });
21306
- options.value = formatUsers(result).filter((user) => !props2.excludeUserIds.includes(user.id));
21334
+ options.value = formatUsers(result, props2.enableMultiTenantMode).filter(
21335
+ (user) => !props2.excludeUserIds.includes(user.id)
21336
+ );
21307
21337
  if (props2.userGroup.length > 0) {
21308
21338
  const groupResult = props2.userGroup.filter((group) => group.id == props2.modelValue);
21309
21339
  options.value = groupResult.map((group) => ({
@@ -21334,7 +21364,7 @@ ${$(r2)}`), n2;
21334
21364
  usersList: [props2.currentUserId],
21335
21365
  enableMultiTenantMode: props2.enableMultiTenantMode
21336
21366
  });
21337
- const formattedResults = formatUsers(result);
21367
+ const formattedResults = formatUsers(result, props2.enableMultiTenantMode);
21338
21368
  if (formattedResults.length > 0) {
21339
21369
  options.value = formattedResults.filter((user) => !props2.excludeUserIds.includes(user.id));
21340
21370
  addUser(formattedResults[0]);
@@ -21356,7 +21386,7 @@ ${$(r2)}`), n2;
21356
21386
  keyword,
21357
21387
  enableMultiTenantMode: props2.enableMultiTenantMode
21358
21388
  });
21359
- options.value = formatUsers(result).filter((user) => !selectedUser.value || user.id !== selectedUser.value).filter((user) => !props2.excludeUserIds.includes(user.id));
21389
+ options.value = formatUsers(result, props2.enableMultiTenantMode).filter((user) => !selectedUser.value || user.id !== selectedUser.value).filter((user) => !props2.excludeUserIds.includes(user.id));
21360
21390
  } catch (error2) {
21361
21391
  console.error("获取用户列表失败:", error2);
21362
21392
  options.value = [];
@@ -21403,39 +21433,6 @@ ${$(r2)}`), n2;
21403
21433
  class: normalizeClass(["single-selector", { "is-disabled": _ctx.disabled }])
21404
21434
  },
21405
21435
  [
21406
- createCommentVNode(" 输入框 "),
21407
- createBaseVNode("div", _hoisted_1, [
21408
- createCommentVNode(" 用户标签显示 "),
21409
- selectedUserInfo.value ? (openBlock(), createElementBlock("div", {
21410
- key: 0,
21411
- onClick: withModifiers(removeSelectedUser, ["stop"])
21412
- }, [
21413
- createVNode(UserTag, {
21414
- "current-tenant-id": _ctx.tenantId,
21415
- "render-tag": _ctx.renderTag,
21416
- tenants: _ctx.tenants,
21417
- user: selectedUserInfo.value,
21418
- onClose: removeSelectedUser
21419
- }, null, 8, ["current-tenant-id", "render-tag", "tenants", "user"])
21420
- ])) : createCommentVNode("v-if", true),
21421
- withDirectives(createBaseVNode("input", {
21422
- ref_key: "inputRef",
21423
- ref: inputRef,
21424
- class: "search-input",
21425
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
21426
- placeholder: selectedUserInfo.value ? "" : _ctx.placeholder,
21427
- onFocus: handleInputFocus,
21428
- onInput: handleInput
21429
- }, null, 40, _hoisted_2), [
21430
- [vModelText, searchQuery.value]
21431
- ]),
21432
- createCommentVNode(' "我"标签 '),
21433
- createVNode(MeTag, {
21434
- "current-user-id": _ctx.currentUserId,
21435
- "is-disabled": !!_ctx.currentUserId && !!selectedUserInfo.value && selectedUserInfo.value[_ctx.exactSearchKey] === _ctx.currentUserId,
21436
- onClick: addCurrentUser
21437
- }, null, 8, ["current-user-id", "is-disabled"])
21438
- ]),
21439
21436
  createCommentVNode(" 使用新的公共下拉选项组件 "),
21440
21437
  createVNode(SelectionPopover, {
21441
21438
  "container-width": containerRef.value ? containerRef.value.offsetWidth : "auto",
@@ -21450,7 +21447,45 @@ ${$(r2)}`), n2;
21450
21447
  "user-group": userGroupFilter.value,
21451
21448
  "user-group-name": _ctx.userGroupName,
21452
21449
  onSelectUser: addUser
21453
- }, null, 8, ["container-width", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
21450
+ }, {
21451
+ default: withCtx(() => [
21452
+ createCommentVNode(" 输入框 "),
21453
+ createBaseVNode("div", _hoisted_1, [
21454
+ createCommentVNode(" 用户标签显示 "),
21455
+ selectedUserInfo.value ? (openBlock(), createElementBlock("div", {
21456
+ key: 0,
21457
+ onClick: withModifiers(removeSelectedUser, ["stop"])
21458
+ }, [
21459
+ createVNode(UserTag, {
21460
+ "current-tenant-id": _ctx.tenantId,
21461
+ "render-tag": _ctx.renderTag,
21462
+ tenants: _ctx.tenants,
21463
+ user: selectedUserInfo.value,
21464
+ onClose: removeSelectedUser
21465
+ }, null, 8, ["current-tenant-id", "render-tag", "tenants", "user"])
21466
+ ])) : createCommentVNode("v-if", true),
21467
+ withDirectives(createBaseVNode("input", {
21468
+ ref_key: "inputRef",
21469
+ ref: inputRef,
21470
+ class: "search-input",
21471
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
21472
+ placeholder: selectedUserInfo.value ? "" : _ctx.placeholder,
21473
+ onFocus: handleInputFocus,
21474
+ onInput: handleInput
21475
+ }, null, 40, _hoisted_2), [
21476
+ [vModelText, searchQuery.value]
21477
+ ]),
21478
+ createCommentVNode(' "我"标签 '),
21479
+ createVNode(MeTag, {
21480
+ "current-user-id": _ctx.currentUserId,
21481
+ "is-disabled": !!_ctx.currentUserId && !!selectedUserInfo.value && selectedUserInfo.value[_ctx.exactSearchKey] === _ctx.currentUserId,
21482
+ onClick: addCurrentUser
21483
+ }, null, 8, ["current-user-id", "is-disabled"])
21484
+ ])
21485
+ ]),
21486
+ _: 1
21487
+ /* STABLE */
21488
+ }, 8, ["container-width", "empty-text", "is-show", "loading", "options", "render-list-item", "search-query", "tenant-id", "tenants", "user-group", "user-group-name"])
21454
21489
  ],
21455
21490
  2
21456
21491
  /* CLASS */
@@ -21460,7 +21495,7 @@ ${$(r2)}`), n2;
21460
21495
  };
21461
21496
  }
21462
21497
  });
21463
- const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-67f2ee6a"]]);
21498
+ const SingleSelector = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-d52d578d"]]);
21464
21499
  const _sfc_main = /* @__PURE__ */ defineComponent({
21465
21500
  ...{
21466
21501
  name: "BkUserSelector"
@@ -21482,7 +21517,7 @@ ${$(r2)}`), n2;
21482
21517
  renderListItem: {},
21483
21518
  renderTag: {},
21484
21519
  excludeUserIds: { default: () => [] },
21485
- enableMultiTenantMode: { type: Boolean, default: false }
21520
+ enableMultiTenantMode: { type: Boolean, default: true }
21486
21521
  },
21487
21522
  emits: ["update:modelValue", "change"],
21488
21523
  setup(__props, { emit: __emit }) {
@@ -21491,7 +21526,7 @@ ${$(r2)}`), n2;
21491
21526
  });
21492
21527
  const props2 = __props;
21493
21528
  const emit2 = __emit;
21494
- const { tenants = {} } = useTenantData(props2.apiBaseUrl, props2.tenantId);
21529
+ const { tenants = {} } = useTenantData(props2.apiBaseUrl, props2.tenantId, props2.enableMultiTenantMode);
21495
21530
  const selectedUsers = ref([]);
21496
21531
  const selectedUser = ref(props2.multiple ? "" : props2.modelValue);
21497
21532
  const selectedUserIds = computed(() => {
@@ -21518,7 +21553,8 @@ ${$(r2)}`), n2;
21518
21553
  usersList: ids,
21519
21554
  enableMultiTenantMode: props2.enableMultiTenantMode
21520
21555
  });
21521
- selectedUsers.value = [...selected, ...formatUsers(result)];
21556
+ const selectedList = [...selected, ...formatUsers(result, props2.enableMultiTenantMode)];
21557
+ selectedUsers.value = ids.map((id) => selectedList.find((user) => user.id === id)).filter(Boolean);
21522
21558
  } catch (error2) {
21523
21559
  console.error("获取选中用户信息失败:", error2);
21524
21560
  }
@@ -21625,7 +21661,7 @@ ${$(r2)}`), n2;
21625
21661
  };
21626
21662
  }
21627
21663
  });
21628
- const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-30b84150"]]);
21664
+ const BkUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-02466e5e"]]);
21629
21665
  const vue2 = {
21630
21666
  model: {
21631
21667
  prop: "modelValue",