import "../styles/reset.css";
import { inject as __WEBPACK_EXTERNAL_MODULE_vue_inject__ } from "vue";
import { createPopper as __WEBPACK_EXTERNAL_MODULE__popperjs_core_a5c7319c_createPopper__ } from "@popperjs/core";
import { default as __WEBPACK_EXTERNAL_MODULE_lodash_throttle_a7b7506a_default__ } from "lodash/throttle";
import { createTypes as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_createTypes__, string as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_string__, toType as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__ } from "vue-types";

;// ../../packages/shared/src/dom.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */
var on = function () {
  if (document.addEventListener) {
    return function (element, event, handler) {
      if (element && event && handler) {
        element.addEventListener(event, handler, true);
      }
    };
  }
  return function (element, event, handler) {
    if (element && event && handler) {
      element.attachEvent("on".concat(event), handler);
    }
  };
}();
// 兼容浏览器，移除事件监听器
var off = function () {
  if (document.removeEventListener) {
    return function (element, event, handler) {
      if (element && event) {
        element.removeEventListener(event, handler, true);
      }
    };
  }
  return function (element, event, handler) {
    if (element && event) {
      element.detachEvent("on".concat(event), handler);
    }
  };
}();
// scrollTop animation
function scrollTop(el) {
  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  var to = arguments.length > 2 ? arguments[2] : undefined;
  var duration = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 500;
  var endCallback = arguments.length > 4 ? arguments[4] : undefined;
  var difference = Math.abs(from - to);
  var step = Math.ceil(difference / duration * 50);
  function scroll(start, end, step) {
    if (start === end) {
      endCallback === null || endCallback === void 0 || endCallback();
      return;
    }
    var d = start + step > end ? end : start + step;
    if (start > end) {
      d = start - step < end ? end : start - step;
    }
    if (el === window) {
      window.scrollTo(d, d);
    } else {
      el.scrollTop = d;
    }
    window.requestAnimationFrame(function () {
      return scroll(d, end, step);
    });
  }
  scroll(from, to, step);
}
;// ../../packages/shared/src/frame-throttle.ts
var wrapperFactory = function wrapperFactory() {
  var state = {
    cancelToken: 0
  };
  var resetCancelToken = function resetCancelToken() {
    state.cancelToken = 0;
  };
  var wrapper = function wrapper(cbThis, cb) {
    state.callbackThis = cbThis;
    for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
      args[_key - 2] = arguments[_key];
    }
    state.args = args;
    if (state.cancelToken) {
      return;
    }
    if ('requestAnimationFrame' in window) {
      state.cancelToken = window.requestAnimationFrame(function () {
        cb.apply(state.callbackThis, state.args);
        resetCancelToken();
      });
    } else {
      cb.apply(state.callbackThis, state.args);
      state.cancelToken = window.setTimeout(resetCancelToken, 1000 / 60); // 60 fps
    }
  };
  wrapper.cancel = function () {
    if ('requestAnimationFrame' in window) {
      window.cancelAnimationFrame(state.cancelToken);
    }
    window.clearTimeout(state.cancelToken);
    resetCancelToken();
  };
  return wrapper;
};
var throttleFactory = function throttleFactory(callback, thisArg) {
  for (var _len2 = arguments.length, argArray = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
    argArray[_key2 - 2] = arguments[_key2];
  }
  var wrapper = wrapperFactory();
  var argCount = arguments.length;
  var throttledCallback = function throttledCallback() {
    for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
      args[_key3] = arguments[_key3];
    }
    // @ts-ignore
    wrapper.apply(void 0, [argCount > 1 ? thisArg : this, callback].concat(argArray, args));
  };
  throttledCallback.cancel = function () {
    return wrapper.cancel();
  };
  return throttledCallback;
};
/**
 * Returns a throttled function which runs once per rendered frame using
 * requestAnimationFrame. If window.requestAnimationFrame does not exist,
 * the behavior will be approximated using setTimeout.
 *
 * @param callback the function to be throttled
 */
var throttle = function throttle(callback) {
  var throttledCallback = throttleFactory(callback);
  // Override `bind()` to create a new throttled callback, otherwise both
  // the unbound and bound callbacks will have the same scope.
  throttledCallback.bind = throttleFactory.bind(null, callback);
  return throttledCallback;
};
;// ../../node_modules/@babel/runtime/helpers/esm/typeof.js
function _typeof(o) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
    return typeof o;
  } : function (o) {
    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  }, _typeof(o);
}

;// ../../packages/shared/src/helper.ts

/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */
/**
 * Returns true if `value` is neither null nor undefined, else returns false.
 * @param {*} value - The value to test.
 * @returns {boolean}
 * @since 2.7.0
 */
function isNullOrUndef(value) {
  return value === null || typeof value === 'undefined';
}
function isEmpty(value) {
  var IncludeNullUndefined = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
  return value === '' || (IncludeNullUndefined ? isNullOrUndef(value) : false);
}
/**
 * Returns true if `value` is an array (including typed arrays), else returns false.
 * @param {*} value - The value to test.
 * @returns {boolean}
 * @function
 */
function isArray(value) {
  if (Array.isArray(value)) {
    return true;
  }
  var type = Object.prototype.toString.call(value);
  if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {
    return true;
  }
  return false;
}
/**
 * Returns true if `value` is an object (excluding null), else returns false.
 * @param {*} value - The value to test.
 * @returns {boolean}
 * @since 2.7.0
 */
function isObject(value) {
  return value !== null && /^\[object (Object|Module|Promise)\]/.test(Object.prototype.toString.call(value));
}
/**
 * Returns true if `value` is a finite number, else returns false
 * @param {*} value  - The value to test.
 * @returns {boolean}
 */
var isNumberFinite = function isNumberFinite(value) {
  return (typeof value === 'number' || value instanceof Number) && isFinite(+value);
};

/**
 * Returns `value` if finite, else returns `defaultValue`.
 * @param {*} value - The value to return if defined.
 * @param {*} defaultValue - The value to return if `value` is not finite.
 * @returns {*}
 */
function finiteOrDefault(value, defaultValue) {
  return isNumberFinite(value) ? value : defaultValue;
}
/**
 * Returns `value` if defined, else returns `defaultValue`.
 * @param {*} value - The value to return if defined.
 * @param {*} defaultValue - The value to return if `value` is undefined.
 * @returns {*}
 */
function valueOrDefault(value, defaultValue) {
  return typeof value === 'undefined' ? defaultValue : value;
}
/**
 * Returns true if the `a0` and `a1` arrays have the same content, else returns false.
 * @param {Array} a0 - The array to compare
 * @param {Array} a1 - The array to compare
 * @returns {boolean}
 * @private
 */
