bkui-vue 0.0.1-beta.55 → 0.0.1-beta.58

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.
Files changed (104) hide show
  1. package/dist/index.cjs.js +27 -27
  2. package/dist/index.esm.js +1302 -718
  3. package/dist/index.umd.js +27 -27
  4. package/dist/style.css +1 -1
  5. package/lib/badge/badge.css +5 -5
  6. package/lib/badge/badge.d.ts +28 -7
  7. package/lib/badge/badge.less +5 -6
  8. package/lib/badge/badge.variable.css +5 -5
  9. package/lib/badge/index.d.ts +68 -18
  10. package/lib/badge/index.js +1 -1
  11. package/lib/breadcrumb/breadcrumb.css +8 -0
  12. package/lib/breadcrumb/breadcrumb.variable.css +8 -0
  13. package/lib/card/card.css +53 -1
  14. package/lib/card/card.d.ts +47 -6
  15. package/lib/card/card.less +47 -3
  16. package/lib/card/card.variable.css +53 -1
  17. package/lib/card/index.d.ts +113 -17
  18. package/lib/card/index.js +1 -1
  19. package/lib/code-diff/index.js +1 -1
  20. package/lib/components.d.ts +1 -0
  21. package/lib/components.js +1 -1
  22. package/lib/container/col.d.ts +51 -0
  23. package/lib/container/container.css +48 -0
  24. package/lib/container/container.d.ts +83 -0
  25. package/lib/container/container.less +20 -0
  26. package/lib/container/container.variable.css +142 -0
  27. package/lib/container/index.d.ts +223 -0
  28. package/lib/container/index.js +1 -0
  29. package/lib/container/row.d.ts +4 -0
  30. package/lib/date-picker/date-picker.d.ts +4 -4
  31. package/lib/date-picker/index.d.ts +14 -14
  32. package/lib/dialog/dialog.css +8 -0
  33. package/lib/dialog/dialog.d.ts +170 -97
  34. package/lib/dialog/dialog.less +8 -0
  35. package/lib/dialog/dialog.variable.css +8 -0
  36. package/lib/dialog/index.d.ts +373 -206
  37. package/lib/dialog/index.js +1 -1
  38. package/lib/form/form-item.d.ts +2 -2
  39. package/lib/form/form.css +4 -1
  40. package/lib/form/form.less +4 -1
  41. package/lib/form/form.variable.css +4 -1
  42. package/lib/form/index.d.ts +2 -2
  43. package/lib/icon/close-line.d.ts +4 -0
  44. package/lib/icon/{funnel.js → close-line.js} +1 -1
  45. package/lib/icon/data-shape.d.ts +4 -0
  46. package/lib/icon/data-shape.js +1 -0
  47. package/lib/icon/edit-line.d.ts +4 -0
  48. package/lib/icon/edit-line.js +1 -0
  49. package/lib/icon/help-document-fill.js +1 -1
  50. package/lib/icon/help-fill.js +1 -0
  51. package/lib/icon/index.d.ts +3 -0
  52. package/lib/icon/index.js +1 -1
  53. package/lib/input/index.d.ts +27 -27
  54. package/lib/input/index.js +1 -1
  55. package/lib/input/input.css +9 -0
  56. package/lib/input/input.d.ts +8 -8
  57. package/lib/input/input.less +1 -0
  58. package/lib/input/input.variable.css +9 -0
  59. package/lib/loading/loading.css +8 -0
  60. package/lib/loading/loading.variable.css +8 -0
  61. package/lib/menu/menu.css +8 -0
  62. package/lib/menu/menu.variable.css +8 -0
  63. package/lib/modal/index.d.ts +177 -165
  64. package/lib/modal/index.js +1 -1
  65. package/lib/modal/modal.d.ts +70 -65
  66. package/lib/modal/props.mixin.d.ts +34 -31
  67. package/lib/navigation/navigation.d.ts +1 -1
  68. package/lib/pagination/index.d.ts +7 -7
  69. package/lib/pagination/pagination.d.ts +2 -2
  70. package/lib/progress/progress.css +8 -0
  71. package/lib/progress/progress.variable.css +8 -0
  72. package/lib/rate/star.d.ts +1 -1
  73. package/lib/select/index.d.ts +8 -8
  74. package/lib/select/select.d.ts +2 -2
  75. package/lib/sideslider/index.d.ts +143 -134
  76. package/lib/sideslider/sideslider.d.ts +70 -65
  77. package/lib/slider/slider.d.ts +1 -1
  78. package/lib/styles/index.d.ts +1 -0
  79. package/lib/styles/mixins/clearfix.css +8 -0
  80. package/lib/styles/mixins/clearfix.less +10 -0
  81. package/lib/styles/mixins/clearfix.variable.css +8 -0
  82. package/lib/styles/mixins/mixins.css +8 -0
  83. package/lib/styles/mixins/mixins.less +1 -0
  84. package/lib/styles/mixins/mixins.variable.css +8 -0
  85. package/lib/switcher/switcher.css +8 -0
  86. package/lib/switcher/switcher.variable.css +8 -0
  87. package/lib/tab/index.d.ts +1 -1
  88. package/lib/tab/tab-panel.d.ts +1 -1
  89. package/lib/table/index.d.ts +54 -1
  90. package/lib/table/index.js +1 -1
  91. package/lib/table/plugins/settings.css +110 -0
  92. package/lib/table/plugins/settings.less +130 -0
  93. package/lib/table/plugins/settings.variable.css +204 -0
  94. package/lib/table/props.d.ts +42 -1
  95. package/lib/table/render.d.ts +12 -2
  96. package/lib/table/table.css +131 -2
  97. package/lib/table/table.d.ts +25 -0
  98. package/lib/table/table.less +29 -1
  99. package/lib/table/table.variable.css +131 -2
  100. package/lib/table/use-common.d.ts +8 -5
  101. package/lib/tag-input/tag-input.d.ts +2 -2
  102. package/lib/tree/index.js +1 -1
  103. package/lib/virtual-render/index.js +1 -1
  104. package/package.json +11 -4
package/dist/index.esm.js CHANGED
@@ -33,7 +33,7 @@ var __publicField = (obj, key, value) => {
33
33
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
34
34
  return value;
35
35
  };
36
- import { createVNode, h as h$1, mergeProps, defineComponent, reactive, ref, computed, watch, onMounted, onBeforeUnmount, Transition, getCurrentInstance, provide, inject, nextTick, isVNode, createTextVNode, Fragment, toRefs, customRef, onBeforeMount, withDirectives, vShow, toRef, unref, resolveDirective, vModelText, watchEffect, onUpdated, render, onUnmounted, Teleport } from "vue";
36
+ import { createVNode, h as h$1, mergeProps, defineComponent, reactive, ref, computed, watch, onMounted, onBeforeUnmount, Transition, getCurrentInstance, provide, inject, createTextVNode, nextTick, isVNode, Fragment, toRefs, customRef, onBeforeMount, withDirectives, vShow, toRef, unref, resolveDirective, vModelText, watchEffect, onUpdated, render, onUnmounted, Teleport } from "vue";
37
37
  var reset = "";
38
38
  var alert = "";
39
39
  var backtop = "";
@@ -81,6 +81,7 @@ var timeline = "";
81
81
  var codeDiff = "";
82
82
  var resizeLayout = "";
83
83
  var tagInput = "";
84
+ var container = "";
84
85
  const BKLAYERD_INDEX_EFAULT_VALUE = {
85
86
  ["bottom"]: 0,
86
87
  ["content"]: 1,
@@ -93,7 +94,7 @@ const BKLAYERD_INDEX_EFAULT_VALUE = {
93
94
  };
94
95
  class BKZIndexManager {
95
96
  constructor() {
96
- this.storageLayerIndexValue = {};
97
+ __publicField(this, "storageLayerIndexValue", {});
97
98
  this.copyDefaultValue();
98
99
  }
99
100
  getNextIndex(type) {
@@ -1529,21 +1530,22 @@ function isElement$1(obj) {
1529
1530
  }
1530
1531
  class BKPopover {
1531
1532
  constructor(reference2, popperRefer, options) {
1533
+ __publicField(this, "isShow", false);
1534
+ __publicField(this, "trigger");
1535
+ __publicField(this, "instance");
1536
+ __publicField(this, "reference");
1537
+ __publicField(this, "referenceTarget");
1538
+ __publicField(this, "popperRefer");
1539
+ __publicField(this, "instanceOptions");
1540
+ __publicField(this, "delay", 50);
1541
+ __publicField(this, "isInnerPopper", false);
1542
+ __publicField(this, "disabled", false);
1543
+ __publicField(this, "afterShow", null);
1544
+ __publicField(this, "afterHidden", null);
1545
+ __publicField(this, "appendTo", "parent");
1546
+ __publicField(this, "container", null);
1547
+ __publicField(this, "fixOnBoundary", false);
1532
1548
  var _a, _b;
1533
- this.isShow = false;
1534
- this.trigger = void 0;
1535
- this.instance = void 0;
1536
- this.reference = void 0;
1537
- this.referenceTarget = void 0;
1538
- this.popperRefer = void 0;
1539
- this.delay = 50;
1540
- this.isInnerPopper = false;
1541
- this.disabled = false;
1542
- this.afterShow = null;
1543
- this.afterHidden = null;
1544
- this.appendTo = "parent";
1545
- this.container = null;
1546
- this.fixOnBoundary = false;
1547
1549
  this.instanceOptions = this.initDefaultOptions(options);
1548
1550
  this.reference = this.resolveInputSelectorToHtmlElement(reference2);
1549
1551
  this.popperRefer = this.resolveInputSelectorToHtmlElement(popperRefer);
@@ -1773,13 +1775,15 @@ const random = (n2, str = lowerStr) => {
1773
1775
  };
1774
1776
  class BkMaskManager {
1775
1777
  constructor(config) {
1776
- this.multiInstance = false;
1777
- this.uniqueMaskAttrTag = "";
1778
- this.parentNode = document.body;
1779
- this.activeInstance = void 0;
1780
- this.zIndexStore = /* @__PURE__ */ new Map();
1781
- this.lastUUID = null;
1782
- this.maskStyle = {
1778
+ __publicField(this, "mask");
1779
+ __publicField(this, "backupMask");
1780
+ __publicField(this, "multiInstance", false);
1781
+ __publicField(this, "uniqueMaskAttrTag", "");
1782
+ __publicField(this, "parentNode", document.body);
1783
+ __publicField(this, "activeInstance");
1784
+ __publicField(this, "zIndexStore", /* @__PURE__ */ new Map());
1785
+ __publicField(this, "lastUUID", null);
1786
+ __publicField(this, "maskStyle", {
1783
1787
  position: "absolute",
1784
1788
  left: 0,
1785
1789
  top: 0,
@@ -1787,7 +1791,7 @@ class BkMaskManager {
1787
1791
  right: 0,
1788
1792
  display: "none",
1789
1793
  "background-color": "rgba(0,0,0,.6)"
1790
- };
1794
+ });
1791
1795
  const { multiInstance = false, maskAttrTag = "auto", parentNode = document.body, maskStyle = {} } = config || {};
1792
1796
  this.activeInstance = void 0;
1793
1797
  this.multiInstance = multiInstance;
@@ -1890,6 +1894,8 @@ class BkMaskManager {
1890
1894
  const bKMaskManager = new BkMaskManager({});
1891
1895
  class BKPopIndexManager {
1892
1896
  constructor() {
1897
+ __publicField(this, "popInstanceList");
1898
+ __publicField(this, "uuidAttrName");
1893
1899
  this.popInstanceList = [];
1894
1900
  this.uuidAttrName = "data-bk-pop-uuid";
1895
1901
  }
@@ -2370,192 +2376,222 @@ bkIcon.inheritAttrs = false;
2370
2376
  bkIcon.displayName = "bkIcon";
2371
2377
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 744.64L789.6 462.72 880 554.56 512 928 144 554.56 234.4 462.72 512 744.64z"}},{"type":"element","name":"path","attributes":{"d":"M144 187.68L234.4 96 512 377.76 789.6 96 880 187.68 512 561.28 144 187.68z"}}]}');
2372
2378
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M279.36 512L561.28 789.6 469.44 880 96 512 469.44 144 561.28 234.4 279.36 512z"}},{"type":"element","name":"path","attributes":{"d":"M836.32 144L928 234.4 646.08 512 928 789.6 836.32 880 462.72 512 836.32 144z"}}]}');
2373
- const data$y = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M697.6 281.6l48 48-176 176 176 176-48 48-224-224L697.6 281.6z"}},{"type":"element","name":"path","attributes":{"d":"M505.6 281.6l48 48-176 176 176 176-48 48-224-224L505.6 281.6z"}}]}');
2379
+ const data$B = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M697.6 281.6l48 48-176 176 176 176-48 48-224-224L697.6 281.6z"}},{"type":"element","name":"path","attributes":{"d":"M505.6 281.6l48 48-176 176 176 176-48 48-224-224L505.6 281.6z"}}]}');
2374
2380
  const angleDoubleLeft = (props, context) => {
2375
2381
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2376
2382
  return createVNode(bkIcon, mergeProps(p2, {
2377
- "data": data$y,
2383
+ "data": data$B,
2378
2384
  "name": "angleDoubleLeft"
2379
2385
  }), null);
2380
2386
  };
2381
2387
  angleDoubleLeft.displayName = "angleDoubleLeft";
2382
2388
  angleDoubleLeft.inheritAttrs = false;
2383
2389
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M744.64 512L462.72 789.6 554.56 880 928 512 554.56 144 462.72 234.4 744.64 512z"}},{"type":"element","name":"path","attributes":{"d":"M187.68 144L96 234.4 377.76 512 96 789.6 187.68 880 561.28 512 187.68 144z"}}]}');
2384
- const data$x = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M358.4 729.6l-48-48 176-176-176-176 48-48 224 224L358.4 729.6z"}},{"type":"element","name":"path","attributes":{"d":"M550.4 729.6l-48-48 176-176-176-176 48-48 224 224L550.4 729.6z"}}]}');
2390
+ const data$A = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M358.4 729.6l-48-48 176-176-176-176 48-48 224 224L358.4 729.6z"}},{"type":"element","name":"path","attributes":{"d":"M550.4 729.6l-48-48 176-176-176-176 48-48 224 224L550.4 729.6z"}}]}');
2385
2391
  const angleDoubleRight = (props, context) => {
2386
2392
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2387
2393
  return createVNode(bkIcon, mergeProps(p2, {
2388
- "data": data$x,
2394
+ "data": data$A,
2389
2395
  "name": "angleDoubleRight"
2390
2396
  }), null);
2391
2397
  };
2392
2398
  angleDoubleRight.displayName = "angleDoubleRight";
2393
2399
  angleDoubleRight.inheritAttrs = false;
2394
2400
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 279.36L789.6 561.28 880 469.44 512 96 144 469.44 234.4 561.28 512 279.36z"}},{"type":"element","name":"path","attributes":{"d":"M144 836.32L234.4 928 512 646.08 789.6 928 880 836.32 512 462.72 144 836.32z"}}]}');
2395
- const data$w = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 256L96 704 187.04 704 512 704 836.96 704 928 704 512 256z"}}]}');
2401
+ const data$z = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 256L96 704 187.04 704 512 704 836.96 704 928 704 512 256z"}}]}');
2396
2402
  const angleDownFill = (props, context) => {
2397
2403
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2398
2404
  return createVNode(bkIcon, mergeProps(p2, {
2399
- "data": data$w,
2405
+ "data": data$z,
2400
2406
  "name": "angleDownFill"
2401
2407
  }), null);
2402
2408
  };
2403
2409
  angleDownFill.displayName = "angleDownFill";
2404
2410
  angleDownFill.inheritAttrs = false;
2405
- const data$v = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 762.56L98.72 349.28 189.28 258.72 512 581.44 834.72 258.72 925.28 349.28 512 762.56z"}}]}');
2411
+ const data$y = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 762.56L98.72 349.28 189.28 258.72 512 581.44 834.72 258.72 925.28 349.28 512 762.56z"}}]}');
2406
2412
  const angleDownLine = (props, context) => {
2407
2413
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2408
2414
  return createVNode(bkIcon, mergeProps(p2, {
2409
- "data": data$v,
2415
+ "data": data$y,
2410
2416
  "name": "angleDownLine"
2411
2417
  }), null);
2412
2418
  };
2413
2419
  angleDownLine.displayName = "angleDownLine";
2414
2420
  angleDownLine.inheritAttrs = false;
2415
- const data$u = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M288 448L336 400 512 576 688 400 736 448 512 672z"}}]}');
2421
+ const data$x = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M288 448L336 400 512 576 688 400 736 448 512 672z"}}]}');
2416
2422
  const angleDown = (props, context) => {
2417
2423
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2418
2424
  return createVNode(bkIcon, mergeProps(p2, {
2419
- "data": data$u,
2425
+ "data": data$x,
2420
2426
  "name": "angleDown"
2421
2427
  }), null);
2422
2428
  };
2423
2429
  angleDown.displayName = "angleDown";
2424
2430
  angleDown.inheritAttrs = false;
2425
- const data$t = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M376 504L600 280 648 328 472 504 648 680 600 728 376 504z"}}]}');
2431
+ const data$w = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M376 504L600 280 648 328 472 504 648 680 600 728 376 504z"}}]}');
2426
2432
  const angleLeft = (props, context) => {
2427
2433
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2428
2434
  return createVNode(bkIcon, mergeProps(p2, {
2429
- "data": data$t,
2435
+ "data": data$w,
2430
2436
  "name": "angleLeft"
2431
2437
  }), null);
2432
2438
  };
2433
2439
  angleLeft.displayName = "angleLeft";
2434
2440
  angleLeft.inheritAttrs = false;
2435
- const data$s = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M424 728L376 680 552 504 376 328 424 280 648 504 424 728z"}}]}');
2441
+ const data$v = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M424 728L376 680 552 504 376 328 424 280 648 504 424 728z"}}]}');
2436
2442
  const angleRight = (props, context) => {
2437
2443
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2438
2444
  return createVNode(bkIcon, mergeProps(p2, {
2439
- "data": data$s,
2445
+ "data": data$v,
2440
2446
  "name": "angleRight"
2441
2447
  }), null);
2442
2448
  };
2443
2449
  angleRight.displayName = "angleRight";
2444
2450
  angleRight.inheritAttrs = false;
2445
- const data$r = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 704L96 256 187.04 256 512 256 836.96 256 928 256 512 704z"}}]}');
2451
+ const data$u = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 704L96 256 187.04 256 512 256 836.96 256 928 256 512 704z"}}]}');
2446
2452
  const angleUpFill = (props, context) => {
2447
2453
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2448
2454
  return createVNode(bkIcon, mergeProps(p2, {
2449
- "data": data$r,
2455
+ "data": data$u,
2450
2456
  "name": "angleUpFill"
2451
2457
  }), null);
2452
2458
  };
2453
2459
  angleUpFill.displayName = "angleUpFill";
2454
2460
  angleUpFill.inheritAttrs = false;
2455
- const data$q = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 368L736 592 688 640 512 464 336 640 288 592 512 368z"}}]}');
2461
+ const data$t = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 368L736 592 688 640 512 464 336 640 288 592 512 368z"}}]}');
2456
2462
  const angleUp = (props, context) => {
2457
2463
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2458
2464
  return createVNode(bkIcon, mergeProps(p2, {
2459
- "data": data$q,
2465
+ "data": data$t,
2460
2466
  "name": "angleUp"
2461
2467
  }), null);
2462
2468
  };
2463
2469
  angleUp.displayName = "angleUp";
2464
2470
  angleUp.inheritAttrs = false;
2465
- const data$p = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M416 480h320v64H416l96 96-48 48L288 512l176-176L512 384 416 480z"}}]}');
2471
+ const data$s = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M416 480h320v64H416l96 96-48 48L288 512l176-176L512 384 416 480z"}}]}');
2466
2472
  const arrowsLeft = (props, context) => {
2467
2473
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2468
2474
  return createVNode(bkIcon, mergeProps(p2, {
2469
- "data": data$p,
2475
+ "data": data$s,
2470
2476
  "name": "arrowsLeft"
2471
2477
  }), null);
2472
2478
  };
2473
2479
  arrowsLeft.displayName = "arrowsLeft";
2474
2480
  arrowsLeft.inheritAttrs = false;
2475
- const data$o = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M608 480H288v64H608l-96 96 48 48L736 512l-176-176L512 384Z"}}]}');
2481
+ const data$r = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M608 480H288v64H608l-96 96 48 48L736 512l-176-176L512 384Z"}}]}');
2476
2482
  const arrowsRight = (props, context) => {
2477
2483
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2478
2484
  return createVNode(bkIcon, mergeProps(p2, {
2479
- "data": data$o,
2485
+ "data": data$r,
2480
2486
  "name": "arrowsRight"
2481
2487
  }), null);
2482
2488
  };
2483
2489
  arrowsRight.displayName = "arrowsRight";
2484
2490
  arrowsRight.inheritAttrs = false;
2485
2491
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M384 289.28c103.50933333333333 18.986666666666665 183.89333333333332 99.37066666666666 202.62399999999997 201.344l5.3759999999999994 37.376c1.664 83.62666666666667 32.59733333333333 159.7013333333333 82.94399999999999 218.70933333333335 32.72533333333333 37.84533333333333 81.024 62.29333333333333 135.08266666666665 63.53066666666667 2.9013333333333335 0.128 6.0586666666666655 0.21333333333333332 9.216 0.21333333333333332 49.834666666666664 0 95.488-17.962666666666664 130.81599999999997-47.78666666666667 47.40266666666666-42.367999999999995 77.312-104.10666666666665 77.312-172.79999999999998 0-13.952-1.2373333333333334-27.562666666666665-3.584-40.831999999999994-15.786666666666665-115.62666666666667-96.29866666666666-210.43200000000002-203.73333333333335-246.91199999999998-5.8453333333333335-59.98933333333333-33.49333333333333-112.21333333333332-75.47733333333332-148.224-37.33333333333333-34.432-87.03999999999999-55.42399999999999-141.61066666666665-55.42399999999999-15.445333333333332 0-30.506666666666664 1.664-45.01333333333333 4.864-50.986666666666665 13.141333333333332-95.01866666666666 42.83733333333333-126.208 83.072-5.333333333333333 6.143999999999999-8.362666666666666 13.568-8.362666666666666 21.674666666666667 0 9.685333333333332 4.309333333333333 18.389333333333333 11.136 24.27733333333333l3.8826666666666663 0.042666666666666665c-16.21333333333333-4.053333333333333-34.901333333333326-6.613333333333333-54.10133333333333-7.04-6.101333333333333-0.38399999999999995-12.927999999999999-0.6399999999999999-19.797333333333334-0.6399999999999999s-13.696 0.21333333333333332-20.43733333333333 0.6826666666666666l0.9386666666666665-10.922666666666666c2.1333333333333333-25.813333333333333 17.194666666666667-47.70133333333334 38.656-59.30666666666666 9.173333333333332-6.015999999999999 14.933333333333332-15.872 14.933333333333332-27.093333333333334 0-17.749333333333333-14.378666666666668-32.128-32.128-32.128-6.528 0-12.629333333333332 1.9626666666666666-17.706666666666663 5.333333333333333-21.290666666666667 13.653333333333332-38.18666666666667 32.81066666666666-48.81066666666666 55.42399999999999-15.274666666666665-6.442666666666666-32.85333333333333-10.709333333333333-51.413333333333334-10.709333333333333-8.661333333333333 0-17.109333333333332 0.9386666666666665-25.258666666666663 2.6879999999999997-14.037333333333333 3.1999999999999997-24.959999999999997 16.256-24.959999999999997 31.872 0 18.090666666666664 14.677333333333332 32.768 32.768 32.768 2.474666666666667 0 4.906666666666666-0.29866666666666664 7.253333333333334-0.8106666666666666 2.1333333333333333-0.29866666666666664 4.8213333333333335-0.512 7.552-0.512 18.048 0 34.176 8.405333333333333 44.629333333333335 21.546666666666667l0.08533333333333333 0.128c-122.24000000000001 28.16-197.12 139.51999999999998-240 236.79999999999998-33.28 74.88-80.63999999999999 215.67999999999998-24.319999999999997 316.79999999999995 29.610666666666663 61.056 88.96 103.55199999999999 158.72 108.75733333333332l704.64 0.042666666666666665c17.663999999999998 0 32-14.336 32-32s-14.336-32-32-32h-704c-46.848-4.906666666666666-85.80266666666667-34.474666666666664-103.97866666666665-75.34933333333333-44.50133333333333-80.17066666666666 3.498666666666667-208.81066666666666 26.538666666666664-260.65066666666667 65.91999999999999-147.2 156.79999999999998-217.59999999999997 275.84-206.71999999999997zM480 229.12c22.826666666666668-30.976 55.296-53.63199999999999 92.88533333333334-63.744 10.069333333333333-2.1759999999999997 20.266666666666666-3.2426666666666666 30.72-3.2426666666666666 37.888 0 72.448 14.250666666666667 98.60266666666666 37.67466666666667 31.786666666666665 28.8 51.754666666666665 70.39999999999999 51.754666666666665 116.69333333333333 0 1.2373333333333334 0 2.474666666666667-0.042666666666666665 3.7119999999999997l0 32.46933333333333 24.959999999999997 3.84c95.27466666666666 23.296 167.25333333333333 101.50399999999999 180.992 198.4 1.92 10.495999999999999 2.944 21.119999999999997 2.944 32 0 52.522666666666666-23.59466666666667 99.49866666666665-60.75733333333333 130.98666666666665-21.503999999999998 16.554666666666666-48.512 26.368-77.824 26.368-4.224 0-8.448-0.21333333333333332-12.586666666666666-0.5973333333333333 0.512 0.042666666666666665 0.512 0.042666666666666665 0.512 0.042666666666666665-35.583999999999996 0-67.54133333333333-15.530666666666665-89.472-40.19199999999999-39.38133333333333-48.768-63.40266666666666-111.18933333333332-64.08533333333332-179.15733333333333l-5.76-42.410666666666664c-22.954666666666668-111.744-100.30933333333333-201.38666666666666-202.58133333333333-241.152-1.1093333333333333-0.6399999999999999 0.21333333333333332-0.5546666666666666 1.5359999999999998-0.5546666666666666 10.239999999999998 0 19.413333333333334-4.522666666666666 25.599999999999998-11.690666666666667z"}}]}');
2486
- const data$n = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 0c-17.919999999999998 0-32 14.08-32 32s14.08 32 32 32c247.04 0 448 200.95999999999998 448 448 0 17.919999999999998 14.08 32 32 32s32-14.08 32-32c0-282.24-229.76-512-512-512z"}}]}');
2492
+ const data$q = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 0c-17.919999999999998 0-32 14.08-32 32s14.08 32 32 32c247.04 0 448 200.95999999999998 448 448 0 17.919999999999998 14.08 32 32 32s32-14.08 32-32c0-282.24-229.76-512-512-512z"}}]}');
2487
2493
  const circle = (props, context) => {
2488
2494
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2489
2495
  return createVNode(bkIcon, mergeProps(p2, {
2490
- "data": data$n,
2496
+ "data": data$q,
2491
2497
  "name": "circle"
2492
2498
  }), null);
2493
2499
  };
2494
2500
  circle.displayName = "circle";
2495
2501
  circle.inheritAttrs = false;
2496
- const data$m = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;","overflow":"hidden","viewBox":"0 0 1024 1024"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM670.4 625.1l-45.3 45.3L512 557.3 398.9 670.4l-45.3-45.3L466.7 512 353.6 398.9l45.3-45.3L512 466.7l113.1-113.1 45.3 45.3L557.3 512 670.4 625.1z"}}]}');
2502
+ const data$p = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M902.56 166.56L857.44 121.44 512 466.72 166.56 121.44 121.44 166.56 466.72 512 121.44 857.44 166.56 902.56 512 557.28 857.44 902.56 902.56 857.44 557.28 512 902.56 166.56z"}}]}');
2503
+ const closeLine = (props, context) => {
2504
+ const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2505
+ return createVNode(bkIcon, mergeProps(p2, {
2506
+ "data": data$p,
2507
+ "name": "closeLine"
2508
+ }), null);
2509
+ };
2510
+ closeLine.displayName = "closeLine";
2511
+ closeLine.inheritAttrs = false;
2512
+ const data$o = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;","overflow":"hidden","viewBox":"0 0 1024 1024"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM670.4 625.1l-45.3 45.3L512 557.3 398.9 670.4l-45.3-45.3L466.7 512 353.6 398.9l45.3-45.3L512 466.7l113.1-113.1 45.3 45.3L557.3 512 670.4 625.1z"}}]}');
2497
2513
  const close$1 = (props, context) => {
2498
2514
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2499
2515
  return createVNode(bkIcon, mergeProps(p2, {
2500
- "data": data$m,
2516
+ "data": data$o,
2501
2517
  "name": "close"
2502
2518
  }), null);
2503
2519
  };
2504
2520
  close$1.displayName = "close";
2505
2521
  close$1.inheritAttrs = false;
2506
2522
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M1011.1999999999999 489.59999999999997l-224-224c-12.799999999999999-12.799999999999999-32.64-12.799999999999999-45.44 0s-12.799999999999999 32.64 0 45.44l201.59999999999997 200.95999999999998-201.59999999999997 201.59999999999997c-12.799999999999999 12.799999999999999-12.799999999999999 32.64 0 45.44 6.3999999999999995 6.3999999999999995 14.719999999999999 9.6 22.4 9.6s16.64-3.1999999999999997 22.4-9.6l224-224c12.799999999999999-12.799999999999999 12.799999999999999-33.28 0.6399999999999999-45.44z"}},{"type":"element","name":"path","attributes":{"d":"M282.24 265.59999999999997c-12.799999999999999-12.799999999999999-32.64-12.799999999999999-45.44 0l-224 224c-12.799999999999999 12.799999999999999-12.799999999999999 32.64 0 45.44l224 224c6.3999999999999995 5.76 14.719999999999999 8.959999999999999 23.04 8.959999999999999s16.64-3.1999999999999997 22.4-9.6c12.799999999999999-12.799999999999999 12.799999999999999-32.64 0-45.44l-201.59999999999997-200.95999999999998 201.59999999999997-201.59999999999997c12.159999999999998-12.159999999999998 12.159999999999998-32.64 0-44.8z"}},{"type":"element","name":"path","attributes":{"d":"M616.3199999999999 129.27999999999997c-16.64-5.119999999999999-34.56 5.119999999999999-39.04 22.4l-192 704c-4.4799999999999995 17.28 5.119999999999999 34.56 22.4 39.04 2.5599999999999996 0.6399999999999999 5.76 1.2799999999999998 8.32 1.2799999999999998 14.08 0 26.88-9.6 30.72-23.68l192-704c4.4799999999999995-16.64-5.119999999999999-34.56-22.4-39.04z"}}]}');
2507
- JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M608 512A96 96 0 0 1 512 608 96 96 0 0 1 416 512 96 96 0 0 1 608 512z"}},{"type":"element","name":"path","attributes":{"d":"M860.8 558.4c4.8-30.4 4.8-62.4 0-92.8l67.2-57.6c9.6-8 14.4-22.4 9.6-35.2-19.2-59.2-51.2-115.2-92.8-161.6-6.4-6.4-14.4-11.2-24-11.2-3.2 0-8 0-11.2 1.6l-83.2 30.4c-24-19.2-52.8-35.2-81.6-46.4l-16-86.4c-1.6-12.8-12.8-22.4-25.6-25.6-60.8-12.8-124.8-12.8-185.6 0-12.8 3.2-22.4 12.8-24 25.6l-16 86.4c-28.8 11.2-56 27.2-81.6 46.4l-83.2-30.4c-3.2-1.6-6.4-1.6-11.2-1.6-9.6 0-17.6 3.2-24 11.2-41.6 46.4-73.6 100.8-92.8 161.6-4.8 12.8 0 27.2 9.6 35.2l67.2 57.6C160 496 160 528 163.2 558.4L96 616c-9.6 8-14.4 22.4-9.6 35.2 19.2 59.2 51.2 115.2 92.8 161.6 6.4 6.4 14.4 11.2 24 11.2 3.2 0 8 0 11.2-1.6l83.2-30.4c24 19.2 52.8 35.2 81.6 46.4l16 86.4c1.6 12.8 12.8 22.4 25.6 25.6 60.8 12.8 124.8 12.8 185.6 0 12.8-3.2 22.4-12.8 25.6-25.6l16-86.4c28.8-11.2 56-27.2 81.6-46.4l83.2 30.4c3.2 1.6 6.4 1.6 11.2 1.6 9.6 0 17.6-3.2 24-11.2 41.6-46.4 73.6-100.8 92.8-161.6 3.2-12.8 0-27.2-11.2-35.2L860.8 558.4zM512 672c-88 0-160-72-160-160s72-160 160-160 160 72 160 160S600 672 512 672z"}}]}');
2508
- const data$l = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M496 216l-76.32 76.32 152.64 152.8H64v101.76H572.16l-152.48 152.8L496 776 775.52 496Zm362.4 0v560H960v-560Z"}}]}');
2523
+ const data$n = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M608 512A96 96 0 0 1 512 608 96 96 0 0 1 416 512 96 96 0 0 1 608 512z"}},{"type":"element","name":"path","attributes":{"d":"M860.8 558.4c4.8-30.4 4.8-62.4 0-92.8l67.2-57.6c9.6-8 14.4-22.4 9.6-35.2-19.2-59.2-51.2-115.2-92.8-161.6-6.4-6.4-14.4-11.2-24-11.2-3.2 0-8 0-11.2 1.6l-83.2 30.4c-24-19.2-52.8-35.2-81.6-46.4l-16-86.4c-1.6-12.8-12.8-22.4-25.6-25.6-60.8-12.8-124.8-12.8-185.6 0-12.8 3.2-22.4 12.8-24 25.6l-16 86.4c-28.8 11.2-56 27.2-81.6 46.4l-83.2-30.4c-3.2-1.6-6.4-1.6-11.2-1.6-9.6 0-17.6 3.2-24 11.2-41.6 46.4-73.6 100.8-92.8 161.6-4.8 12.8 0 27.2 9.6 35.2l67.2 57.6C160 496 160 528 163.2 558.4L96 616c-9.6 8-14.4 22.4-9.6 35.2 19.2 59.2 51.2 115.2 92.8 161.6 6.4 6.4 14.4 11.2 24 11.2 3.2 0 8 0 11.2-1.6l83.2-30.4c24 19.2 52.8 35.2 81.6 46.4l16 86.4c1.6 12.8 12.8 22.4 25.6 25.6 60.8 12.8 124.8 12.8 185.6 0 12.8-3.2 22.4-12.8 25.6-25.6l16-86.4c28.8-11.2 56-27.2 81.6-46.4l83.2 30.4c3.2 1.6 6.4 1.6 11.2 1.6 9.6 0 17.6-3.2 24-11.2 41.6-46.4 73.6-100.8 92.8-161.6 3.2-12.8 0-27.2-11.2-35.2L860.8 558.4zM512 672c-88 0-160-72-160-160s72-160 160-160 160 72 160 160S600 672 512 672z"}}]}');
2524
+ const cogShape = (props, context) => {
2525
+ const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2526
+ return createVNode(bkIcon, mergeProps(p2, {
2527
+ "data": data$n,
2528
+ "name": "cogShape"
2529
+ }), null);
2530
+ };
2531
+ cogShape.displayName = "cogShape";
2532
+ cogShape.inheritAttrs = false;
2533
+ const data$m = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M496 216l-76.32 76.32 152.64 152.8H64v101.76H572.16l-152.48 152.8L496 776 775.52 496Zm362.4 0v560H960v-560Z"}}]}');
2509
2534
  const collapseLeft = (props, context) => {
2510
2535
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2511
2536
  return createVNode(bkIcon, mergeProps(p2, {
2512
- "data": data$l,
2537
+ "data": data$m,
2513
2538
  "name": "collapseLeft"
2514
2539
  }), null);
2515
2540
  };
2516
2541
  collapseLeft.displayName = "collapseLeft";
2517
2542
  collapseLeft.inheritAttrs = false;
2518
2543
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M864 128H288c-17.6 0-32 14.4-32 32v96h-96c-17.6 0-32 14.4-32 32v576c0 17.6 14.4 32 32 32h576c17.6 0 32-14.4 32-32v-96h96c17.6 0 32-14.4 32-32V160C896 142.4 881.6 128 864 128zM704 704v64 64H192V320h64 64 384V704zM832 704h-64V288c0-17.6-14.4-32-32-32H320v-64h512V704z"}},{"type":"element","name":"path","attributes":{"d":"M275.2 419.2H611.2V483.2H275.2z"}},{"type":"element","name":"path","attributes":{"d":"M272 544H608V608H272z"}},{"type":"element","name":"path","attributes":{"d":"M272 672H608V736H272z"}}]}');
2519
- const data$k = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M704 352l48 48-304 304-176-176 48-48 128 128z"}}]}');
2544
+ JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1170.2857142857142","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M176.27428571428572 248.68571428571425c100.74209523809523 24.673523809523807 216.40533333333332 38.863238095238096 335.335619047619 38.863238095238096s234.5935238095238-14.14095238095238 345.38057142857144-40.86247619047619c106.30095238095238-27.209142857142858 167.00952380952378-74.02057142857143 167.00952380952378-100.35199999999999 0-49.00571428571428-180.66285714285715-146.28571428571428-512-146.28571428571428s-512 95.81714285714285-512 146.28571428571428c0 26.33142857142857 60.70857142857143 73.14285714285714 176.27428571428572 102.4z"}},{"type":"element","name":"path","attributes":{"d":"M856.5028571428571 923.7942857142857c-99.2304761904762 25.6-213.13828571428573 40.27733333333333-330.45942857142853 40.27733333333333-4.924952380952381 0-9.849904761904762-0.04876190476190476-14.774857142857142-0.09752380952380953-3.4620952380952374 0.04876190476190476-8.387047619047618 0.09752380952380953-13.360761904761905 0.09752380952380953-117.32114285714286 0-231.18019047619046-14.677333333333332-339.87047619047615-42.37409523809524-113.37142857142858 37.156571428571425-157.98857142857142 81.77371428571428-157.98857142857142 102.25371428571428 0 49.00571428571428 180.66285714285715 146.28571428571428 512 146.28571428571428s512-95.08571428571427 512-146.28571428571428c0-20.479999999999997-44.61714285714286-65.09714285714286-167.49714285714285-100.2057142857143z"}},{"type":"element","name":"path","attributes":{"d":"M856.5028571428571 626.8342857142857c-103.37523809523809 25.063619047619046-222.0617142857143 39.44838095238095-344.16152380952377 39.44838095238095s-240.73752380952382-14.384761904761904-354.4990476190476-41.54514285714286c-113.27390476190476 37.20533333333333-157.8910476190476 82.55390476190476-157.8910476190476 106.69104761904762 0 49.00571428571428 180.66285714285715 146.28571428571428 512 146.28571428571428s512-95.08571428571427 512-146.28571428571428c0-24.137142857142855-44.61714285714286-69.48571428571428-167.49714285714285-104.5942857142857z"}},{"type":"element","name":"path","attributes":{"d":"M856.5028571428571 332.0685714285714h-13.165714285714285c-99.42552380952381 25.40495238095238-213.62590476190476 40.03352380952381-331.23961904761904 40.22857142857142-3.072 0-6.534095238095238 0.04876190476190476-10.04495238095238 0.04876190476190476-114.00533333333333 0-224.88990476190475-13.604571428571429-330.9958095238095-39.30209523809524l-2.8769523809523805 1.9504761904761905c-123.61142857142858 30.72-168.22857142857143 77.53142857142858-168.22857142857143 99.47428571428571 0 49.00571428571428 180.66285714285715 146.28571428571428 512 146.28571428571428s512-95.81714285714285 512-146.28571428571428c0-21.942857142857143-44.61714285714286-68.7542857142857-167.49714285714285-102.4z"}}]}');
2545
+ const data$l = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M704 352l48 48-304 304-176-176 48-48 128 128z"}}]}');
2520
2546
  const done = (props, context) => {
2521
2547
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2522
2548
  return createVNode(bkIcon, mergeProps(p2, {
2523
- "data": data$k,
2549
+ "data": data$l,
2524
2550
  "name": "done"
2525
2551
  }), null);
2526
2552
  };
2527
2553
  done.displayName = "done";
2528
2554
  done.inheritAttrs = false;
2529
- const data$j = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 768c-6.3999999999999995 0-13.44-2.5599999999999996-18.56-8.32l-356.48-384c-8.32-8.959999999999999-10.879999999999999-23.04-7.04-35.199999999999996s14.08-20.479999999999997 25.599999999999998-20.479999999999997h712.96c11.52 0 21.119999999999997 8.32 25.599999999999998 20.479999999999997s1.2799999999999998 26.24-7.04 35.199999999999996l-356.48 384c-5.119999999999999 5.76-12.159999999999998 8.32-18.56 8.32z"}}]}');
2555
+ const data$k = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M512 768c-6.3999999999999995 0-13.44-2.5599999999999996-18.56-8.32l-356.48-384c-8.32-8.959999999999999-10.879999999999999-23.04-7.04-35.199999999999996s14.08-20.479999999999997 25.599999999999998-20.479999999999997h712.96c11.52 0 21.119999999999997 8.32 25.599999999999998 20.479999999999997s1.2799999999999998 26.24-7.04 35.199999999999996l-356.48 384c-5.119999999999999 5.76-12.159999999999998 8.32-18.56 8.32z"}}]}');
2530
2556
  const downShape = (props, context) => {
2531
2557
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2532
2558
  return createVNode(bkIcon, mergeProps(p2, {
2533
- "data": data$j,
2559
+ "data": data$k,
2534
2560
  "name": "downShape"
2535
2561
  }), null);
2536
2562
  };
2537
2563
  downShape.displayName = "downShape";
2538
2564
  downShape.inheritAttrs = false;
2539
- const data$i = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;","overflow":"hidden","viewBox":"0 0 1024 1024"},"elements":[{"type":"element","name":"path","attributes":{"d":"M288 448L336 400 512 576 688 400 736 448 512 672z"}}]}');
2565
+ const data$j = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","class":"bk-icon","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;","overflow":"hidden","viewBox":"0 0 1024 1024"},"elements":[{"type":"element","name":"path","attributes":{"d":"M288 448L336 400 512 576 688 400 736 448 512 672z"}}]}');
2540
2566
  const downSmall = (props, context) => {
2541
2567
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2542
2568
  return createVNode(bkIcon, mergeProps(p2, {
2543
- "data": data$i,
2569
+ "data": data$j,
2544
2570
  "name": "downSmall"
2545
2571
  }), null);
2546
2572
  };
2547
2573
  downSmall.displayName = "downSmall";
2548
2574
  downSmall.inheritAttrs = false;
2549
- const data$h = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M320 512c0 35.199999999999996-28.8 64-64 64s-64-28.8-64-64c0-35.199999999999996 28.8-64 64-64s64 28.8 64 64zM512 448c-35.199999999999996 0-64 28.8-64 64s28.8 64 64 64 64-28.8 64-64c0-35.199999999999996-28.8-64-64-64zM768 448c-35.199999999999996 0-64 28.8-64 64s28.8 64 64 64 64-28.8 64-64c0-35.199999999999996-28.8-64-64-64z"}}]}');
2575
+ const data$i = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M320 512c0 35.199999999999996-28.8 64-64 64s-64-28.8-64-64c0-35.199999999999996 28.8-64 64-64s64 28.8 64 64zM512 448c-35.199999999999996 0-64 28.8-64 64s28.8 64 64 64 64-28.8 64-64c0-35.199999999999996-28.8-64-64-64zM768 448c-35.199999999999996 0-64 28.8-64 64s28.8 64 64 64 64-28.8 64-64c0-35.199999999999996-28.8-64-64-64z"}}]}');
2550
2576
  const ellipsis = (props, context) => {
2551
2577
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2552
2578
  return createVNode(bkIcon, mergeProps(p2, {
2553
- "data": data$h,
2579
+ "data": data$i,
2554
2580
  "name": "ellipsis"
2555
2581
  }), null);
2556
2582
  };
2557
2583
  ellipsis.displayName = "ellipsis";
2558
2584
  ellipsis.inheritAttrs = false;
2585
+ const data$h = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M609.6 201.6L203.2 609.6 203.2 710.4 304 710.4 712 304z"}},{"type":"element","name":"path","attributes":{"d":"M128 800H896V896H128z"}},{"type":"element","name":"path","attributes":{"d":"M683.6717566325265 128.04165515828316L785.4933559547056 229.86680878681256 740.2377321198037 275.1208529300033 638.4161327976245 173.2956993014738z"}}]}');
2586
+ const editLine = (props, context) => {
2587
+ const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
2588
+ return createVNode(bkIcon, mergeProps(p2, {
2589
+ "data": data$h,
2590
+ "name": "editLine"
2591
+ }), null);
2592
+ };
2593
+ editLine.displayName = "editLine";
2594
+ editLine.inheritAttrs = false;
2559
2595
  const data$g = JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"fill-rule":"evenodd","d":"M452.7573333333333 510.91200000000003L225.83338666666668 737.8346666666666 286.1730133333333 798.1738666666666 513.0965333333334 571.2511999999999 739.8399999999999 797.9946666666666 797.9946666666666 739.8399999999999 571.2511999999999 513.0965333333334 798.1738666666666 286.1730133333333 737.8346666666666 225.83338666666668 510.91200000000003 452.7573333333333 283.9867733333333 225.83338666666668 225.83338666666668 283.9867733333333 452.7573333333333 510.91200000000003Z","clip-rule":"evenodd"}}]}');
