bkui-vue 1.0.3-beta.60.scrollbar.5 → 1.0.3-beta.61

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 (73) hide show
  1. package/dist/index.cjs.js +50 -52
  2. package/dist/index.esm.js +13977 -14662
  3. package/dist/index.umd.js +50 -52
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/components.d.ts +1 -0
  7. package/lib/components.js +2 -1
  8. package/lib/date-picker/index.js +1 -1
  9. package/lib/dialog/dialog.css +7 -9
  10. package/lib/dialog/dialog.variable.css +7 -9
  11. package/lib/info-box/index.js +1 -0
  12. package/lib/modal/hooks.d.ts +1 -1
  13. package/lib/modal/index.d.ts +3 -0
  14. package/lib/modal/index.js +21 -22
  15. package/lib/modal/modal.css +7 -9
  16. package/lib/modal/modal.d.ts +1 -0
  17. package/lib/modal/modal.less +11 -18
  18. package/lib/modal/modal.variable.css +7 -9
  19. package/lib/search-select/index.d.ts +327 -12
  20. package/lib/search-select/index.js +620 -340
  21. package/lib/search-select/input.d.ts +6 -1
  22. package/lib/search-select/search-select.css +20 -6
  23. package/lib/search-select/search-select.d.ts +109 -4
  24. package/lib/search-select/search-select.less +16 -12
  25. package/lib/search-select/search-select.variable.css +20 -6
  26. package/lib/search-select/selected.d.ts +107 -5
  27. package/lib/search-select/utils.d.ts +13 -1
  28. package/lib/select/index.d.ts +56 -0
  29. package/lib/select/index.js +8 -3
  30. package/lib/select/select.css +19 -5
  31. package/lib/select/select.d.ts +22 -0
  32. package/lib/select/select.less +26 -6
  33. package/lib/select/select.variable.css +19 -5
  34. package/lib/select/selectTagInput.d.ts +7 -0
  35. package/lib/sideslider/sideslider.css +0 -5
  36. package/lib/sideslider/sideslider.less +8 -14
  37. package/lib/sideslider/sideslider.variable.css +0 -5
  38. package/lib/table/const.d.ts +1 -1
  39. package/lib/table/index.js +18 -18
  40. package/lib/table/plugins/use-fixed-column.d.ts +1 -1
  41. package/lib/table/table.css +42 -96
  42. package/lib/table/table.less +56 -41
  43. package/lib/table/table.variable.css +42 -96
  44. package/lib/table/use-render.d.ts +1 -1
  45. package/lib/table-column/index.js +1 -1
  46. package/lib/timeline/index.js +1 -0
  47. package/lib/tree/tree.css +2 -75
  48. package/lib/tree/tree.variable.css +2 -75
  49. package/lib/upload/index.d.ts +12 -0
  50. package/lib/upload/index.js +21 -30
  51. package/lib/upload/props.d.ts +3 -0
  52. package/lib/upload/upload-trigger.d.ts +6 -0
  53. package/lib/upload/upload.d.ts +6 -0
  54. package/lib/virtual-render/index.d.ts +0 -4
  55. package/lib/virtual-render/index.js +232 -2346
  56. package/lib/virtual-render/props.d.ts +0 -7
  57. package/lib/virtual-render/use-fix-top.d.ts +7 -2
  58. package/lib/virtual-render/v-virtual-render.d.ts +1 -2
  59. package/lib/virtual-render/virtual-render.css +2 -75
  60. package/lib/virtual-render/virtual-render.d.ts +0 -2
  61. package/lib/virtual-render/virtual-render.less +2 -2
  62. package/lib/virtual-render/virtual-render.variable.css +2 -75
  63. package/package.json +1 -2
  64. package/lib/virtual-render/bk-scrollbar.css +0 -74
  65. package/lib/virtual-render/bk-scrollbar.d.ts +0 -10
  66. package/lib/virtual-render/bk-scrollbar.less +0 -93
  67. package/lib/virtual-render/bk-scrollbar.variable.css +0 -203
  68. package/lib/virtual-render/scrollbar-core/can-use-dom.d.ts +0 -2
  69. package/lib/virtual-render/scrollbar-core/helpers.d.ts +0 -5
  70. package/lib/virtual-render/scrollbar-core/index.d.ts +0 -213
  71. package/lib/virtual-render/scrollbar-core/mouse-wheel.d.ts +0 -5
  72. package/lib/virtual-render/scrollbar-core/scrollbar-width.d.ts +0 -1
  73. package/lib/virtual-render/use-scrollbar.d.ts +0 -23