function elementsEqual(a0, a1) {
  var i;
  var ilen;
  var v0;
  var v1;
  if (!a0 || !a1 || a0.length !== a1.length) {
    return false;
  }
  for (i = 0, ilen = a0.length; i < ilen; ++i) {
    v0 = a0[i];
    v1 = a1[i];
    if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {
      return false;
    }
  }
  return true;
}
/**
 * Returns a deep copy of `source` without keeping references on objects and arrays.
 * @param {*} source - The value to clone.
 * @returns {*}
 */
function clone(source) {
  if (isArray(source)) {
    return source.map(clone);
  }
  if (isObject(source)) {
    var target = Object.create(null);
    var keys = Object.keys(source);
    var klen = keys.length;
    var k = 0;
    for (; k < klen; ++k) {
      target[keys[k]] = clone(source[keys[k]]);
    }
    return target;
  }
  return source;
}
function isValidKey(key) {
  return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;
}
/**
 * The default merger when Chart.helpers.merge is called without merger option.
 * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.
 * @private
 */
function mergerFn(key, target, source, options) {
  if (!isValidKey(key)) {
    return;
  }
  var tval = target[key];
  var sval = source[key];
  if (isObject(tval) && isObject(sval)) {
    merge(tval, sval, options);
  } else {
    target[key] = clone(sval);
  }
}
/**
 * Recursively deep copies `source` properties into `target` with the given `options`.
 * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
 * @param {object} target - The target object in which all sources are merged into.
 * @param {object|object[]} source - Object(s) to merge into `target`.
 * @param {object} [options] - Merging options:
 * @param {function} [options.merger] - The merge method (key, target, source, options)
 * @returns {object} The `target` object.
 */
function merge(target, source, options) {
  var sources = isArray(source) ? source : [source];
  var ilen = sources.length;
  if (!isObject(target)) {
    return target;
  }
  options = options || {};
  var merger = options.merger || mergerFn;
  for (var i = 0; i < ilen; ++i) {
    source = sources[i];
    if (!isObject(source)) {
      continue;
    }
    var keys = Object.keys(source);
    for (var k = 0, klen = keys.length; k < klen; ++k) {
      merger(keys[k], target, source, options);
    }
  }
  return target;
}
/**
 * Recursively deep copies `source` properties into `target` *only* if not defined in target.
 * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
 * @param {object} target - The target object in which all sources are merged into.
 * @param {object|object[]} source - Object(s) to merge into `target`.
 * @returns {object} The `target` object.
 */
function mergeIf(target, source) {
  return merge(target, source, {
    merger: mergerIfFn
  });
}
/**
 * Merges source[key] in target[key] only if target[key] is undefined.
 * @private
 */
function mergerIfFn(key, target, source) {
  if (!isValidKey(key)) {
    return;
  }
  var tval = target[key];
  var sval = source[key];
  if (isObject(tval) && isObject(sval)) {
    mergeIf(tval, sval);
  } else if (!Object.prototype.hasOwnProperty.call(target, key)) {
    target[key] = clone(sval);
  }
}
/**
 * 检查当前元素是否为Html元素
 * @param obj
 * @returns
 */
function helper_isElement(obj) {
  try {
    return obj instanceof HTMLElement;
  } catch (e) {
    return _typeof(obj) === 'object' && obj.nodeType === 1 && _typeof(obj.style) === 'object' && _typeof(obj.ownerDocument) === 'object';
  }
}
/**
 * Whether the text content is clipped due to CSS overflow, as in showing `...`.
 */
function hasOverflowEllipsis(element) {
  if (!element) {
    return false;
  }
  return element.offsetWidth < element.scrollWidth || element.offsetHeight < element.scrollHeight;
}
/**
 * Sets the `title` attribute in the event's element target, when the text
 * content is clipped due to CSS overflow, as in showing `...`.
 */
function maybeShowTooltip(target, title) {
  if (hasOverflowEllipsis(target)) {
    target.setAttribute('title', title);
  } else {
    target.removeAttribute('title');
  }
}
var isFunction = function isFunction(val) {
  return typeof val === 'function';
};
var isString = function isString(val) {
  return typeof val === 'string';
};
var isSymbol = function isSymbol(val) {
  return _typeof(val) === 'symbol';
};
var isPromise = function isPromise(val) {
  return isObject(val) && isFunction(val.then) && isFunction(val["catch"]);
};
;// external "vue"

;// ../../packages/shared/src/token.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */
var formKey = Symbol('form');
var formItemKey = Symbol('formItem');
;// ../../packages/shared/src/hooks/use-form.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */


var useForm = function useForm() {
  return __WEBPACK_EXTERNAL_MODULE_vue_inject__(formKey);
};
;// ../../packages/shared/src/hooks/use-form-item.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */


var useFormItem = function useFormItem() {
  return __WEBPACK_EXTERNAL_MODULE_vue_inject__(formItemKey, undefined);
};
;// ../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
function _arrayLikeToArray(r, a) {
  (null == a || a > r.length) && (a = r.length);
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
  return n;
}

;// ../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js

function _arrayWithoutHoles(r) {
  if (Array.isArray(r)) return _arrayLikeToArray(r);
}

;// ../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
function _iterableToArray(r) {
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}

;// ../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js

function _unsupportedIterableToArray(r, a) {
  if (r) {
    if ("string" == typeof r) return _arrayLikeToArray(r, a);
    var t = {}.toString.call(r).slice(8, -1);
    return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
  }
}

;// ../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
function _nonIterableSpread() {
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}

;// ../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js




function _toConsumableArray(r) {
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
}

;// ../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js
function _classCallCheck(a, n) {
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}

;// ../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js

function toPrimitive(t, r) {
  if ("object" != _typeof(t) || !t) return t;
  var e = t[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t, r || "default");
    if ("object" != _typeof(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r ? String : Number)(t);
}

;// ../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js


function toPropertyKey(t) {
  var i = toPrimitive(t, "string");
  return "symbol" == _typeof(i) ? i : i + "";
}

;// ../../node_modules/@babel/runtime/helpers/esm/createClass.js

function _defineProperties(e, r) {
  for (var t = 0; t < r.length; t++) {
    var o = r[t];
    o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
  }
}
function _createClass(e, r, t) {
  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
    writable: !1
  }), e;
}

;// ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js

function _defineProperty(e, r, t) {
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[r] = t, e;
}

;// external "@popperjs/core"

;// ../../node_modules/uuid/dist/esm-browser/native.js
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
/* harmony default export */ const esm_browser_native = ({
  randomUUID
});
;// ../../node_modules/uuid/dist/esm-browser/rng.js
// Unique ID creation requires a high quality random # generator. In the browser we therefore
// require the crypto API and do not support built-in fallback to lower quality random number
// generators (like Math.random()).
let getRandomValues;
const rnds8 = new Uint8Array(16);
function rng() {
  // lazy load so that environments that need to polyfill have a chance to do so
  if (!getRandomValues) {
    // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
    getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);

    if (!getRandomValues) {
      throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
    }
  }

  return getRandomValues(rnds8);
}
;// ../../node_modules/uuid/dist/esm-browser/stringify.js
/* unused harmony import specifier */ var validate;