2560
2596
  const error = (props, context) => {
2561
2597
  const p2 = __spreadValues(__spreadValues({}, props), context.attrs);
@@ -8267,7 +8303,7 @@ var Component$u = defineComponent({
8267
8303
  setup(props, {
8268
8304
  slots
8269
8305
  }) {
8270
- const container = ref(null);
8306
+ const container2 = ref(null);
8271
8307
  const el = ref(null);
8272
8308
  const visible = ref(false);
8273
8309
  const zIndex = ref(bkZIndexManager.getModalNextIndex());
@@ -8286,19 +8322,19 @@ var Component$u = defineComponent({
8286
8322
  zIndex.value = bkZIndexManager.getModalNextIndex();
8287
8323
  });
8288
8324
  onMounted(() => {
8289
- container.value = document;
8325
+ container2.value = document;
8290
8326
  el.value = document.documentElement;
8291
8327
  if (props.target) {
8292
8328
  el.value = document.querySelector(props.target);
8293
8329
  if (!el.value) {
8294
8330
  throw new Error("target does not exist");
8295
8331
  }
8296
- container.value = el.value;
8332
+ container2.value = el.value;
8297
8333
  }
8298
- container.value.addEventListener("scroll", scrollHandler);
8334
+ container2.value.addEventListener("scroll", scrollHandler);
8299
8335
  });
8300
8336
  onBeforeUnmount(() => {
8301
- container.value.removeEventListener("scroll", scrollHandler);
8337
+ container2.value.removeEventListener("scroll", scrollHandler);
8302
8338
  });
8303
8339
  return () => createVNode(Transition, {
8304
8340
  "name": "bk-fade"
@@ -8327,33 +8363,75 @@ var Component$t = defineComponent({
8327
8363
  name: "Badge",
8328
8364
  props: {
8329
8365
  theme: PropTypes.string.def("primary"),
8330
- count: PropTypes.number,
8366
+ count: PropTypes.oneOfType([String, Number]).def(1),
8331
8367
  position: PropTypes.string.def("top-right"),
8332
8368
  radius: PropTypes.string,
8333
- valLength: PropTypes.number,
8369
+ valLength: PropTypes.number.def(3),
8334
8370
  overflowCount: PropTypes.number.def(99),
8335
8371
  dot: PropTypes.bool.def(false),
8336
- visible: PropTypes.bool.def(false)
8372
+ visible: PropTypes.bool.def(false),
8373
+ extCls: PropTypes.string
8337
8374
  },
8338
- setup(props) {
8339
- const numberCount = computed(() => props.count > props.overflowCount ? `${props.overflowCount}+` : props.count);
8375
+ emits: ["hover", "leave"],
8376
+ setup(props, {
8377
+ emit
8378
+ }) {
8379
+ const numberCount = computed(() => {
8380
+ if (typeof props.count === "string") {
8381
+ let valueText = props.count;
8382
+ valueText += "";
8383
+ const output = [];
8384
+ let count = 0;
8385
+ valueText.split("").forEach((char) => {
8386
+ if (count < Number(props.valLength)) {
8387
+ count += /[\u4e00-\u9fa5]/.test(char) ? 2 : 1;
8388
+ output.push(char);
8389
+ }
8390
+ });
8391
+ return output.join("");
8392
+ }
8393
+ return props.count > props.overflowCount ? `${props.overflowCount}+` : props.count;
8394
+ });
8395
+ const radiusStyle = computed(() => {
8396
+ const isRadius = props.radius !== void 0 && /^\d+(%|px|em|rem|vh|vw)?$/.test(props.radius);
8397
+ const radiusValue = isRadius && /^\d+$/.test(props.radius) && `${props.radius}px` || props.radius;
8398
+ return {
8399
+ borderRadius: radiusValue
8400
+ };
8401
+ });
8402
+ const handleHover = () => {
8403
+ emit("hover");
8404
+ };
8405
+ const handleLeave = () => {
8406
+ emit("leave");
8407
+ };
8340
8408
  return {
8341
- numberCount
8409
+ numberCount,
8410
+ handleHover,
8411
+ handleLeave,
8412
+ radiusStyle
8342
8413
  };
8343
8414
  },
8344
8415
  render() {
8345
8416
  var _a, _b, _c, _d, _e, _f;
8417
+ const wrapperClasses = classes({
8418
+ "bk-badge-main": true
8419
+ }, this.$props.extCls);
8346
8420
  const badgeClass = classes({
8347
- [`bk-badge pinned bk-${this.$props.theme}`]: !!this.$props.theme,
8421
+ [`bk-badge bk-${this.$props.theme}`]: !!this.$props.theme,
8422
+ ["pinned "]: this.$slots.default,
8348
8423
  ["dot"]: this.$props.dot,
8349
- [`${this.$props.position}`]: this.$props.position,
8424
+ [`${this.$props.position}`]: this.$slots.default,
8350
8425
  ["bk-badge-icon is-icon"]: this.$slots.icon
8351
8426
  }, "");
8352
8427
  const number = !this.$props.dot ? createVNode("span", null, [this.numberCount]) : "";
8353
8428
  return createVNode("div", {
8354
- "class": "bk-badge-main"
8355
- }, [createVNode("div", null, [(_c = (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) != null ? _c : ""]), !this.$props.visible ? createVNode("span", {
8356
- "class": badgeClass
8429
+ "class": wrapperClasses
8430
+ }, [(_c = (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) != null ? _c : "", !this.$props.visible ? createVNode("span", {
8431
+ "class": badgeClass,
8432
+ "style": this.radiusStyle,
8433
+ "onMouseenter": this.handleHover,
8434
+ "onMouseleave": this.handleLeave
8357
8435
  }, [(_f = (_e = (_d = this.$slots).icon) == null ? void 0 : _e.call(_d)) != null ? _f : number]) : ""]);
8358
8436
  }
8359
8437
  });
@@ -8637,134 +8715,389 @@ var ButtonGroup = defineComponent({
8637
8715
  }
8638
8716
  });
8639
8717
  const BkButton = withInstallProps(Component$q, { ButtonGroup });
8718
+ const inputType = {
8719
+ type: PropTypes.string.def("text"),
8720
+ clearable: PropTypes.bool,
8721
+ disabled: PropTypes.bool,
8722
+ readonly: PropTypes.bool,
8723
+ placeholder: PropTypes.string.def("Enter"),
8724
+ prefixIcon: PropTypes.string,
8725
+ suffixIcon: PropTypes.string,
8726
+ suffix: PropTypes.string,
8727
+ prefix: PropTypes.string,
8728
+ step: PropTypes.integer,
8729
+ max: PropTypes.integer,
8730
+ min: PropTypes.integer,
8731
+ maxlength: PropTypes.integer,
8732
+ behavior: PropTypes.commonType(["simplicity", "normal"]).def("normal"),
8733
+ showWordLimit: PropTypes.bool,
8734
+ showControl: PropTypes.bool.def(true),
8735
+ showClearOnlyHover: PropTypes.bool.def(false),
8736
+ precision: PropTypes.number.def(0).validate((val) => val >= 0 && val < 20),
8737
+ modelValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(""),
8738
+ size: PropTypes.size(),
8739
+ rows: PropTypes.number
8740
+ };
8741
+ const inputEvents = ["update:modelValue", "focus", "blur", "change", "clear", "input", "keypress", "keydown", "keyup", "enter", "paste"];
8742
+ const EventEnum = stringEnum([...inputEvents]);
8640
8743
  var Component$p = defineComponent({
8641
- name: "Card",
8642
- props: {
8643
- title: PropTypes.string,
8644
- showHeader: PropTypes.bool.def(true),
8645
- showFooter: PropTypes.bool.def(false),
8646
- collapseStatus: PropTypes.bool.def(true),
8647
- border: PropTypes.bool.def(true),
8648
- headBorder: PropTypes.bool.def(true)
8649
- },
8650
- setup(props) {
8651
- const isCollapse = computed(() => props.collapseStatus);
8652
- return {
8653
- isCollapse
8744
+ name: "Input",
8745
+ inheritAttrs: false,
8746
+ props: inputType,
8747
+ emits: [...inputEvents],
8748
+ setup(props, ctx) {
8749
+ const isFocused = ref(false);
8750
+ const isCNInput = ref(false);
8751
+ const isTextArea = computed(() => props.type === "textarea");
8752
+ const inputClsPrefix = computed(() => isTextArea.value ? "bk-textarea" : "bk-input");
8753
+ const _a = ctx.attrs, {
8754
+ class: cls,
8755
+ style
8756
+ } = _a, inputAttrs = __objRest(_a, [
8757
+ "class",
8758
+ "style"
8759
+ ]);
8760
+ const inputRef = ref();
8761
+ const inputCls = computed(() => classes({
8762
+ [`${inputClsPrefix.value}--${props.size}`]: !!props.size,
8763
+ "is-focused": isFocused.value,
8764
+ "is-readonly": props.readonly,
8765
+ "is-disabled": props.disabled,
8766
+ "is-simplicity": props.behavior === "simplicity",
8767
+ [`${cls}`]: !!cls
8768
+ }, inputClsPrefix.value));
8769
+ const suffixIconMap = {
8770
+ search: () => createVNode(search, null, null),
8771
+ password: () => createVNode(eye, {
8772
+ "onClick": handleVisibleChange
8773
+ }, null)
8654
8774
  };
8655
- },
8656
- render() {
8657
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
8658
- const cardClass = classes({
8659
- ["bk-card-border-none"]: !this.$props.border
8660
- }, "bk-card");
8661
- const headClass = classes({
8662
- ["bk-card-border-none"]: !this.$props.headBorder
8663
- }, "bk-card-head");
8664
- const defaultHeader = createVNode("div", null, [createVNode("div", {
8665
- "class": "title",
8666
- "title": this.$props.title
8667
- }, [this.$props.title])]);
8668
- return createVNode("div", {
8669
- "class": cardClass
8670
- }, [this.$props.showHeader ? createVNode("div", {
8671
- "class": headClass
8672
- }, [createVNode("span", null, [(_c = (_b = (_a = this.$slots).header) == null ? void 0 : _b.call(_a)) != null ? _c : defaultHeader])]) : "", this.$props.collapseStatus ? createVNode("div", null, [createVNode("div", {
8673
- "class": "bk-card-body"
8674
- }, [(_f = (_e = (_d = this.$slots).default) == null ? void 0 : _e.call(_d)) != null ? _f : "Content"]), this.$props.showFooter ? createVNode("div", {
8675
- "class": "bk-card-footer"
8676
- }, [(_i = (_h = (_g = this.$slots).footer) == null ? void 0 : _h.call(_g)) != null ? _i : "Footer"]) : ""]) : ""]);
8677
- }
8678
- });
8679
- const BkCard = withInstall(Component$p);
8680
- const checkboxGroupKey = Symbol("CheckboxGroup");
8681
- function useFocus$2() {
8682
- const isFocus = ref(false);
8683
- const blur = () => {
8684
- isFocus.value = false;
8685
- };
8686
- const focus = () => {
8687
- isFocus.value = true;
8688
- };
8689
- return [
8690
- isFocus,
8691
- {
8692
- blur,
8693
- focus
8694
- }
8695
- ];
8696
- }
8697
- const useCheckbox = () => {
8698
- const currentInstance = getCurrentInstance();
8699
- const {
8700
- props,
8701
- emit
8702
- } = currentInstance;
8703
- const checkboxGroup = inject(checkboxGroupKey, EMPTY_OBJ);
8704
- const isGroup = !isEmptyObj(checkboxGroup);
8705
- const isChecked = ref(props.checked);
8706
- const isDisabled = computed(() => {
8707
- if (isGroup && checkboxGroup.props.disabled) {
8708
- return true;
8709
- }
8710
- return props.disabled;
8711
- });
8712
- if (isGroup) {
8713
- watch(() => checkboxGroup.props.modelValue, (modelValue) => {
8714
- isChecked.value = modelValue.includes(props.label);
8715
- }, {
8716
- deep: true
8717
- });
8718
- } else {
8719
- watch(() => props.modelValue, (modelValue) => {
8720
- if (modelValue === "") {
8721
- return;
8775
+ const suffixCls = getCls("suffix-icon");
8776
+ const suffixIcon = computed(() => {
8777
+ const icon = suffixIconMap[props.type];
8778
+ if (pwdVisible.value) {
8779
+ return createVNode(unvisible, {
8780
+ "onClick": handleVisibleChange,
8781
+ "class": suffixCls
8782
+ }, null);
8722
8783
  }
8723
- isChecked.value = modelValue === props.trueLabel;
8724
- }, {
8725
- immediate: true
8784
+ return icon ? createVNode(icon, {
8785
+ "class": suffixCls
8786
+ }, null) : null;
8726
8787
  });
8727
- }
8728
- const setChecked = (value = true) => {
8729
- isChecked.value = value;
8730
- };
8731
- const handleChange = (event) => {
8732
- if (isDisabled.value) {
8733
- return;
8734
- }
8735
- const $targetInput = event.target;
8736
- isChecked.value = $targetInput.checked;
8737
- const nextValue = isChecked.value ? props.trueLabel : props.falseLabel;
8738
- emit("change", nextValue);
8739
- emit("update:modelValue", nextValue);
8740
- if (isGroup) {
8741
- checkboxGroup.handleChange();
8742
- }
8743
- nextTick(() => {
8744
- if ($targetInput.checked !== isChecked.value) {
8745
- $targetInput.checked = isChecked.value;
8746
- }
8788
+ const isNumberInput = computed(() => props.type === "number");
8789
+ const ceilMaxLength = computed(() => Math.floor(props.maxlength));
8790
+ const pwdVisible = ref(false);
8791
+ const clearCls = computed(() => classes({
8792
+ "show-clear-only-hover": props.showClearOnlyHover
8793
+ }, suffixCls));
8794
+ ctx.expose({
8795
+ focus() {
8796
+ inputRef.value.focus();
8797
+ },
8798
+ clear
8747
8799
  });
8748
- };
8749
- onMounted(() => {
8750
- if (isGroup) {
8751
- checkboxGroup.register(currentInstance.proxy);
8800
+ function clear() {
8801
+ ctx.emit(EventEnum["update:modelValue"], "");
8802
+ ctx.emit(EventEnum.change, "");
8803
+ ctx.emit(EventEnum.clear);
8752
8804
  }
8753
- });
8754
- onBeforeUnmount(() => {
8755
- if (isGroup) {
8756
- checkboxGroup.unregister(currentInstance.proxy);
8805
+ function handleFocus(e) {
8806
+ isFocused.value = true;
8807
+ ctx.emit(EventEnum.focus, e);
8757
8808
  }
8758
- });
8759
- return {
8760
- isChecked,
8761
- isDisabled,
8762
- setChecked,
8763
- handleChange
8764
- };
8765
- };
8766
- const checkboxProps = {
8767
- modelValue: PropTypes.oneOfType([String, Number, Boolean]).def(""),
8809
+ function handleBlur(e) {
8810
+ isFocused.value = false;
8811
+ ctx.emit(EventEnum.blur, e);
8812
+ }
8813
+ function eventHandler(eventName) {
8814
+ return (e) => {
8815
+ if (e.code === "Enter" || e.key === "Enter" || e.keyCode === 13) {
8816
+ ctx.emit(EventEnum.enter, e.target.value, e);
8817
+ }
8818
+ if (isCNInput.value && [EventEnum.input, EventEnum.change].some((e2) => eventName === e2))
8819
+ return;
8820
+ if (eventName === EventEnum.input) {
8821
+ ctx.emit(EventEnum["update:modelValue"], isNumberInput.value ? +e.target.value : e.target.value);
8822
+ }
8823
+ ctx.emit(eventName, e.target.value, e);
8824
+ };
8825
+ }
8826
+ const [handleKeyup, handleKeydown, handleKeyPress, handlePaste, handleChange, handleInput] = [EventEnum.keyup, EventEnum.keydown, EventEnum.keypress, EventEnum.paste, EventEnum.change, EventEnum.input].map(eventHandler);
8827
+ function handleCompositionStart() {
8828
+ isCNInput.value = true;
8829
+ }
8830
+ function handleCompositionEnd(e) {
8831
+ isCNInput.value = false;
8832
+ handleInput(e);
8833
+ }
8834
+ function handleNumber(step, INC = true) {
8835
+ const numStep = parseInt(String(step), 10);
8836
+ const precision = Number.isInteger(props.precision) ? props.precision : 0;
8837
+ const val = parseFloat(props.modelValue.toString());
8838
+ const factor = Number.isInteger(numStep) ? numStep : 1;
8839
+ let newVal = val + (INC ? factor : -1 * factor);
8840
+ if (Number.isInteger(props.max)) {
8841
+ newVal = Math.min(newVal, props.max);
8842
+ }
8843
+ if (Number.isInteger(props.min)) {
8844
+ newVal = Math.max(newVal, props.min);
8845
+ }
8846
+ return +newVal.toFixed(precision);
8847
+ }
8848
+ function handleInc() {
8849
+ const newVal = handleNumber(props.step);
8850
+ ctx.emit(EventEnum["update:modelValue"], newVal);
8851
+ }
8852
+ function handleDec() {
8853
+ const newVal = handleNumber(props.step, false);
8854
+ ctx.emit(EventEnum["update:modelValue"], newVal);
8855
+ }
8856
+ function getCls(name2) {
8857
+ return `${inputClsPrefix.value}--${name2}`;
8858
+ }
8859
+ function handleVisibleChange() {
8860
+ pwdVisible.value = !pwdVisible.value;
8861
+ }
8862
+ const bindProps = computed(() => ({
8863
+ value: props.modelValue,
8864
+ maxlength: props.maxlength,
8865
+ placeholder: props.placeholder,
8866
+ readonly: props.readonly,
8867
+ disabled: props.disabled,
8868
+ onInput: handleInput,
8869
+ onFocus: handleFocus,
8870
+ onBlur: handleBlur,
8871
+ onPaste: handlePaste,
8872
+ onChange: handleChange,
8873
+ onKeypress: handleKeyPress,
8874
+ onKeydown: handleKeydown,
8875
+ onKeyup: handleKeyup,
8876
+ onCompositionstart: handleCompositionStart,
8877
+ onCompositionend: handleCompositionEnd
8878
+ }));
8879
+ return () => {
8880
+ var _a2, _b, _c, _d, _e, _f;
8881
+ return createVNode("div", {
8882
+ "class": inputCls.value,
8883
+ "style": style
8884
+ }, [(_c = (_b = (_a2 = ctx.slots) == null ? void 0 : _a2.prefix) == null ? void 0 : _b.call(_a2)) != null ? _c : props.prefix && createVNode("div", {
8885
+ "class": getCls("prefix-area")
8886
+ }, [createVNode("span", {
8887
+ "class": getCls("prefix-area--text")
8888
+ }, [props.prefix])]), isTextArea.value ? createVNode("textarea", mergeProps({
8889
+ "ref": inputRef
8890
+ }, inputAttrs, bindProps.value, {
8891
+ "rows": props.rows
8892
+ }), null) : createVNode("input", mergeProps(inputAttrs, {
8893
+ "ref": inputRef,
8894
+ "class": `${inputClsPrefix.value}--text`,
8895
+ "type": pwdVisible.value && props.type === "password" ? "text" : props.type,
8896
+ "step": props.step,
8897
+ "max": props.max,
8898
+ "min": props.min
8899
+ }, bindProps.value), null), !isTextArea.value && props.clearable && !!props.modelValue && createVNode(close$1, {
8900
+ "onClick": clear,
8901
+ "class": clearCls.value
8902
+ }, null), suffixIcon.value, typeof props.maxlength === "number" && (props.showWordLimit || isTextArea.value) && createVNode("p", {
8903
+ "class": getCls("max-length")
8904
+ }, [props.modelValue.toString().length, createTextVNode("/"), createVNode("span", null, [ceilMaxLength.value])]), isNumberInput.value && props.showControl && createVNode("div", {
8905
+ "class": getCls("number-control")
8906
+ }, [createVNode(downSmall, {
8907
+ "onClick": handleInc
8908
+ }, null), createVNode(downSmall, {
8909
+ "onClick": handleDec
8910
+ }, null)]), (_f = (_e = (_d = ctx.slots) == null ? void 0 : _d.suffix) == null ? void 0 : _e.call(_d)) != null ? _f : props.suffix && createVNode("div", {
8911
+ "class": getCls("suffix-area")
8912
+ }, [createVNode("span", {
8913
+ "class": getCls("suffix-area--text")
8914
+ }, [props.suffix])])]);
8915
+ };
8916
+ }
8917
+ });
8918
+ const BkInput = withInstall(Component$p);
8919
+ var Component$o = defineComponent({
8920
+ name: "Card",
8921
+ props: {
8922
+ title: PropTypes.string,
8923
+ showHeader: PropTypes.bool.def(true),
8924
+ showFooter: PropTypes.bool.def(false),
8925
+ collapseStatus: PropTypes.bool.def(true),
8926
+ border: PropTypes.bool.def(true),
8927
+ disableHeaderStyle: PropTypes.bool.def(false),
8928
+ position: PropTypes.string.def("left"),
8929
+ isEdit: PropTypes.bool.def(false),
8930
+ isCollapse: PropTypes.bool.def(false)
8931
+ },
8932
+ emits: ["update:collapseStatus", "edit"],
8933
+ setup(props, {
8934
+ emit
8935
+ }) {
8936
+ const collapseActive = ref(true);
8937
+ const showInput = ref(false);
8938
+ const renderTitle = ref("");
8939
+ const handleCollapse = () => {
8940
+ if (!props.isCollapse) {
8941
+ return;
8942
+ }
8943
+ collapseActive.value = !collapseActive.value;
8944
+ emit("update:collapseStatus", collapseActive.value);
8945
+ };
8946
+ const clickEdit = () => {
8947
+ showInput.value = !showInput.value;
8948
+ };
8949
+ const saveEdit = () => {
8950
+ showInput.value = !showInput.value;
8951
+ emit("edit", renderTitle);
8952
+ };
8953
+ watch(() => props.collapseStatus, (val) => {
8954
+ props.isCollapse && (collapseActive.value = val);
8955
+ }, {
8956
+ immediate: true
8957
+ });
8958
+ watch(() => props.title, (val) => {
8959
+ renderTitle.value = val;
8960
+ }, {
8961
+ immediate: true
8962
+ });
8963
+ return {
8964
+ collapseActive,
8965
+ showInput,
8966
+ renderTitle,
8967
+ handleCollapse,
8968
+ saveEdit,
8969
+ clickEdit
8970
+ };
8971
+ },
8972
+ render() {
8973
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
8974
+ const wrapperName = "bk-card";
8975
+ const cardClass = classes({
8976
+ [`${wrapperName}`]: true,
8977
+ [`${wrapperName}-border-none`]: !this.$props.border
8978
+ }, "");
8979
+ const headClass = classes({
8980
+ [`${wrapperName}-head`]: true,
8981
+ [`${wrapperName}-head-${this.$props.position}`]: this.$props.isCollapse && this.$props.position,
8982
+ ["no-line-height"]: this.$props.disableHeaderStyle,
8983
+ ["collapse"]: !this.collapseActive
8984
+ }, "");
8985
+ const defaultHeader = createVNode("div", {
8986
+ "class": "title",
8987
+ "title": this.renderTitle
8988
+ }, [this.showInput ? createVNode(BkInput, {
8989
+ "class": `${wrapperName}-input`,
8990
+ "modelValue": this.renderTitle,
8991
+ "onUpdate:modelValue": ($event) => this.renderTitle = $event,
8992
+ "onBlur": this.saveEdit
8993
+ }, null) : this.renderTitle]);
8994
+ const defaultIcon = createVNode("span", {
8995
+ "class": `${wrapperName}-icon`,
8996
+ "onClick": this.handleCollapse
8997
+ }, [this.collapseActive ? createVNode(angleDown, null, null) : createVNode(angleRight, null, null)]);
8998
+ return createVNode("div", {
8999
+ "class": cardClass
9000
+ }, [this.$props.showHeader ? createVNode("div", {
9001
+ "class": headClass
9002
+ }, [this.$props.isCollapse && ((_c = (_b = (_a = this.$slots).icon) == null ? void 0 : _b.call(_a)) != null ? _c : defaultIcon), (_f = (_e = (_d = this.$slots).header) == null ? void 0 : _e.call(_d)) != null ? _f : defaultHeader, this.$props.isEdit && !this.showInput && createVNode(editLine, {
9003
+ "class": `${wrapperName}-edit`,
9004
+ "onClick": this.clickEdit
9005
+ }, null)]) : "", this.collapseActive ? createVNode("div", null, [createVNode("div", {
9006
+ "class": `${wrapperName}-body`
9007
+ }, [(_i = (_h = (_g = this.$slots).default) == null ? void 0 : _h.call(_g)) != null ? _i : "Content"]), this.$props.showFooter ? createVNode("div", {
9008
+ "class": `${wrapperName}-footer`
9009
+ }, [(_l = (_k = (_j = this.$slots).footer) == null ? void 0 : _k.call(_j)) != null ? _l : "Footer"]) : ""]) : ""]);
9010
+ }
9011
+ });
9012
+ const BkCard = withInstall(Component$o);
9013
+ const checkboxGroupKey = Symbol("CheckboxGroup");
9014
+ function useFocus$2() {
9015
+ const isFocus = ref(false);
9016
+ const blur = () => {
9017
+ isFocus.value = false;
9018
+ };
9019
+ const focus = () => {
9020
+ isFocus.value = true;
9021
+ };
9022
+ return [
9023
+ isFocus,
9024
+ {
9025
+ blur,
9026
+ focus
9027
+ }
9028
+ ];
9029
+ }
9030
+ const useCheckbox = () => {
9031
+ const currentInstance = getCurrentInstance();
9032
+ const {
9033
+ props,
9034
+ emit
9035
+ } = currentInstance;
9036
+ const checkboxGroup = inject(checkboxGroupKey, EMPTY_OBJ);
9037
+ const isGroup = !isEmptyObj(checkboxGroup);
9038
+ const isChecked = ref(props.checked);
9039
+ const isDisabled = computed(() => {
9040
+ if (isGroup && checkboxGroup.props.disabled) {
9041
+ return true;
9042
+ }
9043
+ return props.disabled;
9044
+ });
9045
+ if (isGroup) {
9046
+ watch(() => checkboxGroup.props.modelValue, (modelValue) => {
9047
+ isChecked.value = modelValue.includes(props.label);
9048
+ }, {
9049
+ deep: true
9050
+ });
9051
+ } else {
9052
+ watch(() => props.modelValue, (modelValue) => {
9053
+ if (modelValue === "") {
9054
+ return;
9055
+ }
9056
+ isChecked.value = modelValue === props.trueLabel;
9057
+ }, {
9058
+ immediate: true
9059
+ });
9060
+ }
9061
+ const setChecked = (value = true) => {
9062
+ isChecked.value = value;
9063
+ };
9064
+ const handleChange = (event) => {
9065
+ if (isDisabled.value) {
9066
+ return;
9067
+ }
9068
+ const $targetInput = event.target;
9069
+ isChecked.value = $targetInput.checked;
9070
+ const nextValue = isChecked.value ? props.trueLabel : props.falseLabel;
9071
+ emit("change", nextValue);
9072
+ emit("update:modelValue", nextValue);
9073
+ if (isGroup) {
9074
+ checkboxGroup.handleChange();
9075
+ }
9076
+ nextTick(() => {
9077
+ if ($targetInput.checked !== isChecked.value) {
9078
+ $targetInput.checked = isChecked.value;
9079
+ }
9080
+ });
9081
+ };
9082
+ onMounted(() => {
9083
+ if (isGroup) {
9084
+ checkboxGroup.register(currentInstance.proxy);
9085
+ }
9086
+ });
9087
+ onBeforeUnmount(() => {
9088
+ if (isGroup) {
9089
+ checkboxGroup.unregister(currentInstance.proxy);
9090
+ }
9091
+ });
9092
+ return {
9093
+ isChecked,
9094
+ isDisabled,
9095
+ setChecked,
9096
+ handleChange
9097
+ };
9098
+ };
9099
+ const checkboxProps = {
9100
+ modelValue: PropTypes.oneOfType([String, Number, Boolean]).def(""),
8768
9101
  label: PropTypes.oneOfType([String, Number, Boolean]),
8769
9102
  trueLabel: PropTypes.oneOfType([String, Number, Boolean]).def(true),
8770
9103
  falseLabel: PropTypes.oneOfType([String, Number, Boolean]).def(""),
@@ -8774,7 +9107,7 @@ const checkboxProps = {
8774
9107
  beforeChange: PropTypes.func,
8775
9108
  size: PropTypes.size()
8776
9109
  };
8777
- var Component$o = defineComponent({
9110
+ var Component$n = defineComponent({
8778
9111
  name: "Checkbox",
8779
9112
  props: checkboxProps,
8780
9113
  emits: ["update:modelValue", "change"],
@@ -8877,8 +9210,8 @@ var BkCheckboxGroup = defineComponent({
8877
9210
  }, [(_a = this.$slots) == null ? void 0 : _a.default()]);
8878
9211
  }
8879
9212
  });
8880
- const BkCheckbox = withInstallProps(Component$o, { Group: BkCheckboxGroup });
8881
- var Component$n = defineComponent({
9213
+ const BkCheckbox = withInstallProps(Component$n, { Group: BkCheckboxGroup });
9214
+ var Component$m = defineComponent({
8882
9215
  name: "Collapse",
8883
9216
  props: {
8884
9217
  list: PropTypes.arrayOf(PropTypes.any).def([]),
@@ -8967,79 +9300,29 @@ var Component$n = defineComponent({
8967
9300
  }, [renderItems()]);
8968
9301
  }
8969
9302
  });
8970
- const BkCollaspe = withInstall(Component$n);
9303
+ const BkCollaspe = withInstall(Component$m);
8971
9304
  const propsMixin$1 = {
8972
- isShow: {
8973
- type: Boolean,
8974
- default: false
8975
- },
8976
- width: {
8977
- type: [Number, String],
8978
- default: "50%"
8979
- },
8980
- height: {
8981
- type: [Number, String],
8982
- default: "50%"
8983
- },
8984
- customClass: {
8985
- type: [Array, String],
8986
- default: ""
8987
- },
8988
- scrollable: {
8989
- type: Boolean,
8990
- default: true
8991
- },
8992
- showMask: {
8993
- type: Boolean,
8994
- default: true
8995
- },
8996
- closeIcon: {
8997
- type: Boolean,
8998
- default: true
8999
- },
9000
- escClose: {
9001
- type: Boolean,
9002
- default: true
9003
- },
9004
- maskClose: {
9005
- type: Boolean,
9006
- default: true
9007
- },
9008
- fullscreen: {
9009
- type: Boolean,
9010
- default: false
9011
- },
9012
- size: {
9013
- type: String,
9014
- default: "normal",
9015
- validator: (value) => {
9016
- const dialogSize = ["normal", "small", "medium", "large"];
9017
- if (dialogSize.indexOf(value) < 0) {
9018
- console.error(`dialogSize property is not valid: '${value}',\u3010${dialogSize.join(" | ")}\u3011`);
9019
- return false;
9020
- }
9021
- return true;
9022
- }
9023
- },
9024
- renderDirective: {
9025
- type: String,
9026
- default: "show",
9027
- validator: (value) => {
9028
- if (["show", "if"].indexOf(value) < 0) {
9029
- console.error(`type render-directive is not valid: '${value}'`);
9030
- return false;
9031
- }
9032
- return true;
9033
- }
9034
- }
9035
- };
9036
- var Component$m = defineComponent({
9037
- name: "Modal",
9038
- props: __spreadValues({}, propsMixin$1),
9039
- data() {
9040
- return {
9041
- visible: false
9042
- };
9305
+ isShow: PropTypes.bool.def(false),
9306
+ width: PropTypes.oneOfType([String, Number]),
9307
+ height: PropTypes.oneOfType([String, Number]),
9308
+ customClass: PropTypes.string || PropTypes.array,
9309
+ scrollable: PropTypes.bool.def(true),
9310
+ showMask: PropTypes.bool.def(true),
9311
+ closeIcon: PropTypes.bool.def(true),
9312
+ escClose: PropTypes.bool.def(true),
9313
+ maskClose: PropTypes.bool.def(true),
9314
+ fullscreen: PropTypes.bool.def(false),
9315
+ size: PropTypes.commonType(["normal", "small", "medium", "large"], "size").def("normal"),
9316
+ draggable: PropTypes.bool.def(true),
9317
+ dialogType: PropTypes.commonType(["show", "operation", "confirm", "process"], "dialogType").def("operation")
9318
+ };
9319
+ var Component$l = defineComponent({
9320
+ name: "Modal",
9321
+ props: __spreadValues({}, propsMixin$1),
9322
+ data() {
9323
+ return {
9324
+ visible: false
9325
+ };
9043
9326
  },
9044
9327
  computed: {
9045
9328
  dialogWidth() {
@@ -9081,122 +9364,164 @@ var Component$m = defineComponent({
9081
9364
  bkPopIndexManager.hide(this.$el);
9082
9365
  },
9083
9366
  render() {
9084
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
9367
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
9085
9368
  return createVNode("div", {
9086
- "class": ["bk-modal-wrapper", this.size, this.customClass, this.fullscreen ? "bk-model-fullscreen" : ""],
9369
+ "class": ["bk-modal-wrapper", this.customClass],
9087
9370
  "style": this.compStyle
9088
- }, [this.isShow ? createVNode("div", {
9371
+ }, [this.isShow && this.dialogType === "show" ? createVNode("div", {
9089
9372
  "class": "bk-modal-body"
9090
9373
  }, [createVNode("div", {
9091
9374
  "class": "bk-modal-header"
9092
9375
  }, [(_c = (_b = (_a = this.$slots).header) == null ? void 0 : _b.call(_a)) != null ? _c : ""]), createVNode("div", {
9376
+ "class": "bk-modal-content",
9377
+ "style": "height: calc(100% - 74px);margin-bottom: 0px;"
9378
+ }, [(_f = (_e = (_d = this.$slots).default) == null ? void 0 : _e.call(_d)) != null ? _f : ""])]) : createVNode("div", {
9379
+ "class": "bk-modal-body"
9380
+ }, [createVNode("div", {
9381
+ "class": "bk-modal-header"
9382
+ }, [(_i = (_h = (_g = this.$slots).header) == null ? void 0 : _h.call(_g)) != null ? _i : ""]), createVNode("div", {
9093
9383
  "class": "bk-modal-content"
9094
- }, [(_f = (_e = (_d = this.$slots).default) == null ? void 0 : _e.call(_d)) != null ? _f : ""]), createVNode("div", {
9384
+ }, [(_l = (_k = (_j = this.$slots).default) == null ? void 0 : _k.call(_j)) != null ? _l : ""]), createVNode("div", {
9095
9385
  "class": "bk-modal-footer"
9096
- }, [(_i = (_h = (_g = this.$slots).footer) == null ? void 0 : _h.call(_g)) != null ? _i : ""])]) : ""]);
9386
+ }, [(_o = (_n = (_m = this.$slots).footer) == null ? void 0 : _n.call(_m)) != null ? _o : ""])])]);
9097
9387
  }
9098
9388
  });
9099
- const BkModal = withInstallProps(Component$m, { propsMixin: propsMixin$1 }, true);
9100
- function _isSlot$4(s2) {
9389
+ const BkModal = withInstallProps(Component$l, { propsMixin: propsMixin$1 }, true);
9390
+ function _isSlot$5(s2) {
9101
9391
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
9102
9392
  }
9103
- var Component$l = defineComponent({
9393
+ var Component$k = defineComponent({
9104
9394
  name: "Dialog",
9105
9395
  components: {
9106
9396
  BkModal,
9107
9397
  BkButton
9108
9398
  },
9109
9399
  props: __spreadProps(__spreadValues({}, propsMixin$1), {
9110
- width: {
9111
- type: [Number, String],
9112
- default: null
9113
- },
9114
- height: {
9115
- type: [Number, String],
9116
- default: null
9117
- },
9118
- confirmText: {
9119
- type: String,
9120
- default: "\u786E\u5B9A"
9121
- },
9122
- cancelText: {
9123
- type: String,
9124
- default: "\u53D6\u6D88"
9125
- },
9126
- title: {
9127
- type: String,
9128
- default: "Title"
9129
- },
9130
- headerAlign: {
9131
- type: String,
9132
- default: "left",
9133
- validator: (value) => {
9134
- const textAlign = ["left", "center", "right"];
9135
- if (textAlign.indexOf(value) < 0) {
9136
- console.error(`headerAlign property is not valid: '${value}',\u3010${textAlign.join(" | ")}\u3011`);
9137
- return false;
9138
- }
9139
- return true;
9400
+ width: PropTypes.oneOfType([String, Number]).def(""),
9401
+ height: PropTypes.oneOfType([String, Number]).def(""),
9402
+ confirmText: PropTypes.string.def("\u786E\u5B9A"),
9403
+ cancelText: PropTypes.string.def("\u53D6\u6D88"),
9404
+ prevText: PropTypes.string.def("\u4E0A\u4E00\u6B65"),
9405
+ nextText: PropTypes.string.def("\u4E0B\u4E00\u6B65"),
9406
+ current: PropTypes.number.def(1),
9407
+ totalStep: PropTypes.number,
9408
+ title: PropTypes.string.def("title"),
9409
+ headerAlign: PropTypes.commonType(["left", "center", "right"], "headerAlign").def("left"),
9410
+ footerAlign: PropTypes.commonType(["left", "center", "right"], "footerAlign").def("right"),
9411
+ theme: PropTypes.commonType(["primary", "warning", "success", "danger"], "theme").def("primary"),
9412
+ isLoading: PropTypes.bool.def(false)
9413
+ }),
9414
+ emits: ["closed", "update:isShow", "confirm", "prev", "next"],
9415
+ setup(props, {
9416
+ emit
9417
+ }) {
9418
+ const data2 = reactive({
9419
+ positionX: 0,
9420
+ positionY: 0,
9421
+ moveStyle: {
9422
+ top: "",
9423
+ left: ""
9140
9424
  }
9141
- },
9142
- footerAlign: {
9143
- type: String,
9144
- default: "right",
9145
- validator: (value) => {
9146
- const textAlign = ["left", "center", "right"];
9147
- if (textAlign.indexOf(value) < 0) {
9148
- console.error(`footerAlign property is not valid: '${value}',\u3010${textAlign.join(" | ")}\u3011`);
9149
- return false;
9150
- }
9151
- return true;
9425
+ });
9426
+ onMounted(() => {
9427
+ if (props.escClose) {
9428
+ addEventListener("keydown", escCloseHandler);
9152
9429
  }
9153
- },
9154
- theme: {
9155
- type: String,
9156
- default: "primary",
9157
- validator: (value) => {
9158
- if (["primary", "warning", "success", "danger"].indexOf(value) < 0) {
9159
- console.error(`theme property is not valid: '${value}'`);
9160
- return false;
9161
- }
9162
- return true;
9430
+ });
9431
+ onBeforeUnmount(() => {
9432
+ if (props.escClose) {
9433
+ removeEventListener("keydown", escCloseHandler);
9163
9434
  }
9164
- }
9165
- }),
9166
- emits: ["closed", "update:isShow", "confirm"],
9167
- mounted() {
9168
- if (this.escClose) {
9169
- addEventListener("keydown", this.escCloseHandler);
9170
- }
9171
- },
9172
- beforeDestory() {
9173
- if (this.escClose) {
9174
- removeEventListener("keydown", this.escCloseHandler);
9175
- }
9176
- },
9177
- methods: {
9178
- handleClose() {
9179
- this.$emit("update:isShow", false);
9180
- this.$emit("closed");
9181
- },
9182
- handleConfirm() {
9183
- this.$emit("update:isShow", false);
9184
- this.$emit("confirm");
9185
- },
9186
- escCloseHandler(e) {
9187
- if (this.isShow && this.closeIcon) {
9435
+ });
9436
+ watch(() => props.isShow, (val) => {
9437
+ if (!val) {
9438
+ data2.moveStyle = {
9439
+ top: "50%",
9440
+ left: "50%"
9441
+ };
9442
+ data2.positionX = 0;
9443
+ data2.positionY = 0;
9444
+ }
9445
+ });
9446
+ const handleClose = () => {
9447
+ emit("update:isShow", false);
9448
+ emit("closed");
9449
+ };
9450
+ const handleConfirm = () => {
9451
+ emit("update:isShow", false);
9452
+ emit("confirm");
9453
+ };
9454
+ const escCloseHandler = (e) => {
9455
+ if (props.isShow && props.closeIcon) {
9188
9456
  if (e.keyCode === 27) {
9189
- this.handleClose();
9457
+ handleClose();
9190
9458
  }
9191
9459
  }
9192
- }
9460
+ };
9461
+ const handlePrevStep = () => {
9462
+ emit("prev");
9463
+ };
9464
+ const handleNextStep = () => {
9465
+ emit("next");
9466
+ };
9467
+ const moveHandler = (e) => {
9468
+ if (props.fullscreen) {
9469
+ return false;
9470
+ }
9471
+ const odiv = e.target;
9472
+ const parentHeight = e.currentTarget.parentNode.parentNode.offsetHeight;
9473
+ const parentWidth = e.currentTarget.parentNode.parentNode.offsetWidth;
9474
+ let disX;
9475
+ let disY;
9476
+ if (data2.positionX !== 0 && data2.positionY !== 0) {
9477
+ disX = e.clientX - data2.positionX;
9478
+ disY = e.clientY - data2.positionY;
9479
+ } else {
9480
+ disX = e.clientX - odiv.offsetLeft;
9481
+ disY = e.clientY - odiv.offsetTop;
9482
+ }
9483
+ document.onmousemove = (e2) => {
9484
+ const boxLeft = window.innerWidth - parentWidth;
9485
+ const boxTop = window.innerHeight - parentHeight;
9486
+ let left2 = e2.clientX - disX;
9487
+ let top2 = e2.clientY - disY;
9488
+ if (boxLeft / 2 - left2 <= 0) {
9489
+ left2 = boxLeft / 2;
9490
+ } else if (boxLeft / 2 + left2 <= 0) {
9491
+ left2 = -boxLeft / 2;
9492
+ }
9493
+ if (boxTop / 2 - top2 <= 0) {
9494
+ top2 = boxTop / 2;
9495
+ } else if (boxTop / 2 + top2 <= 0) {
9496
+ top2 = -boxTop / 2;
9497
+ }
9498
+ data2.positionX = left2;
9499
+ data2.positionY = top2;
9500
+ data2.moveStyle.left = `calc(50% + ${left2}px)`;
9501
+ data2.moveStyle.top = `calc(50% + ${top2}px)`;
9502
+ };
9503
+ document.onmouseup = () => {
9504
+ document.onmousemove = null;
9505
+ document.onmouseup = null;
9506
+ };
9507
+ };
9508
+ return {
9509
+ data: data2,
9510
+ handleClose,
9511
+ handleConfirm,
9512
+ escCloseHandler,
9513
+ moveHandler,
9514
+ handlePrevStep,
9515
+ handleNextStep
9516
+ };
9193
9517
  },
9194
9518
  render() {
9195
9519
  const dialogSlot = {
9196
9520
  header: () => {
9197
9521
  var _a, _b, _c;
9198
9522
  return [createVNode("div", {
9199
- "class": "bk-dialog-tool"
9523
+ "class": ["bk-dialog-tool", this.fullscreen || !this.draggable ? "" : "move", this.draggable ? "content-dragging" : ""],
9524
+ "onMousedown": this.moveHandler
9200
9525
  }, [createVNode("span", {
9201
9526
  "class": ["bk-dialog-close", this.closeIcon ? "" : "close-icon"],
9202
9527
  "onClick": this.handleClose
@@ -9212,32 +9537,61 @@ var Component$l = defineComponent({
9212
9537
  return (_c = (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) != null ? _c : "default";
9213
9538
  },
9214
9539
  footer: () => {
9215
- var _a, _b, _c;
9540
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
9216
9541
  return createVNode("div", {
9217
9542
  "class": "bk-dialog-footer",
9218
9543
  "style": `text-align: ${this.footerAlign}`
9219
- }, [(_c = (_b = (_a = this.$slots).footer) == null ? void 0 : _b.call(_a)) != null ? _c : createVNode(Fragment, null, [createVNode(BkButton, {
9544
+ }, [this.dialogType === "process" ? (_c = (_b = (_a = this.$slots).footer) == null ? void 0 : _b.call(_a)) != null ? _c : createVNode(Fragment, null, [this.current === 1 ? "" : createVNode(BkButton, {
9545
+ "style": "float: left;margin-right: 8px",
9546
+ "onClick": this.handlePrevStep
9547
+ }, {
9548
+ default: () => [this.prevText]
9549
+ }), this.current === this.totalStep ? "" : createVNode(BkButton, {
9550
+ "style": "float: left",
9551
+ "onClick": this.handleNextStep
9552
+ }, {
9553
+ default: () => [this.nextText]
9554
+ }), this.current === this.totalStep ? createVNode(BkButton, {
9555
+ "onClick": this.handleConfirm,
9556
+ "theme": this.theme,
9557
+ "loading": this.isLoading
9558
+ }, {
9559
+ default: () => [this.confirmText]
9560
+ }) : "", createVNode(BkButton, {
9561
+ "style": "margin-left: 8px",
9562
+ "onClick": this.handleClose
9563
+ }, {
9564
+ default: () => [this.cancelText]
9565
+ })]) : "", this.dialogType === "operation" ? (_f = (_e = (_d = this.$slots).footer) == null ? void 0 : _e.call(_d)) != null ? _f : createVNode(Fragment, null, [createVNode(BkButton, {
9220
9566
  "onClick": this.handleConfirm,
9221
- "theme": this.theme
9567
+ "theme": this.theme,
9568
+ "loading": this.isLoading
9222
9569
  }, {
9223
9570
  default: () => [this.confirmText]
9224
9571
  }), createVNode(BkButton, {
9225
- "style": "margin-left: 8px;",
9572
+ "style": "margin-left: 8px",
9226
9573
  "onClick": this.handleClose
9227
9574
  }, {
9228
9575
  default: () => [this.cancelText]
9229
- })])]);
9576
+ })]) : "", this.dialogType === "confirm" ? (_i = (_h = (_g = this.$slots).footer) == null ? void 0 : _h.call(_g)) != null ? _i : createVNode(Fragment, null, [createVNode(BkButton, {
9577
+ "onClick": this.handleConfirm,
9578
+ "theme": this.theme,
9579
+ "loading": this.isLoading
9580
+ }, {
9581
+ default: () => [this.confirmText]
9582
+ })]) : ""]);
9230
9583
  }
9231
9584
  };
9232
9585
  const className = `bk-dialog-wrapper ${this.scrollable ? "scroll-able" : ""}`;
9233
9586
  return createVNode(BkModal, mergeProps(this.$props, {
9234
- "class": className
9235
- }), _isSlot$4(dialogSlot) ? dialogSlot : {
9587
+ "class": [className, this.fullscreen ? "bk-model-fullscreen" : this.size],
9588
+ "style": this.data.moveStyle
9589
+ }), _isSlot$5(dialogSlot) ? dialogSlot : {
9236
9590
  default: () => [dialogSlot]
9237
9591
  });
9238
9592
  }
9239
9593
  });
9240
- const BkDialog = withInstall(Component$l);
9594
+ const BkDialog = withInstall(Component$k);
9241
9595
  var permissions = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOm5vbmU7fQoJLnN0MXtmaWxsOiNDNEM2Q0M7fQoJLnN0MntmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qze2ZpbGw6dXJsKCPnn6nlvaJfNF8pO30KCS5zdDR7ZmlsbDojOTc5QkE1O30KCS5zdDV7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Q2e2ZpbGw6I0Y4RjlGQTt9Cgkuc3Q3e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMV8pO30KCS5zdDh7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF82Xyk7fQoJLnN0OXtmaWxsOiNEQ0RFRTA7fQo8L3N0eWxlPgo8ZyBpZD0i6aG16Z2iLTEiPgoJPGcgaWQ9IkV4Y2VwdGlvbl94MkZf5byC5bi45o+Q56S6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODcwLjAwMDAwMCwgLTIzODEuMDAwMDAwKSI+CgkJPGcgaWQ9IuaXoOadg+mZkOexuyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU3LjAwMDAwMCwgMjI4Ny4wMDAwMDApIj4KCQkJPGcgaWQ9Iue8lue7hC0xMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDczLjAwMDAwMCkiPgoJCQkJPGcgaWQ9IuaXoOadg+mZkOexuy3mj5Llm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxMy4wMDAwMDAsIDIxLjAwMDAwMCkiPgoJCQkJCTxnIGlkPSLmsqHmnInmnYPpmZAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyOC4wMDAwMDAsIDQyLjAwMDAwMCkiPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2iXzFfIiBjbGFzcz0ic3QwIiB3aWR0aD0iMjI0IiBoZWlnaHQ9IjE4MyIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDEiIGN4PSIxMzIiIGN5PSIxMSIgcj0iMSIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfMV8iIGNsYXNzPSJzdDEiIGN4PSIxNzMiIGN5PSI5NCIgcj0iMiIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfMl8iIGNsYXNzPSJzdDEiIGN4PSI1OSIgY3k9IjY2IiByPSIyIi8+CgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjExNi4zNTg3IiB5MT0iMTI5LjQwNzUiIHgyPSIxMTkuMzMxNCIgeTI9IjE1Ny42OTA2Ij4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZDRkQiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAuOTk4OCIgc3R5bGU9InN0b3AtY29sb3I6I0YyRjRGNyIvPgoJCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCQk8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QyIiBkPSJNNjAuNSwxMzYuMWMxNi4yLTMuNSw0MC42LTQuNyw1Ni41LTMuOWMxNS44LDAuOCwzMy4xLDMuMSwzMy4xLDMuMXM0LjUtMS45LDQuMS0xLjIKCQkJCQkJCWMtMC4zLDAuOC0yLjQsMS45LTEsMi4zYzEuNCwwLjQsMTUuNSwxLjksMjEuNCwzLjFzOC42LDIuMyw4LjYsMi4zczMuOC02LjYsMTIuMy01LjhjMCwwLjYtMy4xLDEuNC00LjIsMy4xUzE4OCwxNDIsMTg4LDE0MgoJCQkJCQkJczEuOC0xLDQuOSwwLjVzNi4xLDIsNi4xLDIuMnMtMS40LDMuNS0xMi43LDEuMmMtNC42LTEuMi02LjksNS4xLTI5LjMsNi42cy02MC4zLDIuNy02MC4zLDIuN3MxLjcsMi4zLDUuMiwzLjEKCQkJCQkJCWMwLDAtMi40LDIuMy03LjIsMS42Yy00LjgtMC44LTEwLTQuNy0xMC00LjdzLTEyLjctMC44LTE3LjYtMS42cy0xMC4zLTIuNy0xNC4xLTMuMWMtMy44LTAuNC0yMS0yLjMtMTQuNS02LjYKCQkJCQkJCUMzOC41LDE0My45LDQ0LjMsMTM5LjYsNjAuNSwxMzYuMXoiLz4KCgkJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNTYuMTY2NyIgeTE9Ii0yLjUxNDMiIHgyPSIxNTYuMTY2NyIgeTI9Ii0xLjUxNDMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTYgMCAwIDcwIC0xNDg3OSAyNTIpIj4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkYzRjUiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFNUU4RUIiLz4KCQkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQkJPHBhdGggaWQ9IuefqeW9ol8yXyIgY2xhc3M9InN0MyIgZD0iTTcwLDc2aDg2YzIuOCwwLDUsMi4yLDUsNXY2MGMwLDIuOC0yLjIsNS01LDVINzBjLTIuOCwwLTUtMi4yLTUtNVY4MQoJCQkJCQkJQzY1LDc4LjIsNjcuMiw3Niw3MCw3NnoiLz4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTU5LjMsMTM4djExLjdINzF2Mi4zSDU5LjNsMCwwSDU3di0xNEg1OS4zeiIvPgoJCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTQiIGNsYXNzPSJzdDEiIGQ9Ik0xNjYuNywxMzh2MTEuN0gxNTV2Mi4zaDExLjdsMCwwaDIuM3YtMTRIMTY2Ljd6Ii8+CgkJCQkJCTxnPgoJCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF81XyIgY2xhc3M9InN0NCIgZD0iTTExNi41LDExNi44bDEuNiw3LjljMC4yLDAuOC0wLjQsMS42LTEuMiwxLjhjLTAuMSwwLTAuMiwwLTAuMywwaC03LjIKCQkJCQkJCQljLTAuOCwwLTEuNS0wLjctMS41LTEuNWMwLTAuMSwwLTAuMiwwLTAuM2wxLjYtNy45Yy0zLTEuMy01LTQuMS01LTcuM2MwLTQuNCwzLjgtOCw4LjUtOHM4LjUsMy42LDguNSw4CgkJCQkJCQkJQzEyMS41LDExMi43LDExOS41LDExNS41LDExNi41LDExNi44eiIvPgoKCQkJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEzNi4wMjk0IiB5MT0iLTYuODAxMSIgeDI9IjEzNi4wMjk0IiB5Mj0iLTYuMjc4OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxNyAwIDAgMjUgLTIxOTkuNSAyNzcuNSkiPgoJCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUyRTYiLz4KCQkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUVGMEYyIi8+CgkJCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExNywxMjcuNWgtNy42Yy0xLjQsMC0yLjUtMS4xLTIuNS0yLjVsMC0wLjVsMS40LTcuMWMtMy0xLjYtNC45LTQuNi00LjktNy45YzAtNSw0LjMtOSw5LjUtOQoJCQkJCQkJCXM5LjUsNCw5LjUsOWMwLDMuMy0xLjksNi4zLTQuOSw3LjlsMS40LDcuMWMwLjMsMS4yLTAuNiwyLjYtMS45LDNMMTE3LDEyNy41eiBNMTA4LjksMTI0Ljh2MC4yYzAsMC4yLDAuMywwLjUsMC41LDAuNWg3LjMKCQkJCQkJCQljMC4yLTAuMSwwLjQtMC40LDAuNC0wLjZsLTEuOC04LjdsMC43LTAuM2MyLjctMS4yLDQuNC0zLjYsNC40LTYuNGMwLTMuOS0zLjQtNy03LjUtN3MtNy41LDMuMS03LjUsN2MwLDIuOCwxLjcsNS4yLDQuNCw2LjQKCQkJCQkJCQlsMC43LDAuM0wxMDguOSwxMjQuOHoiLz4KCQkJCQkJPC9nPgoJCQkJCQk8cGF0aCBpZD0i55+p5b2iXzNfIiBjbGFzcz0ic3Q2IiBkPSJNNzAsNzZoODZjMi44LDAsNSwyLjIsNSw1bDAsMGMwLDIuOC0yLjIsNS01LDVINzBjLTIuOCwwLTUtMi4yLTUtNWwwLDAKCQkJCQkJCUM2NSw3OC4yLDY3LjIsNzYsNzAsNzZ6Ii8+CgoJCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTU1LjAyNjMiIHkxPSItMi42NjY3IiB4Mj0iMTU1LjAyNjMiIHkyPSItMS42NzI3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDc2IDAgMCA2NiAtMTE2NjkgMTkyKSI+CgkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjNGNEY1Ii8+CgkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCIi8+CgkJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMl8iIGNsYXNzPSJzdDciIGQ9Ik0xNDEuNSw1NC42YzAtMTYtMTIuOC0yOS0yOC41LTI5cy0yOC41LDEzLTI4LjUsMjlsMCwwdjI1LjhjMCwwLjktMi4xLDEuNi00LjgsMS42CgkJCQkJCQljLTIuNSwwLTQuNi0wLjctNC43LTEuNXYtMC4xVjU0LjZDNzUsMzMuMyw5MiwxNiwxMTMsMTZzMzgsMTcuMywzOCwzOC42bDAsMHYyNS44YzAsMC45LTIuMSwxLjYtNC44LDEuNnMtNC44LTAuNy00LjgtMS42CgkJCQkJCQlsMCwwVjU0LjZIMTQxLjV6Ii8+CgoJCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfNl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTUzLjc5MDMiIHkxPSItMy4yMzg1IiB4Mj0iMTUzLjc5MDMiIHkyPSItMi4yNTkyIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYyIDAgMCA1NCAtOTQyMiAyMDEpIj4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUIiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUIiLz4KCQkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF8zXyIgY2xhc3M9InN0OCIgZD0iTTgyLDU0LjVDODIuMywzOC4yLDk2LDI1LDExMywyNWMxNy4xLDAsMzEsMTMuNCwzMSwzMGgtMy4xYzAtMTQuOS0xMi41LTI3LTI3LjktMjcKCQkJCQkJCVM4NS4xLDQwLjEsODUuMSw1NXYyNEg4MlY1NVY1NC41eiBNMTQ0LDU1djI0aC0zLjFWNTVIMTQ0eiIvPgoJCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzRfIiBjbGFzcz0ic3Q5IiBkPSJNODAsNzhjMi43LDAsNC45LTAuOCw1LTEuOVY3NnY0YzAsMS4xLTIuMiwyLTUsMmMtMi43LDAtNC45LTAuOC01LTEuOVY4MHYtNAoJCQkJCQkJQzc1LDc3LjEsNzcuMiw3OCw4MCw3OHoiLz4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zIiBjbGFzcz0ic3Q5IiBkPSJNMTQ2LDc4YzIuNywwLDQuOS0wLjgsNS0xLjlWNzZ2NGMwLDEuMS0yLjIsMi01LDJjLTIuNywwLTQuOS0wLjgtNS0xLjlWODB2LTQKCQkJCQkJCUMxNDEsNzcuMSwxNDMuMiw3OCwxNDYsNzh6Ii8+CgkJCQkJPC9nPgoJCQkJPC9nPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=";
9242
9596
  var notFound = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPnn6nlvaJfOV8pO30KCS5zdDJ7ZmlsbDp1cmwoI+efqeW9ol8xMF8pO30KCS5zdDN7ZmlsbDojRjBGMkY1O3N0cm9rZTp1cmwoI+efqeW9ol8xMV8pO30KCS5zdDR7ZmlsbDojOTc5QkE1O3N0cm9rZTp1cmwoI+efqeW9ol8xMl8pO30KCS5zdDV7ZmlsbDojOTc5QkE1O3N0cm9rZTp1cmwoI+efqeW9ouWkh+S7vS05XzFfKTt9Cgkuc3Q2e2ZpbGw6Izk3OUJBNTtzdHJva2U6dXJsKCPlvaLnirbnu5PlkIhfNl8pO30KCS5zdDd7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF84Xyk7fQoJLnN0OHtmaWxsOnVybCgj5b2i54q257uT5ZCI5aSH5Lu9LTNfMV8pO30KCS5zdDl7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF85Xyk7fQoJLnN0MTB7ZmlsbDojRTFFM0U2O30KCS5zdDExe2ZpbGw6I0YwRjJGNTt9Cgkuc3QxMntmaWxsOiNGNEY0RjQ7fQoJLnN0MTN7ZmlsbDp1cmwoI+i3r+W+hC01XzFfKTt9Cgkuc3QxNHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzEwXyk7fQoJLnN0MTV7ZmlsbDp1cmwoI+W9oueKtue7k+WQiOWkh+S7vS00XzFfKTt9Cgkuc3QxNntmaWxsOiNDN0M5Q0M7fQoJLnN0MTd7ZmlsbDojRTVFN0U5O30KCS5zdDE4e2ZpbGw6I0VDRUVGMDt9Cgkuc3QxOXtmaWxsOiNDNEM2Q0M7fQoJLnN0MjB7ZmlsbDojRURFRUYzO30KCS5zdDIxe2ZpbGw6IzM0MzQzNDtmaWxsLW9wYWNpdHk6My4wMDAwMDBlLTAyO30KPC9zdHlsZT4KPGcgaWQ9IkV4Y2VwdGlvbl94MkZf5byC5bi45o+Q56S6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODcwLjAwMDAwMCwgLTEzMzUuMDAwMDAwKSI+Cgk8ZyBpZD0iX3gzNF8wNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU3LjAwMDAwMCwgMTIxNi4wMDAwMDApIj4KCQk8ZyBpZD0iX3gzNF8wNC3mj5Llm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxMy4wMDAwMDAsIDExOS4wMDAwMDApIj4KCQkJPGcgaWQ9Iue8lue7hC0xMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMS4wMzY2NDgpIj4KCQkJCTxnIGlkPSJfeDM0XzA05Li75L2TIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5NC4zMjQwMjIsIDQyLjUzODc3MSkiPgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE0MS4zOTEyIiB5MT0iNTUuNjg2OSIgeDI9IjE1Mi4zMzA3IiB5Mj0iMTE3LjcyNzciPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjhGQ0ZEIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSJGaWxsLTEiIGNsYXNzPSJzdDAiIGQ9Ik00NS4zLDcyLjljMjkuMy02LjYsNzEuNS05LjYsMTAwLjItOC4xczUyLjQsNi41LDU0LjEsNS4zYzUuNy0zLjgsMTcuOS01LjUsMTcuMy00CgkJCQkJCXMtOC41LDYuMS02LDYuOGMyLjUsMC43LDI4LDMuNywzOC42LDUuOWMxMC42LDIuMiwxNy40LDQuNCwxOS43LDQuNGMyLjMsMCw1LjktMy4xLDIxLjMtMS42YzAuMywwLjYtMy40LDAuOC02LjgsMi41CgkJCQkJCXMtNS45LDEuNi01LjksMnMxLjktMC42LDUuOSwyYzQsMi41LDExLDMuNCwxMSw0cy04LjksMy42LTIzLjgtMS4xYy0zLjgtMS4yLTEyLjYsOS4yLTUzLjEsMTIuMXMtMTA5LjEsNS4yLTEwOS4xLDUuMgoJCQkJCQlzNC4xLDUuMywxMC4xLDYuOGMwLjMsMC41LTIuNCwyLjUtMTQsMC4zcy0xNy45LTcuMS0xNy45LTcuMXMtMjMuMS0xLjUtMzEuOC0yLjlzLTE4LjctNS4yLTI1LjYtNS45Uy04LjUsOTUsMy4zLDg2LjkKCQkJCQkJQzMuMyw4Ni45LDE2LDc5LjUsNDUuMyw3Mi45eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaJfOV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzA0Ljg0NjciIHkxPSIxMDEuMjQ5MiIgeDI9IjMwNC44NDY3IiB5Mj0iMTAwLjI1NDYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTMuMzkwNyAwIDAgLTkzLjQ2MjcgLTI4MzM1Ljk0NTMgOTQ2My4wMjczKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQ0VFRjAiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q3RDlEQiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuefqeW9ol8xXyIgY2xhc3M9InN0MSIgZD0iTTg5LjIsMGg4OS40YzEuMSwwLDIsMC45LDIsMnY4OS41YzAsMS4xLTAuOSwyLTIsMkg4OS4yYy0xLjEsMC0yLTAuOS0yLTJWMgoJCQkJCQlDODcuMiwwLjksODguMSwwLDg5LjIsMHoiLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iXzEwXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMDMuODkxNSIgeTE9IjEwMS42NTMyIiB4Mj0iMzAzLjg5MTUiIHkyPSIxMDAuNjUzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDgxLjcxNjkgMCAwIC04MS43Nzk5IC0yNDY5OS4yMjQ2IDgzMTguOTkwMikiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjVGN0ZBIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQkVERjAiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLnn6nlvaJfMl8iIGNsYXNzPSJzdDIiIGQ9Ik05NCw1LjhoNzkuN2MwLjYsMCwxLDAuNCwxLDF2NzkuOGMwLDAuNi0wLjQsMS0xLDFIOTRjLTAuNiwwLTEtMC40LTEtMVY2LjgKCQkJCQkJQzkzLDYuMyw5My41LDUuOCw5NCw1Ljh6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol8xMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk5LjQxODYiIHkxPSIxMDMuNTA1MiIgeDI9IjI5OS40MTg2IiB5Mj0iMTAyLjU1OTkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNTEuNTMyMyAwIDAgLTUxLjU3MjggLTE1Mjk1Ljg3NyA1MzYwLjk3MzYpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjdGOUZDIi8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i55+p5b2iXzNfIiBjbGFzcz0ic3QzIiBkPSJNMTA5LjEsMjAuOWg0OS41YzAuNiwwLDEsMC40LDEsMXY0OS42YzAsMC42LTAuNCwxLTEsMWgtNDkuNWMtMC42LDAtMS0wLjQtMS0xVjIxLjkKCQkJCQkJQzEwOC4xLDIxLjQsMTA4LjYsMjAuOSwxMDkuMSwyMC45eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaJfMTJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5NS40ODc5IiB5MT0iMTE5LjIyMzciIHgyPSIxOTUuNDg3OSIgeTI9IjExOC4yNTY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDUuMzc3NyAwIDAgLTEyLjY4MjggLTkyOC4zNzU1IDE1NDYuODUxNikiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFMkU2Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNF8iIHg9IjEyMC4yIiB5PSIzNC41IiBjbGFzcz0ic3Q0IiB3aWR0aD0iNS40IiBoZWlnaHQ9IjEyLjciLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2i5aSH5Lu9LTlfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTk1LjQ5MDEiIHkxPSIxMTkuMjIzNyIgeDI9IjE5NS40OTAxIiB5Mj0iMTE4LjI1NjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNS4zNzc3IDAgMCAtMTIuNjgyOCAtOTA2LjQ4NzEgMTU0Ni44NTE2KSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUyRTYiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0YwRjJGNSIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS05IiB4PSIxNDIuMSIgeT0iMzQuNSIgY2xhc3M9InN0NSIgd2lkdGg9IjUuNCIgaGVpZ2h0PSIxMi43Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNDcuNTY2IiB5MT0iMTI1LjQ1MTQiIHgyPSIyNDcuNTY2IiB5Mj0iMTI0LjQ4NDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOS43NTU0IDAgMCAtOS43NjIxIC0yMjgxLjIwNTEgMTI3Ni45MDYpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjBGMkY1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIIiBjbGFzcz0ic3Q2IiBkPSJNMTI5LDU2LjdMMTI5LDU2LjdjMC4xLTIuNiwyLjMtNC43LDQuOS00LjdjMi42LDAsNC43LDIsNC45LDQuN3YwLjJ2NC45SDEyOXYtMC41di00LjQKCQkJCQkJVjU2Ljd6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF84XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMDIuOTc2MSIgeTE9IjEwMS4yMzc1IiB4Mj0iMzAyLjk3NjEiIHkyPSIxMDAuMzAxNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg3Mi45NjE1IDAgMCAtOTMuNDYyNyAtMjE4NzkuNzQ0MSA5NDYzLjAyNzMpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURGMDtzdG9wLW9wYWNpdHk6MC45OTE3Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUzRTYiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDciIGQ9Ik0yNDQuOCwwaDIuOXY1OC40aDE0LjZ2MTcuNWgtMTQuNnYxNy41aC0yMC40Vjc1LjloLTM3LjlWNTguNEwyMjcuMywwSDI0NC44egoJCQkJCQkgTTIyNy4zLDI4LjJsLTE4LjgsMzAuM2gxOC44VjI4LjJ6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMwMi45NzU2IiB5MT0iMTAxLjIzNzUiIHgyPSIzMDIuOTc1NiIgeTI9IjEwMC4zMDE2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDcyLjk2MTUgMCAwIC05My40NjI3IC0yMjA2My42MDc0IDk0NjMuMDI3MykiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREYwO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTNFNiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zIiBjbGFzcz0ic3Q4IiBkPSJNNjAuOSwwaDIuOXY1OC40aDE0LjZ2MTcuNUg2My44djE3LjVINDMuNFY3NS45SDUuNVY1OC40TDQzLjQsMEg2MC45egoJCQkJCQkgTTQzLjQsMjguMkwyNC42LDU4LjRoMTguOFYyOC4yeiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfOV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk5LjA0NjYiIHkxPSIxMDcuMjgyNyIgeDI9IjI5OS4wNTM1IiB5Mj0iMTA3LjAxMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1MC4wMDM1IDAgMCAtMjguNjA1MyAtMTQ4NTcuNzUyOSAzMjE2LjczOTUpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjBGMkY1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzJfIiBjbGFzcz0ic3Q5IiBkPSJNOTkuNiwxMzcuM2MxMS43LDAsMjEuMiw1LjYsMjEuMiwxMi40YzAsNi45LTkuNSwxMi40LTIxLjIsMTIuNAoJCQkJCQljLTQuNCwwLTguNS0wLjgtMTEuOS0yLjFsLTcsNS45bC0xLjktMi4ybDYtNS4xYy0zLjktMi4zLTYuNC01LjQtNi40LTguOWMwLTAuMiwwLTAuNSwwLTAuN2wtNS44LDUuMWwtMS45LTIuMmwxNS40LTEzLjQKCQkJCQkJbDEuMSwxLjJDOTAuNywxMzguMSw5NSwxMzcuMyw5OS42LDEzNy4zeiIvPgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNV8iIHg9IjIyNS44IiB5PSI4Ny42IiBjbGFzcz0ic3QxMCIgd2lkdGg9IjIzLjMiIGhlaWdodD0iNS44Ii8+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ol82XyIgeD0iMjI3LjMiIHk9Ijg2LjIiIGNsYXNzPSJzdDExIiB3aWR0aD0iMjAuNCIgaGVpZ2h0PSIxLjUiLz4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzdfIiB4PSI0MS45IiB5PSI4Ny42IiBjbGFzcz0ic3QxMCIgd2lkdGg9IjIzLjMiIGhlaWdodD0iNS44Ii8+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ol84XyIgeD0iNDMuNCIgeT0iODYuMiIgY2xhc3M9InN0MTEiIHdpZHRoPSIyMC40IiBoZWlnaHQ9IjEuNSIvPgoJCQkJCTxwYXRoIGlkPSLot6/lvoQtNCIgY2xhc3M9InN0MTEiIGQ9Ik0wLDAiLz4KCQkJCQk8cGF0aCBpZD0i6Lev5b6ELTgiIGNsYXNzPSJzdDEyIiBkPSJNMTE1LjYsMTM0LjljMi40LTIuMiw5LjctMy40LDIxLjktMy40YzYuNCwwLDExLDAuNywzOS45LDUuN2MyLjksMC41LDUuMywwLjksNy43LDEuMwoJCQkJCQljMjUuOCw0LjMsNDAuOCw1LjcsNDguNiwzLjNsLTAuNC0xLjRjLTcuNSwyLjItMjIuNSwwLjktNDgtMy40Yy0yLjMtMC40LTQuOC0wLjgtNy42LTEuM2MtMjkuMS01LjEtMzMuNi01LjgtNDAuMi01LjgKCQkJCQkJYy0xMi42LDAtMjAuMSwxLjItMjIuOSwzLjhMMTE1LjYsMTM0Ljl6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9Iui3r+W+hC01XzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMwNy4xMTA1IiB5MT0iMTAzLjQ4MSIgeDI9IjMwNy4xMTA1IiB5Mj0iMTAyLjQ5MjIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTQxLjI1IDAgMCAtNTIuMDk2MiAtNDMyMDEuNzIyNyA1NDgxLjM2MTMpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0RDREVFNSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojOTc5QkE1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i6Lev5b6ELTUiIGNsYXNzPSJzdDEzIiBkPSJNMjI1LjgsODkuOGgtMjBjLTYuOSwwLTEwLjcsMy4xLTgsNy41YzIuNyw0LjYsMTEuOSw5LjcsMjcuMSwxNC40CgkJCQkJCWMxNS41LDQuOCwyNC45LDE1LjUsMjEsMjIuNWMtNC41LDguMS0yNC40LDguOS01Ni4zLTAuOGMtNDguNC0xNC42LTc1LjgtMTYuMS04Mi42LTQuMWwxLjMsMC43YzYuMi0xMS4xLDMzLjItOS43LDgwLjksNC43CgkJCQkJCWMzMi41LDkuOCw1Myw5LjEsNTgsMC4xYzQuNS04LTUuNi0xOS41LTIxLjktMjQuNmMtMTQuOC00LjYtMjMuOC05LjYtMjYuMi0xMy43Yy0xLjgtMy4xLDAuOC01LjMsNi44LTUuM2gyMHYtMS40SDIyNS44eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMTBfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI5NC4xODM1IiB5MT0iMTAxLjQ1NzgiIHgyPSIyOTQuNzA3NCIgeTI9IjEwMS40MDIyIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM3Ljc5OTMgNy4zNDc0IDcuNjMzNyAtMzkuMjcyIC0xMTgwMy44MjUyIDE5NTkuNDUyKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUI7c3RvcC1vcGFjaXR5OjAuOTM2NSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0RDRkQxIi8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzNfIiBjbGFzcz0ic3QxNCIgZD0iTTExMS43LDEyNS4yYzQsNC45LDQuNywxMS4zLDIuNCwxMy41bC0wLjEsMC4xbC01LjUsNS42YzAuNiwyLjksMC41LDUuMy0xLjEsNi43CgkJCQkJCWwwLDBsMCwwbC04LjIsOC43bC0yMS44LTMwLjZsOC4zLTQuOHYwLjFjMS43LTAuOSw0LjEtMC42LDYuNywwLjRsNi44LTQuMmwwLjEtMC4xQzEwMiwxMTguNywxMDcuOCwxMjAuMywxMTEuNywxMjUuMnoiLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTRfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk1LjQwNTQiIHkxPSI4Mi4zMTk3IiB4Mj0iMjk2LjEyODciIHkyPSI4Mi4yOTk0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDIzLjgyNDMgMjkuNDIwNiAxNS44NjE0IC0xMi44NDQzIC04MjU1Ljg0MzggLTc1MDQuODQ1NykiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREVGIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEOERBREMiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tNCIgY2xhc3M9InN0MTUiIGQ9Ik0xMDMuMywxMzIuNGM1LjksNy4yLDcuMiwxNS40LDQsMTguOWwwLDBsLTguMSw4LjVMNzYsMTI5LjlsOS40LTUuNWwwLDAKCQkJCQkJQzg5LjUsMTIyLjEsOTcuNSwxMjUuMiwxMDMuMywxMzIuNHoiLz4KCgkJCQkJCTxlbGxpcHNlIGlkPSLmpK3lnIblvaLlpIfku70tMiIgdHJhbnNmb3JtPSJtYXRyaXgoMC43NzcxIC0wLjYyOTMgMC42MjkzIDAuNzc3MSAtNzEuNzU3MyA4Ny4zODA5KSIgY2xhc3M9InN0MTYiIGN4PSI4Ny41IiBjeT0iMTQ1IiByeD0iOS41IiByeT0iMTkiLz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUuMjg4NzA1LCAxNTUuNjk1NDY1KSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtODUuMjg4NzA1LCAtMTU1LjY5NTQ2NSkgdHJhbnNsYXRlKDc5LjE0MzQ1MywgMTQ2Ljc1NjkxNykiPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTkiIGNsYXNzPSJzdDE3IiBwb2ludHM9IjEyLjIsMS4xIDEyLjIsNi4xIDEuMiwxNy41IDEuMiwxMi41IAkJCQkJCSIvPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTEwIiBjbGFzcz0ic3QxMSIgcG9pbnRzPSIxMi4yLDEuMSAxMS4zLDAgMC4zLDExLjEgMS4yLDEyLjUgCQkJCQkJIi8+CgkJCQkJCTxwb2x5Z29uIGlkPSLot6/lvoQtMTEiIGNsYXNzPSJzdDE4IiBwb2ludHM9IjAuMywxMS4xIDEuMiwxMi41IDEuMiwxNy41IDAuMywxNi4xIAkJCQkJCSIvPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNeWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzYuODI2Mjc3LCAxNDMuODg1MTA1KSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtNzYuODI2Mjc3LCAtMTQzLjg4NTEwNSkgdHJhbnNsYXRlKDcwLjY4MTAyNSwgMTM0Ljk0NjU1OCkiPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTlfMV8iIGNsYXNzPSJzdDE3IiBwb2ludHM9IjEyLjIsMS4xIDEyLjIsNi4xIDEuMiwxNy41IDEuMiwxMi41IAkJCQkJCSIvPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTEwXzFfIiBjbGFzcz0ic3QxMSIgcG9pbnRzPSIxMi4yLDEuMSAxMS4zLDAgMC4zLDExLjEgMS4yLDEyLjUgCQkJCQkJIi8+CgkJCQkJCTxwb2x5Z29uIGlkPSLot6/lvoQtMTFfMV8iIGNsYXNzPSJzdDE4IiBwb2ludHM9IjAuMywxMS4xIDEuMiwxMi41IDEuMiwxNy41IDAuMywxNi4xIAkJCQkJCSIvPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNV8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODQuNjQzMzQ5LCAxNTYuMjAzMTgzKSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtODQuNjQzMzQ5LCAtMTU2LjIwMzE4MykgdHJhbnNsYXRlKDc4LjEzNjYxMiwgMTQ2LjYyOTc5NikiPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNeWkh+S7vV8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzYuMjU3OTg1LCAxNDQuMjkxOTQyKSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtNzYuMjU3OTg1LCAtMTQ0LjI5MTk0MikgdHJhbnNsYXRlKDY5Ljc1MTI0OCwgMTM0LjcxODU1NSkiPgoJCQkJCTwvZz4KCQkJCTwvZz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9oiIgY2xhc3M9InN0MTkiIGN4PSIxLjciIGN5PSI4MCIgcj0iMS43Ii8+CgkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzRfIiBjbGFzcz0ic3QyMCIgZD0iTTEyMy43LDYyLjlsLTEuMiwxLjhjLTU4LjQsMTQuNi05Ny4zLDM0LjgtOTUuMiw1MS44YzEuMiwxMCwxNi41LDE3LjYsNDEsMjIuMgoJCQkJCWM3LjktOC42LDE4LjMtMTcuOSwzMC43LTI3LjV2MS45Qzg3LjQsMTIyLjIsNzcuNiwxMzEsNzAsMTM5YzkuMiwxLjYsMTkuNywyLjksMzEuMiwzLjdjMS41LDAuNywzLjQsMS4zLDUuNSwxLjgKCQkJCQljLTE0LjEtMC44LTI2LjktMi4yLTM3LjgtNC4yQzU1LDE1NS4xLDQ5LDE2Ny41LDUzLDE3NS40YzguNiwxNi45LDYxLjIsOC44LDEyNi44LTE3LjZjMC41LDAuMywxLDAuNiwxLjYsMQoJCQkJCWMtNjYuOCwyNy0xMjAuNSwzNS4yLTEyOS42LDE3LjNjLTQuMi04LjMsMS43LTIxLjEsMTUuNC0zNi4yYy0yNC43LTQuOC00MC0xMi43LTQxLjMtMjMuMkMyMy42LDk4LjUsNjMuNyw3Ny43LDEyMy43LDYyLjl6CgkJCQkJIE0zMTMuMywxMTguNGg1LjFjLTYuOCwyLjEtMTMuOSw0LjEtMjEuNCw2Yy0xLjQtMC4yLTIuOC0wLjQtMy45LTAuNUMzMDAuMiwxMjIuMSwzMDYuOSwxMjAuMywzMTMuMywxMTguNHogTTI4My4xLDEwNS44djEuNwoJCQkJCWMtMi45LDEuOC01LjgsMy41LTguOCw1LjN2LTEuN0MyNzcuMywxMDkuMywyODAuMiwxMDcuNiwyODMuMSwxMDUuOHogTTM3OC41LDkuNmM0LjcsOS4yLTMuMSwyNC0yMC4yLDQxLjMKCQkJCQljMTguOSw0LjksMzAuNCwxMiwzMS42LDIxYzEuMywxMC40LTExLjQsMjEuNi0zMy43LDMyLjJ2LTEuNmMyMS40LTEwLjEsMzMuNC0yMC44LDMyLjMtMzAuNGMtMS4xLTguNi0xMi41LTE1LjQtMzEuMy0yMC4xCgkJCQkJbC0wLjMsMC4zYy00LjUsNC41LTkuNiw5LjEtMTUuMywxMy45di0xLjljNS00LjMsOS42LTguNCwxMy43LTEyLjRsMC4zLTAuM2MtNC4zLTEtOS0xLjktMTQtMi43di0xLjVjNS40LDAuOSwxMC41LDEuOSwxNS4xLDMKCQkJCQljMTcuMS0xNy4xLDI1LTMxLjUsMjAuNi00MC4zYy0xMC0xOS43LTc5LjktNS40LTE2MC40LDMyLjJoLTMuNEMyOTUuOSwzLjQsMzY3LjgtMTEuNSwzNzguNSw5LjZ6IE0xMzYuOSw4NC41djEuOAoJCQkJCWMtNS44LDMuNy0xMS40LDcuNC0xNi43LDExLjFsMi0zLjFDMTI3LDkwLjksMTMxLjksODcuNywxMzYuOSw4NC41eiBNMzIxLjEsODAuNHYxLjhjLTQuMiwzLTguNSw2LjEtMTMsOS4ybDItMy4xCgkJCQkJQzMxMy45LDg1LjYsMzE3LjUsODMsMzIxLjEsODAuNHogTTE4MC44LDU4Ljl2MS43Yy04LjEsNC4zLTE1LjksOC43LTIzLjQsMTMuMVY3MkMxNjQuOSw2Ny42LDE3Mi43LDYzLjIsMTgwLjgsNTguOXoKCQkJCQkgTTE4MC44LDUxLjZ2MS41Yy04LDEuMi0xNS44LDIuNi0yMy40LDR2LTEuNUMxNjUsNTQuMSwxNzIuOCw1Mi44LDE4MC44LDUxLjZ6IE0zMTkuNSw0NC45bC0wLjksMS40CgkJCQkJYy0xMy40LTEuMS0yOC4zLTEuNS00NC4zLTEuM3YtMC41YzAtMC4zLTAuMS0wLjctMC4yLTAuOUMyOTAuNSw0My4zLDMwNS44LDQzLjcsMzE5LjUsNDQuOXoiLz4KCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfNV8iIGNsYXNzPSJzdDIxIiBkPSJNMzc4LjUsOS42YzQuNyw5LjItMy4xLDI0LTIwLjIsNDEuM2MxOC45LDQuOSwzMC40LDEyLDMxLjYsMjEKCQkJCQljMi45LDI0LTY4LjYsNTIuOC0xNjIuNCw2Ni4xYy04Ni45LDQyLjktMTY0LjYsNTkuOS0xNzUuOCwzOGMtNC4yLTguMywxLjctMjEuMSwxNS40LTM2LjJjLTI0LjctNC44LTQwLTEyLjctNDEuMy0yMy4yCgkJCQkJYy0xLjctMTMuOCwyMS4xLTI5LjEsNTguNS00Mi4ybDAuMywxLjRjLTM2LjYsMTIuOC01OSwyNy42LTU3LjQsNDAuNmMxLjIsMTAsMTYuNSwxNy42LDQxLDIyLjJjNi44LTcuMywxNS40LTE1LjIsMjUuNS0yMy40CgkJCQkJbDAuMywxLjJsMC44LTAuMmMtOS44LDcuOS0xOC4yLDE1LjUtMjQuOSwyMi42YzM0LjQsNi4xLDg2LjIsNi42LDE0My4zLTAuNGM0LjctMC42LDkuMy0xLjIsMTMuOC0xLjhjMi43LTEuNCw1LjUtMi43LDguMy00LjEKCQkJCQljNTEuOC0yNi40LDk1LTU2LjEsMTE5LjktODAuNmwwLjMtMC4zYy0yLjctMC42LTUuNS0xLjItOC40LTEuOGwtMC40LTEuNWMzLjUsMC42LDYuOCwxLjQsMTAsMi4xYzE3LjEtMTcuMSwyNS0zMS41LDIwLjYtNDAuMwoJCQkJCWMtNC4yLTguMy0xOS4yLTEwLjYtNDEuMS03LjZsLTAuMy0xLjRDMzU4LjUtMS44LDM3NCwwLjcsMzc4LjUsOS42eiBNMjIyLjksMTM4LjdsLTAuNCwwLjFjLTMsMC40LTYsMC44LTksMS4yCgkJCQkJYy01Ny43LDcuMS0xMTAsNi43LTE0NC43LDAuMkM1NSwxNTUuMSw0OSwxNjcuNSw1MywxNzUuNEM2My40LDE5NS45LDEzOC40LDE3OS43LDIyMi45LDEzOC43eiBNMzU3LjEsNTJsLTAuMywwLjMKCQkJCQljLTI1LDI0LjgtNjguNSw1NC44LTEyMC44LDgxLjRjLTEuNCwwLjctMi45LDEuNS00LjMsMi4yYzkwLjYtMTMuNSwxNTkuNS00MS41LDE1Ni43LTYzLjlDMzg3LjQsNjMuNSwzNzUuOSw1Ni43LDM1Ny4xLDUyeiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzFfIiBjbGFzcz0ic3QxOSIgY3g9IjEzNS4yIiBjeT0iMTQ0LjIiIHI9IjIuMiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2i5aSH5Lu9LTQiIGNsYXNzPSJzdDE5IiBjeD0iMzU3IiBjeT0iNTAuOSIgcj0iMy45Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaLlpIfku70iIGNsYXNzPSJzdDE5IiBjeD0iNDMuNiIgY3k9IjkzLjkiIHI9IjIuMiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzJfIiBjbGFzcz0ic3QxOSIgY3g9IjM3Mi4xIiBjeT0iMy40IiByPSIyLjIiLz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8zXyIgY2xhc3M9InN0MTkiIGN4PSI3My4yIiBjeT0iNTAuOSIgcj0iMS43Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfNF8iIGNsYXNzPSJzdDE5IiBjeD0iMjkzLjMiIGN5PSIxNjkuNCIgcj0iMS43Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfNV8iIGNsYXNzPSJzdDE5IiBjeD0iMzk4LjMiIGN5PSIxNS4yIiByPSIxLjciLz4KCQkJPC9nPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K";
9243
9597
  var maintain = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6I0M0QzZDQzt9Cgkuc3Qye2ZpbGw6dXJsKCPnn6nlvaItMl8xXyk7fQoJLnN0M3tmaWxsOnVybCgj55+p5b2iXzZfKTt9Cgkuc3Q0e2ZpbGw6I0RDREVFMDt9Cgkuc3Q1e2ZpbGw6I0QxRDNENjt9Cgkuc3Q2e2ZpbGw6dXJsKCPnn6nlvaItM18xXyk7fQoJLnN0N3tmaWxsOiNFNUU3RUM7fQoJLnN0OHtmaWxsOnVybCgj5LiJ6KeS5b2iXzFfKTt9Cgkuc3Q5e2ZpbGw6Izk3OUJBNTt9Cjwvc3R5bGU+CjxnIGlkPSLpobXpnaItMSI+Cgk8ZyBpZD0iRXhjZXB0aW9uX3gyRl/lvILluLjmj5DnpLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NjkuMDAwMDAwLCAtMjkxOC4wMDAwMDApIj4KCQk8ZyBpZD0i5byC5bi45aSx6LSl57G7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTcuMDAwMDAwLCAyODIzLjAwMDAwMCkiPgoJCQk8ZyBpZD0i5byC5bi45aSx6LSl57G7LeaPkuWbviIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTEyLjAwMDAwMCwgOTUuMDAwMDAwKSI+CgkJCQk8ZyBpZD0i57yW57uELTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDMzLjAwMDAwMCkiPgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEyNi41Njk5IiB5MT0iMTM0Ljk4ODkiIHgyPSIxMzAuMTYzOCIgeTI9IjE2OS4xODI3Ij4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QwIiBkPSJNNjAsMTQzYzE5LjMtNC4yLDQ4LjQtNS43LDY3LjMtNC43czM5LjQsMy44LDM5LjQsMy44czUuMy0yLjQsNC45LTEuNAoJCQkJCQljLTAuNCwwLjktMi45LDIuNC0xLjIsMi44YzEuNiwwLjUsMTguNSwyLjQsMjUuNCwzLjhjNywxLjQsMTAuMywyLjgsMTAuMywyLjhzNC42LTgsMTQuNy03LjFjMCwwLjgtMy43LDEuNy01LDMuOAoJCQkJCQljLTEuMiwyLjEtNCwzLjMtNCwzLjNzMi4yLTEuMiw1LjksMC42czcuMywyLjQsNy4zLDIuN3MtMS42LDQuMi0xNS4yLDEuNGMtNS41LTEuNC04LjIsNi4xLTM0LjksOHMtNzEuOCwzLjMtNzEuOCwzLjMKCQkJCQkJczIuMSwyLjgsNi4yLDMuOGMwLDAtMi45LDIuOC04LjYsMS45Yy01LjctMC45LTExLjktNS43LTExLjktNS43cy0xNS4yLTAuOS0yMC45LTEuOXMtMTIuMy0zLjMtMTYuOC0zLjhzLTI1LTIuOC0xNy4yLTgKCQkJCQkJQzMzLjgsMTUyLjQsNDAuNywxNDcuMyw2MCwxNDN6Ii8+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTYwLjgsMTQ3djkuMkg3MHYxLjhINTl2LTExSDYwLjh6Ii8+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vSIgY2xhc3M9InN0MSIgZD0iTTY2LDMxLjhoLTkuMlY0MUg1NXYtOS4ybDAsMFYzMGgxMVYzMS44eiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tMiIgY2xhc3M9InN0MSIgZD0iTTE1Ny4yLDQxdi05LjJIMTQ4VjMwaDkuMmwwLDBoMS44djExSDE1Ny4yeiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaItMl8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjUuNzcyNyIgeTE9Ii0xLjU1OTciIHgyPSIxNjUuNzcyNyIgeTI9Ii0wLjYyMzgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoODggMCAwIDExMiAtMTQ0ODAgMjE0KSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQkVERjA7c3RvcC1vcGFjaXR5OjAuOTkxNyIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFM0U2Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i55+p5b2iLTIiIGNsYXNzPSJzdDIiIGQ9Ik02NSwzOGg4NmMwLjYsMCwxLDAuNCwxLDF2MTEwYzAsMC42LTAuNCwxLTEsMUg2NWMtMC42LDAtMS0wLjQtMS0xVjM5CgkJCQkJCUM2NCwzOC40LDY0LjQsMzgsNjUsMzh6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjQuODAxNCIgeTE9Ii0xLjgxNDQiIHgyPSIxNjQuODAxNCIgeTI9Ii0wLjgyNTkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNzMgMCAwIDk3IC0xMTkyMyAyMjEpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzFfIiB4PSI3MSIgeT0iNDUiIGNsYXNzPSJzdDMiIHdpZHRoPSI3MyIgaGVpZ2h0PSI5NyIvPgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfMl8iIHg9Ijg2IiB5PSI0OSIgY2xhc3M9InN0NCIgd2lkdGg9IjQzIiBoZWlnaHQ9IjIiLz4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzNfIiB4PSI3MSIgeT0iMTQwIiBjbGFzcz0ic3Q1IiB3aWR0aD0iNzMiIGhlaWdodD0iMiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaItM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjAuODI1NiIgeTE9Ii0xMS43MzMzIiB4Mj0iMTYwLjgyNTYiIHkyPSItMTAuNzQxMiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0MyAwIDAgMTUgLTY4MDggMjEwKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFREVGRjIiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U4RUFFRCIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHJlY3QgaWQ9IuefqeW9oi0zIiB4PSI4NiIgeT0iMzQiIGNsYXNzPSJzdDYiIHdpZHRoPSI0MyIgaGVpZ2h0PSIxNSIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDUiIGQ9Ik0xNTIsMTA1djQ0YzAsMC42LTAuNCwxLTEsMWgtMjQuNkwxNTIsMTA1eiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMl8iIGNsYXNzPSJzdDciIGQ9Ik0xNDQsMTE5LjJWMTQwaC0xMkwxNDQsMTE5LjJ6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuS4ieinkuW9ol8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjMuOTE0MyIgeTE9Ii0zLjA4MTIiIHgyPSIxNjMuOTE0MyIgeTI9Ii0yLjE0NTMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNjMuMTc5OSAwIDAgNTYuOTAzMyAtMTAxOTguMTcxOSAyNzcuMDk0NSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q0RDZEOSIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuS4ieinkuW9oiIgY2xhc3M9InN0OCIgZD0iTTE1OS43LDEwMi4xbDEuNSwyLjZsMCwwbDI4LjEsNTAuM2MwLjUsMSwwLjIsMi4yLTAuOCwyLjdjLTAuMywwLjItMC42LDAuMy0xLDAuM2gtNTkuMgoJCQkJCQljLTEuMSwwLTItMC45LTItMmMwLTAuMywwLjEtMC43LDAuMy0xbDI5LjYtNTIuOWMwLjUtMSwxLjgtMS4zLDIuNy0wLjhDMTU5LjMsMTAxLjUsMTU5LjYsMTAxLjgsMTU5LjcsMTAyLjF6Ii8+CgkJCQkJPHBhdGggaWQ9Il94MjFfIiBjbGFzcz0ic3Q5IiBkPSJNMTYwLjcsMTI0bC0wLjYsMTYuNGgtNC4ybC0wLjYtMTYuNEMxNTUuMywxMjQsMTYwLjcsMTI0LDE2MC43LDEyNHogTTE1NSwxNDUuOAoJCQkJCQljMC0wLjksMC4zLTEuNiwwLjktMi4yczEuMy0wLjgsMi4xLTAuOGMwLjksMCwxLjYsMC4zLDIuMSwwLjhjMC42LDAuNiwwLjgsMS4zLDAuOCwyLjFzLTAuMywxLjYtMC44LDIuMQoJCQkJCQljLTAuNiwwLjYtMS4yLDAuOS0yLDAuOWMtMSwwLTEuNy0wLjMtMi4zLTAuOUMxNTUuMywxNDcuMywxNTUsMTQ2LjYsMTU1LDE0NS44eiIvPgoJCQkJCTxnIGlkPSLnvJbnu4QtMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAxLjAwMDAwMCwgNzQuMDAwMDAwKSI+CgkJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNF8iIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9IiB4PSI3LjYiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTIiIHg9IjE1LjEiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjIyLjciIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTQiIHg9IjMwLjIiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCTwvZz4KCQkJCQk8ZyBpZD0i57yW57uELTNfMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNC4wMDAwMDAsIDkxLjAwMDAwMCkiPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2iXzVfIiB4PSI3LjgiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjkiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjkiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9XzFfIiB4PSIxNS42IiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0yXzFfIiB4PSIyMy41IiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0zXzFfIiB4PSIzMS4zIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00XzFfIiB4PSIzOS4xIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQk8L2c+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==";
@@ -9245,7 +9599,7 @@ var Building = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz
9245
9599
  var empty = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPot6/lvoQtM18xXyk7fQoJLnN0MntmaWxsOnVybCgj5b2i54q257uT5ZCIXzJfKTt9Cgkuc3Qze2ZpbGw6I0M0QzZDQzt9Cjwvc3R5bGU+CjxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI0MS40NDI3IiB5MT0iODQuOTYwMSIgeDI9IjI0Ny41MTg0IiB5Mj0iNTAuNTAyOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI0MCkiPgoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0YwRjJGNSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QwIiBkPSJNMTg4LDE2NC43YzE2LjMtMy43LDM5LjctNS4zLDU1LjYtNC41czI5LjEsMy42LDMwLDIuOWMzLjItMi4xLDEwLTMsOS42LTIuMgoJYy0wLjMsMC44LTQuNywzLjQtMy4zLDMuOGMxLjQsMC40LDE1LjYsMiwyMS41LDMuM2M1LjksMS4yLDkuNywyLjQsMTEsMi40czMuMy0xLjcsMTEuOC0wLjljMC4yLDAuMy0xLjksMC40LTMuOCwxLjQKCXMtMy4zLDAuOS0zLjMsMS4xczEuMS0wLjMsMy4zLDEuMWMyLjIsMS40LDYuMSwxLjksNi4xLDIuMnMtNC45LDItMTMuMi0wLjZjLTIuMS0wLjctNyw1LjEtMjkuNSw2LjdzLTYwLjUsMi45LTYwLjUsMi45CglzMi4zLDIuOSw1LjYsMy44YzAuMiwwLjMtMS4zLDEuNC03LjgsMC4ycy05LjktMy45LTkuOS0zLjlzLTEyLjgtMC44LTE3LjYtMS42cy0xMC40LTIuOS0xNC4yLTMuM2MtMy44LTAuNC0yMS4xLTIuNC0xNC41LTYuOQoJQzE2NC43LDE3Mi41LDE3MS43LDE2OC40LDE4OCwxNjQuN3oiLz4KPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0MTIuNTYwNiIgeTE9Ii0zLjExMzMiIHgyPSI0MTIuNTYwNiIgeTI9Ii0yLjE3NzMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTA1LjYgMCAwIDU2LjMyIC00MzMyNi40MDIzIDI3OC40MDAxKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNENEQ2RDkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBvbHlnb24gaWQ9Iui3r+W+hC0zIiBjbGFzcz0ic3QxIiBwb2ludHM9IjE4Ny4yLDEzNy42IDIxMC43LDEwMi40IDI2OS4zLDEwMi40IDI5Mi44LDEzNy42IDI5Mi44LDE1OC43IDE4Ny4yLDE1OC43ICIvPgo8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8yXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0MTIuNTYwNiIgeTE9Ii01IiB4Mj0iNDEyLjU2MDYiIHkyPSItNC4wMDc5IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEwNS42IDAgMCAzNS4yIC00MzMyNi40MDIzIDMxMy42MDA0KSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRURFRkYyIi8+Cgk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRThFQUVEIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGlkPSLlvaLnirbnu5PlkIgiIGNsYXNzPSJzdDIiIGQ9Ik0yMTIuNiwxNzIuOGgtMjMuNGMtMS4xLDAtMi0wLjktMi0ydi0zMy4yaDIzLjRjMS4xLDAsMiwwLjksMiwydjcuNGMwLDEuMSwwLjgsMS45LDEuOSwyCgloMC4xaDUwLjhjMS4xLDAsMS45LTAuOCwyLTEuOVYxNDd2LTcuNGMwLTEuMSwwLjktMiwyLTJoMjMuNHYzMy4yYzAsMS4xLTAuOSwyLTIsMmgtMjMuNEgyMTIuNnoiLz4KPHBhdGggaWQ9IuW9oueKtue7k+WQiF8xXyIgY2xhc3M9InN0MyIgZD0iTTE4Mi40LDE2OS42djhoOHYxLjZoLTkuNnYtOS42SDE4Mi40eiIvPgo8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9IiBjbGFzcz0ic3QzIiBkPSJNMjg5LjYsMTc3LjZoOHYtOGgxLjZ2OS42aC05LjZWMTc3LjZ6Ii8+CjxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTEuNjg4ODkwLCAxMS44NzQ5MzYpIHJvdGF0ZSgyMS4wMDAwMDApIHRyYW5zbGF0ZSgtOTEuNjg4ODkwLCAtMTEuODc0OTM2KSB0cmFuc2xhdGUoOTAuODg4ODkwLCAwLjY3NDkzNikiPgoKCQk8cmVjdCBpZD0i55+p5b2iXzFfIiB4PSIxODMuMSIgeT0iMjQuNSIgdHJhbnNmb3JtPSJtYXRyaXgoNS40NDk4OTllLTA2IDEgLTEgNS40NDk4OTllLTA2IDIwOS45Mzc5IC0xNTkuMzkzOCkiIGNsYXNzPSJzdDMiIHdpZHRoPSIzLjIiIGhlaWdodD0iMS42Ii8+CgoJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tNiIgeD0iMTgzLjEiIHk9IjMwLjkiIHRyYW5zZm9ybT0ibWF0cml4KDUuNDQ5ODk4ZS0wNiAxIC0xIDUuNDQ5ODk4ZS0wNiAyMTYuMzM3OCAtMTUyLjk5MzkpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMy4yIiBoZWlnaHQ9IjEuNiIvPgoKCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTciIHg9IjE4My4xIiB5PSIzNy4zIiB0cmFuc2Zvcm09Im1hdHJpeCg1LjQ0OTg5OGUtMDYgMSAtMSA1LjQ0OTg5OGUtMDYgMjIyLjczNzkgLTE0Ni41OTM5KSIgY2xhc3M9InN0MyIgd2lkdGg9IjMuMiIgaGVpZ2h0PSIxLjYiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS04IiB4PSIxODMuMSIgeT0iNDMuNyIgdHJhbnNmb3JtPSJtYXRyaXgoNS40NDk4OTllLTA2IDEgLTEgNS40NDk4OTllLTA2IDIyOS4xMzc5IC0xNDAuMTkzOSkiIGNsYXNzPSJzdDMiIHdpZHRoPSIzLjIiIGhlaWdodD0iMS42Ii8+CjwvZz4KPGcgaWQ9Iue8lue7hC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDI3LjIwMDAwMCkgcm90YXRlKC0zMi4wMDAwMDApIHRyYW5zbGF0ZSgtMzYuMDAwMDAwLCAtMjcuMjAwMDAwKSB0cmFuc2xhdGUoMzUuMjAwMDAwLCAxMi44MDAwMDApIj4KCgkJPHJlY3QgaWQ9IuefqeW9ol8yXyIgeD0iOTEuNyIgeT0iMTYxLjEiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDUuNDI2MzM3ZS0wNiAtNS40MjYzMzdlLTA2IC0xIDE4NS4wNzUzIDMyNS40NDM4KSIgY2xhc3M9InN0MyIgd2lkdGg9IjEuNiIgaGVpZ2h0PSIzLjIiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0yIiB4PSI5MS43IiB5PSIxNjcuNSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgNS40MjYzMzZlLTA2IC01LjQyNjMzNmUtMDYgLTEgMTg1LjA3NTUgMzM4LjI0MzgpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMS42IiBoZWlnaHQ9IjMuMiIvPgoKCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjkxLjciIHk9IjE3My45IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSA1LjQyNjMzNmUtMDYgLTUuNDI2MzM2ZS0wNiAtMSAxODUuMDc1NSAzNTEuMDQzOSkiIGNsYXNzPSJzdDMiIHdpZHRoPSIxLjYiIGhlaWdodD0iMy4yIi8+CgoJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tNCIgeD0iOTEuNyIgeT0iMTgwLjMiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDUuNDI2MzM2ZS0wNiAtNS40MjYzMzZlLTA2IC0xIDE4NS4wNzU1IDM2My44NDM4KSIgY2xhc3M9InN0MyIgd2lkdGg9IjEuNiIgaGVpZ2h0PSIzLjIiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS01IiB4PSI5MS43IiB5PSIxODYuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgNS40MjYzMzdlLTA2IC01LjQyNjMzN2UtMDYgLTEgMTg1LjA3NTUgMzc2LjY0MzgpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMS42IiBoZWlnaHQ9IjMuMiIvPgo8L2c+CjxjaXJjbGUgaWQ9IuakreWchuW9oiIgY2xhc3M9InN0MyIgY3g9IjI2OC44IiBjeT0iOTQuNCIgcj0iMS42Ii8+CjxjaXJjbGUgaWQ9IuakreWchuW9ouWkh+S7vSIgY2xhc3M9InN0MyIgY3g9IjIyNy4yIiBjeT0iMTIwIiByPSIxLjYiLz4KPC9zdmc+Cg==";
9246
9600
  var login = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8yXzFfIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzNfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfN18pO30KCS5zdDJ7ZmlsbDojQzRDNkNDO30KCS5zdDN7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF85Xyk7fQoJLnN0NHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzEwXyk7ZmlsbC1vcGFjaXR5OjAuNjt9Cgkuc3Q1e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTFfKTt9Cgkuc3Q2e2ZpbGw6dXJsKCPot6/lvoQtM18xXyk7fQoJLnN0N3tmaWxsOnVybCgj5b2i54q257uT5ZCIXzEyXyk7fQoJLnN0OHtmaWxsOnVybCgj6Lev5b6ELTNfNF8pO30KCS5zdDl7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF8xM18pO30KCS5zdDEwe2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTVfKTt9Cgkuc3QxMXtmaWxsOiM5NzlCQTU7fQoJLnN0MTJ7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3QxM3tmaWxsOnVybCgjU1ZHSURfMl8pO30KCS5zdDE0e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTZfKTt9Cgkuc3QxNXtmaWxsOnVybCgj5b2i54q257uT5ZCI5aSH5Lu9LTJfMl8pO30KCS5zdDE2e2ZpbGw6IzM0MzQzNDtmaWxsLW9wYWNpdHk6MC4xO30KPC9zdHlsZT4KPGcgaWQ9Iumhtemdoi0xIj4KCTxnIGlkPSJFeGNlcHRpb25feDJGX+W8guW4uOaPkOekul94MkZf54Gw55m95a+55q+UIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTI0LjAwMDAwMCwgLTcwNy4wMDAwMDApIj4KCQk8ZyBpZD0i6ZyA6KaB55m75b2VIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MjQuMDAwMDAwLCA3MDcuMDAwMDAwKSI+CgoJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTAxOS45MDA2IiB5MT0iLTguMzM1NCIgeDI9IjEwMTkuOTAwNiIgeTI9Ii03LjMzNjciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMjAwLjAyNTcgMCAwIDU4LjMwNDcgLTIwMzc1OS41NDY5IDY2My45OTQ0KSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjVGNkY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjdGOUZDIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMzBfIiBjbGFzcz0ic3QwIiBkPSJNMjQ5LjYsMTc4djguN2MwLDIuNSwyLjEsNC42LDQuNiw0LjZzNC41LDEuOSw0LjYsNC40djAuMnYwLjkKCQkJCWMxLjEtMC41LDIuMy0wLjgsMy41LTAuOGM0LjMsMCw3LjgsMy4yLDguNCw3LjNjMS0wLjgsMi4yLTEuMywzLjYtMS4zYzEuMiwwLDIuMywwLjQsMy4yLDFjMi4zLTQuMiw2LjctNywxMS44LTcKCQkJCWM3LjIsMCwxMyw1LjYsMTMuNSwxMi43YzQuOSwwLjcsMTAuMSwxLjUsMTMuMywyLjFjNy4yLDEuNSwxMS44LDMsMTMuNCwzczQtMi4xLDE0LjUtMS4xYzAuMiwwLjQtMi4zLDAuNS00LjcsMS43cy00LDEuMS00LDEuNAoJCQkJczEuMy0wLjQsNCwxLjNzNy41LDIuMyw3LjUsMi44cy02LjEsMi40LTE2LjItMC44Yy0yLjYtMC44LTguNiw2LjItMzYuMSw4LjJjLTI3LjYsMi03NC4yLDMuNS03NC4yLDMuNXMyLjgsMy42LDYuOSw0LjYKCQkJCWMwLjIsMC40LTEuNiwxLjctOS42LDAuMmMtNy45LTEuNS0xMi4yLTQuOC0xMi4yLTQuOHMtMTUuNy0xLTIxLjYtMmMtNS45LTEtMTIuNy0zLjUtMTcuNC00cy0yNS45LTMtMTcuOC04LjUKCQkJCWMwLDAsNy4yLTQuMiwyMy42LTguM2MyLTMuNSw1LjctNS45LDEwLjEtNS45YzIuNywwLDUuMiwwLjksNy4xLDIuNWMxLjQtMC4yLDIuOS0wLjQsNC40LTAuNmMxLjItMS4xLDIuOC0xLjgsNC41LTEuOAoJCQkJYzEuMiwwLDIuMywwLjMsMy4yLDAuOWwwLjUtMC4xYzEtMy45LDQuNS02LjgsOC43LTYuOGMyLjgsMCw1LjQsMS4zLDcsMy4zdi0yLjhjMC0yLjksMi40LTUuMyw1LjMtNS4zYzIuOCwwLDUuMi0yLjIsNS4zLTUuMQoJCQkJdi0wLjJ2LThMMjQ5LjYsMTc4TDI0OS42LDE3OHoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF83XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMDAzLjIzODQiIHkxPSItNDMuNjgxOCIgeDI9IjEwMDMuOTQ2MSIgeTI9Ii00My42ODE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ0IDAgMCAxMSAtNDM5MTkuMTk5MiA2NTUuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UyRTNFNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTQzIiBzdHlsZT0ic3RvcC1jb2xvcjojRUNFRUYwIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFNEU2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjlfIiBjbGFzcz0ic3QxIiBkPSJNMjE2LjgsMTY5LjVoNDR2NmMwLDIuOC05LjgsNS0yMiw1cy0yMi0yLjItMjItNWwwLDBMMjE2LjgsMTY5LjVMMjE2LjgsMTY5LjV6Ii8+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku71fMV8iIGNsYXNzPSJzdDIiIGQ9Ik0yMTYuOCwxNjVoNDR2NmMwLDIuOC05LjgsNS0yMiw1cy0yMi0yLjItMjItNWwwLDBMMjE2LjgsMTY1TDIxNi44LDE2NXoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF85XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NDcuNDg4OCIgeTE9Ii04LjM4NDgiIHgyPSI5NDguMTg2MyIgeTI9Ii04LjM4NDgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTIgMCAwIDU0LjcgLTExMTc3LjIwMDIgNTgxLjI5OTEpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMUYzRjUiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuNDU3NiIgc3R5bGU9InN0b3AtY29sb3I6I0Y0RjVGNyIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0VDRUVGMCIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzI4XyIgY2xhc3M9InN0MyIgZD0iTTE5Ni44LDk1LjNjMS44LDAsNiw4LjMsNiwxMS43bDAsMHY0M2gtMTJ2LTQzdi0wLjJDMTkwLjksMTAzLjQsMTk1LDk1LjMsMTk2LjgsOTUuMwoJCQkJeiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzEwXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NDcuODQ2NCIgeTE9Ii0xOS44MjgyIiB4Mj0iOTQ3LjgyNyIgeTI9Ii0xOS42NDE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEyIDAgMCAyNC4yIC0xMTA5My4yMDAyIDYwMi45OTkzKSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0REMEQyO3N0b3Atb3BhY2l0eTowIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0REMEQyIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGlkPSLlvaLnirbnu5PlkIhfMjZfIiBjbGFzcz0ic3Q0IiBwb2ludHM9IjI3NC44LDExNyAyNzQuOCwxMzIuNiAyNzkuNywxNDEuMiAyODYuOCwxMzUuNCAyODYuOCwxMjYgCQkJIi8+CgoJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMTFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijk0OC4xNzE2IiB5MT0iLTguMzg0OCIgeDI9Ijk0Ny40NzQxIiB5Mj0iLTguMzg0OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxMiAwIDAgNTQuNyAtMTEwOTMuMjAwMiA1ODEuMjk5MSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0YxRjNGNSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTc2IiBzdHlsZT0ic3RvcC1jb2xvcjojRjRGNUY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUNFRUYwIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjVfIiBjbGFzcz0ic3Q1IiBkPSJNMjgwLjgsOTUuM2MtMS44LDAtNiw4LjMtNiwxMS43bDAsMHY0M2gxMnYtNDN2LTAuMgoJCQkJQzI4Ni42LDEwMy40LDI4Mi41LDk1LjMsMjgwLjgsOTUuM3oiLz4KCQkJPGcgaWQ9Iue8lue7hF8zXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODAuNzYwNDk5LCA3Ny4wMDAwMDApIj4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI1MTQuMzE0MSIgeTE9Ii02Ljg5MDUiIHgyPSI1MTQuMzk0MyIgeTI9Ii02LjUyMDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMzYgMCAwIDY2IC0xODM5NS43MzI0IDUwNikiPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFOEU5RUIiLz4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRDdEOERCIi8+CgkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJPHBhdGggaWQ9Iui3r+W+hC0zXzNfIiBjbGFzcz0ic3Q2IiBkPSJNMTM1LDIwYy0xLjQsNy00LjUsMTMuMy05LjQsMTkuMWMtNy4zLDguNy0xNS4yLDEzLjYtMTguNCwyMy44CgkJCQkJYy0yLjEsNi44LTMuMiwxMi45LTMuMiwxOC4zbDMyLjEsNC44bDMuOS00LjhMMTM1LDIweiIvPgoKCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8xMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDY5LjEyNSIgeTE9Ii02Ljk4IiB4Mj0iNDY5LjEyNjMiIHkyPSItNi45NjgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEzIDAgMCA2NC41IC01OTY1LjY4MTYgNTA3LjUpIj4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREVGO3N0b3Atb3BhY2l0eTowIi8+CgkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0M4Q0FDQyIvPgoJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjRfIiBjbGFzcz0ic3Q3IiBkPSJNMTM1LjIsMjEuNWw0LjgsNTkuN2wtMy45LDQuOGwtOS4xLTEuNGwzLjMtNTIuMmMyLTMuNSwzLjQtNy4xLDQuNC0xMC45CgkJCQkJQzEzNC43LDIxLjUsMTM1LjIsMjEuNSwxMzUuMiwyMS41eiIvPgoJCQk8L2c+CgoJCQkJPGcgaWQ9Iue8lue7hF8yXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcxLjAwMDAwMCwgMTEwLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtMTcxLjAwMDAwMCwgLTExMC4wMDAwMDApIHRyYW5zbGF0ZSgxNTMuMDAwMDAwLCA3Ny4wMDAwMDApIj4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM180XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNi4xMTk1IiB5MT0iLTYuNzUwNiIgeDI9IjI2LjE5OTgiIHkyPSItNi4zODA1IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM2IDAgMCA2NiAtMTAyNCA1MDYpIj4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRThFOUVCIi8+CgkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q3RDhEQiIvPgoJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCTxwYXRoIGlkPSLot6/lvoQtM18yXyIgY2xhc3M9InN0OCIgZD0iTS03MywyMGMtMS40LDctNC41LDEzLjMtOS40LDE5LjFjLTcuMyw4LjctMTUuMiwxMy42LTE4LjQsMjMuOAoJCQkJCWMtMi4xLDYuOC0zLjIsMTIuOS0zLjIsMTguM2wzMi4xLDQuOGwzLjktNC44TC03MywyMHoiLz4KCQkJPC9nPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzEzXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NTkuNjQ1MyIgeTE9Ii02Ljk4IiB4Mj0iNjU5LjY0NjUiIHkyPSItNi45NjgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEzIDAgMCA2NC41IDg4MzkuMjE0OCA1ODQuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURFRjtzdG9wLW9wYWNpdHk6MCIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0M4Q0FDQyIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzJfIiBjbGFzcz0ic3Q5IiBkPSJNMjYxLjYsOTguNWwtNC44LDU5LjdsMy45LDQuOGw5LjEtMS40bC0zLjMtNTIuMmMtMi0zLjUtMy40LTcuMS00LjQtMTAuOQoJCQkJQzI2Mi4xLDk4LjUsMjYxLjYsOTguNSwyNjEuNiw5OC41eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzE1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMDA0Ljk4MTEiIHkxPSItMi42NTU4IiB4Mj0iMTAwNS42ODg3IiB5Mj0iLTIuNjU1OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0OCAwIDAgMTU0IC00ODAxNy4xOTkyIDUwNikiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VBRUJFRCIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTQzIiBzdHlsZT0ic3RvcC1jb2xvcjojRjRGNUY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUVGMEYyIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMThfIiBjbGFzcz0ic3QxMCIgZD0iTTIzOC44LDIwYzcsMCwyNCwyNy43LDI0LDQxbDAsMHYxMDZjMCwwLjEsMCwwLjIsMCwwLjNzMCwwLjIsMCwwLjIKCQkJCWMwLDMuNi0xMC43LDYuNS0yNCw2LjVzLTI0LTIuOS0yNC02LjVjMC0wLjEsMC0wLjIsMC0wLjJjMC0wLjEsMC0wLjIsMC0wLjNWNjF2LTAuNEMyMTUuMSw0Ny4yLDIzMS44LDIwLDIzOC44LDIweiIvPgoJCQk8Zz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol83XyIgY2xhc3M9InN0MTEiIGN4PSIyMzguOCIgY3k9IjcxIiByPSI5LjUiLz4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NzYuMDc5IiB5MT0iLTI1LjMzMzQiIHgyPSI5NzYuMDc5IiB5Mj0iLTI0LjgyNDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTkgMCAwIDE5IC0xODMwNi42OTkyIDU0Ny41KSI+CgkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQk8cGF0aCBjbGFzcz0ic3QxMiIgZD0iTTIzOC44LDgxYy01LjUsMC0xMC00LjUtMTAtMTBzNC41LTEwLDEwLTEwczEwLDQuNSwxMCwxMFMyNDQuMyw4MSwyMzguOCw4MXogTTIzOC44LDYyYy01LDAtOSw0LTksOQoJCQkJCXM0LDksOSw5czktNCw5LTlTMjQzLjgsNjIsMjM4LjgsNjJ6Ii8+CgkJCTwvZz4KCQkJPGc+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaLlpIfku70tMTFfMV8iIGNsYXNzPSJzdDExIiBjeD0iMjM4LjgiIGN5PSI4OSIgcj0iMy41Ii8+CgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODkzLjA3MTUiIHkxPSItNjkuMjA0OCIgeDI9Ijg5My4wNzE1IiB5Mj0iLTY4LjY1MjIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNyAwIDAgNyAtNjAxMi43MDAyIDU3MS41KSI+CgkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQk8cGF0aCBjbGFzcz0ic3QxMyIgZD0iTTIzOC44LDkzYy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNDEsOTMsMjM4LjgsOTN6IE0yMzguOCw4NmMtMS43LDAtMywxLjMtMywzczEuMywzLDMsMwoJCQkJCXMzLTEuMywzLTNTMjQwLjUsODYsMjM4LjgsODZ6Ii8+CgkJCTwvZz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8xNl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTAwNC45ODExIiB5MT0iLTcwLjk3MDYiIHgyPSIxMDA1LjY4NTQiIHkyPSItNzAuOTcwNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0OCAwIDAgNi44IC00ODAxNy4xOTkyIDYyNC4wMDA0KSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFM0U2Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjQ3NjYiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZERkYiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMkU0RTYiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF8xNF8iIGNsYXNzPSJzdDE0IiBkPSJNMjYyLjgsMTM4djIuNWMtMy45LDIuNS0xMy4yLDQuMy0yNCw0LjNzLTIwLjEtMS44LTI0LTQuM1YxMzhsMCwwCgkJCQljMC42LDIuOCwxMS4xLDUuNSwyNCw1LjVTMjYyLjIsMTQwLjgsMjYyLjgsMTM4TDI2Mi44LDEzOHoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0yXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEwMDQuOTgxMSIgeTE9Ii03MC45NzA2IiB4Mj0iMTAwNS42ODU0IiB5Mj0iLTcwLjk3MDYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNDggMCAwIDYuOCAtNDgwMTcuMTk5MiA2MjkuMDAwNCkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UyRTNFNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NzY2IiBzdHlsZT0ic3RvcC1jb2xvcjojRkJGREZGIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFNEU2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tMl8xXyIgY2xhc3M9InN0MTUiIGQ9Ik0yNjIuOCwxNDN2Mi41Yy0zLjksMi41LTEzLjIsNC4zLTI0LDQuM3MtMjAuMS0xLjgtMjQtNC4zVjE0M2wwLDAKCQkJCWMwLjYsMi44LDExLjEsNS41LDI0LDUuNVMyNjIuMiwxNDUuOCwyNjIuOCwxNDNMMjYyLjgsMTQzeiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzhfIiBjbGFzcz0ic3QxNiIgZD0iTTI2Mi44LDczYzQzLjItOC42LDc3LjEtNi4zLDgwLjksNi43YzQuNiwxNS45LTM3LjQsNDEuOS05My42LDU4LjEKCQkJCXMtMTA1LjYsMTYuMy0xMTAuMiwwLjRjLTQtMTQuMSwyOC40LTM2LjEsNzQuOS01Mi4xdjEuMWMtNDUuOCwxNS45LTc3LjcsMzcuNS03My45LDUwLjhjNC4zLDE1LjEsNTMuMiwxNC45LDEwOC45LTEuMQoJCQkJczk3LjMtNDEuNyw5Mi45LTU2LjhjLTMuNS0xMi40LTM3LjItMTQuNS03OS45LTZWNzNMMjYyLjgsNzN6Ii8+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDE2IiBkPSJNMTA1LjIsNzZjMy44LTE0LDUwLjctMTQsMTA5LjUtMS4xdjFjLTU4LjMtMTIuOC0xMDUtMTIuOS0xMDguNiwwLjMKCQkJCWMtNCwxNS4xLDQ5LjEsNDMuMiwxMTguNSw2MS44czEyOS41LDIwLjksMTMzLjYsNS44YzMuNi0xMy40LTM3LjctMzctOTUuNi01NS4xdi0xLjFjNTguNiwxOC4zLDEwMC4zLDQyLjIsOTYuNSw1Ni40CgkJCQljLTQuMywxNi02NC42LDEzLjctMTM0LjgtNS4xUzEwMSw5MiwxMDUuMiw3NnoiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzZfIiBjbGFzcz0ic3QyIiBjeD0iMzE3LjgiIGN5PSIxMDkiIHI9IjIiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzVfIiBjbGFzcz0ic3QyIiBjeD0iMTE3LjMiIGN5PSIxMjEuNSIgcj0iMS41Ii8+CgkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol80XyIgY2xhc3M9InN0MiIgY3g9IjI4MS44IiBjeT0iNTgiIHI9IjEiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzNfIiBjbGFzcz0ic3QyIiBjeD0iMTkxLjgiIGN5PSIxNjQiIHI9IjEiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzFfIiBjbGFzcz0ic3QyIiBjeD0iMzUxLjgiIGN5PSIxNTAiIHI9IjIiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==";
9247
9601
  var searchEmpty = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6I0M0QzZDQzt9Cgkuc3Qye2ZpbGw6dXJsKCPnn6nlvaItMl8xXyk7fQoJLnN0M3tmaWxsOnVybCgj55+p5b2iXzZfKTt9Cgkuc3Q0e2ZpbGw6I0RDREVFMDt9Cgkuc3Q1e2ZpbGw6I0QxRDNENjt9Cgkuc3Q2e2ZpbGw6dXJsKCPnn6nlvaItM18xXyk7fQoJLnN0N3tmaWxsOiNFNUU3RUM7fQoJLnN0OHtmaWxsOiNEQ0RERTA7fQoJLnN0OXtmaWxsOnVybCgj6Lev5b6ELTEzXzFfKTt9Cgkuc3QxMHtmaWxsOnVybCgj5qSt5ZyG5b2iXzNfKTtzdHJva2U6dXJsKCPmpK3lnIblvaJfNF8pO30KCS5zdDExe2ZpbGw6dXJsKCPmpK3lnIblvaJfNV8pO3N0cm9rZTp1cmwoI+akreWchuW9ol82Xyk7fQoJLnN0MTJ7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPGcgaWQ9Iumhtemdoi0xIj4KCTxnIGlkPSJFeGNlcHRpb25feDJGX+W8guW4uOaPkOekuiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg2OS4wMDAwMDAsIC0yOTE4LjAwMDAwMCkiPgoJCTxnIGlkPSLmkJzntKLkuLrnqboiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg2OS4wMDAwMDAsIDI5MTguMDAwMDAwKSI+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI0My4wNDY0IiB5MT0iMTY3Ljk3OTMiIHgyPSIyNDUuODA3MSIgeTI9IjE5NC4yNDU2Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZDRkQiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MCIgZD0iTTE5My4xLDE3NC4yYzE0LjgtMy4zLDM2LTQuOCw1MC41LTQuMWMxNC40LDAuNywyNi40LDMuMywyNy4zLDIuN2MyLjktMS45LDktMi44LDguNy0yCgkJCQljLTAuMywwLjctNC4zLDMuMS0zLDMuNGMxLjMsMC40LDE0LjEsMS45LDE5LjUsM2M1LjMsMS4xLDguOCwyLjIsOS45LDIuMmMxLjIsMCwzLTEuNiwxMC43LTAuOGMwLjEsMC4zLTEuNywwLjQtMy40LDEuMwoJCQkJYy0xLjcsMC45LTMsMC44LTMsMXMxLTAuMywzLDFzNS41LDEuNyw1LjUsMnMtNC41LDEuOC0xMi0wLjZjLTEuOS0wLjYtNi4zLDQuNi0yNi44LDYuMXMtNTUsMi42LTU1LDIuNnMyLjEsMi43LDUuMSwzLjQKCQkJCWMwLjIsMC4zLTEuMiwxLjMtNy4xLDAuMmMtNS45LTEuMS05LTMuNi05LTMuNnMtMTEuNi0wLjctMTYtMS41Yy00LjQtMC43LTkuNC0yLjYtMTIuOS0zcy0xOS4yLTIuMi0xMy4yLTYuMwoJCQkJQzE3MiwxODEuMiwxNzguMywxNzcuNSwxOTMuMSwxNzQuMnoiLz4KCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTE5My4xLDE3Ny40djkuNGg5LjR2MS45aC0xMS4ydi0xMS4yTDE5My4xLDE3Ny40TDE5My4xLDE3Ny40eiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9IiBjbGFzcz0ic3QxIiBkPSJNMjAwLjYsNjQuOWgtOS40djkuNGgtMS45di05LjRsMCwwVjYzaDExLjJMMjAwLjYsNjQuOUwyMDAuNiw2NC45eiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTIiIGNsYXNzPSJzdDEiIGQ9Ik0yODguOCw3NC4ydi05LjRoLTkuNFY2M2g5LjRsMCwwaDEuOXYxMS4ySDI4OC44eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iLTJfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDExLjY3NjgiIHkxPSItMS42MDY2IiB4Mj0iNDExLjY3NjgiIHkyPSItMC42NzA3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDg2LjI1IDAgMCAxMDguNzUgLTM1MjY3LjEyNSAyNDYuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURGMDtzdG9wLW9wYWNpdHk6MC45OTE3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFM0U2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLnn6nlvaItMiIgY2xhc3M9InN0MiIgZD0iTTE5Ny45LDcwLjVoODQuMmMwLjYsMCwxLDAuNCwxLDF2MTA2LjhjMCwwLjYtMC40LDEtMSwxaC04NC4yYy0wLjYsMC0xLTAuNC0xLTFWNzEuNQoJCQkJQzE5Ni45LDcwLjksMTk3LjMsNzAuNSwxOTcuOSw3MC41eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQxMC42NjE0IiB5MT0iLTEuODc3MyIgeDI9IjQxMC42NjE0IiB5Mj0iLTAuODg4OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg3MS4yNSAwIDAgOTMuNzUgLTI5MDE5LjYyNSAyNTQpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHJlY3QgaWQ9IuefqeW9ol8xXyIgeD0iMjA0LjQiIHk9Ijc4IiBjbGFzcz0ic3QzIiB3aWR0aD0iNzEuMiIgaGVpZ2h0PSI5My44Ii8+CgkJCTxyZWN0IGlkPSLnn6nlvaJfMl8iIHg9IjIxOS40IiB5PSI4MS44IiBjbGFzcz0ic3Q0IiB3aWR0aD0iNDEuMiIgaGVpZ2h0PSIxLjkiLz4KCQkJPHJlY3QgaWQ9IuefqeW9ol8zXyIgeD0iMjA0LjQiIHk9IjE3MS44IiBjbGFzcz0ic3Q1IiB3aWR0aD0iNzEuMiIgaGVpZ2h0PSIxLjkiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9oi0zXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQwNi40MTUyIiB5MT0iLTExLjczMzQiIHgyPSI0MDYuNDE1MiIgeTI9Ii0xMC43NDEzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQxLjI1IDAgMCAxNSAtMTY1MjQuNjI1IDI0Mi43NSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VERUZGMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U4RUFFRCIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cmVjdCBpZD0i55+p5b2iLTMiIHg9IjIxOS40IiB5PSI2Ni44IiBjbGFzcz0ic3Q2IiB3aWR0aD0iNDEuMiIgaGVpZ2h0PSIxNSIvPgoJCQk8ZyBpZD0i57yW57uELTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMy4xMjUwMDAsIDk4LjYyNTAwMCkiPgoJCQkJPHJlY3QgaWQ9IuefqeW9ol80XyIgY2xhc3M9InN0MSIgd2lkdGg9IjMuOCIgaGVpZ2h0PSIxLjkiLz4KCQkJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHg9IjcuNSIgY2xhc3M9InN0MSIgd2lkdGg9IjMuOCIgaGVpZ2h0PSIxLjkiLz4KCQkJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tMiIgeD0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMS45Ii8+CgkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjIyLjUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMS45Ii8+CgkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTQiIHg9IjMwIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy44IiBoZWlnaHQ9IjEuOSIvPgoJCQk8L2c+CgkJCTxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI4Ljc1MDAwMCwgMTEzLjYyNTAwMCkiPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBjbGFzcz0ic3Q3IiBjeD0iMjQuNCIgY3k9IjI2LjIiIHI9IjI0LjQiLz4KCQkJCTxwYXRoIGlkPSLot6/lvoQtMTIiIGNsYXNzPSJzdDciIGQ9Ik0zOSw0NWwzLjEsMy4yYy0wLjYsMC44LTAuNiwxLjUsMCwyLjJzMi4yLDIuNSw0LjcsNS4zdi03LjVsLTYuMS01TDM5LDQ1eiIvPgoKCQkJCQk8ZyBpZD0i57yW57uELTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLjIyNjMxNywgNTEuNzA5MDc3KSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC01MC4yMjYzMTcsIC01MS43MDkwNzcpIHRyYW5zbGF0ZSg0NC42MDEzMTcsIDM2LjcwOTA3NykiPgoKCQkJCQkJPHJlY3QgaWQ9IuefqeW9ol81XyIgeD0iMy44IiB5PSIwIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSA1LjA3MDM2M2UtMDYgLTUuMDcwMzYzZS0wNiAtMSAxMS40IDkuMzUpIiBjbGFzcz0ic3Q4IiB3aWR0aD0iMy43IiBoZWlnaHQ9IjkuNCIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtMTNfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTEwOS4zOTE1IiB5MT0iLTU1LjkzODMiIHgyPSItMTA5LjU1NzgiIHkyPSItNTUuODkwNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg5LjIxMjkgMCAwIDIyLjUgMTAxMy45Mjg1IDEyNzcuMjgxKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNEN0Q4REIiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0JFQkZDMiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9Iui3r+W+hC0xMyIgY2xhc3M9InN0OSIgZD0iTTMuNyw1LjdoNGMwLjUsMCwxLDAuNCwxLDAuOWwxLjUsMjAuNWMwLDAuNi0wLjQsMS0wLjksMS4xYzAsMCwwLDAtMC4xLDBIMgoJCQkJCQljLTAuNiwwLTEtMC40LTEtMXYtMC4xTDIuNyw2LjZDMi43LDYuMSwzLjIsNS43LDMuNyw1Ljd6Ii8+CgkJCQk8L2c+CgkJCQk8ZyBpZD0i57yW57uELTUiPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTQ5LjcxMTUiIHkxPSItMy42ODU5IiB4Mj0iLTQ5LjcxMTUiIHkyPSItMi42ODU5IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ3Ljc1IDAgMCA0Ny43NSAyMzk4LjEyNSAxNzYuNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxLjUzMDgyOGUtMDMiIHN0eWxlPSJzdG9wLWNvbG9yOiNERERFRTAiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMC45OTgiIHN0eWxlPSJzdG9wLWNvbG9yOiNDM0M1QzciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfNF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTQ5LjcxMTUiIHkxPSItMy42ODU4IiB4Mj0iLTQ5LjcxMTUiIHkyPSItMi43MDU0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ3Ljc1IDAgMCA0Ny43NSAyMzk4LjEyNSAxNzYuNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRERERUUwIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCRUMwQzIiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8xXyIgY2xhc3M9InN0MTAiIGN4PSIyNC40IiBjeT0iMjQuNCIgcj0iMjMuOSIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTUyLjM5NjYiIHkxPSItNC44MjIiIHgyPSItNTIuMzk2NiIgeTI9Ii0zLjgzOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgzNi41IDAgMCAzNi41IDE5MzYuODc1IDE4Mi4xMjUpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZFRkVGRSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5qSt5ZyG5b2iXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ii01Mi4zOTY2IiB5MT0iLTQuODIyIiB4Mj0iLTUyLjM5NjYiIHkyPSItMy44Mzk4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM2LjUgMCAwIDM2LjUgMTkzNi44NzUgMTgyLjEyNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjNGNEY1Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGM0Y1RjciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8yXyIgY2xhc3M9InN0MTEiIGN4PSIyNC40IiBjeT0iMjQuNCIgcj0iMTguMiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDEyIiBkPSJNMjMuNSwxMi4zYzUuOCwwLDEwLjksMy4zLDEzLjQsOC4yYy0yLjUtMS42LTUuNS0yLjYtOC43LTIuNmMtNCwwLTcuNywxLjUtMTAuNSw0CgkJCQkJCUwxNCwxNS43QzE2LjYsMTMuNiwxOS45LDEyLjMsMjMuNSwxMi4zeiIvPgoJCQkJPC9nPgoJCQkJPHBvbHlnb24gaWQ9Iui3r+W+hC0xNCIgY2xhc3M9InN0NSIgcG9pbnRzPSI0Ni45LDUzLjQgNDYuOSw1NS42IDU0LjQsNjQuNCA1NC40LDYyLjMgCQkJCSIvPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=";
9248
- var Component$k = defineComponent({
9602
+ var Component$j = defineComponent({
9249
9603
  name: "Exception",
9250
9604
  props: {
9251
9605
  type: PropTypes.commonType(["404", "403", "500", "building", "empty", "search-empty", "login"], "type").def("404"),
@@ -9276,254 +9630,60 @@ var Component$k = defineComponent({
9276
9630
  return () => {
9277
9631
  var _a, _b;
9278
9632
  return createVNode("div", {
9279
- "class": ["bk-exception-wrapper", props.extCls]
9280
- }, [createVNode("div", {
9281
- "class": ["bk-exception-img", `${props.scene}-img`]
9282
- }, [createVNode("img", {
9283
- "class": "exception-image",
9284
- "src": images[props.type],
9285
- "alt": "type"
9286
- }, null)]), createVNode("div", {
9287
- "class": ["bk-exception-text", `${props.scene}-text`]
9288
- }, [(_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : tipText[props.type]])]);
9289
- };
9290
- }
9291
- });
9292
- const BkException = withInstall(Component$k);
9293
- var Component$j = defineComponent({
9294
- name: "FixedNavbar",
9295
- props: {
9296
- navItems: PropTypes.array.def([]),
9297
- extCls: PropTypes.string.def(""),
9298
- position: PropTypes.oneOf(["middle", "top", "bottom"]).def("middle")
9299
- },
9300
- setup(props, {
9301
- emit
9302
- }) {
9303
- const navConfig = props.navItems.map((item) => Object.assign({
9304
- tooltip: {
9305
- disabled: true
9306
- },
9307
- action: () => {
9308
- },
9309
- icon: "",
9310
- text: ""
9311
- }, item));
9312
- const zIndex = bkZIndexManager.getModalNextIndex();
9313
- const handleClick = (item) => {
9314
- emit("click", item);
9315
- item.action();
9316
- };
9317
- return () => createVNode("div", {
9318
- "class": `bk-fixed-navbar ${props.extCls} ${props.position}`,
9319
- "style": {
9320
- zIndex
9321
- }
9322
- }, [navConfig.map((item) => createVNode("div", {
9323
- "class": "fixed-navbar-item",
9324
- "onClick": handleClick.bind(this, item)
9325
- }, [item.icon ? createVNode("i", {
9326
- "class": `${item.icon} icon`
9327
- }, null) : "", item.text ? createVNode("span", {
9328
- "class": "text"
9329
- }, [item.text]) : ""]))]);
9330
- }
9331
- });
9332
- const BkFixedNavbar = withInstall(Component$j);
9333
- const inputType = {
9334
- type: PropTypes.string.def("text"),
9335
- clearable: PropTypes.bool,
9336
- disabled: PropTypes.bool,
9337
- readonly: PropTypes.bool,
9338
- placeholder: PropTypes.string.def("Enter"),
9339
- prefixIcon: PropTypes.string,
9340
- suffixIcon: PropTypes.string,
9341
- suffix: PropTypes.string,
9342
- prefix: PropTypes.string,
9343
- step: PropTypes.integer,
9344
- max: PropTypes.integer,
9345
- min: PropTypes.integer,
9346
- maxlength: PropTypes.integer,
9347
- behavior: PropTypes.commonType(["simplicity", "normal"]).def("normal"),
9348
- showWordLimit: PropTypes.bool,
9349
- showControl: PropTypes.bool.def(true),
9350
- showClearOnlyHover: PropTypes.bool.def(false),
9351
- precision: PropTypes.number.def(0).validate((val) => val >= 0 && val < 20),
9352
- modelValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(""),
9353
- size: PropTypes.size(),
9354
- rows: PropTypes.number
9355
- };
9356
- const inputEvents = ["update:modelValue", "focus", "blur", "change", "clear", "input", "keypress", "keydown", "keyup", "enter", "paste"];
9357
- const EventEnum = stringEnum([...inputEvents]);
9358
- var Component$i = defineComponent({
9359
- name: "Input",
9360
- inheritAttrs: false,
9361
- props: inputType,
9362
- emits: [...inputEvents],
9363
- setup(props, ctx) {
9364
- const isFocused = ref(false);
9365
- const isCNInput = ref(false);
9366
- const isTextArea = computed(() => props.type === "textarea");
9367
- const inputClsPrefix = computed(() => isTextArea.value ? "bk-textarea" : "bk-input");
9368
- const _a = ctx.attrs, {
9369
- class: cls,
9370
- style
9371
- } = _a, inputAttrs = __objRest(_a, [
9372
- "class",
9373
- "style"
9374
- ]);
9375
- const inputCls = computed(() => classes({
9376
- [`${inputClsPrefix.value}--${props.size}`]: !!props.size,
9377
- "is-focused": isFocused.value,
9378
- "is-readonly": props.readonly,
9379
- "is-disabled": props.disabled,
9380
- "is-simplicity": props.behavior === "simplicity",
9381
- [`${cls}`]: !!cls
9382
- }, inputClsPrefix.value));
9383
- const suffixIconMap = {
9384
- search: () => createVNode(search, null, null),
9385
- password: () => createVNode(eye, {
9386
- "onClick": handleVisibleChange
9387
- }, null)
9388
- };
9389
- const suffixCls = getCls("suffix-icon");
9390
- const suffixIcon = computed(() => {
9391
- const icon = suffixIconMap[props.type];
9392
- if (pwdVisible.value) {
9393
- return createVNode(unvisible, {
9394
- "onClick": handleVisibleChange,
9395
- "class": suffixCls
9396
- }, null);
9397
- }
9398
- return icon ? createVNode(icon, {
9399
- "class": suffixCls
9400
- }, null) : null;
9401
- });
9402
- const isNumberInput = computed(() => props.type === "number");
9403
- const ceilMaxLength = computed(() => Math.floor(props.maxlength));
9404
- const pwdVisible = ref(false);
9405
- const clearCls = computed(() => classes({
9406
- "show-clear-only-hover": props.showClearOnlyHover
9407
- }, suffixCls));
9408
- function clear() {
9409
- ctx.emit(EventEnum["update:modelValue"], "");
9410
- ctx.emit(EventEnum.change, "");
9411
- ctx.emit(EventEnum.clear);
9412
- }
9413
- function handleFocus(e) {
9414
- isFocused.value = true;
9415
- ctx.emit(EventEnum.focus, e);
9416
- }
9417
- function handleBlur(e) {
9418
- isFocused.value = false;
9419
- ctx.emit(EventEnum.blur, e);
9420
- }
9421
- function eventHandler(eventName) {
9422
- return (e) => {
9423
- let originEventName = eventName;
9424
- if (e.code === "Enter" || e.key === "Enter" || e.keyCode === 13) {
9425
- originEventName = EventEnum.enter;
9426
- if (e.type !== EventEnum.keyup)
9427
- return;
9428
- }
9429
- if (isCNInput.value && [EventEnum.input, EventEnum.change].some((e2) => eventName === e2))
9430
- return;
9431
- if (eventName === EventEnum.input) {
9432
- ctx.emit(EventEnum["update:modelValue"], isNumberInput.value ? +e.target.value : e.target.value);
9433
- }
9434
- ctx.emit(originEventName, e.target.value, e);
9435
- };
9436
- }
9437
- const [handleKeyup, handleKeydown, handleKeyPress, handlePaste, handleChange, handleInput] = [EventEnum.keyup, EventEnum.keydown, EventEnum.keypress, EventEnum.paste, EventEnum.change, EventEnum.input].map(eventHandler);
9438
- function handleCompositionStart() {
9439
- isCNInput.value = true;
9440
- }
9441
- function handleCompositionEnd(e) {
9442
- isCNInput.value = false;
9443
- handleInput(e);
9444
- }
9445
- function handleNumber(step, INC = true) {
9446
- const numStep = parseInt(String(step), 10);
9447
- const precision = Number.isInteger(props.precision) ? props.precision : 0;
9448
- const val = parseFloat(props.modelValue.toString());
9449
- const factor = Number.isInteger(numStep) ? numStep : 1;
9450
- let newVal = val + (INC ? factor : -1 * factor);
9451
- if (Number.isInteger(props.max)) {
9452
- newVal = Math.min(newVal, props.max);
9453
- }
9454
- if (Number.isInteger(props.min)) {
9455
- newVal = Math.max(newVal, props.min);
9456
- }
9457
- return +newVal.toFixed(precision);
9458
- }
9459
- function handleInc() {
9460
- const newVal = handleNumber(props.step);
9461
- ctx.emit(EventEnum["update:modelValue"], newVal);
9462
- }
9463
- function handleDec() {
9464
- const newVal = handleNumber(props.step, false);
9465
- ctx.emit(EventEnum["update:modelValue"], newVal);
9466
- }
9467
- function getCls(name2) {
9468
- return `${inputClsPrefix.value}--${name2}`;
9469
- }
9470
- function handleVisibleChange() {
9471
- pwdVisible.value = !pwdVisible.value;
9472
- }
9473
- const bindProps = computed(() => ({
9474
- value: props.modelValue,
9475
- maxlength: props.maxlength,
9476
- placeholder: props.placeholder,
9477
- readonly: props.readonly,
9478
- disabled: props.disabled,
9479
- onInput: handleInput,
9480
- onFocus: handleFocus,
9481
- onBlur: handleBlur,
9482
- onPaste: handlePaste,
9483
- onChange: handleChange,
9484
- onKeypress: handleKeyPress,
9485
- onKeydown: handleKeydown,
9486
- onKeyup: handleKeyup,
9487
- onCompositionstart: handleCompositionStart,
9488
- onCompositionend: handleCompositionEnd
9489
- }));
9490
- return () => {
9491
- var _a2, _b, _c, _d, _e, _f;
9492
- return createVNode("div", {
9493
- "class": inputCls.value,
9494
- "style": style
9495
- }, [(_c = (_b = (_a2 = ctx.slots) == null ? void 0 : _a2.prefix) == null ? void 0 : _b.call(_a2)) != null ? _c : props.prefix && createVNode("div", {
9496
- "class": getCls("prefix-area")
9497
- }, [createVNode("span", {
9498
- "class": getCls("prefix-area--text")
9499
- }, [props.prefix])]), isTextArea.value ? createVNode("textarea", mergeProps(inputAttrs, bindProps.value, {
9500
- "rows": props.rows
9501
- }), null) : createVNode("input", mergeProps(inputAttrs, {
9502
- "class": `${inputClsPrefix.value}--text`,
9503
- "type": pwdVisible.value && props.type === "password" ? "text" : props.type,
9504
- "step": props.step,
9505
- "max": props.max,
9506
- "min": props.min
9507
- }, bindProps.value), null), !isTextArea.value && props.clearable && !!props.modelValue && createVNode(close$1, {
9508
- "onClick": clear,
9509
- "class": clearCls.value
9510
- }, null), suffixIcon.value, typeof props.maxlength === "number" && (props.showWordLimit || isTextArea.value) && createVNode("p", {
9511
- "class": getCls("max-length")
9512
- }, [props.modelValue.toString().length, createTextVNode("/"), createVNode("span", null, [ceilMaxLength.value])]), isNumberInput.value && props.showControl && createVNode("div", {
9513
- "class": getCls("number-control")
9514
- }, [createVNode(downSmall, {
9515
- "onClick": handleInc
9516
- }, null), createVNode(downSmall, {
9517
- "onClick": handleDec
9518
- }, null)]), (_f = (_e = (_d = ctx.slots) == null ? void 0 : _d.suffix) == null ? void 0 : _e.call(_d)) != null ? _f : props.suffix && createVNode("div", {
9519
- "class": getCls("suffix-area")
9520
- }, [createVNode("span", {
9521
- "class": getCls("suffix-area--text")
9522
- }, [props.suffix])])]);
9633
+ "class": ["bk-exception-wrapper", props.extCls]
9634
+ }, [createVNode("div", {
9635
+ "class": ["bk-exception-img", `${props.scene}-img`]
9636
+ }, [createVNode("img", {
9637
+ "class": "exception-image",
9638
+ "src": images[props.type],
9639
+ "alt": "type"
9640
+ }, null)]), createVNode("div", {
9641
+ "class": ["bk-exception-text", `${props.scene}-text`]
9642
+ }, [(_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : tipText[props.type]])]);
9643
+ };
9644
+ }
9645
+ });
9646
+ const BkException = withInstall(Component$j);
9647
+ var Component$i = defineComponent({
9648
+ name: "FixedNavbar",
9649
+ props: {
9650
+ navItems: PropTypes.array.def([]),
9651
+ extCls: PropTypes.string.def(""),
9652
+ position: PropTypes.oneOf(["middle", "top", "bottom"]).def("middle")
9653
+ },
9654
+ setup(props, {
9655
+ emit
9656
+ }) {
9657
+ const navConfig = props.navItems.map((item) => Object.assign({
9658
+ tooltip: {
9659
+ disabled: true
9660
+ },
9661
+ action: () => {
9662
+ },
9663
+ icon: "",
9664
+ text: ""
9665
+ }, item));
9666
+ const zIndex = bkZIndexManager.getModalNextIndex();
9667
+ const handleClick = (item) => {
9668
+ emit("click", item);
9669
+ item.action();
9523
9670
  };
9671
+ return () => createVNode("div", {
9672
+ "class": `bk-fixed-navbar ${props.extCls} ${props.position}`,
9673
+ "style": {
9674
+ zIndex
9675
+ }
9676
+ }, [navConfig.map((item) => createVNode("div", {
9677
+ "class": "fixed-navbar-item",
9678
+ "onClick": handleClick.bind(this, item)
9679
+ }, [item.icon ? createVNode("i", {
9680
+ "class": `${item.icon} icon`
9681
+ }, null) : "", item.text ? createVNode("span", {
9682
+ "class": "text"
9683
+ }, [item.text]) : ""]))]);
9524
9684
  }
9525
9685
  });
9526
- const BkInput = withInstall(Component$i);
9686
+ const BkFixedNavbar = withInstall(Component$i);
9527
9687
  var Component$h = defineComponent({
9528
9688
  name: "Link",
9529
9689
  props: {
@@ -9863,7 +10023,7 @@ const Line = (_2, {
9863
10023
  "style": titleStyle
9864
10024
  }, [showDefault()])])]), showDefault(false)]);
9865
10025
  };
9866
- function _isSlot$3(s2) {
10026
+ function _isSlot$4(s2) {
9867
10027
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
9868
10028
  }
9869
10029
  var Component$f = defineComponent({
@@ -9928,11 +10088,11 @@ var Component$f = defineComponent({
9928
10088
  const $props = __spreadProps(__spreadValues({}, this.$props), {
9929
10089
  percent: this.validPercent(this.percent)
9930
10090
  });
9931
- let progress2 = createVNode(Line, $props, _isSlot$3(progressInfo) ? progressInfo : {
10091
+ let progress2 = createVNode(Line, $props, _isSlot$4(progressInfo) ? progressInfo : {
9932
10092
  default: () => [progressInfo]
9933
10093
  });
9934
10094
  if (this.type === "circle" || this.type === "dashboard") {
9935
- progress2 = createVNode(Circle, $props, _isSlot$3(progressInfo) ? progressInfo : {
10095
+ progress2 = createVNode(Circle, $props, _isSlot$4(progressInfo) ? progressInfo : {
9936
10096
  default: () => [progressInfo]
9937
10097
  });
9938
10098
  }
@@ -11583,7 +11743,7 @@ var Component$a = defineComponent({
11583
11743
  }
11584
11744
  });
11585
11745
  const BkSelect = withInstallProps(Component$a, { Option: BkOption, Group: OptionGroup });
11586
- function _isSlot$2(s2) {
11746
+ function _isSlot$3(s2) {
11587
11747
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
11588
11748
  }
11589
11749
  const {
@@ -11644,7 +11804,7 @@ var Component$9 = defineComponent({
11644
11804
  return createVNode(BkModal, mergeProps(this.$props, {
11645
11805
  "class": className,
11646
11806
  "style": `${this.direction}: 0`
11647
- }), _isSlot$2(dialogSlot) ? dialogSlot : {
11807
+ }), _isSlot$3(dialogSlot) ? dialogSlot : {
11648
11808
  default: () => [dialogSlot]
11649
11809
  });
11650
11810
  }
@@ -11925,7 +12085,7 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
11925
12085
  let diffHeight = 0;
11926
12086
  let lastHeight = 0;
11927
12087
  for (; startIndex < maxCount; startIndex++) {
11928
- lastHeight = callback(startIndex, [startIndex * groupItemCount, (startIndex + 1) * groupItemCount]);
12088
+ lastHeight = callback(startIndex, [startIndex * groupItemCount, (startIndex + 1) * groupItemCount, "virtual"]);
11929
12089
  if (height + lastHeight > maxHeight) {
11930
12090
  diffHeight = maxHeight - height;
11931
12091
  break;
@@ -12127,6 +12287,13 @@ var Component$6 = defineComponent({
12127
12287
  pagination: pagination2,
12128
12288
  throttleDelay: props.throttleDelay
12129
12289
  };
12290
+ const reset2 = () => {
12291
+ handleChangeListConfig();
12292
+ afterListDataReset();
12293
+ };
12294
+ ctx.expose({
12295
+ reset: reset2
12296
+ });
12130
12297
  return () => {
12131
12298
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
12132
12299
  return h$1(renderAs || "div", {
@@ -12203,24 +12370,26 @@ const resolveColumnWidth = (root, colgroups, autoWidth = 20) => {
12203
12370
  }
12204
12371
  };
12205
12372
  colgroups.forEach((col, index) => {
12206
- const colWidth = String(col.width);
12207
- let isAutoWidthCol = true;
12208
- if (/^\d+\.?\d*(px)?$/.test(colWidth)) {
12209
- const numWidth = Number(colWidth.replace("px", ""));
12210
- resolveColNumberWidth(col, numWidth);
12211
- isAutoWidthCol = false;
12212
- }
12213
- if (/^\d+\.?\d*%$/.test(colWidth)) {
12214
- let perWidth = autoWidth;
12215
- if (avgWidth > 0) {
12216
- const percent = Number(colWidth.replace("%", ""));
12217
- perWidth = avgWidth * percent / 100;
12373
+ if (!col.isHidden) {
12374
+ const colWidth = String(col.width);
12375
+ let isAutoWidthCol = true;
12376
+ if (/^\d+\.?\d*(px)?$/.test(colWidth)) {
12377
+ const numWidth = Number(colWidth.replace("px", ""));
12378
+ resolveColNumberWidth(col, numWidth);
12379
+ isAutoWidthCol = false;
12380
+ }
12381
+ if (/^\d+\.?\d*%$/.test(colWidth)) {
12382
+ let perWidth = autoWidth;
12383
+ if (avgWidth > 0) {
12384
+ const percent = Number(colWidth.replace("%", ""));
12385
+ perWidth = avgWidth * percent / 100;
12386
+ }
12387
+ resolveColNumberWidth(col, perWidth);
12388
+ isAutoWidthCol = false;
12389
+ }
12390
+ if (isAutoWidthCol) {
12391
+ avgColIndexList.push(index);
12218
12392
  }
12219
- resolveColNumberWidth(col, perWidth);
12220
- isAutoWidthCol = false;
12221
- }
12222
- if (isAutoWidthCol) {
12223
- avgColIndexList.push(index);
12224
12393
  }
12225
12394
  });
12226
12395
  if (avgColIndexList.length > 0) {
@@ -12255,7 +12424,6 @@ const observerResize = (root, callbackFn, delay = 60, immediate = false) => {
12255
12424
  }
12256
12425
  };
12257
12426
  };
12258
- const isPercentPixOrNumber = (val) => /^\d+\.?\d*(px|%)?$/.test(`${val}`);
12259
12427
  const resolveHeadConfig = (props) => {
12260
12428
  const {
12261
12429
  showHead,
@@ -12344,7 +12512,6 @@ var userPagination = (props) => {
12344
12512
  startIndex.value = (pagination2.current - 1) * pagination2.limit;
12345
12513
  endIndex.value = pagination2.current * pagination2.limit;
12346
12514
  };
12347
- resetStartEndIndex();
12348
12515
  const pageData = reactive([]);
12349
12516
  const sort = (sortFn) => {
12350
12517
  if (typeof sortFn === "function") {
@@ -12407,7 +12574,8 @@ const tableProps = {
12407
12574
  activeColumn: PropTypes.oneOfType([PropTypes.number.def(-1), PropTypes.arrayOf(PropTypes.number.def(-1))]),
12408
12575
  columnPick: PropTypes.commonType(["multi", "single", "disabled"], "columnPick").def("disabled"),
12409
12576
  height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def("auto"),
12410
- minHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def("auto"),
12577
+ minHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def(200),
12578
+ maxHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).def("auto"),
12411
12579
  rowHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.func]).def(40),
12412
12580
  headHeight: PropTypes.number.def(40),
12413
12581
  showHead: PropTypes.bool.def(true),
@@ -12419,9 +12587,17 @@ const tableProps = {
12419
12587
  virtualEnabled: PropTypes.bool.def(false),
12420
12588
  border: PropTypes.arrayOf(PropTypes.commonType(BORDER_OPRIONS, "border")).def(["row"]),
12421
12589
  pagination: PropTypes.oneOfType([PropTypes.bool.def(false), PropTypes.object.def({})]).def(false),
12422
- remotePagination: PropTypes.bool.def(false)
12590
+ remotePagination: PropTypes.bool.def(false),
12591
+ emptyText: PropTypes.string.def("\u6682\u65E0\u6570\u636E"),
12592
+ settings: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({
12593
+ fields: PropTypes.shape([]).def([]),
12594
+ checked: PropTypes.shape([]).def([]),
12595
+ limit: PropTypes.number.def(null),
12596
+ size: PropTypes.size(["small", "default", "large"]).def("default"),
12597
+ sizeList: PropTypes.shape([]).def(null)
12598
+ })]).def(false)
12423
12599
  };
12424
- function _isSlot$1(s2) {
12600
+ function _isSlot$2(s2) {
12425
12601
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
12426
12602
  }
12427
12603
  var useLimit = () => {
@@ -12466,7 +12642,7 @@ var useLimit = () => {
12466
12642
  "modelValue": localLimit.value,
12467
12643
  "onChange": handleLimitChange,
12468
12644
  "disabled": proxy.disabled
12469
- }, _isSlot$1(_slot = proxy.limitList.map((num, index) => createVNode(BkOption, {
12645
+ }, _isSlot$2(_slot = proxy.limitList.map((num, index) => createVNode(BkOption, {
12470
12646
  "value": num,
12471
12647
  "label": num,
12472
12648
  "key": `${index}_${num}`
@@ -12866,7 +13042,30 @@ var Component$5 = defineComponent({
12866
13042
  }
12867
13043
  });
12868
13044
  const BkPagination = withInstall(Component$5);
12869
- function _isSlot(s2) {
13045
+ var BodyEmpty = defineComponent({
13046
+ name: "BodyEmpty",
13047
+ props: {
13048
+ list: PropTypes.array.def([]),
13049
+ filterList: PropTypes.array.def([]),
13050
+ emptyText: PropTypes.string.def("\u6682\u65E0\u6570\u636E")
13051
+ },
13052
+ emits: ["change"],
13053
+ setup(props, {
13054
+ slots
13055
+ }) {
13056
+ const type = computed(() => props.list.length === 0 ? "empty" : "search-empty");
13057
+ return () => createVNode(BkException, {
13058
+ "scene": "part",
13059
+ "type": type.value
13060
+ }, {
13061
+ default: () => {
13062
+ var _a, _b;
13063
+ return [(_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : props.emptyText];
13064
+ }
13065
+ });
13066
+ }
13067
+ });
13068
+ function _isSlot$1(s2) {
12870
13069
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
12871
13070
  }
12872
13071
  var HeadFilter = defineComponent({
@@ -12953,7 +13152,7 @@ var HeadFilter = defineComponent({
12953
13152
  "class": "content-list",
12954
13153
  "modelValue": state.checked,
12955
13154
  "onUpdate:modelValue": ($event) => state.checked = $event
12956
- }, _isSlot(_slot = localData.value.map((item) => createVNode("div", {
13155
+ }, _isSlot$1(_slot = localData.value.map((item) => createVNode("div", {
12957
13156
  "class": "list-item"
12958
13157
  }, [createVNode(BkCheckbox, {
12959
13158
  "label": item.value
@@ -13030,13 +13229,189 @@ class TablePlugins {
13030
13229
  this.ctx = ctx;
13031
13230
  }
13032
13231
  }
13232
+ function _isSlot(s2) {
13233
+ return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
13234
+ }
13235
+ var Settings = defineComponent({
13236
+ name: "Settings",
13237
+ props: {
13238
+ settings: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({
13239
+ fields: PropTypes.shape([]).def([]),
13240
+ checked: PropTypes.shape([]).def([]),
13241
+ limit: PropTypes.number.def(null),
13242
+ size: PropTypes.string.def(null)
13243
+ })]).def(false),
13244
+ columns: PropTypes.array.def([]),
13245
+ rowHeight: PropTypes.number.def(40)
13246
+ },
13247
+ emits: ["change"],
13248
+ setup(props, {
13249
+ emit
13250
+ }) {
13251
+ var _a, _b, _c;
13252
+ const defaultSizeList = [{
13253
+ value: "small",
13254
+ label: "\u5C0F",
13255
+ height: 32
13256
+ }, {
13257
+ value: "default",
13258
+ label: "\u4E2D",
13259
+ height: props.rowHeight
13260
+ }, {
13261
+ value: "large",
13262
+ label: "\u5927",
13263
+ height: 56
13264
+ }];
13265
+ const modifiers = [{
13266
+ name: "offset",
13267
+ options: {
13268
+ offset: [10, 10]
13269
+ }
13270
+ }];
13271
+ const isShow = ref(false);
13272
+ const settings = props.settings;
13273
+ const activeSize = ref((_a = settings.size) != null ? _a : "default");
13274
+ const activeHeight = ref(props.rowHeight);
13275
+ const checkedFields = ref((_b = settings.checked) != null ? _b : []);
13276
+ const className = resolveClassName("table-settings");
13277
+ const theme = `light ${className}`;
13278
+ const handleSaveClick = () => {
13279
+ emit("change", {
13280
+ checked: checkedFields.value,
13281
+ size: activeSize.value,
13282
+ height: activeHeight.value
13283
+ });
13284
+ isShow.value = false;
13285
+ };
13286
+ const handleCancelClick = () => {
13287
+ var _a2;
13288
+ activeSize.value = "default";
13289
+ activeHeight.value = props.rowHeight;
13290
+ checkedFields.value = (_a2 = settings.checked) != null ? _a2 : [];
13291
+ isShow.value = false;
13292
+ };
13293
+ const handleSettingClick = () => {
13294
+ isShow.value = true;
13295
+ };
13296
+ const handleCheckAllClick = () => {
13297
+ var _a2, _b2;
13298
+ checkedFields.value = ((_b2 = (_a2 = settings.fields) != null ? _a2 : props.columns) != null ? _b2 : []).map((item, index) => resolvePropVal(item, "field", [item, index]));
13299
+ };
13300
+ const isLimit = computed(() => {
13301
+ var _a2;
13302
+ return ((_a2 = settings.limit) != null ? _a2 : 0) > 0;
13303
+ });
13304
+ const sizeList = (_c = settings.sizeList) != null ? _c : defaultSizeList;
13305
+ const isFiledDisabled = computed(() => {
13306
+ var _a2;
13307
+ return isLimit.value && ((_a2 = settings.limit) != null ? _a2 : 0) <= checkedFields.value.length;
13308
+ });
13309
+ const isItemReadonly = (item, index) => isFiledDisabled.value && !checkedFields.value.includes(resolvePropVal(item, "field", [item, index]));
13310
+ const handleSizeItemClick = (item) => {
13311
+ activeSize.value = item.value;
13312
+ activeHeight.value = item.height;
13313
+ };
13314
+ const getItemClass = (item) => ({
13315
+ "line-size": true,
13316
+ "is-default": activeSize.value === "default",
13317
+ active: item.value === activeSize.value
13318
+ });
13319
+ const buttonStyle = {
13320
+ width: "85px",
13321
+ marginRight: "5px"
13322
+ };
13323
+ const renderSize = () => sizeList.map((item) => createVNode("span", {
13324
+ "class": getItemClass(item),
13325
+ "onClick": () => handleSizeItemClick(item)
13326
+ }, [item.label]));
13327
+ return () => createVNode(BkPopover, mergeProps({
13328
+ "trigger": "manual",
13329
+ "isShow": isShow.value,
13330
+ "placement": "bottom-end",
13331
+ "arrow": false
13332
+ }, {
13333
+ modifiers,
13334
+ theme
13335
+ }, {
13336
+ "boundary": document.body
13337
+ }), {
13338
+ default: () => createVNode(cogShape, {
13339
+ "style": "color: rgba(99,101,110, 0.6);",
13340
+ "onClick": handleSettingClick
13341
+ }, null),
13342
+ content: () => {
13343
+ var _a2, _b2;
13344
+ let _slot2;
13345
+ return createVNode("div", {
13346
+ "class": "setting-content"
13347
+ }, [createVNode("div", {
13348
+ "class": "setting-head"
13349
+ }, [createVNode("h2", null, [createTextVNode("\u8868\u683C\u8BBE\u7F6E")]), createVNode(closeLine, {
13350
+ "class": "icon-close-action",
13351
+ "onClick": handleCancelClick
13352
+ }, null)]), createVNode("div", {
13353
+ "class": "setting-body"
13354
+ }, [createVNode("div", {
13355
+ "class": "setting-body-title"
13356
+ }, [createVNode("div", null, [createVNode("span", null, [createTextVNode("\u5B57\u6BB5\u663E\u793A\u8BBE\u7F6E")]), isLimit.value ? createVNode("span", {
13357
+ "class": "limit"
13358
+ }, [createTextVNode("\uFF08\u6700\u591A"), settings.limit, createTextVNode("\u9879\uFF09")]) : ""]), isLimit.value ? "" : createVNode("span", {
13359
+ "class": "check-all",
13360
+ "onClick": handleCheckAllClick
13361
+ }, [createTextVNode("\u5168\u9009")])]), createVNode(BkCheckboxGroup, {
13362
+ "class": "setting-body-fields",
13363
+ "modelValue": checkedFields.value,
13364
+ "onUpdate:modelValue": ($event) => checkedFields.value = $event
13365
+ }, _isSlot(_slot2 = ((_b2 = (_a2 = settings.fields) != null ? _a2 : props.columns) != null ? _b2 : []).map((item, index) => {
13366
+ let _slot;
13367
+ return createVNode("div", {
13368
+ "class": "field-item"
13369
+ }, [createVNode(BkCheckbox, {
13370
+ "label": resolvePropVal(item, "field", [item, index]),
13371
+ "disabled": isItemReadonly(item, index)
13372
+ }, _isSlot(_slot = resolvePropVal(item, "label", [item, index])) ? _slot : {
13373
+ default: () => [_slot]
13374
+ })]);
13375
+ })) ? _slot2 : {
13376
+ default: () => [_slot2]
13377
+ }), createVNode("div", {
13378
+ "class": "setting-body-line-height"
13379
+ }, [createTextVNode("\u8868\u683C\u884C\u9AD8\uFF1A"), renderSize()])]), createVNode("div", {
13380
+ "class": "setting-footer"
13381
+ }, [createVNode(BkButton, {
13382
+ "theme": "primary",
13383
+ "style": buttonStyle,
13384
+ "onClick": handleSaveClick
13385
+ }, {
13386
+ default: () => [createTextVNode("\u786E\u5B9A")]
13387
+ }), createVNode(BkButton, {
13388
+ "style": buttonStyle,
13389
+ "onClick": handleCancelClick
13390
+ }, {
13391
+ default: () => [createTextVNode("\u53D6\u6D88")]
13392
+ })])]);
13393
+ }
13394
+ });
13395
+ }
13396
+ });
13033
13397
  let EVENTS;
13034
13398
  (function(EVENTS2) {
13035
13399
  EVENTS2["ON_SORT_BY_CLICK"] = "onSortByClick";
13036
13400
  EVENTS2["ON_FILTER_CLICK"] = "onFilterClick";
13401
+ EVENTS2["ON_SETTING_CHANGE"] = "onSettingChange";
13037
13402
  })(EVENTS || (EVENTS = {}));
13038
13403
  class TableRender {
13039
13404
  constructor(props, ctx, reactiveProp, colgroups) {
13405
+ __publicField(this, "getRowHeight", (row, rowIndex) => {
13406
+ const {
13407
+ size,
13408
+ height
13409
+ } = this.setting;
13410
+ if (height !== null && height !== void 0) {
13411
+ return resolvePropVal(this.setting, "height", ["tbody", row, rowIndex, size]);
13412
+ }
13413
+ return resolvePropVal(this.props, "rowHeight", ["tbody", row, rowIndex]);
13414
+ });
13040
13415
  __publicField(this, "getColumnClass", (colIndex) => `${this.uuid}-column-${colIndex}`);
13041
13416
  this.props = props;
13042
13417
  this.context = ctx;
@@ -13056,10 +13431,31 @@ class TableRender {
13056
13431
  if (!isShow) {
13057
13432
  return null;
13058
13433
  }
13059
- return createVNode("table", {
13434
+ const handleSettingsChanged = (arg) => {
13435
+ const {
13436
+ checked = [],
13437
+ size,
13438
+ height
13439
+ } = arg;
13440
+ this.reactiveProp.setting.size = size;
13441
+ this.reactiveProp.setting.height = height;
13442
+ if (checked.length) {
13443
+ this.colgroups.forEach((col) => {
13444
+ col.isHidden = !(checked != null ? checked : []).includes(resolvePropVal(col, "field", [col]));
13445
+ });
13446
+ }
13447
+ this.emitEvent(EVENTS.ON_SETTING_CHANGE, [arg]);
13448
+ };
13449
+ return [this.props.settings ? createVNode(Settings, {
13450
+ "class": "table-head-settings",
13451
+ "settings": this.props.settings,
13452
+ "columns": this.props.columns,
13453
+ "rowHeight": this.props.rowHeight,
13454
+ "onChange": handleSettingsChanged
13455
+ }, null) : "", createVNode("table", {
13060
13456
  "cellpadding": 0,
13061
13457
  "cellspacing": 0
13062
- }, [this.renderColGroup(), this.renderHeader()]);
13458
+ }, [this.renderColGroup(), this.renderHeader()])];
13063
13459
  }
13064
13460
  renderTableBodySchema(rows) {
13065
13461
  return createVNode("table", {
@@ -13181,7 +13577,7 @@ class TableRender {
13181
13577
  };
13182
13578
  return createVNode("thead", {
13183
13579
  "style": rowStyle
13184
- }, [createVNode("tr", null, [this.props.columns.map((column, index) => createVNode("th", {
13580
+ }, [createVNode("tr", null, [this.filterColgroups.map((column, index) => createVNode("th", {
13185
13581
  "colspan": 1,
13186
13582
  "rowspan": 1,
13187
13583
  "class": classes({
@@ -13193,22 +13589,30 @@ class TableRender {
13193
13589
  }, [renderHeadCell(column, index)])]))])]);
13194
13590
  }
13195
13591
  renderTBody(rows) {
13196
- return createVNode("tbody", null, [rows.map((row, rowIndex) => {
13592
+ var _a, _b, _c;
13593
+ return createVNode("tbody", null, [rows.length ? rows.map((row, rowIndex) => {
13197
13594
  const rowStyle = {
13198
- "--row-height": `${resolvePropVal(this.props, "rowHeight", ["tbody", row, rowIndex])}px`
13595
+ "--row-height": `${this.getRowHeight(row, rowIndex)}px`
13199
13596
  };
13200
13597
  return createVNode("tr", {
13201
13598
  "style": rowStyle,
13202
13599
  "onClick": (e) => this.handleRowClick(e, row, rowIndex, rows),
13203
13600
  "onDblclick": (e) => this.handleRowDblClick(e, row, rowIndex, rows)
13204
- }, [this.props.columns.map((column, index) => createVNode("td", {
13601
+ }, [this.filterColgroups.map((column, index) => createVNode("td", {
13205
13602
  "class": this.getColumnClass(index),
13206
13603
  "colspan": 1,
13207
13604
  "rowspan": 1
13208
13605
  }, [createVNode("div", {
13209
13606
  "class": "cell"
13210
13607
  }, [this.renderCell(row, column, rowIndex, rows)])]))]);
13211
- })]);
13608
+ }) : createVNode("tr", null, [createVNode("td", {
13609
+ "colspan": this.props.columns.length,
13610
+ "class": "empty-cell"
13611
+ }, [(_c = (_b = (_a = this.context.slots).empty) == null ? void 0 : _b.call(_a)) != null ? _c : createVNode(BodyEmpty, {
13612
+ "filterList": rows,
13613
+ "list": this.props.data,
13614
+ "emptyText": this.props.emptyText
13615
+ }, null)])])]);
13212
13616
  }
13213
13617
  handleRowClick(e, row, index, rows) {
13214
13618
  this.context.emit("rowClick", e, row, index, rows, this);
@@ -13227,7 +13631,7 @@ class TableRender {
13227
13631
  return this.props.columnPick !== "disabled" && this.propActiveCols.some((col) => col.index === colIndex && col.active);
13228
13632
  }
13229
13633
  renderColGroup() {
13230
- return createVNode("colgroup", null, [(this.colgroups || []).map((column, index) => {
13634
+ return createVNode("colgroup", null, [(this.filterColgroups || []).map((column, index) => {
13231
13635
  const colCls = classes({
13232
13636
  active: this.isColActive(index)
13233
13637
  });
@@ -13238,45 +13642,76 @@ class TableRender {
13238
13642
  }, null);
13239
13643
  })]);
13240
13644
  }
13645
+ get filterColgroups() {
13646
+ return this.colgroups.filter((col) => !col.isHidden);
13647
+ }
13648
+ get setting() {
13649
+ return this.reactiveProp.setting;
13650
+ }
13241
13651
  }
13242
13652
  const useClass = (props, root) => {
13243
- const autoHeight = ref("auto");
13653
+ const autoHeight = ref(200);
13244
13654
  const tableClass = computed(() => classes({
13245
13655
  [resolveClassName("table")]: true
13246
13656
  }, resolvePropBorderToClassStr(props.border)));
13247
13657
  const headClass = classes({
13248
13658
  [resolveClassName("table-head")]: true
13249
13659
  });
13660
+ const config = resolveHeadConfig(props);
13661
+ const headStyle = {
13662
+ "--row-height": `${resolvePropVal(config, "height", ["thead"])}px`
13663
+ };
13250
13664
  const contentClass = classes({
13251
13665
  [resolveClassName("table-body")]: true
13252
13666
  });
13253
- const footerClass = classes({
13667
+ const footerClass = computed(() => classes({
13254
13668
  [resolveClassName("table-footer")]: true,
13255
- ["is-hidden"]: !props.pagination
13256
- });
13669
+ ["is-hidden"]: !props.pagination || !props.data.length
13670
+ }));
13257
13671
  const wrapperStyle = computed(() => ({
13258
13672
  minHeight: resolveNumberOrStringToPix(props.minHeight, "auto")
13259
13673
  }));
13674
+ const resolvePropHeight = (height, defaultValue) => {
13675
+ const strHeight = String(height);
13676
+ if (/^\d+\.?\d*$/.test(strHeight)) {
13677
+ return Number(strHeight);
13678
+ }
13679
+ if (/^\d+\.?\d*px$/ig.test(strHeight)) {
13680
+ return Number(strHeight.replace("px", ""));
13681
+ }
13682
+ if (/^\d+\.?\d*%$/ig.test(strHeight)) {
13683
+ const percent = Number(strHeight.replace("%", ""));
13684
+ return defaultValue * percent / 100;
13685
+ }
13686
+ return defaultValue;
13687
+ };
13260
13688
  const contentStyle = computed(() => {
13261
- const isAutoHeight = !isPercentPixOrNumber(props.height);
13262
- const resolveHeight = resolveNumberOrStringToPix(props.height);
13263
- const resolveHeadHeight = props.showHead ? resolveNumberOrStringToPix(props.headHeight) : "0";
13264
- const resolveFooterHeight = props.pagination ? 40 : 0;
13265
- const contentHeight = `calc(${resolveHeight} - ${resolveHeadHeight} - ${resolveFooterHeight}px - 2px)`;
13266
- return __spreadValues({
13267
- display: "block"
13268
- }, isAutoHeight ? { maxHeight: contentHeight } : { height: contentHeight });
13689
+ const resolveHeight = resolvePropHeight(props.height, autoHeight.value);
13690
+ const resolveHeadHeight = props.showHead ? resolvePropHeight(props.headHeight, 40) + 2 : 0;
13691
+ const resolveMaxHeight = resolvePropHeight(props.maxHeight, autoHeight.value);
13692
+ const resolveMinHeight = resolvePropHeight(props.minHeight, autoHeight.value);
13693
+ const resolveFooterHeight = props.pagination && props.data.length ? 40 : 0;
13694
+ const contentHeight = resolveHeight - resolveHeadHeight - resolveFooterHeight;
13695
+ const maxHeight = resolveMaxHeight - resolveHeadHeight - resolveFooterHeight;
13696
+ const minHeight = resolveMinHeight - resolveHeadHeight - resolveFooterHeight;
13697
+ const height = props.height !== "auto" ? `${contentHeight}px` : "auto";
13698
+ return {
13699
+ display: "block",
13700
+ "max-height": `${maxHeight}px`,
13701
+ "min-height": `${minHeight}px`,
13702
+ height
13703
+ };
13269
13704
  });
13270
13705
  onMounted(() => {
13271
13706
  resetTableHeight(root == null ? void 0 : root.value);
13272
13707
  });
13273
13708
  const resetTableHeight = (rootEl) => {
13274
13709
  if (rootEl) {
13275
- const { height } = root.value.parentElement.getBoundingClientRect();
13276
- autoHeight.value = `${height}px`;
13710
+ const { height } = rootEl.parentElement.getBoundingClientRect();
13711
+ autoHeight.value = height;
13277
13712
  }
13278
13713
  };
13279
- return { tableClass, headClass, contentClass, footerClass, wrapperStyle, contentStyle, resetTableHeight };
13714
+ return { tableClass, headClass, contentClass, footerClass, wrapperStyle, contentStyle, headStyle, resetTableHeight };
13280
13715
  };
13281
13716
  var Component$4 = defineComponent({
13282
13717
  name: "Table",
@@ -13290,6 +13725,7 @@ var Component$4 = defineComponent({
13290
13725
  let columnFilterFn = null;
13291
13726
  let observerIns = null;
13292
13727
  const root = ref();
13728
+ const refVirtualRender = ref();
13293
13729
  const {
13294
13730
  activeColumns
13295
13731
  } = useActiveColumns(props);
@@ -13305,11 +13741,17 @@ var Component$4 = defineComponent({
13305
13741
  contentClass,
13306
13742
  footerClass,
13307
13743
  wrapperStyle,
13308
- contentStyle
13744
+ contentStyle,
13745
+ headStyle,
13746
+ resetTableHeight
13309
13747
  } = useClass(props);
13310
13748
  const reactiveProp = reactive({
13311
13749
  scrollTranslateY: 0,
13312
- activeColumns
13750
+ activeColumns,
13751
+ setting: {
13752
+ size: null,
13753
+ height: null
13754
+ }
13313
13755
  });
13314
13756
  const tableRender = new TableRender(props, ctx, reactiveProp, colgroups);
13315
13757
  watchEffect(() => {
@@ -13327,6 +13769,13 @@ var Component$4 = defineComponent({
13327
13769
  } = args;
13328
13770
  columnFilterFn = filterFn;
13329
13771
  resolvePageData(columnFilterFn, columnSortFn);
13772
+ }).on(EVENTS.ON_SETTING_CHANGE, (args) => {
13773
+ var _a, _b;
13774
+ const {
13775
+ checked = []
13776
+ } = args;
13777
+ checked.length && resolveColumnWidth(root.value, colgroups, 20);
13778
+ (_b = (_a = refVirtualRender.value) == null ? void 0 : _a.reset) == null ? void 0 : _b.call(_a);
13330
13779
  });
13331
13780
  const handleScrollChanged = (args) => {
13332
13781
  const pagination2 = args[1];
@@ -13335,6 +13784,7 @@ var Component$4 = defineComponent({
13335
13784
  onMounted(() => {
13336
13785
  observerIns = observerResize(root.value, () => {
13337
13786
  resolveColumnWidth(root.value, colgroups, 20);
13787
+ resetTableHeight(root.value);
13338
13788
  }, 60, true);
13339
13789
  observerIns.start();
13340
13790
  });
@@ -13350,24 +13800,30 @@ var Component$4 = defineComponent({
13350
13800
  "class": tableClass.value,
13351
13801
  "style": wrapperStyle.value,
13352
13802
  "ref": root
13353
- }, [createVNode("div", {
13354
- "class": headClass
13355
- }, [tableRender.renderTableHeadSchema()]), createVNode(BkVirtualRender, {
13356
- "lineHeight": props.rowHeight,
13357
- "class": contentClass,
13358
- "style": contentStyle.value,
13359
- "list": pageData,
13360
- "onContentScroll": handleScrollChanged,
13361
- "throttleDelay": 0,
13362
- "enabled": props.virtualEnabled
13363
- }, {
13364
- default: (scope) => tableRender.renderTableBodySchema(scope.data || props.data),
13365
- afterContent: () => createVNode("div", {
13366
- "class": resolveClassName("table-fixed")
13367
- }, null)
13368
- }), createVNode("div", {
13369
- "class": footerClass
13370
- }, [props.pagination && tableRender.renderTableFooter(localPagination.value)])]);
13803
+ }, [
13804
+ createVNode("div", {
13805
+ "class": headClass,
13806
+ "style": headStyle
13807
+ }, [tableRender.renderTableHeadSchema()]),
13808
+ createVNode(BkVirtualRender, {
13809
+ "ref": refVirtualRender,
13810
+ "lineHeight": tableRender.getRowHeight,
13811
+ "class": contentClass,
13812
+ "style": contentStyle.value,
13813
+ "list": pageData,
13814
+ "onContentScroll": handleScrollChanged,
13815
+ "throttleDelay": 0,
13816
+ "enabled": props.virtualEnabled
13817
+ }, {
13818
+ default: (scope) => tableRender.renderTableBodySchema(scope.data || props.data),
13819
+ afterContent: () => createVNode("div", {
13820
+ "class": resolveClassName("table-fixed")
13821
+ }, null)
13822
+ }),
13823
+ createVNode("div", {
13824
+ "class": footerClass.value
13825
+ }, [props.pagination && props.data.length && tableRender.renderTableFooter(localPagination.value)])
13826
+ ]);
13371
13827
  }
13372
13828
  });
13373
13829
  const BkTable = withInstall(Component$4);
@@ -14837,15 +15293,15 @@ const Message$1 = (constructor, options) => {
14837
15293
  offsetY: verticalOffset,
14838
15294
  id
14839
15295
  });
14840
- const container = document.createElement("div");
15296
+ const container2 = document.createElement("div");
14841
15297
  const vm = createVNode(constructor, opts);
14842
15298
  vm.props.onDestory = (id2) => {
14843
15299
  close(id2, position, spacing, userOnClose);
14844
- render(null, container);
15300
+ render(null, container2);
14845
15301
  };
14846
- render(vm, container);
15302
+ render(vm, container2);
14847
15303
  instances[position].push(vm);
14848
- document.body.appendChild(container.firstElementChild);
15304
+ document.body.appendChild(container2.firstElementChild);
14849
15305
  };
14850
15306
  function close(id, position, spacing, userOnClose) {
14851
15307
  userOnClose == null ? void 0 : userOnClose();
@@ -20204,19 +20660,18 @@ var Component = defineComponent({
20204
20660
  cache = true
20205
20661
  } = props.async || {};
20206
20662
  if (typeof callback === "function") {
20207
- if (item.cached) {
20208
- return;
20663
+ if (!item.cached) {
20664
+ Object.assign(item, {
20665
+ loading: true
20666
+ });
20667
+ callback(item, (resp) => setNodeRemoteLoad(resp, item)).then((resp) => setNodeRemoteLoad(resp, item)).catch((err) => console.error("load remote data error:", err)).finally(() => {
20668
+ assignTreeNode(getNodePath(item), props.data, props.children, __spreadValues({
20669
+ loading: false
20670
+ }, cache ? {
20671
+ cached: true
20672
+ } : {}));
20673
+ });
20209
20674
  }
20210
- Object.assign(item, {
20211
- loading: true
20212
- });
20213
- callback(item, (resp) => setNodeRemoteLoad(resp, item)).then((resp) => setNodeRemoteLoad(resp, item)).catch((err) => console.error("load remote data error:", err)).finally(() => {
20214
- assignTreeNode(getNodePath(item), props.data, props.children, __spreadValues({
20215
- loading: false
20216
- }, cache ? {
20217
- cached: true
20218
- } : {}));
20219
- });
20220
20675
  } else {
20221
20676
  console.error("async need to set prop: asyncLoad with function wich will return promise object");
20222
20677
  }
@@ -20313,20 +20768,23 @@ var Component = defineComponent({
20313
20768
  },
20314
20769
  render() {
20315
20770
  const props = this.$props;
20316
- const renderTreeNode = (item) => createVNode("div", {
20317
- "class": getNodeRowClass(item, this.flatData.schema)
20318
- }, [createVNode("div", {
20319
- "class": getNodeItemClass(item, this.flatData.schema, props),
20320
- "style": getNodeItemStyle(item, props, this.flatData),
20321
- "onClick": () => this.handleNodeContentClick(item)
20322
- }, [createVNode("span", {
20323
- "class": resolveClassName("node-action"),
20324
- "onClick": (e) => this.handleNodeActionClick(e, item)
20325
- }, [this.getActionIcon(item)]), createVNode("span", {
20326
- "class": resolveClassName("node-content")
20327
- }, [[this.getNodePrefixIcon(item), this.getLoadingIcon(item)], createVNode("span", {
20328
- "class": resolveClassName("node-text")
20329
- }, [getLabel(item, props)])]), this.getVirtualLines(item)])]);
20771
+ const renderTreeNode = (item) => {
20772
+ var _a, _b, _c, _d, _e;
20773
+ return createVNode("div", {
20774
+ "class": getNodeRowClass(item, this.flatData.schema)
20775
+ }, [createVNode("div", {
20776
+ "class": getNodeItemClass(item, this.flatData.schema, props),
20777
+ "style": getNodeItemStyle(item, props, this.flatData),
20778
+ "onClick": () => this.handleNodeContentClick(item)
20779
+ }, [createVNode("span", {
20780
+ "class": resolveClassName("node-action"),
20781
+ "onClick": (e) => this.handleNodeActionClick(e, item)
20782
+ }, [this.getActionIcon(item)]), createVNode("span", {
20783
+ "class": resolveClassName("node-content")
20784
+ }, [[this.getNodePrefixIcon(item), this.getLoadingIcon(item)], createVNode("span", {
20785
+ "class": resolveClassName("node-text")
20786
+ }, [(_e = (_b = (_a = this.$slots).node) == null ? void 0 : _b.call(_a, item)) != null ? _e : [getLabel(item, props), (_d = (_c = this.$slots).nodeAppend) == null ? void 0 : _d.call(_c, item)]])]), this.getVirtualLines(item)])]);
20787
+ };
20330
20788
  return createVNode(BkVirtualRender, {
20331
20789
  "class": resolveClassName("tree"),
20332
20790
  "style": getTreeStyle(null, props),
@@ -20707,6 +21165,129 @@ var FormItem = defineComponent({
20707
21165
  }
20708
21166
  });
20709
21167
  const BkForm = withInstallProps(Form, { FormItem, ComposeFormItem });
21168
+ const colProps = {
21169
+ span: PropTypes.number.def(1),
21170
+ offset: PropTypes.number.def(0),
21171
+ pull: PropTypes.number.def(0),
21172
+ push: PropTypes.number.def(0)
21173
+ };
21174
+ var Col = defineComponent({
21175
+ name: "Row",
21176
+ props: colProps,
21177
+ emits: [],
21178
+ setup(props, ctx) {
21179
+ const {
21180
+ col,
21181
+ gutter,
21182
+ flex
21183
+ } = inject("containerProps");
21184
+ const {
21185
+ span,
21186
+ offset: offset2,
21187
+ pull,
21188
+ push
21189
+ } = props;
21190
+ const realSpan = computed(() => span || col);
21191
+ provide("containerProps", {
21192
+ col: realSpan.value,
21193
+ gutter,
21194
+ flex
21195
+ });
21196
+ const formatPercentage = function(val) {
21197
+ return `${Number((val * 100).toFixed(3))}%`;
21198
+ };
21199
+ const style = computed(() => ({
21200
+ width: formatPercentage(realSpan.value / col),
21201
+ "padding-right": `${gutter / 2}px`,
21202
+ "padding-left": `${gutter / 2}px`,
21203
+ "margin-left": offset2 ? formatPercentage(offset2 / col) : null,
21204
+ right: pull ? formatPercentage(pull / col) : null,
21205
+ left: push ? formatPercentage(push / col) : null
21206
+ }));
21207
+ return () => {
21208
+ var _a, _b;
21209
+ return createVNode("div", {
21210
+ "class": "bk-grid-col",
21211
+ "style": style.value
21212
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
21213
+ };
21214
+ }
21215
+ });
21216
+ const containerProps = {
21217
+ col: PropTypes.number.def(24),
21218
+ gutter: PropTypes.number.def(20),
21219
+ margin: PropTypes.number.def(20),
21220
+ flex: PropTypes.bool.def(false),
21221
+ extCls: PropTypes.string
21222
+ };
21223
+ var Container = defineComponent({
21224
+ name: "Container",
21225
+ props: containerProps,
21226
+ emits: [],
21227
+ setup(props, ctx) {
21228
+ const {
21229
+ col,
21230
+ gutter,
21231
+ flex,
21232
+ extCls
21233
+ } = props;
21234
+ provide("containerProps", {
21235
+ col,
21236
+ gutter,
21237
+ flex
21238
+ });
21239
+ const classes2 = computed(() => extCls ? `bk-grid-container ${extCls}` : "bk-grid-container");
21240
+ const style = computed(() => {
21241
+ const {
21242
+ margin
21243
+ } = props;
21244
+ return {
21245
+ "padding-right": `${margin}px`,
21246
+ "padding-left": `${margin}px`
21247
+ };
21248
+ });
21249
+ return () => {
21250
+ var _a, _b;
21251
+ return createVNode("div", {
21252
+ "class": classes2.value,
21253
+ "style": style.value
21254
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
21255
+ };
21256
+ }
21257
+ });
21258
+ var Row = defineComponent({
21259
+ name: "Row",
21260
+ emits: [],
21261
+ setup(_props, ctx) {
21262
+ const {
21263
+ col,
21264
+ gutter,
21265
+ flex
21266
+ } = inject("containerProps");
21267
+ provide("containerProps", {
21268
+ col,
21269
+ gutter,
21270
+ flex
21271
+ });
21272
+ const style = computed(() => {
21273
+ const o2 = flex ? {
21274
+ display: ["-webkit-box", "-ms-flexbox", "flex"]
21275
+ } : {};
21276
+ return __spreadProps(__spreadValues({}, o2), {
21277
+ "margin-right": `-${gutter / 2}px`,
21278
+ "margin-left": `-${gutter / 2}px`
21279
+ });
21280
+ });
21281
+ return () => {
21282
+ var _a, _b;
21283
+ return createVNode("div", {
21284
+ "class": "bk-grid-row",
21285
+ "style": style.value
21286
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]);
21287
+ };
21288
+ }
21289
+ });
21290
+ const BkContainer = withInstallProps(Container, { Row, Col });
20710
21291
  var Dropdown = defineComponent({
20711
21292
  name: "BkDropdown",
20712
21293
  props: {
@@ -20885,6 +21466,9 @@ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
20885
21466
  Form: BkForm,
20886
21467
  FormItem,
20887
21468
  Pagination: BkPagination,
21469
+ Container: BkContainer,
21470
+ Row,
21471
+ Col,
20888
21472
  Dropdown: BkDropdown,
20889
21473
  DropdownMenu,
20890
21474
  DropdownItem
@@ -20905,4 +21489,4 @@ var preset = {
20905
21489
  install: createInstall(),
20906
21490
  version: "0.0.1"
20907
21491
  };
20908
- export { BkAlert as Alert, BkAnimateNumber as AnimateNumber, BkBacktop as Backtop, BkBadge as Badge, BkOption, OptionGroup as BkOptionGroup, BkBreadcrumb as Breadcrumb, BreadcrumbItem, BkButton as Button, ButtonGroup, BkCard as Card, BkCheckbox as Checkbox, BkCheckboxGroup as CheckboxGroup, BkCollaspe as Collapse, BkDatePicker as DatePicker, BkDialog as Dialog, BkDivider as Divider, BkDropdown as Dropdown, DropdownItem, DropdownMenu, BkException as Exception, BkFixedNavbar as FixedNavbar, BkForm as Form, FormItem, BkInput as Input, BkLink as Link, BkLoading as Loading, BkMenu as Menu, Message, BkModal as Modal, Navigation, Notify, BkPagination as Pagination, BkPopover as Popover, BkProgress as Progress, BkRadio as Radio, RadioButton, RadioGroup, BkRate as Rate, BkSelect as Select, BkSideslider as Sideslider, BkSteps as Steps, BkSwiper as Swiper, BkSwitcher as Switcher, BkTab as Tab, TabPanel, BkTable as Table, BkTag as Tag, TagInput, Transfer, BkTree as Tree, BkVirtualRender as VirtualRender, tooltips as bkTooltips, ClickOutside as clickoutside, preset as default, mousewheel };
21492
+ export { BkAlert as Alert, BkAnimateNumber as AnimateNumber, BkBacktop as Backtop, BkBadge as Badge, BkOption, OptionGroup as BkOptionGroup, BkBreadcrumb as Breadcrumb, BreadcrumbItem, BkButton as Button, ButtonGroup, BkCard as Card, BkCheckbox as Checkbox, BkCheckboxGroup as CheckboxGroup, Col, BkCollaspe as Collapse, BkContainer as Container, BkDatePicker as DatePicker, BkDialog as Dialog, BkDivider as Divider, BkDropdown as Dropdown, DropdownItem, DropdownMenu, BkException as Exception, BkFixedNavbar as FixedNavbar, BkForm as Form, FormItem, BkInput as Input, BkLink as Link, BkLoading as Loading, BkMenu as Menu, Message, BkModal as Modal, Navigation, Notify, BkPagination as Pagination, BkPopover as Popover, BkProgress as Progress, BkRadio as Radio, RadioButton, RadioGroup, BkRate as Rate, Row, BkSelect as Select, BkSideslider as Sideslider, BkSteps as Steps, BkSwiper as Swiper, BkSwitcher as Switcher, BkTab as Tab, TabPanel, BkTable as Table, BkTag as Tag, TagInput, Transfer, BkTree as Tree, BkVirtualRender as VirtualRender, tooltips as bkTooltips, ClickOutside as clickoutside, preset as default, mousewheel };