@@ -51,6 +51,7 @@ export { default as Cascader } from './cascader';
51
51
  export { default as Slider } from './slider';
52
52
  export { default as ResizeLayout } from './resize-layout';
53
53
  export { default as TimeLine } from './timeline';
54
+ export { default as Timeline } from './timeline';
54
55
  export { default as Process } from './process';
55
56
  export { default as Upload } from './upload';
56
57
  export { default as CodeDiff } from './code-diff';
package/lib/components.js CHANGED
@@ -72,7 +72,8 @@ export { default as Dropdown } from './dropdown';
72
72
  export { default as Cascader } from './cascader';
73
73
  export { default as Slider } from './slider';
74
74
  export { default as ResizeLayout } from './resize-layout';
75
- export { default as TimeLine } from './timeline';
75
+ export { default as TimeLine } from './timeline'; // 兼容以往版本
76
+ export { default as Timeline } from './timeline';
76
77
  export { default as Process } from './process';
77
78
  export { default as Upload } from './upload';
78
79
  export { default as CodeDiff } from './code-diff';
@@ -1676,7 +1676,7 @@ var monthTableProps = {
1676
1676
  cell.text = tCell(i + 1);
1677
1677
  var day = clearHours(cell.date);
1678
1678
  var time = cell.date && clearHours(cell.date);
1679
- cell.disabled = typeof props.disabledDate === 'function' && props.disabledDate(cell.date) && props.selectionMode === 'month';
1679
+ cell.disabled = typeof props.disabledDate === 'function' && props.disabledDate(cell.date);
1680
1680
  cell.selected = selectedDays.includes(day);
1681
1681
  cell.range = isRange && isInRange(time, rangeStart, rangeEnd);
1682
1682
  cell.start = isRange && time === minDay;
@@ -12,25 +12,21 @@
12
12
  word-break: break-all;
13
13
  }
14
14
  .bk-modal-ctx {
15
+ position: fixed;
15
16
  top: 0px;
16
17
  left: 0px;
18
+ display: none;
17
19
  width: 100%;
18
20
  height: 100%;
19
21
  pointer-events: auto;
20
22
  }