/**
 * Convert array of 16 byte values to UUID string format of the form:
 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
 */

const byteToHex = [];

for (let i = 0; i < 256; ++i) {
  byteToHex.push((i + 0x100).toString(16).slice(1));
}

function unsafeStringify(arr, offset = 0) {
  // Note: Be careful editing this code!  It's been tuned for performance
  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
  return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
}

function stringify(arr, offset = 0) {
  const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID.  If this throws, it's likely due to one
  // of the following:
  // - One or more input array values don't map to a hex octet (leading to
  // "undefined" in the uuid)
  // - Invalid input values for the RFC `version` or `variant` fields

  if (!validate(uuid)) {
    throw TypeError('Stringified UUID is invalid');
  }

  return uuid;
}

/* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify)));
;// ../../node_modules/uuid/dist/esm-browser/v4.js




function v4(options, buf, offset) {
  if (esm_browser_native.randomUUID && !buf && !options) {
    return esm_browser_native.randomUUID();
  }

  options = options || {};
  const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`

  rnds[6] = rnds[6] & 0x0f | 0x40;
  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided

  if (buf) {
    offset = offset || 0;

    for (let i = 0; i < 16; ++i) {
      buf[offset + i] = rnds[i];
    }

    return buf;
  }

  return unsafeStringify(rnds);
}

/* harmony default export */ const esm_browser_v4 = (v4);
;// ../../packages/shared/src/popover.ts





/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */



