bkui-vue 0.0.2-beta.3 → 0.0.2-beta.31

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 (235) hide show
  1. package/dist/index.cjs.js +63 -63
  2. package/dist/index.cjs.source.js +45938 -0
  3. package/dist/index.esm.js +16922 -16471
  4. package/dist/index.esm.source.js +45938 -0
  5. package/dist/index.umd.js +61 -61
  6. package/dist/index.umd.source.js +45941 -0
  7. package/dist/style.css +1 -1
  8. package/dist/style.variable.css +1 -1
  9. package/lib/affix/affix.d.ts +1 -1
  10. package/lib/affix/index.d.ts +4 -4
  11. package/lib/affix/index.js +1 -1
  12. package/lib/alert/alert.css +1 -0
  13. package/lib/alert/alert.less +119 -119
  14. package/lib/alert/alert.variable.css +1 -0
  15. package/lib/alert/index.d.ts +1 -1
  16. package/lib/animate-number/index.d.ts +1 -1
  17. package/lib/backtop/index.d.ts +1 -1
  18. package/lib/backtop/index.js +1 -1
  19. package/lib/badge/badge.d.ts +3 -2
  20. package/lib/badge/index.d.ts +10 -7
  21. package/lib/badge/index.js +1 -1
  22. package/lib/breadcrumb/breadcrumb-item.d.ts +1 -1
  23. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  24. package/lib/breadcrumb/index.d.ts +5 -5
  25. package/lib/button/button-group.d.ts +2 -2
  26. package/lib/button/index.d.ts +3 -3
  27. package/lib/button/index.js +1 -1
  28. package/lib/card/card.d.ts +1 -1
  29. package/lib/card/index.d.ts +4 -4
  30. package/lib/cascader/cascader-panel.d.ts +1 -0
  31. package/lib/cascader/cascader.d.ts +2 -12
  32. package/lib/cascader/cascader.less +4 -4
  33. package/lib/cascader/index.d.ts +8 -19
  34. package/lib/cascader/index.js +1 -1
  35. package/lib/checkbox/checkbox-group.d.ts +3 -1
  36. package/lib/checkbox/checkbox.d.ts +8 -8
  37. package/lib/checkbox/index.d.ts +16 -14
  38. package/lib/checkbox/index.js +1 -1
  39. package/lib/code-diff/index.d.ts +1 -1
  40. package/lib/collapse/index.d.ts +1 -1
  41. package/lib/collapse-transition/collapse-transition.d.ts +1 -0
  42. package/lib/collapse-transition/index.js +1 -1
  43. package/lib/color-picker/color-picker.d.ts +1 -1
  44. package/lib/color-picker/index.d.ts +4 -4
  45. package/lib/color-picker/index.js +1 -1
  46. package/lib/components.d.ts +1 -1
  47. package/lib/config-provider/index.d.ts +1 -1
  48. package/lib/container/index.d.ts +1 -1
  49. package/lib/container/index.js +1 -1
  50. package/lib/date-picker/base/confirm.d.ts +1 -0
  51. package/lib/date-picker/base/date-table.d.ts +1 -0
  52. package/lib/date-picker/base/month-table.d.ts +1 -0
  53. package/lib/date-picker/base/picker-dropdown.d.ts +1 -0
  54. package/lib/date-picker/base/time-spinner.d.ts +2 -1
  55. package/lib/date-picker/base/year-table.d.ts +1 -0
  56. package/lib/date-picker/date-picker.d.ts +3 -2
  57. package/lib/date-picker/index.d.ts +10 -7
  58. package/lib/date-picker/index.js +1 -1
  59. package/lib/date-picker/panel/date-range.d.ts +1 -0
  60. package/lib/date-picker/panel/date.d.ts +1 -0
  61. package/lib/date-picker/panel/time-range.d.ts +3 -2
  62. package/lib/date-picker/panel/time.d.ts +3 -2
  63. package/lib/date-picker/time-picker.d.ts +3 -2
  64. package/lib/dialog/dialog.d.ts +4 -3
  65. package/lib/dialog/index.d.ts +11 -8
  66. package/lib/dialog/index.js +1 -1
  67. package/lib/dialog/props.d.ts +1 -1
  68. package/lib/directives/index.js +1 -1
  69. package/lib/directives/tooltips.d.ts +3 -2
  70. package/lib/divider/divider.less +3 -4
  71. package/lib/divider/index.d.ts +1 -1
  72. package/lib/divider/index.js +1 -1
  73. package/lib/dropdown/dropdown.d.ts +1 -1
  74. package/lib/dropdown/index.d.ts +6 -6
  75. package/lib/exception/index.d.ts +1 -1
  76. package/lib/fixed-navbar/index.d.ts +1 -1
  77. package/lib/fixed-navbar/index.js +1 -1
  78. package/lib/form/index.d.ts +1 -1
  79. package/lib/icon/assistant.d.ts +4 -0
  80. package/lib/icon/assistant.js +1 -0
  81. package/lib/icon/index.d.ts +1 -0
  82. package/lib/icon/index.js +1 -1
  83. package/lib/image/image-viewer.less +5 -3
  84. package/lib/image/image-viewer.variable.css +122 -0
  85. package/lib/image/image.css +142 -0
  86. package/lib/image/image.d.ts +0 -1
  87. package/lib/image/image.less +4 -1
  88. package/lib/image/image.variable.css +264 -0
  89. package/lib/image/index.d.ts +1 -1
  90. package/lib/image/index.js +1 -1
  91. package/lib/info-box/index.js +1 -1
  92. package/lib/input/index.d.ts +93 -57
  93. package/lib/input/index.js +1 -1
  94. package/lib/input/input.css +12 -0
  95. package/lib/input/input.d.ts +48 -15
  96. package/lib/input/input.less +26 -5
  97. package/lib/input/input.variable.css +12 -0
  98. package/lib/link/index.d.ts +7 -4
  99. package/lib/link/index.js +1 -1
  100. package/lib/link/link.d.ts +2 -1
  101. package/lib/loading/index.d.ts +1 -1
  102. package/lib/loading/index.js +1 -1
  103. package/lib/menu/index.d.ts +1 -1
  104. package/lib/message/index.js +1 -1
  105. package/lib/message/message.css +18 -8
  106. package/lib/message/message.less +68 -56
  107. package/lib/message/message.variable.css +18 -8
  108. package/lib/message/messageConstructor.d.ts +33 -8
  109. package/lib/modal/index.d.ts +9 -9
  110. package/lib/modal/index.js +1 -1
  111. package/lib/modal/modal.d.ts +3 -3
  112. package/lib/modal/props.mixin.d.ts +1 -1
  113. package/lib/navigation/index.d.ts +4 -1
  114. package/lib/navigation/index.js +1 -1
  115. package/lib/navigation/navigation.d.ts +1 -0
  116. package/lib/notify/index.js +1 -1
  117. package/lib/notify/notifyConstructor.d.ts +1 -1
  118. package/lib/overflow-title/index.d.ts +1 -1
  119. package/lib/pagination/index.d.ts +8 -8
  120. package/lib/pagination/index.js +1 -1
  121. package/lib/pagination/pagination.d.ts +4 -4
  122. package/lib/plugin-popover/index.js +1 -1
  123. package/lib/pop-confirm/index.d.ts +1 -1
  124. package/lib/pop-confirm/index.js +1 -1
  125. package/lib/pop-confirm/pop-confirm.less +9 -8
  126. package/lib/popover/const.d.ts +22 -9
  127. package/lib/popover/content.d.ts +25 -0
  128. package/lib/popover/index.d.ts +131 -61
  129. package/lib/popover/index.js +1 -1
  130. package/lib/popover/popover.d.ts +52 -24
  131. package/lib/popover/props.d.ts +23 -5
  132. package/lib/popover/use-floating.d.ts +2 -2
  133. package/lib/popover/use-popover-init.d.ts +1 -1
  134. package/lib/popover2/index.d.ts +1 -1
  135. package/lib/process/index.d.ts +1 -1
  136. package/lib/progress/index.d.ts +8 -8
  137. package/lib/progress/progress.d.ts +4 -4
  138. package/lib/radio/index.d.ts +4 -4
  139. package/lib/radio/radio-button.d.ts +3 -3
  140. package/lib/radio/radio-group.d.ts +1 -1
  141. package/lib/radio/radio.less +1 -1
  142. package/lib/rate/index.d.ts +12 -8
  143. package/lib/rate/index.js +1 -1
  144. package/lib/rate/rate.d.ts +4 -3
  145. package/lib/rate/rate.less +5 -3
  146. package/lib/rate/rate.variable.css +122 -0
  147. package/lib/rate/star.less +6 -4
  148. package/lib/rate/star.variable.css +122 -0
  149. package/lib/resize-layout/index.d.ts +1 -1
  150. package/lib/resize-layout/index.js +1 -1
  151. package/lib/resize-layout/resize-layout.css +12 -0
  152. package/lib/resize-layout/resize-layout.less +12 -0
  153. package/lib/resize-layout/resize-layout.variable.css +12 -0
  154. package/lib/search-select/index.d.ts +4 -1
  155. package/lib/search-select/index.js +1 -1
  156. package/lib/search-select/search-select.d.ts +1 -0
  157. package/lib/search-select/utils.d.ts +1 -0
  158. package/lib/select/index.d.ts +126 -61
  159. package/lib/select/index.js +1 -1
  160. package/lib/select/option.d.ts +1 -0
  161. package/lib/select/optionGroup.d.ts +1 -0
  162. package/lib/select/select.d.ts +57 -31
  163. package/lib/select/selectTagInput.d.ts +4 -0
  164. package/lib/shared/index.js +1 -1
  165. package/lib/shared/mask-manager.d.ts +3 -4
  166. package/lib/shared/pop-manager.d.ts +6 -2
  167. package/lib/shared/vue-types.d.ts +2 -2
  168. package/lib/sideslider/index.d.ts +8 -8
  169. package/lib/sideslider/index.js +1 -1
  170. package/lib/sideslider/sideslider.d.ts +3 -3
  171. package/lib/slider/index.d.ts +1 -1
  172. package/lib/slider/index.js +1 -1
  173. package/lib/slider/slider.less +6 -6
  174. package/lib/steps/index.d.ts +8 -8
  175. package/lib/steps/index.js +1 -1
  176. package/lib/steps/steps.d.ts +4 -4
  177. package/lib/styles/index.d.ts +2 -0
  178. package/lib/styles/mixins/popper.less +6 -5
  179. package/lib/styles/reset.less +4 -2
  180. package/lib/styles/reset.variable.css +122 -0
  181. package/lib/swiper/index.d.ts +1 -1
  182. package/lib/switcher/index.d.ts +5 -5
  183. package/lib/switcher/index.js +1 -1
  184. package/lib/switcher/switcher.d.ts +2 -2
  185. package/lib/tab/index.d.ts +5 -2
  186. package/lib/tab/index.js +1 -1
  187. package/lib/tab/tab-nav.d.ts +1 -0
  188. package/lib/tab/tab-panel.d.ts +1 -1
  189. package/lib/tab/tab.d.ts +1 -0
  190. package/lib/table/components/table-cell.d.ts +43 -11
  191. package/lib/table/components/table-column.d.ts +184 -208
  192. package/lib/table/const.d.ts +16 -54
  193. package/lib/table/events.d.ts +180 -0
  194. package/lib/table/index.d.ts +740 -421
  195. package/lib/table/index.js +1 -1
  196. package/lib/table/plugins/head-filter.d.ts +6 -5
  197. package/lib/table/plugins/head-filter.less +5 -7
  198. package/lib/table/plugins/head-sort.d.ts +6 -5
  199. package/lib/table/plugins/settings.d.ts +13 -21
  200. package/lib/table/plugins/settings.less +3 -3
  201. package/lib/table/plugins/use-fixed-column.d.ts +3 -2
  202. package/lib/table/props.d.ts +205 -170
  203. package/lib/table/render.d.ts +6 -4
  204. package/lib/table/table.css +28 -4
  205. package/lib/table/table.d.ts +206 -91
  206. package/lib/table/table.less +39 -5
  207. package/lib/table/table.variable.css +28 -4
  208. package/lib/table/use-column.d.ts +63 -1
  209. package/lib/table/use-common.d.ts +15 -9
  210. package/lib/table/utils.d.ts +1 -0
  211. package/lib/table-column/index.d.ts +255 -503
  212. package/lib/table-column/index.js +1 -1
  213. package/lib/tag/index.d.ts +1 -1
  214. package/lib/tag-input/index.d.ts +49 -28
  215. package/lib/tag-input/index.js +1 -1
  216. package/lib/tag-input/tag-input.css +1 -1
  217. package/lib/tag-input/tag-input.d.ts +30 -16
  218. package/lib/tag-input/tag-input.less +4 -4
  219. package/lib/tag-input/tag-input.variable.css +1 -1
  220. package/lib/tag-input/tag-props.d.ts +14 -7
  221. package/lib/time-picker/index.d.ts +10 -7
  222. package/lib/time-picker/time-picker.less +39 -39
  223. package/lib/timeline/index.d.ts +1 -1
  224. package/lib/transfer/index.d.ts +1 -1
  225. package/lib/tree/index.d.ts +4 -4
  226. package/lib/tree/index.js +1 -1
  227. package/lib/tree/tree.d.ts +11 -1
  228. package/lib/tree/use-node-attribute.d.ts +1 -1
  229. package/lib/upload/index.d.ts +1 -1
  230. package/lib/virtual-render/index.d.ts +19 -1
  231. package/lib/virtual-render/index.js +1 -1
  232. package/lib/virtual-render/props.d.ts +8 -0
  233. package/lib/virtual-render/virtual-render.d.ts +11 -0
  234. package/lib/virtual-render/virtual-render.less +5 -6
  235. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