21
- .bk-modal-ctx.--show {
22
- position: fixed;
23
- }
24
- .bk-modal-ctx.--show .bk-modal-ctx-mask {
23
+ .bk-modal-ctx.is-show {
25
24
  display: block;
26
25
  }
27
- .bk-modal-ctx.--hide {
28
- display: none;
29
- }
30
26
  .bk-modal-ctx-mask {
27
+ position: fixed;
31
28
  top: 0;
32
29
  left: 0;
33
- display: none;
34
30
  width: 100%;
35
31
  height: 100%;
36
32
  background-color: rgba(0, 0, 0, 0.6);
@@ -56,8 +52,10 @@
56
52
  border-radius: 2px;
57
53
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
58
54
  }
59
- .bk-modal-body {
55
+ .bk-modal-content {
56
+ max-height: 100vh;
60
57
  overflow: auto;
58
+ scrollbar-gutter: stable;
61
59
  }
62
60
  .bk-modal-close {
63
61
  position: absolute;
@@ -141,25 +141,21 @@
141
141
  word-break: break-all;
142
142
  }
143
143
  .bk-modal-ctx {
144
+ position: fixed;
144
145
  top: 0px;
145
146
  left: 0px;
147
+ display: none;
146
148
  width: 100%;
147
149
  height: 100%;
148
150
  pointer-events: auto;
149
151
  }
150
- .bk-modal-ctx.--show {
151
- position: fixed;
152
- }
153
- .bk-modal-ctx.--show .bk-modal-ctx-mask {
152
+ .bk-modal-ctx.is-show {
154
153
  display: block;
155
154
  }
156
- .bk-modal-ctx.--hide {
157
- display: none;
158
- }
159
155
  .bk-modal-ctx-mask {
156
+ position: fixed;
160
157
  top: 0;
161
158
  left: 0;
162
- display: none;
163
159
  width: 100%;
164
160
  height: 100%;
165
161
  background-color: rgba(0, 0, 0, 0.6);
@@ -185,8 +181,10 @@
185
181
  border-radius: 2px;
186
182
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
187
183
  }
188
- .bk-modal-body {
184
+ .bk-modal-content {
185
+ max-height: 100vh;
189
186
  overflow: auto;
187
+ scrollbar-gutter: stable;
190
188
  }
191
189
  .bk-modal-close {
192
190
  position: absolute;
@@ -688,6 +688,7 @@ var InfoBox = function InfoBox(config) {
688
688
  }, modalFuncProps.value), {}, {
689
689
  isShow: isShow.value,
690
690
  transfer: false,
691
+ quickClose: false,
691
692
  onClosed: onClosed,
692
693
  onConfirm: onConfirm,
693
694
  onHidden: onHidden
@@ -1,6 +1,6 @@
1
1
  import { type Ref } from 'vue';
2
2
  import type { ModalProps } from './modal';
3
- export declare const useContentResize: (root: Ref<HTMLElement>, props: ModalProps) => {
3
+ export declare const useContentResize: (root: Ref<HTMLElement>, resizeTarget: Ref<HTMLElement>, props: ModalProps) => {
4
4
  contentStyles: Ref<{}>;
5
5
  isContentScroll: Ref<boolean>;
6
6
  };
@@ -121,6 +121,7 @@ declare const BkModal: {
121
121
  refMask: import("vue").Ref<HTMLElement>;
122
122
  resolveClassName: (cls: string) => string;
123
123
  close: () => void;
124
+ resizeTargetRef: import("vue").Ref<HTMLElement>;
124
125
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hidden" | "shown" | "quickClose" | "quick-close")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
125
126
  isShow: import("vue-types").VueTypeValidableDef<boolean> & {
126
127
  default: boolean;
@@ -380,6 +381,7 @@ declare const BkModal: {
380
381
  refMask: import("vue").Ref<HTMLElement>;
381
382
  resolveClassName: (cls: string) => string;
382
383
  close: () => void;
384
+ resizeTargetRef: import("vue").Ref<HTMLElement>;
383
385
  }, {}, {}, {}, {
384
386
  title: string;
385
387
  width: string | number;
@@ -528,6 +530,7 @@ declare const BkModal: {
528
530
  refMask: import("vue").Ref<HTMLElement>;
529
531
  resolveClassName: (cls: string) => string;
530
532
  close: () => void;
533
+ resizeTargetRef: import("vue").Ref<HTMLElement>;
531
534
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hidden" | "shown" | "quickClose" | "quick-close")[], "close" | "hidden" | "shown" | "quickClose" | "quick-close", {
532
535
  title: string;
533
536
  width: string | number;
@@ -506,7 +506,7 @@ function _defineProperty(obj, key, value) {
506
506
  ;// CONCATENATED MODULE: external "vue"
507
507
  var external_vue_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
508
508
  var external_vue_y = x => () => x
509
- const external_vue_namespaceObject = external_vue_x({ ["Transition"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.Transition, ["computed"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.computed, ["createVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createVNode, ["defineComponent"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent, ["nextTick"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.nextTick, ["onBeforeUnmount"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onBeforeUnmount, ["ref"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.ref, ["useSlots"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.useSlots, ["watch"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watch });
509
+ const external_vue_namespaceObject = external_vue_x({ ["Transition"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.Transition, ["computed"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.computed, ["createVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createVNode, ["defineComponent"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent, ["nextTick"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.nextTick, ["onBeforeUnmount"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onBeforeUnmount, ["ref"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.ref, ["watch"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watch });
510
510
  // EXTERNAL MODULE: ../../node_modules/@babel/runtime/regenerator/index.js
511
511
  var regenerator = __webpack_require__(2841);
512
512
  var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
@@ -547,43 +547,36 @@ const throttle_namespaceObject = throttle_x({ ["default"]: () => __WEBPACK_EXTER
547
547
 
548
548
 
549
549
 
550
- var useContentResize = function useContentResize(root, props) {
550
+ var useContentResize = function useContentResize(root, resizeTarget, props) {
551
551
  var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
552
552
  resolveClassName = _usePrefix.resolveClassName;
553
- var slots = (0,external_vue_namespaceObject.useSlots)();
554
553
  var isContentScroll = (0,external_vue_namespaceObject.ref)(false);
555
554
  var contentStyles = (0,external_vue_namespaceObject.ref)({});
556
555
  var observer;
557
556
  var handleContentBoxChange = function handleContentBoxChange() {
558
- if (!slots.footer) {
559
- return;
560
- }
561
557
  var calcContentScroll = (0,throttle_namespaceObject["default"])(function () {
562
558
  var _root$value$querySele = root.value.querySelector(".".concat(resolveClassName('modal-header'))).getBoundingClientRect(),
563
559
  headerHeight = _root$value$querySele.height;
564
- var _root$value$querySele2 = root.value.querySelector(".".concat(resolveClassName('modal-content'))).getBoundingClientRect(),
560
+ var _root$value$querySele2 = root.value.querySelector(".".concat(resolveClassName('modal-content'), " div")).getBoundingClientRect(),
565
561
  contentHeight = _root$value$querySele2.height;
566
562
  var _root$value$querySele3 = root.value.querySelector(".".concat(resolveClassName('modal-footer'))).getBoundingClientRect(),
567
563
  footerHeight = _root$value$querySele3.height;
568
564
  var windowInnerHeight = window.innerHeight;
569
- isContentScroll.value = windowInnerHeight < headerHeight + contentHeight + footerHeight;
565
+ isContentScroll.value = windowInnerHeight < headerHeight + contentHeight + footerHeight + 20;
570
566
  if (isContentScroll.value || props.fullscreen) {
571
567
  contentStyles.value = {
572
- height: "".concat(windowInnerHeight - headerHeight - footerHeight, "px"),
573
- overflow: 'scroll'
568
+ height: "".concat(windowInnerHeight - headerHeight - footerHeight, "px")
574
569
  };
570
+ // fullscreen 时默认为 true
571
+ isContentScroll.value = true;
575
572
  } else {
576
573
  contentStyles.value = {};
577
574
  }
578
- }, 100);
579
- observer = new MutationObserver(function () {
575
+ }, 30);
576
+ observer = new ResizeObserver(function () {
580
577
  calcContentScroll();
581
578
  });
582
- observer.observe(root.value.querySelector(".".concat(resolveClassName('modal-content'), " div")), {
583
- subtree: true,
584
- attributes: true,
585
- childList: true
586
- });
579
+ observer.observe(resizeTarget.value);
587
580
  calcContentScroll();
588
581
  };
589
582
  (0,external_vue_namespaceObject.watch)(function () {
@@ -595,7 +588,6 @@ var useContentResize = function useContentResize(root, props) {
595
588
  }, 100);
596
589
  } else {
597
590
  if (observer) {
598
- observer.takeRecords();
599
591
  observer.disconnect();
600
592
  observer = null;
601
593
  }
@@ -743,13 +735,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
743
735
  setup: function setup(props, ctx) {
744
736
  var refRoot = (0,external_vue_namespaceObject.ref)();
745
737
  var refMask = (0,external_vue_namespaceObject.ref)();
738
+ var resizeTargetRef = (0,external_vue_namespaceObject.ref)();
746
739
  var teleportTo = (0,external_vue_namespaceObject.ref)('body');
747
740
  var visible = (0,external_vue_namespaceObject.ref)(false);
748
741
  var zIndex = (0,external_vue_namespaceObject.ref)(props.zIndex);
749
742
  var enableTeleport = (0,external_vue_namespaceObject.ref)(!!props.transfer);
750
743
  var backgroundColor = (0,external_vue_namespaceObject.ref)('rgba(0,0,0,0.6)');
751
744
  var closeTimer;
752
- var _useContentResize = useContentResize(refRoot, props),
745
+ var _useContentResize = useContentResize(refRoot, resizeTargetRef, props),
753
746
  contentStyles = _useContentResize.contentStyles,
754
747
  isContentScroll = _useContentResize.isContentScroll;
755
748
  var modalWrapperStyles = (0,external_vue_namespaceObject.computed)(function () {
@@ -925,7 +918,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
925
918
  refRoot: refRoot,
926
919
  refMask: refMask,
927
920
  resolveClassName: resolveClassName,
928
- close: close
921
+ close: close,
922
+ resizeTargetRef: resizeTargetRef
929
923
  };
930
924
  },
931
925
  render: function render() {
@@ -940,7 +934,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
940
934
  _this = this;
941
935
  return (0,external_vue_namespaceObject.createVNode)("div", {
942
936
  "ref": "refRoot",
943
- "class": _defineProperty(_defineProperty(_defineProperty({}, this.resolveClassName('modal-ctx'), true), '--show', this.visible), '--hide', !this.visible),
937
+ "class": _defineProperty(_defineProperty({}, this.resolveClassName('modal-ctx'), true), 'is-show', this.visible),
944
938
  "style": {
945
939
  zIndex: this.zIndex
946
940
  }
@@ -962,7 +956,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
962
956
  }, [(_this$$slots$header = (_this$$slots = _this.$slots).header) === null || _this$$slots$header === void 0 ? void 0 : _this$$slots$header.call(_this$$slots)]), (0,external_vue_namespaceObject.createVNode)("div", {
963
957
  "class": _this.resolveClassName('modal-content'),
964
958
  "style": _this.contentStyles
965
- }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(_this$$slots$default = (_this$$slots2 = _this.$slots)["default"]) === null || _this$$slots$default === void 0 ? void 0 : _this$$slots$default.call(_this$$slots2)])]), (0,external_vue_namespaceObject.createVNode)("div", {
959
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
960
+ "style": "position: relative; display: inline-block; width: 100%;"
961
+ }, [(_this$$slots$default = (_this$$slots2 = _this.$slots)["default"]) === null || _this$$slots$default === void 0 ? void 0 : _this$$slots$default.call(_this$$slots2), (0,external_vue_namespaceObject.createVNode)("div", {
962
+ "ref": "resizeTargetRef",
963
+ "style": "position: absolute; top: 0; bottom: 0;"
964
+ }, null)])]), (0,external_vue_namespaceObject.createVNode)("div", {
966
965
  "class": _defineProperty(_defineProperty({}, _this.resolveClassName('modal-footer'), true), 'is-fixed', _this.isContentScroll)
967
966
  }, [(_this$$slots$footer = (_this$$slots3 = _this.$slots).footer) === null || _this$$slots$footer === void 0 ? void 0 : _this$$slots$footer.call(_this$$slots3)]), _this.closeIcon && (0,external_vue_namespaceObject.createVNode)("div", {
968
967
  "class": _this.resolveClassName('modal-close')
@@ -12,25 +12,21 @@
12
12
  word-break: break-all;
13
13
  }
14
14
  .bk-modal-ctx {
15
+ position: fixed;
15
16
  top: 0px;
16
17
  left: 0px;
18
+ display: none;
17
19
  width: 100%;
18
20
  height: 100%;
19
21
  pointer-events: auto;
20
22
  }
21
- .bk-modal-ctx.--show {
22
- position: fixed;
23
- }
24
- .bk-modal-ctx.--show .bk-modal-ctx-mask {
23
+ .bk-modal-ctx.is-show {
25
24
  display: block;
26
25
  }
27
- .bk-modal-ctx.--hide {
28
- display: none;
29
- }
30
26
  .bk-modal-ctx-mask {
27
+ position: fixed;
31
28
  top: 0;
32
29
  left: 0;
33
- display: none;
34
30
  width: 100%;
35
31
  height: 100%;
36
32
  background-color: rgba(0, 0, 0, 0.6);
@@ -56,8 +52,10 @@
56
52
  border-radius: 2px;
57
53
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
58
54
  }
59
- .bk-modal-body {
55
+ .bk-modal-content {
56
+ max-height: 100vh;
60
57
  overflow: auto;
58
+ scrollbar-gutter: stable;
61
59
  }
62
60
  .bk-modal-close {
63
61
  position: absolute;
@@ -116,6 +116,7 @@ declare const _default: import("vue").DefineComponent<{
116
116
  refMask: import("vue").Ref<HTMLElement>;
117
117
  resolveClassName: (cls: string) => string;
118
118
  close: () => void;
119
+ resizeTargetRef: import("vue").Ref<HTMLElement>;
119
120
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "hidden" | "shown" | "quickClose" | "quick-close")[], "close" | "hidden" | "shown" | "quickClose" | "quick-close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
120
121
  isShow: import("vue-types").VueTypeValidableDef<boolean> & {
121
122
  default: boolean;
@@ -2,31 +2,26 @@
2
2
  @import '../info-box/info-box.less';
3
3
 
4
4
  .@{bk-prefix}-modal-ctx {
5
+ position: fixed;
5
6
  top: 0px;
6
7
  left: 0px;
8
+ display: none;
7
9
  width: 100%;
8
10
  height: 100%;
9
11
  pointer-events: auto;
10
12
 
11
- &.--show {
12
- position: fixed;
13
- .@{bk-prefix}-modal-ctx-mask {
14
- display: block;
15
- }
16
- }
17
-
18
- &.--hide {
19
- display: none;
13
+ &.is-show {
14
+ display: block;
20
15
  }
21
16
  }
22
17
 
23
18
  .@{bk-prefix}-modal-ctx-mask {
19
+ position: fixed;
24
20
  top: 0;
25
21
  left: 0;
26
- display: none;
27
22
  width: 100%;
28
23
  height: 100%;
29
- background-color: rgba(0,0,0,.6);
24
+ background-color: rgba(0, 0, 0, 0.6);
30
25
  }
31
26
 
32
27
  .@{bk-prefix}-modal-wrapper {
@@ -35,8 +30,6 @@
35
30
  left: 50%;
36
31
  border-radius: 2px;
37
32
  transform: translate(-50%, -50%);
38
-
39
-
40
33
  }
41
34
 
42
35
  .@{bk-prefix}-modal-outside {
@@ -52,11 +45,13 @@
52
45
  overflow: hidden;
53
46
  background: #fff;
54
47
  border-radius: 2px;
55
- box-shadow: 0 4px 12px rgba(0,0,0,.15);
48
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
56
49
  }
57
50
 
58
- .@{bk-prefix}-modal-body {
51
+ .@{bk-prefix}-modal-content {
52
+ max-height: 100vh;
59
53
  overflow: auto;
54
+ scrollbar-gutter: stable;
60
55
  }
61
56
 
62
57
  .@{bk-prefix}-modal-close {
@@ -72,11 +67,9 @@
72
67
  align-items: center;
73
68
  justify-content: center;
74
69
  border-radius: 50%;
75
- transition: .15s;
70
+ transition: 0.15s;
76
71
 
77
72
  &:hover {
78
73
  background: #f0f1f5;
79
74
  }
80
75
  }
81
-
82
-
@@ -141,25 +141,21 @@
141
141
  word-break: break-all;
142
142
  }
143
143
  .bk-modal-ctx {
144
+ position: fixed;
144
145
  top: 0px;
145
146
  left: 0px;
147
+ display: none;
146
148
  width: 100%;
147
149
  height: 100%;
148
150
  pointer-events: auto;
149
151
  }
150
- .bk-modal-ctx.--show {
151
- position: fixed;
152
- }
153
- .bk-modal-ctx.--show .bk-modal-ctx-mask {
152
+ .bk-modal-ctx.is-show {
154
153
  display: block;
155
154
  }
156
- .bk-modal-ctx.--hide {
157
- display: none;
158
- }
159
155
  .bk-modal-ctx-mask {
156
+ position: fixed;
160
157
  top: 0;
161
158
  left: 0;
162
- display: none;
163
159
  width: 100%;
164
160
  height: 100%;
165
161
  background-color: rgba(0, 0, 0, 0.6);
@@ -185,8 +181,10 @@
185
181
  border-radius: 2px;
186
182
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
187
183
  }
188
- .bk-modal-body {
184
+ .bk-modal-content {
185
+ max-height: 100vh;
189
186
  overflow: auto;
187
+ scrollbar-gutter: stable;
190
188
  }
191
189
  .bk-modal-close {
192
190
  position: absolute;