var BKPopover = /*#__PURE__*/function () {
  function BKPopover(reference, popperRefer, options) {
    var _this$popperRefer, _this$instanceOptions;
    _classCallCheck(this, BKPopover);
    /** 当前提内容是否弹出 */
    _defineProperty(this, "isShow", false);
    /** 触发条件 */
    _defineProperty(this, "trigger", undefined);
    /** 当前popperjs实例 */
    _defineProperty(this, "instance", undefined);
    /** 是否总是可见 */
    _defineProperty(this, "always", false);
    /** Popover 外层容器，触发Pop的元素 */
    _defineProperty(this, "reference", undefined);
    /** Popover 弹出内容外层占位容器 */
    _defineProperty(this, "referenceTarget", undefined);
    /** Popover Content 外层容器，目标元素：实际弹出内容 */
    _defineProperty(this, "popperRefer", undefined);
    /** hide延时 */
    _defineProperty(this, "delay", 50);
    /** 是否进入popperRefer */
    _defineProperty(this, "isInnerPopper", false);
    /** 是否为禁用状态 */
    _defineProperty(this, "disabled", false);
    /** 执行显示函数 */
    _defineProperty(this, "afterShow", null);
    /** 执行隐藏函数 */
    _defineProperty(this, "afterHidden", null);
    /** 弹出内容AppendTo */
    _defineProperty(this, "appendTo", 'parent');
    /** 父级容器 */
    _defineProperty(this, "container", null);
    /**
     * 如果设置了appendTo为指定DOM，此配置项生效
     * 是否将弹出内容固定到目标元素位置
     * 例如：appendTo = document.body, fixOnBoundary = true，则弹出内容会一直固定到body
     */
    _defineProperty(this, "fixOnBoundary", false);
    this.instanceOptions = this.initDefaultOptions(options);
    this.reference = this.resolveInputSelectorToHtmlElement(reference);
    this.popperRefer = this.resolveInputSelectorToHtmlElement(popperRefer);
    this.referenceTarget = this.getTargetReferenceElement();
    this.container = (_this$popperRefer = this.popperRefer) === null || _this$popperRefer === void 0 ? void 0 : _this$popperRefer.parentElement;
    this.isShow = !!((_this$instanceOptions = this.instanceOptions) !== null && _this$instanceOptions !== void 0 && _this$instanceOptions.isShow);
    this.always = this.instanceOptions.always;
    this.trigger = this.instanceOptions.trigger;
    this.disabled = this.instanceOptions.disabled;
    this.appendTo = this.instanceOptions.appendTo;
    this.afterHidden = typeof options.afterHidden === 'function' ? options.afterHidden : function () {};
    this.afterShow = typeof options.afterShow === 'function' ? options.afterShow : function () {};
    this.fixOnBoundary = this.instanceOptions.fixOnBoundary;
    this.initInstance();
    this.registerEvents();
    /** 默认弹出 */
    if (this.isShow || this.always) {
      this.show(null);
    }
  }
  // Synchronously updates the popper instance. Use this for low-frequency
  // updates.
  return _createClass(BKPopover, [{
    key: "forceUpdate",
    value: function forceUpdate() {
      var _this$instance;
      (_this$instance = this.instance) === null || _this$instance === void 0 || _this$instance.forceUpdate();
    }
    // Asynchronously updates the popper instance, and returns a promise. Use this
    // for high-frequency updates.
  }, {
    key: "update",
    value: function update() {
      var _this$instance2;
      (_this$instance2 = this.instance) === null || _this$instance2 === void 0 || _this$instance2.update();
    }
  }, {
    key: "updateOptions",
    value: function updateOptions(options) {
      var _this$instanceOptions2;
      this.instanceOptions = this.initDefaultOptions(options);
      this.isShow = !!((_this$instanceOptions2 = this.instanceOptions) !== null && _this$instanceOptions2 !== void 0 && _this$instanceOptions2.isShow);
      this.trigger = this.instanceOptions.trigger;
      this.disabled = this.instanceOptions.disabled;
      this.setOptions(this.instanceOptions);
    }
    // Updates the options of the instance.
  }, {
    key: "setOptions",
    value: function setOptions(options) {
      var _this$instance3;
      (_this$instance3 = this.instance) === null || _this$instance3 === void 0 || _this$instance3.setOptions(options);
    }
    // Cleans up the instance.
  }, {
    key: "destroy",
    value: function destroy() {
      var _this$instance4;
      (_this$instance4 = this.instance) === null || _this$instance4 === void 0 || _this$instance4.destroy();
    }
    // 更新禁用状态
  }, {
    key: "updateDisabled",
    value: function updateDisabled(disabled) {
      this.disabled = disabled !== null && disabled !== void 0 ? disabled : !this.disabled;
      this.disabled && this.hide();
    }
    /**
     * 展示Pop
     * @param _event 触发事件
     */
  }, {
    key: "show",
    value: function show(_event) {
      if (!this.disabled) {
        var _this$popperRefer2;
        // Make the tooltip visible
        (_this$popperRefer2 = this.popperRefer) === null || _this$popperRefer2 === void 0 || _this$popperRefer2.setAttribute('data-show', '');
        // Enable the event listeners
        this.setOptions({
          modifiers: [].concat(_toConsumableArray(this.instanceOptions.modifiers || []), [{
            name: 'eventListeners',
            enabled: true
          }])
        });
        // Update its position
        this.update();
        this.isShow = true;
        this.afterShow();
        if (!this.fixOnBoundary) {
          this.appendToTarget();
        }
      }
    }
    /**
     * 隐藏
     * @param event 触发事件
     */
  }, {
    key: "hide",
    value: function hide() {
      var _this$popperRefer3;
      if (this.always) return;
      // Hide the tooltip
      (_this$popperRefer3 = this.popperRefer) === null || _this$popperRefer3 === void 0 || _this$popperRefer3.removeAttribute('data-show');
      // Disable the event listeners
      this.setOptions({
        modifiers: [].concat(_toConsumableArray(this.instanceOptions.modifiers || []), [{
          name: 'eventListeners',
          enabled: false
        }])
      });
      this.isShow = false;
      this.isInnerPopper = false;
      this.afterHidden();
      if (!this.fixOnBoundary) {
        this.restorePopContent();
      }
    }
    /**
     * 还原PopContent到初试位置
     */
  }, {
    key: "restorePopContent",
    value: function restorePopContent() {
      var target = this.getAppendToTarget();
      if (helper_isElement(target) && target.contains(this.popperRefer) && this.container && !this.container.contains(this.popperRefer)) {
        this.container.append(this.popperRefer);
      }
    }
    /**
     * 挂载PopContent到目标位置
     */
  }, {
    key: "appendToTarget",
    value: function appendToTarget() {
      var target = this.getAppendToTarget();
      if (helper_isElement(target) && target.contains(this.popperRefer)) {
        target.append(this.popperRefer);
      }
    }
    /**
     * 获取目标位置元素
     * @returns
     */
  }, {
    key: "getAppendToTarget",
    value: function getAppendToTarget() {
      var appendTo = this.appendTo;
      var target = appendTo;
      if (appendTo !== 'parent') {
        if (typeof appendTo === 'string') {
          target = document.querySelector(appendTo);
        }
      }
      return target;
    }
    /**
     * 初始化默认配置
     * @param opts
     * @returns
     */
  }, {
    key: "initDefaultOptions",
    value: function initDefaultOptions(opts) {
      var _this = this;
      var defaultCfg = {
        placement: 'top',
        modifiers: [{
          name: 'offset',
          options: {
            offset: [0, 8]
          }
        }],
        strategy: 'absolute',
        onFirstUpdate: undefined,
        isShow: false,
        theme: 'dark',
        trigger: 'hover',
        disabled: false
      };
      var targetOptions = merge(defaultCfg, opts || {});
      var sourceOnFirstUpdate = targetOptions.onFirstUpdate;
      targetOptions.onFirstUpdate = function (state) {
        if (typeof sourceOnFirstUpdate === 'function') {
          sourceOnFirstUpdate.call(_this, state);
          _this.handleFirstUpdate();
        }
      };
      return targetOptions;
    }
    /**
     * 判定是否需要将PopContent挂载到目标元素
     */
  }, {
    key: "handleFirstUpdate",
    value: function handleFirstUpdate() {
      if (this.fixOnBoundary) {
        this.appendToTarget();
      }
    }
    /**
     * 剔除 Pop 外层容器，获取目标元素
     * @returns
     */
  }, {
    key: "getTargetReferenceElement",
    value: function getTargetReferenceElement() {
      if (this.isElement(this.reference)) {
        return this.reference.childElementCount === 1 ? this.reference.firstElementChild : this.reference;
      }
      return this.reference;
    }
    /**
     * 初始化Pop Instance
     */
  }, {
    key: "initInstance",
    value: function initInstance() {
      if (this.referenceTarget) {
        if (this.referenceTarget && this.popperRefer) {
          var _this$popperRefer4, _this$instanceOptions3;
          this.instance = __WEBPACK_EXTERNAL_MODULE__popperjs_core_a5c7319c_createPopper__(this.referenceTarget, this.popperRefer, this.instanceOptions);
          (_this$popperRefer4 = this.popperRefer) === null || _this$popperRefer4 === void 0 || _this$popperRefer4.setAttribute('data-theme', (_this$instanceOptions3 = this.instanceOptions.theme) !== null && _this$instanceOptions3 !== void 0 ? _this$instanceOptions3 : 'dark');
        } else {
          console.error('reference or popperRefer is null, please check html element.');
        }
      }
    }
    /**
     * 解析当前参数为对应的Html Element
     * @param refer Html Element Selector Or Html Element
     * @param checkVirtualDom 是否检查虚拟DOM
     * @returns Html Element Or Null
     */
  }, {
    key: "resolveInputSelectorToHtmlElement",
    value: function resolveInputSelectorToHtmlElement(refer) {
      if (this.isElement(refer)) {
        return refer;
      }
      if (typeof refer === 'string') {
        return document.querySelector(refer);
      }
      if (_typeof(refer) === 'object') {
        if (Object.prototype.hasOwnProperty.call(refer, 'getBoundingClientRect')) {
          return refer;
        }
      } else {
        console.error("'getBoundingClientRect' is needed when use virtual elements");
      }
      return null;
    }
    /**
     * 检查当前元素是否为Html元素
     * @param obj
     * @returns
     */
  }, {
    key: "isElement",
    value: function isElement(obj) {
      return helper_isElement(obj);
    }
  }, {
    key: "registerEvents",
    value: function registerEvents() {
      var _this2 = this;
      if (this.isElement(this.referenceTarget)) {
        if (this.trigger === 'hover') {
          var showEvents = ['mouseenter', 'focus'];
          var hideEvents = ['mouseleave', 'blur'];
          var contentEvents = ['mouseenter', 'mouseleave'];
          showEvents.forEach(function (event) {
            _this2.referenceTarget.addEventListener(event, function (evt) {
              if (event === 'mouseenter') _this2.isInnerPopper = true;
              _this2.show(evt);
            });
          });
          hideEvents.forEach(function (event) {
            _this2.referenceTarget.addEventListener(event, function () {
              _this2.isInnerPopper = false;
              setTimeout(function () {
                !_this2.isInnerPopper && _this2.hide();
              }, _this2.delay);
            });
          });
          if (this.isElement(this.popperRefer)) {
            contentEvents.forEach(function (event) {
              _this2.popperRefer.addEventListener(event, function () {
                if (event === 'mouseenter') _this2.isInnerPopper = true;
                if (event === 'mouseleave') _this2.hide();
              });
            });
          }
        }
      }
      if (this.trigger === 'click') {
        var _showEvents = ['click'];
        _showEvents.forEach(function (event) {
          document.body.addEventListener(event, function (event) {
            if (_this2.isSameElement(event.target, _this2.reference) || _this2.reference.contains(event.target)) {
              _this2.show(event);
            } else {
              if (_this2.isShow && !_this2.isSameElement(event.target, _this2.popperRefer) && !_this2.popperRefer.contains(event.target)) {
                _this2.hide();
              }
            }
          });
        });
      }
    }
  }, {
    key: "isSameElement",
    value: function isSameElement(source, target) {
      return source && (source === target || source === target.firstElementChild);
    }
  }]);
}();
var popContainerId = null;
var getPopContainerId = function getPopContainerId() {
  var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#';
  if (popContainerId === null) {
    popContainerId = "id_".concat(esm_browser_v4());
    var popContainer = document.createElement('div');
    popContainer.setAttribute('id', popContainerId);
    popContainer.setAttribute('data-popper-id', popContainerId);
    document.body.append(popContainer);
  }
  return "".concat(prefix).concat(popContainerId);
};
;// ../../packages/shared/src/scrollbar-width.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */
var scrollBarWidth;
function scrollbarWidth() {
  if (scrollBarWidth !== undefined) return scrollBarWidth;
  var outer = document.createElement('div');
  outer.className = 'bk-scrollbar-wrap';
  outer.style.visibility = 'hidden';
  outer.style.width = '100px';
  outer.style.position = 'absolute';
  outer.style.top = '-9999px';
  document.body.appendChild(outer);
  var widthNoScroll = outer.offsetWidth;
  outer.style.overflow = 'scroll';
  var inner = document.createElement('div');
  inner.style.width = '100%';
  outer.appendChild(inner);
  var widthWithScroll = inner.offsetWidth;
  outer.parentNode.removeChild(outer);
  scrollBarWidth = widthNoScroll - widthWithScroll;
  return scrollBarWidth;
}
;// external "lodash/throttle"