- .bk-image-viewer {
1
+ @import '../styles/themes/themes.less';
2
+
3
+ .@{bk-prefix}-image-viewer {
2
4
  &-wrapper {
3
5
  position: fixed;
4
6
  top: 0;
@@ -101,7 +103,7 @@
101
103
  color: #313238;
102
104
  text-align: center;
103
105
 
104
- .bk-icon {
106
+ .@{bk-prefix}-icon {
105
107
  margin-bottom: 15px;
106
108
  font-size: 85px;
107
109
  line-height: 1;
@@ -133,7 +135,7 @@
133
135
  align-items: center;
134
136
  justify-content: space-around;
135
137
 
136
- .bk-icon {
138
+ .@{bk-prefix}-icon {
137
139
  cursor: pointer;
138
140
 
139
141
  &:hover {
@@ -1,3 +1,125 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --popover-max-height: 216px;
4
+ --primary-color: #3a84ff;
5
+ --success-color: #2dcb56;
6
+ --warning-color: #ff9c01;
7
+ --danger-color: #ea3636;
8
+ --default-color: #63656e;
9
+ --gray-color: #979ba5;
10
+ --light-gray: #c4c6cc;
11
+ --white-color: white;
12
+ --whitesmoke-color: #fafbfd;
13
+ --disable-color: #dcdee5;
14
+ --font-size-base: 12px;
15
+ --font-size-medium: 14px;
16
+ --font-size-large: 16px;
17
+ --line-height-base: 16px;
18
+ --line-height-medium: 16px;
19
+ --line-height-large: 18px;
20
+ --component-size-small: 26px;
21
+ --component-size-base: 32px;
22
+ --component-size-large: 40px;
23
+ --border-width-base: 1px;
24
+ --border-style-base: solid;
25
+ --border-radius-base: 2px;
26
+ --border-style-color: var(--light-gray);
27
+ --input-disabled-bg: #fafbfd;
28
+ --input-disabled-border: var(--disable-color);
29
+ --input-height-base: var(--component-size-base);
30
+ --input-color: var(--default-color);
31
+ --input-bg: white;
32
+ --input-border-color: var(--light-gray);
33
+ --input-broder-radius: 3px;
34
+ --input-shadow-color: #a3c5fd;
35
+ --input-horizontal-padding: 10px;
36
+ --input-block-color: #f5f7fa;
37
+ --input-block-hover-color: #eaebf0;
38
+ --input-icon-size: var(--font-size-medium);
39
+ --input-maxlength-color: #979ba5;
40
+ --button-primary-hover-color: #5594fa;
41
+ --button-danger-hover-color: #ff5656;
42
+ --button-success-hover-color: #45e35f;
43
+ --button-warning-hover-color: #ffb848;
44
+ --button-default-hover-border-color: #979ba5;
45
+ --button-primary-active-color: #2c77f4;
46
+ --button-danger-active-color: #db2626;
47
+ --button-success-active-color: #1ab943;
48
+ --button-warning-active-color: #eb9000;
49
+ --button-selected-bg-color: #e1ecff;
50
+ --button-disabled-selected-bg-color: #f0f1f5;
51
+ --radio-font-color: #63656e;
52
+ --radio-active-color: #5594fa;
53
+ --radio-hover-border-color: #979ba5;
54
+ --radio-disabled-border: #dcdee5;
55
+ --radio-disabled-font-color: #c4c6cc;
56
+ --radio-disabled-checked-bg: #a3c5fd;
57
+ --radio-button-checked-bg: #e1ecff;
58
+ --radio-button-disabled-checked-bg: #fafbfd;
59
+ --checkbox-disabled-checked-bg: #a3c5fd;
60
+ --fixed-navbar-background: #fff;
61
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
62
+ --switch-default-color: #fff;
63
+ --switch-grey-color: #c4c6cc;
64
+ --breadcrumb-black-color: #979ba5;
65
+ --breadcrumb-primary-hover-color: #0082ff;
66
+ --breadcrumb-fn-main-color: #63656e;
67
+ --link-default-hover-color: #979ba5;
68
+ --link-primary-hover-color: #699df4;
69
+ --link-success-hover-color: #45e35f;
70
+ --link-warning-hover-color: #ffb848;
71
+ --link-danger-hover-color: #ff5656;
72
+ --link-default-disabled-color: #dcdee5;
73
+ --link-primary-disabled-color: #a3c5fd;
74
+ --link-success-disabled-color: #94f5a4;
75
+ --link-warning-disabled-color: #ffd695;
76
+ --link-danger-disabled-color: #fd9c9c;
77
+ --message-color: var(--default-color);
78
+ --message-primary-bg-color: #f0f8ff;
79
+ --message-primary-border-color: #e1ecff;
80
+ --message-primary-shadow-color: #e1e8f4;
81
+ --message-warning-bg-color: #fff4e2;
82
+ --message-warning-border-color: #ffe8c3;
83
+ --message-warning-shadow-color: #ede6db;
84
+ --message-success-bg-color: #f2fff4;
85
+ --message-success-border-color: #dcffe2;
86
+ --message-success-shadow-color: #cef0d7;
87
+ --message-danger-bg-color: #ffeded;
88
+ --message-danger-border-color: #ffdddd;
89
+ --message-danger-shadow-color: #f6dada;
90
+ --slider-default-bg: #dcdee5;
91
+ --slider-disable-bar-bg: #979ba5;
92
+ --menu-bg-color: #182132;
93
+ --submenu-bg-color: #151d2c;
94
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
95
+ --menu-color: #96a2b9;
96
+ --menu-group-color: var(--default-color);
97
+ --menu-width: 260px;
98
+ --menu-collapse-width: 60px;
99
+ --menu-active-color: white;
100
+ --nav-header-bg-color: #182132;
101
+ --nav-bg-color: #182132;
102
+ --date-picker-disabled-bg: #fafbfd;
103
+ --date-picker-dropdown-mb: 4px;
104
+ --date-picker-dropdown-bg: #fff;
105
+ --table-bg-color: var(--white-color);
106
+ --table-border-color: #dcdee5;
107
+ --table-head-bg-color: #fafbfd;
108
+ --table-head-font-color: #313238;
109
+ --table-body-font-color: #63656E;
110
+ --table-row-hover-bg-color: #f5f7fa;
111
+ --table-row-active-bg-color: #f0f1f5;
112
+ --cascader-panel-border-color: #dcdee5;
113
+ --cascader-panel-hover: #f5f7fa;
114
+ --cascader-panel-active: #e1ecff;
115
+ --cascader-panel-disabled-bg: #fff;
116
+ --search-select-focus-border-color: var(--primary-color);
117
+ --search-select-focus-color: #3c96ff;
118
+ --search-select-font-color: var(--default-color);
119
+ --search-select-placeholder-color: var(--light-gray);
120
+ --search-select-message-color: var(--danger-color);
121
+ --search-select-menu-border-color: var(--disable-color);
122
+ }
1
123
  .bk-image-viewer-wrapper {
2
124
  position: fixed;
3
125
  top: 0;
@@ -1,3 +1,145 @@
1
+ .bk-image-viewer-wrapper {
2
+ position: fixed;
3
+ top: 0;
4
+ right: 0;
5
+ bottom: 0;
6
+ left: 0;
7
+ display: flex;
8
+ background: rgba(0, 0, 0, 0.6);
9
+ flex-direction: column;
10
+ }
11
+ .bk-image-viewer-mask {
12
+ position: absolute;
13
+ top: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ left: 0;
17
+ }
18
+ .bk-image-viewer-header {
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ z-index: 9;
23
+ display: flex;
24
+ width: 100%;
25
+ height: 52px;
26
+ color: #c4c6cc;
27
+ background: rgba(0, 0, 0, 0.7);
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ }
31
+ .bk-image-viewer-header > div {
32
+ padding: 0 25px;
33
+ overflow: hidden;
34
+ font-size: 14px;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ flex: 1;
38
+ }
39
+ .bk-image-viewer-header .quit-box {
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: flex-end;
43
+ }
44
+ .bk-image-viewer-header .quit-tips {
45
+ font-size: 14px;
46
+ color: #979ba5;
47
+ }
48
+ .bk-image-viewer-btn {
49
+ position: absolute;
50
+ z-index: 1;
51
+ display: flex;
52
+ color: #dcdee5;
53
+ background-color: rgba(0, 0, 0, 0.3);
54
+ border-radius: 50%;
55
+ opacity: 0.8;
56
+ box-sizing: border-box;
57
+ user-select: none;
58
+ align-items: center;
59
+ justify-content: center;
60
+ }
61
+ .bk-image-viewer-btn:hover {
62
+ color: #fff;
63
+ background-color: rgba(0, 0, 0, 0.4);
64
+ }
65
+ .bk-image-viewer-close {
66
+ height: 52px;
67
+ font-size: 32px;
68
+ line-height: 48px;
69
+ color: #c4c6cc;
70
+ text-align: center;
71
+ cursor: pointer;
72
+ }
73
+ .bk-image-viewer-close:hover {
74
+ color: #fff;
75
+ }
76
+ .bk-image-viewer-canvas {
77
+ display: flex;
78
+ width: 100%;
79
+ height: 100%;
80
+ justify-content: center;
81
+ align-items: center;
82
+ }
83
+ .bk-image-viewer-has-header {
84
+ padding-top: 52px;
85
+ }
86
+ .bk-image-viewer-error {
87
+ font-size: 14px;
88
+ color: #313238;
89
+ text-align: center;
90
+ }
91
+ .bk-image-viewer-error .bk-icon {
92
+ margin-bottom: 15px;
93
+ font-size: 85px;
94
+ line-height: 1;
95
+ }
96
+ .bk-image-viewer-actions {
97
+ bottom: 30px;
98
+ left: 50%;
99
+ width: 282px;
100
+ height: 44px;
101
+ padding: 0 23px;
102
+ background-color: rgba(0, 0, 0, 0.4);
103
+ border-color: #fff;
104
+ border-radius: 22px;
105
+ transform: translateX(-50%);
106
+ }
107
+ .bk-image-viewer-actions:hover {
108
+ background: rgba(0, 0, 0, 0.5);
109
+ }
110
+ .bk-image-viewer-actions-inner {
111
+ display: flex;
112
+ width: 100%;
113
+ height: 100%;
114
+ font-size: 23px;
115
+ color: #c4c6cc;
116
+ text-align: justify;
117
+ align-items: center;
118
+ justify-content: space-around;
119
+ }
120
+ .bk-image-viewer-actions-inner .bk-icon {
121
+ cursor: pointer;
122
+ }
123
+ .bk-image-viewer-actions-inner .bk-icon:hover {
124
+ color: #fff;
125
+ }
126
+ .bk-image-viewer-next,
127
+ .bk-image-viewer-prev {
128
+ top: 50%;
129
+ width: 80px;
130
+ height: 80px;
131
+ font-size: 40px;
132
+ cursor: pointer;
133
+ }
134
+ .bk-image-viewer-prev {
135
+ left: 40px;
136
+ transform: translateY(-50%);
137
+ }
138
+ .bk-image-viewer-next {
139
+ right: 40px;
140
+ text-indent: 2px;
141
+ transform: translateY(-50%);
142
+ }
1
143
  .bk-image {
2
144
  position: relative;
3
145
  display: inline-block;
@@ -1,4 +1,3 @@
1
- import './image-viewer.less';
2
1
  declare const _default: import("vue").DefineComponent<{
3
2
  src: import("vue-types").VueTypeValidableDef<string> & {
4
3
  default: string;
@@ -1,4 +1,7 @@
1
- .bk-image {
1
+ @import '../styles/themes/themes.less';
2
+ @import './image-viewer.less';
3
+
4
+ .@{bk-prefix}-image {
2
5
  position: relative;
3
6
  display: inline-block;
4
7
  overflow: hidden;
@@ -1,3 +1,267 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --popover-max-height: 216px;
4
+ --primary-color: #3a84ff;
5
+ --success-color: #2dcb56;
6
+ --warning-color: #ff9c01;
7
+ --danger-color: #ea3636;
8
+ --default-color: #63656e;
9
+ --gray-color: #979ba5;
10
+ --light-gray: #c4c6cc;
11
+ --white-color: white;
12
+ --whitesmoke-color: #fafbfd;
13
+ --disable-color: #dcdee5;
14
+ --font-size-base: 12px;
15
+ --font-size-medium: 14px;
16
+ --font-size-large: 16px;
17
+ --line-height-base: 16px;
18
+ --line-height-medium: 16px;
19
+ --line-height-large: 18px;
20
+ --component-size-small: 26px;
21
+ --component-size-base: 32px;
22
+ --component-size-large: 40px;
23
+ --border-width-base: 1px;
24
+ --border-style-base: solid;
25
+ --border-radius-base: 2px;
26
+ --border-style-color: var(--light-gray);
27
+ --input-disabled-bg: #fafbfd;
28
+ --input-disabled-border: var(--disable-color);
29
+ --input-height-base: var(--component-size-base);
30
+ --input-color: var(--default-color);
31
+ --input-bg: white;
32
+ --input-border-color: var(--light-gray);
33
+ --input-broder-radius: 3px;
34
+ --input-shadow-color: #a3c5fd;
35
+ --input-horizontal-padding: 10px;
36
+ --input-block-color: #f5f7fa;
37
+ --input-block-hover-color: #eaebf0;
38
+ --input-icon-size: var(--font-size-medium);
39
+ --input-maxlength-color: #979ba5;
40
+ --button-primary-hover-color: #5594fa;
41
+ --button-danger-hover-color: #ff5656;
42
+ --button-success-hover-color: #45e35f;
43
+ --button-warning-hover-color: #ffb848;
44
+ --button-default-hover-border-color: #979ba5;
45
+ --button-primary-active-color: #2c77f4;
46
+ --button-danger-active-color: #db2626;
47
+ --button-success-active-color: #1ab943;
48
+ --button-warning-active-color: #eb9000;
49
+ --button-selected-bg-color: #e1ecff;
50
+ --button-disabled-selected-bg-color: #f0f1f5;
51
+ --radio-font-color: #63656e;
52
+ --radio-active-color: #5594fa;
53
+ --radio-hover-border-color: #979ba5;
54
+ --radio-disabled-border: #dcdee5;
55
+ --radio-disabled-font-color: #c4c6cc;
56
+ --radio-disabled-checked-bg: #a3c5fd;
57
+ --radio-button-checked-bg: #e1ecff;
58
+ --radio-button-disabled-checked-bg: #fafbfd;
59
+ --checkbox-disabled-checked-bg: #a3c5fd;
60
+ --fixed-navbar-background: #fff;
61
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
62
+ --switch-default-color: #fff;
63
+ --switch-grey-color: #c4c6cc;
64
+ --breadcrumb-black-color: #979ba5;
65
+ --breadcrumb-primary-hover-color: #0082ff;
66
+ --breadcrumb-fn-main-color: #63656e;
67
+ --link-default-hover-color: #979ba5;
68
+ --link-primary-hover-color: #699df4;
69
+ --link-success-hover-color: #45e35f;
70
+ --link-warning-hover-color: #ffb848;
71
+ --link-danger-hover-color: #ff5656;
72
+ --link-default-disabled-color: #dcdee5;
73
+ --link-primary-disabled-color: #a3c5fd;
74
+ --link-success-disabled-color: #94f5a4;
75
+ --link-warning-disabled-color: #ffd695;
76
+ --link-danger-disabled-color: #fd9c9c;
77
+ --message-color: var(--default-color);
78
+ --message-primary-bg-color: #f0f8ff;
79
+ --message-primary-border-color: #e1ecff;
80
+ --message-primary-shadow-color: #e1e8f4;
81
+ --message-warning-bg-color: #fff4e2;
82
+ --message-warning-border-color: #ffe8c3;
83
+ --message-warning-shadow-color: #ede6db;
84
+ --message-success-bg-color: #f2fff4;
85
+ --message-success-border-color: #dcffe2;
86
+ --message-success-shadow-color: #cef0d7;
87
+ --message-danger-bg-color: #ffeded;
88
+ --message-danger-border-color: #ffdddd;
89
+ --message-danger-shadow-color: #f6dada;
90
+ --slider-default-bg: #dcdee5;
91
+ --slider-disable-bar-bg: #979ba5;
92
+ --menu-bg-color: #182132;
93
+ --submenu-bg-color: #151d2c;
94
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
95
+ --menu-color: #96a2b9;
96
+ --menu-group-color: var(--default-color);
97
+ --menu-width: 260px;
98
+ --menu-collapse-width: 60px;
99
+ --menu-active-color: white;
100
+ --nav-header-bg-color: #182132;
101
+ --nav-bg-color: #182132;
102
+ --date-picker-disabled-bg: #fafbfd;
103
+ --date-picker-dropdown-mb: 4px;
104
+ --date-picker-dropdown-bg: #fff;
105
+ --table-bg-color: var(--white-color);
106
+ --table-border-color: #dcdee5;
107
+ --table-head-bg-color: #fafbfd;
108
+ --table-head-font-color: #313238;
109
+ --table-body-font-color: #63656E;
110
+ --table-row-hover-bg-color: #f5f7fa;
111
+ --table-row-active-bg-color: #f0f1f5;
112
+ --cascader-panel-border-color: #dcdee5;
113
+ --cascader-panel-hover: #f5f7fa;
114
+ --cascader-panel-active: #e1ecff;
115
+ --cascader-panel-disabled-bg: #fff;
116
+ --search-select-focus-border-color: var(--primary-color);
117
+ --search-select-focus-color: #3c96ff;
118
+ --search-select-font-color: var(--default-color);
119
+ --search-select-placeholder-color: var(--light-gray);
120
+ --search-select-message-color: var(--danger-color);
121
+ --search-select-menu-border-color: var(--disable-color);
122
+ }
123
+ .bk-image-viewer-wrapper {
124
+ position: fixed;
125
+ top: 0;
126
+ right: 0;
127
+ bottom: 0;
128
+ left: 0;
129
+ display: flex;
130
+ background: rgba(0, 0, 0, 0.6);
131
+ flex-direction: column;
132
+ }
133
+ .bk-image-viewer-mask {
134
+ position: absolute;
135
+ top: 0;
136
+ right: 0;
137
+ bottom: 0;
138
+ left: 0;
139
+ }
140
+ .bk-image-viewer-header {
141
+ position: absolute;
142
+ top: 0;
143
+ left: 0;
144
+ z-index: 9;
145
+ display: flex;
146
+ width: 100%;
147
+ height: 52px;
148
+ color: #c4c6cc;
149
+ background: rgba(0, 0, 0, 0.7);
150
+ justify-content: space-between;
151
+ align-items: center;
152
+ }
153
+ .bk-image-viewer-header > div {
154
+ padding: 0 25px;
155
+ overflow: hidden;
156
+ font-size: 14px;
157
+ text-overflow: ellipsis;
158
+ white-space: nowrap;
159
+ flex: 1;
160
+ }
161
+ .bk-image-viewer-header .quit-box {
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: flex-end;
165
+ }
166
+ .bk-image-viewer-header .quit-tips {
167
+ font-size: 14px;
168
+ color: #979ba5;
169
+ }
170
+ .bk-image-viewer-btn {
171
+ position: absolute;
172
+ z-index: 1;
173
+ display: flex;
174
+ color: #dcdee5;
175
+ background-color: rgba(0, 0, 0, 0.3);
176
+ border-radius: 50%;
177
+ opacity: 0.8;
178
+ box-sizing: border-box;
179
+ user-select: none;
180
+ align-items: center;
181
+ justify-content: center;
182
+ }
183
+ .bk-image-viewer-btn:hover {
184
+ color: #fff;
185
+ background-color: rgba(0, 0, 0, 0.4);
186
+ }
187
+ .bk-image-viewer-close {
188
+ height: 52px;
189
+ font-size: 32px;
190
+ line-height: 48px;
191
+ color: #c4c6cc;
192
+ text-align: center;
193
+ cursor: pointer;
194
+ }
195
+ .bk-image-viewer-close:hover {
196
+ color: #fff;
197
+ }
198
+ .bk-image-viewer-canvas {
199
+ display: flex;
200
+ width: 100%;
201
+ height: 100%;
202
+ justify-content: center;
203
+ align-items: center;
204
+ }
205
+ .bk-image-viewer-has-header {
206
+ padding-top: 52px;
207
+ }
208
+ .bk-image-viewer-error {
209
+ font-size: 14px;
210
+ color: #313238;
211
+ text-align: center;
212
+ }
213
+ .bk-image-viewer-error .bk-icon {
214
+ margin-bottom: 15px;
215
+ font-size: 85px;
216
+ line-height: 1;
217
+ }
218
+ .bk-image-viewer-actions {
219
+ bottom: 30px;
220
+ left: 50%;
221
+ width: 282px;
222
+ height: 44px;
223
+ padding: 0 23px;
224
+ background-color: rgba(0, 0, 0, 0.4);
225
+ border-color: #fff;
226
+ border-radius: 22px;
227
+ transform: translateX(-50%);
228
+ }
229
+ .bk-image-viewer-actions:hover {
230
+ background: rgba(0, 0, 0, 0.5);
231
+ }
232
+ .bk-image-viewer-actions-inner {
233
+ display: flex;
234
+ width: 100%;
235
+ height: 100%;
236
+ font-size: 23px;
237
+ color: #c4c6cc;
238
+ text-align: justify;
239
+ align-items: center;
240
+ justify-content: space-around;
241
+ }
242
+ .bk-image-viewer-actions-inner .bk-icon {
243
+ cursor: pointer;
244
+ }
245
+ .bk-image-viewer-actions-inner .bk-icon:hover {
246
+ color: #fff;
247
+ }
248
+ .bk-image-viewer-next,
249
+ .bk-image-viewer-prev {
250
+ top: 50%;
251
+ width: 80px;
252
+ height: 80px;
253
+ font-size: 40px;
254
+ cursor: pointer;
255
+ }
256
+ .bk-image-viewer-prev {
257
+ left: 40px;
258
+ transform: translateY(-50%);
259
+ }
260
+ .bk-image-viewer-next {
261
+ right: 40px;
262
+ text-indent: 2px;
263
+ transform: translateY(-50%);
264
+ }
1
265
  .bk-image {
2
266
  position: relative;
3
267
  display: inline-block;
@@ -18,8 +18,8 @@ declare const BkImage: {
18
18
  style?: unknown;
19
19
  onChange?: (...args: any[]) => any;
20
20
  onError?: (...args: any[]) => any;
21
- key?: string | number | symbol;
22
21
  ref?: import("vue").VNodeRef;
22
+ key?: string | number | symbol;
23
23
  ref_for?: boolean;
24
24
  ref_key?: string;
25
25
  onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -1 +1 @@
1
- !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n(require("../shared"),require("vue"),require("../icon"),require("vue-types"),require("lodash"),require("../directives"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../icon","vue-types","lodash","../directives"],n);else{var t="object"==typeof exports?n(require("../shared"),require("vue"),require("../icon"),require("vue-types"),require("lodash"),require("../directives")):n(e["../shared"],e.vue,e["../icon"],e["vue-types"],e.lodash,e["../directives"]);for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(self,((e,n,t,o,r,i)=>(()=>{"use strict";var a={5458:(e,n,t)=>{var o=t(9601),r=t.n(o),i=t(2609);t.n(i)()(r()).push([e.id,".bk-image-viewer-wrapper {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n background: rgba(0, 0, 0, 0.6);\n flex-direction: column;\n}\n.bk-image-viewer-mask {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.bk-image-viewer-header {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 9;\n display: flex;\n width: 100%;\n height: 52px;\n color: #c4c6cc;\n background: rgba(0, 0, 0, 0.7);\n justify-content: space-between;\n align-items: center;\n}\n.bk-image-viewer-header > div {\n padding: 0 25px;\n overflow: hidden;\n font-size: 14px;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n.bk-image-viewer-header .quit-box {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.bk-image-viewer-header .quit-tips {\n font-size: 14px;\n color: #979ba5;\n}\n.bk-image-viewer-btn {\n position: absolute;\n z-index: 1;\n display: flex;\n color: #dcdee5;\n background-color: rgba(0, 0, 0, 0.3);\n border-radius: 50%;\n opacity: 0.8;\n box-sizing: border-box;\n user-select: none;\n align-items: center;\n justify-content: center;\n}\n.bk-image-viewer-btn:hover {\n color: #fff;\n background-color: rgba(0, 0, 0, 0.4);\n}\n.bk-image-viewer-close {\n height: 52px;\n font-size: 32px;\n line-height: 48px;\n color: #c4c6cc;\n text-align: center;\n cursor: pointer;\n}\n.bk-image-viewer-close:hover {\n color: #fff;\n}\n.bk-image-viewer-canvas {\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n}\n.bk-image-viewer-has-header {\n padding-top: 52px;\n}\n.bk-image-viewer-error {\n font-size: 14px;\n color: #313238;\n text-align: center;\n}\n.bk-image-viewer-error .bk-icon {\n margin-bottom: 15px;\n font-size: 85px;\n line-height: 1;\n}\n.bk-image-viewer-actions {\n bottom: 30px;\n left: 50%;\n width: 282px;\n height: 44px;\n padding: 0 23px;\n background-color: rgba(0, 0, 0, 0.4);\n border-color: #fff;\n border-radius: 22px;\n transform: translateX(-50%);\n}\n.bk-image-viewer-actions:hover {\n background: rgba(0, 0, 0, 0.5);\n}\n.bk-image-viewer-actions-inner {\n display: flex;\n width: 100%;\n height: 100%;\n font-size: 23px;\n color: #c4c6cc;\n text-align: justify;\n align-items: center;\n justify-content: space-around;\n}\n.bk-image-viewer-actions-inner .bk-icon {\n cursor: pointer;\n}\n.bk-image-viewer-actions-inner .bk-icon:hover {\n color: #fff;\n}\n.bk-image-viewer-next,\n.bk-image-viewer-prev {\n top: 50%;\n width: 80px;\n height: 80px;\n font-size: 40px;\n cursor: pointer;\n}\n.bk-image-viewer-prev {\n left: 40px;\n transform: translateY(-50%);\n}\n.bk-image-viewer-next {\n right: 40px;\n text-indent: 2px;\n transform: translateY(-50%);\n}\n",""])},2609:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",o=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),o&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),o&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,o,r,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(a[c]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);o&&a[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),t&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=t):u[2]=t),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),n.push(u))}},n}},9601:e=>{e.exports=function(e){return e[1]}},4061:e=>{e.exports=i},6870:e=>{e.exports=t},4212:n=>{n.exports=e},467:e=>{e.exports=r},748:e=>{e.exports=n},210:e=>{e.exports=o}},l={};function c(e){var n=l[e];if(void 0!==n)return n.exports;var t=l[e]={id:e,exports:{}};return a[e](t,t.exports,c),t.exports}c.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return c.d(n,{a:n}),n},c.d=(e,n)=>{for(var t in n)c.o(n,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},c.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{c.r(s),c.d(s,{Image:()=>l,ImageViewer:()=>v,default:()=>f});var e,n=c(4212),t=c(748),o=c(6870),r=c(210);!function(e){e.FILL="fill",e.CONTAIN="contain",e.COVER="cover",e.NONE="none",e.SCALE_DOWN="scale-down"}(e||(e={}));var i={src:n.PropTypes.string.def(""),fallback:n.PropTypes.string.def(""),placeholder:n.PropTypes.any,fit:(0,r.toType)("fit",{}).def(e.FILL),lazy:n.PropTypes.bool,urlList:n.PropTypes.array.def([]),isShowPreviewTitle:n.PropTypes.bool.def(!0),maskClose:n.PropTypes.bool.def(!0),zIndex:n.PropTypes.number.def(2e3)},a={urlList:{type:Array,default:function(){return[]}},zIndex:n.PropTypes.number.def(2e3),initialIndex:n.PropTypes.number.def(0),isShowTitle:n.PropTypes.bool.def(!0),loops:n.PropTypes.bool.def(!0),maskClose:n.PropTypes.bool.def(!0)};c(5458);const l=(0,t.defineComponent)({name:"Image",props:i,emits:["loaded","error","close","change"],setup:function(e,n){var r=n.emit,i=n.slots,a=(0,t.ref)(!0),l=(0,t.ref)(!0),c=(0,t.ref)(!1),s=(0,t.ref)(""),u=(0,t.ref)("");function d(){}(0,t.watch)((function(){return e.src}),(function(){a.value=!0,l.value=!1,u.value=e.src}));var f=(0,t.computed)((function(){var n;return(null===(n=null==e?void 0:e.urlList)||void 0===n?void 0:n.length)>0}));function p(){document.body.style.overflow=s.value,c.value=!1,r("close")}function m(e){r("change",e)}return function(){return(0,t.createVNode)("div",{class:"bk-image"},[a.value?(0,t.createVNode)("div",{class:"bk-image-placeholder"},[(0,t.createVNode)(o.Spinner,null,null)]):l.value?i.error?"function"==typeof i.error?i.error():i.error:(0,t.createVNode)("div",{class:"bk-image-placeholder"},[e.fallback?(0,t.createVNode)("img",{src:e.fallback,alt:"图片加载错误"},null):"",(0,t.withDirectives)((0,t.createVNode)("i",{class:"bk-icon icon-image-fail"},null),[[(0,t.resolveDirective)("else")]])]):(0,t.createVNode)("img",{src:e.src,onClick:d,style:{objectFit:fit}},null),f.value&&c.value?(0,t.createVNode)(v,{zIndex:e.zIndex,maskClose:e.maskClose,"is-show-title":e.isShowPreviewTitle,"url-list":e.urlList,onClose:p,onChange:m},null):""])}}});var u=c(467),d=c(4061);const v=(0,t.defineComponent)({name:"ImageViewer",directives:{bkTooltips:d.bkTooltips},props:a,emits:["close","change"],setup:function(e,r){var i=r.emit,a=(0,t.effectScope)(),l=(0,t.ref)(),c=(0,t.ref)([]),s=(0,t.ref)(""),d=(0,t.ref)(e.initialIndex),v=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.shallowRef)({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),m=(0,t.computed)((function(){var n;return(null===(n=null==e?void 0:e.urlList)||void 0===n?void 0:n.length)<2})),b=(0,t.computed)((function(){return 0===d.value})),g=(0,t.computed)((function(){return d.value===e.urlList.length-1})),h=(0,t.computed)((function(){return e.urlList[d.value]})),k=(0,t.computed)((function(){var e=h.value.split("/");return e[e.length-1]})),x=(0,t.computed)((function(){var e=p.value,n=e.scale,t=e.deg,o=e.offsetX,r=e.offsetY,i=e.enableTransition,a=o/n,l=r/n;switch(t%360){case 90:case-270:var c=[l,-a];a=c[0],l=c[1];break;case 180:case-180:var u=[-a,-l];a=u[0],l=u[1];break;case 270:case-90:var d=[-l,a];a=d[0],l=d[1]}var v={transform:"scale(".concat(n,") rotate(").concat(t,"deg) translate(").concat(a,"px, ").concat(l,"px)"),transition:i?"transform .3s":""};return"contain"===s.value&&(v.maxWidth="100%",v.maxHeight="100%"),v})),w=(0,t.computed)((function(){var t=2e3;return e.zIndex?t=e.zIndex:t+=n.bkZIndexManager.getModalNextIndex()||1,{zIndex:t}})),y=(0,u.throttle)((function(e){switch(Number(e.code)){case 27:V();break;case 32:v.value||(s.value="original",p.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1});break;case 37:T();break;case 38:L("zoomIn");break;case 39:z();break;case 40:L("zoomOut")}})),N=(0,u.throttle)((function(e){L((e.wheelDelta?e.wheelDelta:-e.detail)>0?"zoomIn":"zoomOut",{zoomRate:1.2,enableTransition:!1})}));function V(){document.removeEventListener("keydown",y),document.removeEventListener("mousewheel",N),a.stop(),i("close")}function T(){if(!b.value||e.loops){var n=e.urlList.length;d.value=(d.value-1+n)%n}}function z(){if(!g.value||e.loops){var n=e.urlList.length;d.value=(d.value+1)%n}}function L(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!v.value){var t=Object.assign({zoomRate:.2,rotateDeg:90,enableTransition:!0},n),o=t.zoomRate,r=t.rotateDeg,i=t.enableTransition;switch(e){case"zoomOut":p.value.scale>.2&&(p.value.scale=Number.parseFloat((p.value.scale-o).toFixed(3)));break;case"zoomIn":p.value.scale<7&&(p.value.scale=Number.parseFloat((p.value.scale+o).toFixed(3)));break;case"clockwise":p.value.deg+=r;break;case"anticlockwise":p.value.deg-=r}p.value.enableTransition=i}}function C(){f.value=!1,v.value=!1}function I(e){f.value=!0,v.value=!1,e.target.alt="加载失败"}function j(e){if(!v.value&&0===e.button&&l.value){p.value.enableTransition=!1;var n=p.value,t=n.offsetX,o=n.offsetY,r=e.pageX,i=e.pageY,a=(0,u.throttle)((function(e){p.value=Object.assign(Object.assign({},p.value),{offsetX:t+e.pageX-r,offsetY:o+e.pageY-i})}));document.addEventListener("mousemove",a),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",e)})),e.preventDefault()}}return a.run((function(){document.addEventListener("keydown",y),document.addEventListener("mousewheel",N)})),function(){return(0,t.createVNode)(t.Teleport,{to:"body"},{default:function(){return[(0,t.createVNode)(t.Transition,null,{default:function(){return[(0,t.createVNode)("div",{tabindex:"-1",ref:"wrapper",class:"bk-image-viewer-wrapper",style:w.value},[(0,t.createVNode)("div",{class:"bk-image-viewer-mask",onClick:function(){e.maskClose&&V()}},null),e.isShowTitle&&e.urlList.length?(0,t.createVNode)("div",{class:"bk-image-viewer-header"},[(0,t.createVNode)("div",null,[k]),(0,t.createVNode)("div",{class:"tc "},[d.value+1,(0,t.createTextVNode)("/"),e.urlList.length]),(0,t.createVNode)("div",{class:"quit-box tr"},[(0,t.createVNode)("div",{class:"quit-tips mr10"},[(0,t.createTextVNode)("ESC 可以退出全屏")]),(0,t.createVNode)("div",{class:"bk-image-viewer-close",onClick:V},[(0,t.createVNode)(o.Close,null,null)])])]):"",m.value?"":(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)("div",{onClick:T,class:"bk-image-viewer-btn bk-image-viewer-prev ".concat(!e.loops&&b?"is-disabled":"")},[(0,t.createVNode)(o.AngleLeft,null,null)]),(0,t.createVNode)("div",{onClick:z,class:"bk-image-viewer-btn bk-image-viewer-prev ".concat(!e.loops&&g?"is-disabled":"")},[(0,t.createVNode)(o.AngleRight,null,null)]),(0,t.createVNode)("div",{class:"bk-image-viewer-actions-inner"},[(0,t.withDirectives)((0,t.createVNode)(o.AngleLeft,{onClick:function(){return L("zoomOut")}},null),[[(0,t.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]]),(0,t.withDirectives)((0,t.createVNode)("i",{class:"",onClick:function(){return L("zoomOut")}},null),[[(0,t.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]]),(0,t.withDirectives)((0,t.createVNode)("i",{class:"bk-icon icon-narrow-line",onClick:function(){return L("zoomOut")}},null),[[(0,t.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]])])]),(0,t.createVNode)("div",{class:"bk-image-viewer-canvas ".concat(e.isShowTitle?"bk-image-viewer-has-header":"")},[f.value?(0,t.createVNode)("div",{class:"bk-image-viewer-error"},[(0,t.createVNode)("div",null,[(0,t.createVNode)("i",{class:"bk-icon icon-image-fail"},null)]),(0,t.createVNode)("div",null,[(0,t.createTextVNode)("抱歉,图片加载失败")])]):e.urlList.map((function(e,n){return n===d.value?"":(0,t.createVNode)("img",{key:n,ref:function(e){return c[n]=e},class:"bk-image-viewer-img",style:x.value,src:e,onLoad:C,onError:I,onMousedown:j},null)}))])])]}})]}})}}}),f=(0,n.withInstall)(l)})(),s})()));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../shared"),require("vue"),require("../config-provider"),require("../icon"),require("vue-types"),require("lodash"),require("../directives"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../config-provider","../icon","vue-types","lodash","../directives"],t);else{var o="object"==typeof exports?t(require("../shared"),require("vue"),require("../config-provider"),require("../icon"),require("vue-types"),require("lodash"),require("../directives")):t(e["../shared"],e.vue,e["../config-provider"],e["../icon"],e["vue-types"],e.lodash,e["../directives"]);for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(self,((e,t,o,r,a,n,i)=>(()=>{"use strict";var l={2717:e=>{e.exports=o},4061:e=>{e.exports=i},6870:e=>{e.exports=r},4212:t=>{t.exports=e},467:e=>{e.exports=n},748:e=>{e.exports=t},210:e=>{e.exports=a}},c={};function s(e){var t=c[e];if(void 0!==t)return t.exports;var o=c[e]={exports:{}};return l[e](o,o.exports,s),o.exports}s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{s.r(u),s.d(u,{Image:()=>c,ImageViewer:()=>f,default:()=>p});var e,t=s(4212),o=s(748),r=s(2717),a=s(6870),n=s(210);!function(e){e.FILL="fill",e.CONTAIN="contain",e.COVER="cover",e.NONE="none",e.SCALE_DOWN="scale-down"}(e||(e={}));var i={src:t.PropTypes.string.def(""),fallback:t.PropTypes.string.def(""),placeholder:t.PropTypes.any,fit:(0,n.toType)("fit",{}).def(e.FILL),lazy:t.PropTypes.bool,urlList:t.PropTypes.array.def([]),isShowPreviewTitle:t.PropTypes.bool.def(!0),maskClose:t.PropTypes.bool.def(!0),zIndex:t.PropTypes.number.def(2e3)},l={urlList:{type:Array,default:function(){return[]}},zIndex:t.PropTypes.number.def(2e3),initialIndex:t.PropTypes.number.def(0),isShowTitle:t.PropTypes.bool.def(!0),loops:t.PropTypes.bool.def(!0),maskClose:t.PropTypes.bool.def(!0)};const c=(0,o.defineComponent)({name:"Image",props:i,emits:["loaded","error","close","change"],setup:function(e,t){var n=t.emit,i=t.slots,l=(0,o.ref)(!0),c=(0,o.ref)(!0),s=(0,o.ref)(!1),u=(0,o.ref)(""),d=(0,o.ref)("");function v(){}(0,o.watch)((function(){return e.src}),(function(){l.value=!0,c.value=!1,d.value=e.src}));var p=(0,o.computed)((function(){var t;return(null===(t=null==e?void 0:e.urlList)||void 0===t?void 0:t.length)>0}));function m(){document.body.style.overflow=u.value,s.value=!1,n("close")}function g(e){n("change",e)}var b=(0,r.usePrefix)().resolveClassName;return function(){return(0,o.createVNode)("div",{class:"".concat(b("image"))},[l.value?(0,o.createVNode)("div",{class:"".concat(b("image-placeholder"))},[(0,o.createVNode)(a.Spinner,null,null)]):c.value?i.error?"function"==typeof i.error?i.error():i.error:(0,o.createVNode)("div",{class:"".concat(b("image-placeholder"))},[e.fallback?(0,o.createVNode)("img",{src:e.fallback,alt:"图片加载错误"},null):"",(0,o.withDirectives)((0,o.createVNode)("i",{class:"".concat(b("icon")," icon-image-fail")},null),[[(0,o.resolveDirective)("else")]])]):(0,o.createVNode)("img",{src:e.src,onClick:v,style:{objectFit:fit}},null),p.value&&s.value?(0,o.createVNode)(f,{zIndex:e.zIndex,maskClose:e.maskClose,"is-show-title":e.isShowPreviewTitle,"url-list":e.urlList,onClose:m,onChange:g},null):""])}}});var d=s(467),v=s(4061);const f=(0,o.defineComponent)({name:"ImageViewer",directives:{bkTooltips:v.bkTooltips},props:l,emits:["close","change"],setup:function(e,n){var i=n.emit,l=(0,o.effectScope)(),c=(0,o.ref)(),s=(0,o.ref)([]),u=(0,o.ref)(""),v=(0,o.ref)(e.initialIndex),f=(0,o.ref)(!1),p=(0,o.ref)(!1),m=(0,o.shallowRef)({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),g=(0,o.computed)((function(){var t;return(null===(t=null==e?void 0:e.urlList)||void 0===t?void 0:t.length)<2})),b=(0,o.computed)((function(){return 0===v.value})),h=(0,o.computed)((function(){return v.value===e.urlList.length-1})),w=(0,o.computed)((function(){return e.urlList[v.value]})),N=(0,o.computed)((function(){var e=w.value.split("/");return e[e.length-1]})),y=(0,o.computed)((function(){var e=m.value,t=e.scale,o=e.deg,r=e.offsetX,a=e.offsetY,n=e.enableTransition,i=r/t,l=a/t;switch(o%360){case 90:case-270:var c=[l,-i];i=c[0],l=c[1];break;case 180:case-180:var s=[-i,-l];i=s[0],l=s[1];break;case 270:case-90:var d=[-l,i];i=d[0],l=d[1]}var v={transform:"scale(".concat(t,") rotate(").concat(o,"deg) translate(").concat(i,"px, ").concat(l,"px)"),transition:n?"transform .3s":""};return"contain"===u.value&&(v.maxWidth="100%",v.maxHeight="100%"),v})),x=(0,o.computed)((function(){var o=2e3;return e.zIndex?o=e.zIndex:o+=t.bkZIndexManager.getModalNextIndex()||1,{zIndex:o}})),V=(0,d.throttle)((function(e){switch(Number(e.code)){case 27:T();break;case 32:f.value||(u.value="original",m.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1});break;case 37:L();break;case 38:I("zoomIn");break;case 39:C();break;case 40:I("zoomOut")}})),k=(0,d.throttle)((function(e){I((e.wheelDelta?e.wheelDelta:-e.detail)>0?"zoomIn":"zoomOut",{zoomRate:1.2,enableTransition:!1})}));function T(){document.removeEventListener("keydown",V),document.removeEventListener("mousewheel",k),l.stop(),i("close")}function L(){if(!b.value||e.loops){var t=e.urlList.length;v.value=(v.value-1+t)%t}}function C(){if(!h.value||e.loops){var t=e.urlList.length;v.value=(v.value+1)%t}}function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!f.value){var o=Object.assign({zoomRate:.2,rotateDeg:90,enableTransition:!0},t),r=o.zoomRate,a=o.rotateDeg,n=o.enableTransition;switch(e){case"zoomOut":m.value.scale>.2&&(m.value.scale=Number.parseFloat((m.value.scale-r).toFixed(3)));break;case"zoomIn":m.value.scale<7&&(m.value.scale=Number.parseFloat((m.value.scale+r).toFixed(3)));break;case"clockwise":m.value.deg+=a;break;case"anticlockwise":m.value.deg-=a}m.value.enableTransition=n}}function P(){p.value=!1,f.value=!1}function z(e){p.value=!0,f.value=!1,e.target.alt="加载失败"}function O(e){if(!f.value&&0===e.button&&c.value){m.value.enableTransition=!1;var t=m.value,o=t.offsetX,r=t.offsetY,a=e.pageX,n=e.pageY,i=(0,d.throttle)((function(e){m.value=Object.assign(Object.assign({},m.value),{offsetX:o+e.pageX-a,offsetY:r+e.pageY-n})}));document.addEventListener("mousemove",i),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)})),e.preventDefault()}}l.run((function(){document.addEventListener("keydown",V),document.addEventListener("mousewheel",k)}));var q=(0,r.usePrefix)().resolveClassName;return function(){return(0,o.createVNode)(o.Teleport,{to:"body"},{default:function(){return[(0,o.createVNode)(o.Transition,null,{default:function(){return[(0,o.createVNode)("div",{tabindex:"-1",ref:"wrapper",class:"".concat(q("image-viewer-wrapper")),style:x.value},[(0,o.createVNode)("div",{class:"".concat(q("image-viewer-mask")),onClick:function(){e.maskClose&&T()}},null),e.isShowTitle&&e.urlList.length?(0,o.createVNode)("div",{class:"".concat(q("image-viewer-header"))},[(0,o.createVNode)("div",null,[N]),(0,o.createVNode)("div",{class:"tc "},[v.value+1,(0,o.createTextVNode)("/"),e.urlList.length]),(0,o.createVNode)("div",{class:"quit-box tr"},[(0,o.createVNode)("div",{class:"quit-tips mr10"},[(0,o.createTextVNode)("ESC 可以退出全屏")]),(0,o.createVNode)("div",{class:"".concat(q("image-viewer-close")),onClick:T},[(0,o.createVNode)(a.Close,null,null)])])]):"",g.value?"":(0,o.createVNode)(o.Fragment,null,[(0,o.createVNode)("div",{onClick:L,class:"".concat(q("image-viewer-btn")," ").concat(q("image-viewer-prev")," ").concat(!e.loops&&b?"is-disabled":"")},[(0,o.createVNode)(a.AngleLeft,null,null)]),(0,o.createVNode)("div",{onClick:C,class:"".concat(q("image-viewer-btn")," ").concat(q("image-viewer-prev")," ").concat(!e.loops&&h?"is-disabled":"")},[(0,o.createVNode)(a.AngleRight,null,null)]),(0,o.createVNode)("div",{class:"".concat(q("image-viewer-actions-inner"))},[(0,o.withDirectives)((0,o.createVNode)(a.AngleLeft,{onClick:function(){return I("zoomOut")}},null),[[(0,o.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]]),(0,o.withDirectives)((0,o.createVNode)("i",{class:"",onClick:function(){return I("zoomOut")}},null),[[(0,o.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]]),(0,o.withDirectives)((0,o.createVNode)("i",{class:"".concat(q("icon")," icon-narrow-line"),onClick:function(){return I("zoomOut")}},null),[[(0,o.resolveDirective)("bk-tooltips"),"{content: '提示信息', placement: 'top'}"]])])]),(0,o.createVNode)("div",{class:"".concat(q("image-viewer-canvas")," ").concat(e.isShowTitle?q("image-viewer-has-header"):"")},[p.value?(0,o.createVNode)("div",{class:"".concat(q("image-viewer-error"))},[(0,o.createVNode)("div",null,[(0,o.createVNode)("i",{class:"".concat(q("icon")," icon-image-fail")},null)]),(0,o.createVNode)("div",null,[(0,o.createTextVNode)("抱歉,图片加载失败")])]):e.urlList.map((function(e,t){return t===v.value?"":(0,o.createVNode)("img",{key:t,ref:function(e){return s[t]=e},class:"".concat(q("image-viewer-img")),style:y.value,src:e,onLoad:P,onError:z,onMousedown:O},null)}))])])]}})]}})}}}),p=(0,t.withInstall)(c)})(),u})()));