;// ../../packages/shared/src/utils.ts
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */


var lowerStr = 'abcdefghijklmnopqrstuvwxyz0123456789';
/**
 * 生成n位长度的字符串
 * @param {Number} n
 * @param str,默认26位字母及数字
 */
var random = function random(n) {
  var str = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : lowerStr;
  var result = '';
  for (var i = 0; i < n; i++) {
    result += str[parseInt((Math.random() * str.length).toString(), 10)];
  }
  return result;
};
/**
 * 监听目标元素的Resize事件
 * @param root 目标元素
 * @param callbackFn 执行函数
 * @param delay 延迟执行时间，默认 60
 * @param immediate 是否立即执行回调函数
 * @returns "{ start: () => void, stop: () => void }"
 */
var observerResize = function observerResize(root, callbackFn) {
  var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 60;
  var immediate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  var callFn = __WEBPACK_EXTERNAL_MODULE_lodash_throttle_a7b7506a_default__(function () {
    if (typeof callbackFn === 'function') {
      callbackFn();
    }
  }, delay);
  var resizeObserver = new ResizeObserver(function () {
    callFn();
  });
  if (immediate) {
    if (typeof callbackFn === 'function') {
      callbackFn();
    }
  }
  return {
    start: function start() {
      resizeObserver.observe(root);
    },
    stop: function stop() {
      resizeObserver.disconnect();
      resizeObserver.unobserve(root);
    }
  };
};
var capitalize = function capitalize(str) {
  return str[0].toUpperCase() + str.slice(1);
};
/**
 * 判断元素是否溢出容器
 * @param {*} el
 * @returns
 */
function checkOverflow(el) {
  if (!el) return false;
  var createDom = function createDom(el, css) {
    var dom = document.createElement('div');
    var width = parseFloat(css.width) ? "".concat(Math.ceil(parseFloat(css.width)), "px") : css.width;
    dom.style.cssText = "\n      width: ".concat(width, ";\n      line-height: ").concat(css['line-height'], ";\n      font-size: ").concat(css['font-size'], ";\n      word-break: ").concat(css['word-break'], ";\n      padding: ").concat(css.padding, ";\n    ");
    dom.textContent = el.textContent;
    return dom;
  };
  var isOverflow = false;
  try {
    var css = window.getComputedStyle(el, null);
    var lineClamp = css.webkitLineClamp;
    if (lineClamp !== 'none') {
      var targetHeight = parseFloat(css.height);
      var dom = createDom(el, css);
      document.body.appendChild(dom);
      var domHeight = window.getComputedStyle(dom, null).height;
      document.body.removeChild(dom);
      isOverflow = targetHeight < parseFloat(domHeight);
    } else {
      isOverflow = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;
    }
  } catch (e) {
    console.warn('There is an error when check element overflow state: ', e);
  }
  return isOverflow;
}
/**
 * 判定是否在全屏模式下包含指定元素
 * @param target
 * @returns
 */
var isFullScreenContainsElement = function isFullScreenContainsElement(target) {
  var _document$fullscreenE, _document$fullscreenE2;
  if ((_document$fullscreenE = document.fullscreenElement) !== null && _document$fullscreenE !== void 0 && _document$fullscreenE.shadowRoot) {
    return document.fullscreenElement.shadowRoot.contains(target);
  }
  return (_document$fullscreenE2 = document.fullscreenElement) === null || _document$fullscreenE2 === void 0 ? void 0 : _document$fullscreenE2.contains(target);
};
/**
 * 当全屏模式开启，获取指定选择器下面的全屏元素
 * 如果是启用了webcomponent组件，则返回shadowRoot内指定的目标元素
 * @returns
 */
var _getFullscreenRoot = function getFullscreenRoot(selector) {
  if (!selector) {
    return 'body';
  }
  if (helper_isElement(selector)) {
    if (isFullScreenContainsElement(selector)) {
      return selector;
    }
  }
  if (typeof selector === 'string') {
    var target = document.body.querySelector(selector);
    return _getFullscreenRoot(target);
  }
  if (document.fullscreenElement) {
    var _document$fullscreenE3;
    if ((_document$fullscreenE3 = document.fullscreenElement) !== null && _document$fullscreenE3 !== void 0 && _document$fullscreenE3.shadowRoot) {
      var _document$fullscreenE4;
      return (_document$fullscreenE4 = document.fullscreenElement) === null || _document$fullscreenE4 === void 0 ? void 0 : _document$fullscreenE4.shadowRoot;
    }
    return document.fullscreenElement;
  }
  return helper_isElement(document.body) ? document.body : 'body';
};

;// ../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
function _assertThisInitialized(e) {
  if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return e;
}

;// ../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js


function _possibleConstructorReturn(t, e) {
  if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
  if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
  return _assertThisInitialized(t);
}

;// ../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
function _getPrototypeOf(t) {
  return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
    return t.__proto__ || Object.getPrototypeOf(t);
  }, _getPrototypeOf(t);
}

;// ../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
function _setPrototypeOf(t, e) {
  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
    return t.__proto__ = e, t;
  }, _setPrototypeOf(t, e);
}

;// ../../node_modules/@babel/runtime/helpers/esm/inherits.js

function _inherits(t, e) {
  if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
  t.prototype = Object.create(e && e.prototype, {
    constructor: {
      value: t,
      writable: !0,
      configurable: !0
    }
  }), Object.defineProperty(t, "prototype", {
    writable: !1
  }), e && _setPrototypeOf(t, e);
}

;// external "vue-types"

;// ../../packages/shared/src/vue-types.ts





function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */

var propTypesNS = __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_createTypes__({});
// 用于创建字符串列表映射至 `K: V` 的函数
function stringEnum(o) {
  return o.reduce(function (res, key) {
    res[key] = key;
    return res;
  }, Object.create(null));
}
var SizeEnum;
(function (SizeEnum) {
  SizeEnum["DEFAULT"] = "default";
  SizeEnum["LARGE"] = "large";
  SizeEnum["SMALL"] = "small";
})(SizeEnum || (SizeEnum = {}));
var Placements;
(function (Placements) {
  Placements["Bottom"] = "bottom";
  Placements["Left"] = "left";
  Placements["Right"] = "right";
  Placements["Top"] = "top";
})(Placements || (Placements = {}));
var RenderDirectiveEnum;
(function (RenderDirectiveEnum) {
  RenderDirectiveEnum["IF"] = "if";
  RenderDirectiveEnum["SHOW"] = "show";
})(RenderDirectiveEnum || (RenderDirectiveEnum = {}));
function renderDirectiveType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_string__().def(RenderDirectiveEnum.SHOW);
}
var AlignEnum;
(function (AlignEnum) {
  AlignEnum["CENTER"] = "center";
  AlignEnum["LEFT"] = "left";
  AlignEnum["RIGHT"] = "right";
})(AlignEnum || (AlignEnum = {}));
function alignType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_string__().def(AlignEnum.LEFT);
}
var ThemeEnum;
(function (ThemeEnum) {
  ThemeEnum["DANGER"] = "danger";
  ThemeEnum["PRIMARY"] = "primary";
  ThemeEnum["SUCCESS"] = "success";
  ThemeEnum["WARNING"] = "warning";
})(ThemeEnum || (ThemeEnum = {}));
/** 弹层出现位置选项 */
var PlacementEnum;
(function (PlacementEnum) {
  PlacementEnum["AUTO"] = "auto";
  PlacementEnum["AUTO_END"] = "auto-end";
  PlacementEnum["AUTO_START"] = "auto-start";
  PlacementEnum["BOTTOM"] = "bottom";
  PlacementEnum["BOTTOM_END"] = "bottom-end";
  PlacementEnum["BOTTOM_START"] = "bottom-start";
  PlacementEnum["LEFT"] = "left";
  PlacementEnum["LEFT_END"] = "left-end";
  PlacementEnum["LEFT_START"] = "left-start";
  PlacementEnum["RIGHT"] = "right";
  PlacementEnum["RIGHT_END"] = "right-end";
  PlacementEnum["RIGHT_START"] = "right-start";
  PlacementEnum["TOP"] = "top";
  PlacementEnum["TOP_END"] = "top-end";
  PlacementEnum["TOP_START"] = "top-start";
})(PlacementEnum || (PlacementEnum = {}));
function placementType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_string__().def(PlacementEnum.BOTTOM);
}
/** 弹层触发选项  */
var TriggerEnum;
(function (TriggerEnum) {
  TriggerEnum["CLICK"] = "click";
  TriggerEnum["HOVER"] = "hover";
  TriggerEnum["MANUAL"] = "manual";
})(TriggerEnum || (TriggerEnum = {}));
function triggerType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_string__().def(TriggerEnum.HOVER);
}
/** 内容渲染类型：目前是在popover内容渲染时使用 */
var RenderType;
(function (RenderType) {
  RenderType["AUTO"] = "auto";
  RenderType["SHOWN"] = "shown";
})(RenderType || (RenderType = {}));
function renderType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('popRenderType', {}).def(RenderType.SHOWN);
}
var DialogTypeEnum;
(function (DialogTypeEnum) {
  DialogTypeEnum["CONFIRM"] = "confirm";
  DialogTypeEnum["OPERATION"] = "operation";
  DialogTypeEnum["PROCESS"] = "process";
  DialogTypeEnum["SHOW"] = "show";
})(DialogTypeEnum || (DialogTypeEnum = {}));
function dialogTypeUnion() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('dialogType', {
    "default": DialogTypeEnum.OPERATION
  });
}
var DirectionEnum;
(function (DirectionEnum) {
  DirectionEnum["HORIZONTAL"] = "horizontal";
  DirectionEnum["VERTICAL"] = "vertical";
})(DirectionEnum || (DirectionEnum = {}));
function directionType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('direction', {}).def(DirectionEnum.HORIZONTAL);
}
var LineStyleEnum;
(function (LineStyleEnum) {
  LineStyleEnum["DASHED"] = "dashed";
  LineStyleEnum["SOLID"] = "solid";
})(LineStyleEnum || (LineStyleEnum = {}));
function lineStyleType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('lineType', {}).def(LineStyleEnum.DASHED);
}
var TagThemeEnum;
(function (TagThemeEnum) {
  TagThemeEnum["DANGER"] = "danger";
  TagThemeEnum["INFO"] = "info";
  TagThemeEnum["SUCCESS"] = "success";
  TagThemeEnum["UNKNOWN"] = "";
  TagThemeEnum["WARNING"] = "warning";
})(TagThemeEnum || (TagThemeEnum = {}));
function TagThemeType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('tagTheme', {}).def();
}
var InputBehaviorEnum;
(function (InputBehaviorEnum) {
  InputBehaviorEnum["NORMAL"] = "normal";
  InputBehaviorEnum["SIMPLICITY"] = "simplicity";
})(InputBehaviorEnum || (InputBehaviorEnum = {}));
var ProgressStrokeLineCapEnum;
(function (ProgressStrokeLineCapEnum) {
  ProgressStrokeLineCapEnum["BUTT"] = "butt";
  ProgressStrokeLineCapEnum["ROUNDE"] = "round";
  ProgressStrokeLineCapEnum["SQUARE"] = "square";
})(ProgressStrokeLineCapEnum || (ProgressStrokeLineCapEnum = {}));
var ProgressEnum;
(function (ProgressEnum) {
  ProgressEnum["CIRCLE"] = "circle";
  ProgressEnum["DASHBOARD"] = "dashboard";
  ProgressEnum["LINE"] = "line";
})(ProgressEnum || (ProgressEnum = {}));
var SwitcherThemeEnum;
(function (SwitcherThemeEnum) {
  SwitcherThemeEnum["PRIMARY"] = "primary";
  SwitcherThemeEnum["SUCCESS"] = "success";
})(SwitcherThemeEnum || (SwitcherThemeEnum = {}));
var TimelineNodeTypeEnum;
(function (TimelineNodeTypeEnum) {
  TimelineNodeTypeEnum["TEMPLATE"] = "template";
  TimelineNodeTypeEnum["VNODE"] = "vnode";
})(TimelineNodeTypeEnum || (TimelineNodeTypeEnum = {}));
function SwitcherThemeType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('switcherTheme', {}).def(SwitcherThemeEnum.SUCCESS);
}
function ProgressStrokeLineCapType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('progressStrokeLineCap', {}).def(ProgressStrokeLineCapEnum.ROUNDE);
}
function ProgressType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('progress', {}).def(ProgressEnum.LINE);
}
function InputBehaviorType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('behavior', {}).def(InputBehaviorEnum.NORMAL);
}
var PropTypes = /*#__PURE__*/function (_propTypesNS) {
  function PropTypes() {
    _classCallCheck(this, PropTypes);
    return _callSuper(this, PropTypes, arguments);
  }
  _inherits(PropTypes, _propTypesNS);
  return _createClass(PropTypes, null, [{
    key: "size",
    value: function size() {
      var defaultList = ['small', 'default', 'large', 'huge'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('Size', {
        validator: function validator(val) {
          if (!val || defaultList.includes(val)) {
            return true;
          }
          console.error("invalid theme, ".concat(val, ", the theme must be one of \u3010").concat(defaultList.join(' | '), "\u3011"));
          return false;
        },
        "default": 'default'
      });
    }
  }, {
    key: "theme",
    value: function theme() {
      var themes = ['primary', 'warning', 'success', 'danger'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('Theme', {
        validator: function validator(val) {
          if (!val || themes.includes(val)) {
            return true;
          }
          console.error("invalid theme, ".concat(val, ", the theme must be one of \u3010").concat(themes.join(' | '), "\u3011"));
          return false;
        }
      });
    }
  }, {
    key: "placement",
    value: function placement() {
      var placements = ['top', 'left', 'right', 'bottom'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('Placements', {
        validator: function validator(val) {
          if (!val || placements.includes(val)) {
            return true;
          }
          return false;
        },
        "default": 'top'
      });
    }
  }, {
    key: "style",
    value: function style() {
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('Style', {
        type: [String, Object]
      });
    }
  }, {
    key: "position",
    value: function position() {
      var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['top-left', 'top-right', 'bottom-left', 'bottom-right'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('positions', {
        type: String,
        validator: function validator(val) {
          if (!val || positions.includes(val)) {
            return true;
          }
          console.error("invalid positions, ".concat(val, ", the position must be one of \u3010").concat(positions.join(' | '), "\u3011"));
          return false;
        },
        "default": 'top-center'
      });
    }
  }, {
    key: "infoType",
    value: function infoType() {
      var type = ['success', 'danger', 'warning', 'loading'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('InfoType', {
        validator: function validator(val) {
          if (!val || type.includes(val)) {
            return true;
          }
          return false;
        }
      });
    }
  }, {
    key: "timelineNodeType",
    value: function timelineNodeType() {
      var types = ['template', 'vnode'];
      return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('TimelineNodeType', {
        validator: function validator(val) {
          if (!val || types.includes(val)) {
            return true;
          }
          return false;
        }
      });
    }
  }]);
}(propTypesNS);
var SelectedTypeEnum;
(function (SelectedTypeEnum) {
  SelectedTypeEnum["CHECK"] = "check";
  SelectedTypeEnum["CHECKBOX"] = "checkbox";
})(SelectedTypeEnum || (SelectedTypeEnum = {}));
function SelectedType() {
  return __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a_toType__('selectedStyle', {}).def(SelectedTypeEnum.CHECK);
}
;// ../../packages/shared/src/z-index-manager.ts



/**
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 *
 * Copyright (C) 2025 Tencent.  All rights reserved.
 *
 * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
 *
 * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
 *
 * ---------------------------------------------------
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
 * the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */
/**
 * 页面框架层级
 */
var BKLAYERTYPE;
(function (BKLAYERTYPE) {
  /** 网站内容的背景、拓扑的画布等 */
  BKLAYERTYPE["BOTTOM"] = "bottom";
  /** 页面呈现的各类内容 */
  BKLAYERTYPE["CONTENT"] = "content";
  /** 页面需全屏操作的部分功能或编辑器的全屏模式 */
  BKLAYERTYPE["FULLSCREEN"] = "fullScreen";
  /** 各类消息提示 */
  BKLAYERTYPE["MESSAGE"] = "message";
  /** 各类弹窗或抽屉（非模态弹窗不考虑） */
  BKLAYERTYPE["MODAL"] = "modal";
  /** 顶部导航、侧边导航以及用户信息等 */
  BKLAYERTYPE["NAVI"] = "navi";
  /** 各类功能插件 */
  BKLAYERTYPE["PLUGINS"] = "plugins";
  /** 各类popper提示 */
  BKLAYERTYPE["POPPER"] = "popper";
})(BKLAYERTYPE || (BKLAYERTYPE = {}));
/** 定义不同分层默认值 */
var BKLAYERD_INDEX_EFAULT_VALUE = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, BKLAYERTYPE.BOTTOM, 0), BKLAYERTYPE.CONTENT, 1), BKLAYERTYPE.NAVI, 100), BKLAYERTYPE.FULLSCREEN, 1000), BKLAYERTYPE.MODAL, 2000), BKLAYERTYPE.PLUGINS, 5000), BKLAYERTYPE.MESSAGE, 6000), BKLAYERTYPE.POPPER, 8000);
var BKZIndexManager = /*#__PURE__*/function () {
  function BKZIndexManager() {
    _classCallCheck(this, BKZIndexManager);
    _defineProperty(this, "storageLayerIndexValue", {});
    this.copyDefaultValue();
  }
  /**
   *
   * @param type
   * @returns
   */
  return _createClass(BKZIndexManager, [{
    key: "getNextIndex",
    value: function getNextIndex(type) {
      if (Object.prototype.hasOwnProperty.call(this.storageLayerIndexValue, type)) {
        this.storageLayerIndexValue[type] = this.storageLayerIndexValue[type] + 1;
        return this.storageLayerIndexValue[type];
      }
      this.getNextIndex(BKLAYERTYPE.MODAL);
    }
    /** 获取弹窗类型最新zIndex的值 */
  }, {
    key: "getModalNextIndex",
    value: function getModalNextIndex() {
      return this.getNextIndex(BKLAYERTYPE.MODAL);
    }
    /** 获取Message类型最新zIndex的值 */
  }, {
    key: "getMessageNextIndex",
    value: function getMessageNextIndex() {
      return this.getNextIndex(BKLAYERTYPE.MESSAGE);
    }
    /** 获取全屏类型最新zIndex的值 */
  }, {
    key: "getFullScreenNextIndex",
    value: function getFullScreenNextIndex() {
      return this.getNextIndex(BKLAYERTYPE.FULLSCREEN);
    }
    /** 获取导航类型最新zIndex的值 */
  }, {
    key: "getNaviNextIndex",
    value: function getNaviNextIndex() {
      return this.getNextIndex(BKLAYERTYPE.NAVI);
    }
    /** 获取导航类型最新zIndex的值 */
  }, {
    key: "getPopperIndex",
    value: function getPopperIndex() {
      return this.getNextIndex(BKLAYERTYPE.POPPER);
    }
    /**
     * 更新自定义默认zIndex配置
     * @param config 配置项
     */
  }, {
    key: "setDefaultZIndex",
    value: function setDefaultZIndex(config) {
      var _this = this;
      Object.keys(config || {}).forEach(function (key) {
        if (Object.prototype.hasOwnProperty.call(_this.storageLayerIndexValue.__proto__, key)) {
          Object.assign(_this.storageLayerIndexValue.__proto__, _defineProperty({}, key, config[key]));
        }
      });
      this.copyDefaultValue();
    }
    /**
     * 重置zIndex
     * @param config 配置项
     */
  }, {
    key: "resetZIndex",
    value: function resetZIndex(config) {
      var _this2 = this;
      Object.keys(config || {}).forEach(function (key) {
        if (Object.prototype.hasOwnProperty.call(_this2.storageLayerIndexValue, key)) {
          Object.assign(_this2.storageLayerIndexValue, _defineProperty({}, key, config[key]));
        }
      });
    }
    /**
     * 根据默认设置创建副本
     */
  }, {
    key: "copyDefaultValue",
    value: function copyDefaultValue() {
      var properties = Object.keys(BKLAYERD_INDEX_EFAULT_VALUE).reduce(function (props, key) {
        return Object.assign(props, _defineProperty({}, key, {
          value: BKLAYERD_INDEX_EFAULT_VALUE[key],
          writable: true,
          configurable: true
        }));
      }, {});
      this.storageLayerIndexValue = Object.create(BKLAYERD_INDEX_EFAULT_VALUE, properties);
    }
  }]);
}();
var bkZIndexManager = new BKZIndexManager();
;// ../../packages/shared/src/index.ts











function classes(dynamicCls) {
  var constCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
  return Object.entries(dynamicCls).filter(function (entry) {
    return entry[1];
  }).map(function (entry) {
    return entry[0];
  }).join(' ').concat(constCls ? " ".concat(constCls) : '');
}
var EMPTY_OBJ = Object.create({});
var noop = function noop() {};
var renderEmptyVNode = function renderEmptyVNode() {
  return null;
};
var isEmptyObj = function isEmptyObj(target) {
  return Object.keys(target).length < 1;
};
var withInstall = function withInstall(component) {
  component.install = function (app) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
      prefix = _ref.prefix;
    var pre = app.config.globalProperties.bkUIPrefix || prefix || 'Bk';
    app.component(pre + component.name, component);
  };
  return component;
};
var withInstallProps = function withInstallProps(component, childComponents) {
  var isProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var directive = arguments.length > 3 ? arguments[3] : undefined;
  component.install = function (app) {
    var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
      prefix = _ref2.prefix;
    var pre = app.config.globalProperties.bkUIPrefix || prefix || 'Bk';
    if (directive) {
      app.directive(pre + directive.name, directive.directive);
    }
    app.component(pre + component.name, component);
    !isProps && Object.values(childComponents).forEach(function (child) {
      app.component(pre + child.name, child);
    });
  };
  Object.keys(childComponents).forEach(function (key) {
    component[key] = childComponents[key];
  });
  return component;
};
/**
 * 解析当前组件ClassName，自动添加前缀
 * @param clsName 当前ClassName
 * @param prefix 前缀，默认为bk
 * @returns prefix-clsName
 */
function resolveClassName(clsName) {
  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'bk';
  return "".concat(prefix, "-").concat(clsName);
}
/**
 * 函数防抖
 * @param {*} fn 执行的函数
 * @param {*} delay 延时时间
 * @param {*} immediate 是否立即执行
 */
function debounce() {
  var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;
  var fn = arguments.length > 1 ? arguments[1] : undefined;
  var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var timeout;
  var result;
  var debounced = function debounced() {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var ctx = this; // 当前上下文
    var args = arguments; // fn的参数
    // 取消之前的延时调用
    if (timeout) clearTimeout(timeout);
    if (immediate) {
      var applyImmediate = !timeout; // 是否执行过
      timeout = setTimeout(function () {
        timeout = null; // 标志是否执行过，与clearTimeout有区别，clearTimeout之后timeout不为null而是一个系统分配的队列ID
      }, delay);
      if (applyImmediate) result = fn.apply(ctx, args); // 立即调用
    } else {
      timeout = setTimeout(function () {
        fn.apply(ctx, args);
      }, delay);
    }
    return result;
  };
  debounced.cancel = function () {
    clearTimeout(timeout);
    timeout = null;
  };
  return debounced;
}
/**
 * 过滤（去除）对象中的某个属性
 * @param data 需要处理的对象
 * @param filter 过滤关键字
 * @returns object 去除属性之后的对象
 */
function filterProperty(data, filter) {
  return JSON.parse(JSON.stringify(data, function (key, value) {
    if (filter.includes(key)) {
      return undefined;
    }
    return value;
  }));
}
function arrayEqual() {
  var arr1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  var arr2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  if (arr1.length !== arr2.length) {
    return false;
  }
  for (var i = 0; i < arr1.length; i++) {
    if (Array.isArray(arr1[i])) {
      return arrayEqual(arr1[i], arr2[i]);
    }
    if (arr1[i] !== arr2[i]) {
      return false;
    }
  }
  return true;
}
export { AlignEnum, BKLAYERD_INDEX_EFAULT_VALUE, BKLAYERTYPE, BKPopover, DialogTypeEnum, DirectionEnum, EMPTY_OBJ, InputBehaviorEnum, InputBehaviorType, LineStyleEnum, PlacementEnum, Placements, ProgressEnum, ProgressStrokeLineCapEnum, ProgressStrokeLineCapType, ProgressType, PropTypes, RenderDirectiveEnum, RenderType, SelectedType, SelectedTypeEnum, SizeEnum, SwitcherThemeEnum, SwitcherThemeType, TagThemeEnum, TagThemeType, ThemeEnum, TimelineNodeTypeEnum, TriggerEnum, alignType, arrayEqual, bkZIndexManager, capitalize, checkOverflow, classes, clone, debounce, dialogTypeUnion, directionType, elementsEqual, filterProperty, finiteOrDefault, formItemKey, formKey, _getFullscreenRoot as getFullscreenRoot, getPopContainerId, hasOverflowEllipsis, isArray, helper_isElement as isElement, isEmpty, isEmptyObj, isNumberFinite as isFinite, isFullScreenContainsElement, isFunction, isNullOrUndef, isObject, isPromise, isString, isSymbol, lineStyleType, maybeShowTooltip, merge, mergeIf, mergerFn, mergerIfFn, noop, observerResize, off, on, placementType, random, renderDirectiveType, renderEmptyVNode, renderType, resolveClassName, scrollTop, scrollbarWidth, stringEnum, throttle, triggerType, useForm, useFormItem, valueOrDefault, withInstall, withInstallProps };
