bkui-vue 0.0.2-beta.36 → 0.0.2-beta.37

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 (169) hide show
  1. package/lib/affix/index.js +391 -1
  2. package/lib/alert/index.js +287 -1
  3. package/lib/animate-number/index.js +219 -1
  4. package/lib/backtop/index.js +264 -1
  5. package/lib/badge/index.js +304 -1
  6. package/lib/breadcrumb/index.js +379 -1
  7. package/lib/button/index.js +403 -1
  8. package/lib/card/index.js +369 -1
  9. package/lib/cascader/index.js +2095 -2
  10. package/lib/checkbox/index.js +602 -1
  11. package/lib/code-diff/index.js +5548 -1
  12. package/lib/collapse/index.js +605 -1
  13. package/lib/collapse-transition/index.js +237 -1
  14. package/lib/color-picker/index.js +2735 -1
  15. package/lib/components.js +770 -1
  16. package/lib/config-provider/index.js +377 -1
  17. package/lib/container/index.js +408 -1
  18. package/lib/date-picker/index.js +5576 -1
  19. package/lib/dialog/index.js +1324 -2
  20. package/lib/directives/index.js +1386 -2
  21. package/lib/dist.index.js +179 -1
  22. package/lib/divider/index.js +237 -1
  23. package/lib/dropdown/index.js +455 -1
  24. package/lib/exception/index.js +435 -1
  25. package/lib/fixed-navbar/index.js +222 -1
  26. package/lib/form/index.js +1004 -1
  27. package/lib/hooks.js +133 -1
  28. package/lib/icon/angle-double-down-line.js +541 -1
  29. package/lib/icon/angle-double-left-line.js +541 -1
  30. package/lib/icon/angle-double-left.js +541 -1
  31. package/lib/icon/angle-double-right-line.js +541 -1
  32. package/lib/icon/angle-double-right.js +541 -1
  33. package/lib/icon/angle-double-up-line.js +541 -1
  34. package/lib/icon/angle-down-fill.js +541 -1
  35. package/lib/icon/angle-down-line.js +541 -1
  36. package/lib/icon/angle-down.js +541 -1
  37. package/lib/icon/angle-left.js +541 -1
  38. package/lib/icon/angle-right.js +541 -1
  39. package/lib/icon/angle-up-fill.js +541 -1
  40. package/lib/icon/angle-up.js +541 -1
  41. package/lib/icon/archive-fill.js +541 -1
  42. package/lib/icon/arrows-left.js +541 -1
  43. package/lib/icon/arrows-right.js +541 -1
  44. package/lib/icon/assistant.js +541 -1
  45. package/lib/icon/audio-fill.js +541 -1
  46. package/lib/icon/bk.js +541 -1
  47. package/lib/icon/circle.js +541 -1
  48. package/lib/icon/close-line.js +541 -1
  49. package/lib/icon/close.js +541 -1
  50. package/lib/icon/code.js +541 -1
  51. package/lib/icon/cog-shape.js +541 -1
  52. package/lib/icon/collapse-left.js +541 -1
  53. package/lib/icon/copy-shape.js +541 -1
  54. package/lib/icon/copy.js +541 -1
  55. package/lib/icon/data-shape.js +541 -1
  56. package/lib/icon/del.js +541 -1
  57. package/lib/icon/doc-fill.js +541 -1
  58. package/lib/icon/done.js +541 -1
  59. package/lib/icon/down-shape.js +541 -1
  60. package/lib/icon/down-small.js +541 -1
  61. package/lib/icon/edit-line.js +541 -1
  62. package/lib/icon/ellipsis.js +541 -1
  63. package/lib/icon/enlarge-line.js +541 -1
  64. package/lib/icon/error.js +541 -1
  65. package/lib/icon/excel-fill.js +541 -1
  66. package/lib/icon/exclamation-circle-shape.js +541 -1
  67. package/lib/icon/eye.js +541 -1
  68. package/lib/icon/filliscreen-line.js +541 -1
  69. package/lib/icon/fix-line.js +541 -1
  70. package/lib/icon/fix-shape.js +541 -1
  71. package/lib/icon/folder-open.js +541 -1
  72. package/lib/icon/folder-shape-open.js +541 -1
  73. package/lib/icon/folder-shape.js +541 -1
  74. package/lib/icon/folder.js +541 -1
  75. package/lib/icon/funnel.js +541 -1
  76. package/lib/icon/help-document-fill.js +541 -1
  77. package/lib/icon/help-fill.js +541 -1
  78. package/lib/icon/help.js +541 -1
  79. package/lib/icon/image-fill.js +563 -1
  80. package/lib/icon/img-error.js +563 -1
  81. package/lib/icon/img-placehoulder.js +563 -1
  82. package/lib/icon/index.js +2353 -1
  83. package/lib/icon/info-line.js +563 -1
  84. package/lib/icon/info.js +563 -1
  85. package/lib/icon/left-shape.js +563 -1
  86. package/lib/icon/left-turn-line.js +563 -1
  87. package/lib/icon/narrow-line.js +563 -1
  88. package/lib/icon/original.js +563 -1
  89. package/lib/icon/pdf-fill.js +563 -1
  90. package/lib/icon/play-shape.js +563 -1
  91. package/lib/icon/plus.js +563 -1
  92. package/lib/icon/ppt-fill.js +563 -1
  93. package/lib/icon/qq.js +563 -1
  94. package/lib/icon/right-shape.js +563 -1
  95. package/lib/icon/right-turn-line.js +563 -1
  96. package/lib/icon/search.js +563 -1
  97. package/lib/icon/share.js +563 -1
  98. package/lib/icon/spinner.js +563 -1
  99. package/lib/icon/success.js +563 -1
  100. package/lib/icon/switcher-loading.js +563 -1
  101. package/lib/icon/text-file.js +563 -1
  102. package/lib/icon/text-fill.js +563 -1
  103. package/lib/icon/transfer.js +563 -1
  104. package/lib/icon/tree-application-shape.js +563 -1
  105. package/lib/icon/unfull-screen.js +563 -1
  106. package/lib/icon/unvisible.js +563 -1
  107. package/lib/icon/up-shape.js +563 -1
  108. package/lib/icon/upload.js +563 -1
  109. package/lib/icon/video-fill.js +563 -1
  110. package/lib/icon/warn.js +563 -1
  111. package/lib/icon/weixin-pro.js +563 -1
  112. package/lib/icon/weixin.js +563 -1
  113. package/lib/image/index.js +681 -1
  114. package/lib/index.js +195 -1
  115. package/lib/info-box/index.js +1514 -2
  116. package/lib/input/index.js +1038 -1
  117. package/lib/link/index.js +232 -1
  118. package/lib/loading/index.js +443 -1
  119. package/lib/locale/index.js +489 -1
  120. package/lib/menu/index.js +793 -1
  121. package/lib/message/index.js +1842 -2
  122. package/lib/modal/index.js +407 -1
  123. package/lib/navigation/index.js +439 -1
  124. package/lib/notify/index.js +470 -1
  125. package/lib/overflow-title/index.js +547 -1
  126. package/lib/pagination/index.js +974 -1
  127. package/lib/plugin-popover/index.js +4121 -1
  128. package/lib/plugins/index.js +130 -1
  129. package/lib/pop-confirm/index.js +367 -1
  130. package/lib/popover/index.js +4127 -1
  131. package/lib/popover2/index.js +171 -1
  132. package/lib/preset.js +164 -1
  133. package/lib/process/index.js +1146 -2
  134. package/lib/progress/index.js +495 -1
  135. package/lib/radio/index.js +693 -1
  136. package/lib/rate/index.js +406 -1
  137. package/lib/resize-layout/index.js +499 -1
  138. package/lib/search-select/index.js +3024 -2
  139. package/lib/select/index.js +2599 -2
  140. package/lib/shared/index.js +2832 -1
  141. package/lib/sideslider/index.js +1056 -2
  142. package/lib/slider/index.js +1683 -2
  143. package/lib/steps/index.js +1215 -2
  144. package/lib/swiper/index.js +404 -1
  145. package/lib/switcher/index.js +335 -1
  146. package/lib/tab/index.js +935 -1
  147. package/lib/table/index.js +6588 -1
  148. package/lib/table-column/index.js +768 -1
  149. package/lib/tag/index.js +309 -1
  150. package/lib/tag-input/index.js +1758 -1
  151. package/lib/time-picker/index.js +142 -1
  152. package/lib/timeline/index.js +310 -1
  153. package/lib/transfer/index.js +767 -1
  154. package/lib/tree/index.js +2664 -1
  155. package/lib/upload/index.js +3257 -2
  156. package/lib/virtual-render/index.js +806 -1
  157. package/package.json +1 -1
  158. package/lib/cascader/index.js.LICENSE.txt +0 -1
  159. package/lib/dialog/index.js.LICENSE.txt +0 -1
  160. package/lib/directives/index.js.LICENSE.txt +0 -14
  161. package/lib/info-box/index.js.LICENSE.txt +0 -1
  162. package/lib/message/index.js.LICENSE.txt +0 -6
  163. package/lib/process/index.js.LICENSE.txt +0 -1
  164. package/lib/search-select/index.js.LICENSE.txt +0 -1
  165. package/lib/select/index.js.LICENSE.txt +0 -1
  166. package/lib/sideslider/index.js.LICENSE.txt +0 -1
  167. package/lib/slider/index.js.LICENSE.txt +0 -1
  168. package/lib/steps/index.js.LICENSE.txt +0 -1
  169. package/lib/upload/index.js.LICENSE.txt +0 -1
@@ -1 +1,391 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../shared"),require("vue"),require("lodash"),require("../config-provider"));else if("function"==typeof define&&define.amd)define(["../shared","vue","lodash","../config-provider"],t);else{var o="object"==typeof exports?t(require("../shared"),require("vue"),require("lodash"),require("../config-provider")):t(e["../shared"],e.vue,e.lodash,e["../config-provider"]);for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(self,((e,t,o,n)=>(()=>{"use strict";var r={2717:e=>{e.exports=n},4212:t=>{t.exports=e},467:e=>{e.exports=o},748:e=>{e.exports=t}},u={};function i(e){var t=u[e];if(void 0!==t)return t.exports;var o=u[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};return(()=>{i.r(l),i.d(l,{default:()=>c});var e=i(4212);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}var o=i(748),n=i(467),r=i(2717),u=document.addEventListener?function(e,t,o){e&&t&&o&&e.addEventListener(t,o,!0)}:function(e,t,o){e&&t&&o&&e.attachEvent("on".concat(t),o)},a=document.removeEventListener?function(e,t,o){e&&t&&e.removeEventListener(t,o,!0)}:function(e,t,o){e&&t&&e.detachEvent("on".concat(t),o)};const f=(0,o.defineComponent)({name:"Affix",props:{offsetTop:e.PropTypes.number.def(0),offsetBottom:e.PropTypes.number,target:e.PropTypes.string.def(""),zIndex:e.PropTypes.number.def(1e3)},emits:["change"],setup:function(i,l){var f=l.emit,c=l.slots,v=(0,o.ref)(null),p=(0,o.ref)(null),s=(0,o.ref)(),d=(0,o.ref)({}),m=(0,o.getCurrentInstance)().proxy,g=(0,o.ref)(0),b=(0,o.computed)((function(){return Object.assign(Object.assign({},d.value),{"z-index":i.zIndex})}));(0,o.onMounted)((function(){g.value=m.$el.offsetWidth,s.value=i.target?document.querySelector(i.target):window,u(s.value,"scroll",T),u(s.value,"resize",T),(0,o.nextTick)((function(){j()}))}));var y=(0,r.usePrefix)().resolveClassName,w=(0,o.ref)(!1),x=(0,o.computed)((function(){return(0,e.classes)((o={},n="".concat(y("affix")),r=w.value,(n=function(e){var o=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(o)?o:String(o)}(n))in o?Object.defineProperty(o,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[n]=r,o));var o,n,r})),h=(0,o.computed)((function(){return i.offsetBottom>=0?"bottom":"top"})),S=function(){"top"===h.value?d.value={top:"".concat(s.value.getBoundingClientRect().top+i.offsetTop,"px")}:d.value={bottom:"".concat(window.innerHeight-s.value.getBoundingClientRect().bottom+i.offsetBottom,"px")}},T=(0,n.throttle)((function(){j()}),100),j=function(){var e=s.value===window?{top:0,left:0,bottom:window.innerHeight}:s.value.getBoundingClientRect(),t=function(e){var t=e.value.getBoundingClientRect(),o=s.value===window?{top:0,left:0}:s.value.getBoundingClientRect(),n=s.value.clientTop||0,r=s.value.clientLeft||0;return{top:t.top-o.top-n,left:t.left-o.left-r}}(p),o=s.value===window?s.value.innerHeight:s.value.clientHeight,n=v.value.offsetHeight;t.top<i.offsetTop&&"top"===h.value&&!w.value?(w.value=!0,d.value={position:"fixed",top:"".concat(e.top+i.offsetTop,"px"),left:"".concat(e.left+t.left,"px"),width:"".concat(g.value,"px")},s.value!==window&&u(window,"scroll",S),f("change",!0)):t.top>i.offsetTop&&"top"===h.value&&w.value&&(w.value=!1,d.value=null,f("change",!1)),t.top+i.offsetBottom+n>o&&"bottom"===h.value&&!w.value?(w.value=!0,d.value={bottom:"".concat(window.innerHeight-e.bottom+i.offsetBottom,"px"),left:"".concat(e.left+t.left,"px"),width:"".concat(g.value,"px")},s.value!==window&&u(window,"scroll",S),f("change",!0)):t.top+i.offsetBottom+n<o&&"bottom"===h.value&&w.value&&(w.value=!1,d.value=null,f("change",!1))};return(0,o.onBeforeUnmount)((function(){a(s.value,"scroll",T),a(s.value,"resize",T),a(window,"scroll",S)})),function(){var e;return(0,o.createVNode)("div",{ref:p},[(0,o.createVNode)("div",{ref:v,class:x.value,style:b.value},[null===(e=c.default)||void 0===e?void 0:e.call(c)])])}}}),c=(0,e.withInstall)(f)})(),l})()));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("../shared"), require("vue"), require("lodash"), require("../config-provider"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["../shared", "vue", "lodash", "../config-provider"], factory);
6
+ else {
7
+ var a = typeof exports === 'object' ? factory(require("../shared"), require("vue"), require("lodash"), require("../config-provider")) : factory(root["../shared"], root["vue"], root["lodash"], root["../config-provider"]);
8
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
+ }
10
+ })(self, (__WEBPACK_EXTERNAL_MODULE__4212__, __WEBPACK_EXTERNAL_MODULE__748__, __WEBPACK_EXTERNAL_MODULE__467__, __WEBPACK_EXTERNAL_MODULE__2717__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ 2717:
16
+ /***/ ((module) => {
17
+
18
+ module.exports = __WEBPACK_EXTERNAL_MODULE__2717__;
19
+
20
+ /***/ }),
21
+
22
+ /***/ 4212:
23
+ /***/ ((module) => {
24
+
25
+ module.exports = __WEBPACK_EXTERNAL_MODULE__4212__;
26
+
27
+ /***/ }),
28
+
29
+ /***/ 467:
30
+ /***/ ((module) => {
31
+
32
+ module.exports = __WEBPACK_EXTERNAL_MODULE__467__;
33
+
34
+ /***/ }),
35
+
36
+ /***/ 748:
37
+ /***/ ((module) => {
38
+
39
+ module.exports = __WEBPACK_EXTERNAL_MODULE__748__;
40
+
41
+ /***/ })
42
+
43
+ /******/ });
44
+ /************************************************************************/
45
+ /******/ // The module cache
46
+ /******/ var __webpack_module_cache__ = {};
47
+ /******/
48
+ /******/ // The require function
49
+ /******/ function __webpack_require__(moduleId) {
50
+ /******/ // Check if module is in cache
51
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
52
+ /******/ if (cachedModule !== undefined) {
53
+ /******/ return cachedModule.exports;
54
+ /******/ }
55
+ /******/ // Create a new module (and put it into the cache)
56
+ /******/ var module = __webpack_module_cache__[moduleId] = {
57
+ /******/ // no module.id needed
58
+ /******/ // no module.loaded needed
59
+ /******/ exports: {}
60
+ /******/ };
61
+ /******/
62
+ /******/ // Execute the module function
63
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
64
+ /******/
65
+ /******/ // Return the exports of the module
66
+ /******/ return module.exports;
67
+ /******/ }
68
+ /******/
69
+ /************************************************************************/
70
+ /******/ /* webpack/runtime/define property getters */
71
+ /******/ (() => {
72
+ /******/ // define getter functions for harmony exports
73
+ /******/ __webpack_require__.d = (exports, definition) => {
74
+ /******/ for(var key in definition) {
75
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
76
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
77
+ /******/ }
78
+ /******/ }
79
+ /******/ };
80
+ /******/ })();
81
+ /******/
82
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
83
+ /******/ (() => {
84
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
85
+ /******/ })();
86
+ /******/
87
+ /******/ /* webpack/runtime/make namespace object */
88
+ /******/ (() => {
89
+ /******/ // define __esModule on exports
90
+ /******/ __webpack_require__.r = (exports) => {
91
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
92
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
93
+ /******/ }
94
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
95
+ /******/ };
96
+ /******/ })();
97
+ /******/
98
+ /************************************************************************/
99
+ var __webpack_exports__ = {};
100
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
101
+ (() => {
102
+ // ESM COMPAT FLAG
103
+ __webpack_require__.r(__webpack_exports__);
104
+
105
+ // EXPORTS
106
+ __webpack_require__.d(__webpack_exports__, {
107
+ "default": () => (/* binding */ src)
108
+ });
109
+
110
+ // EXTERNAL MODULE: external "../shared"
111
+ var external_shared_ = __webpack_require__(4212);
112
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/typeof.js
113
+ function _typeof(obj) {
114
+ "@babel/helpers - typeof";
115
+
116
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
117
+ return typeof obj;
118
+ } : function (obj) {
119
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
120
+ }, _typeof(obj);
121
+ }
122
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js
123
+
124
+ function _toPrimitive(input, hint) {
125
+ if (_typeof(input) !== "object" || input === null) return input;
126
+ var prim = input[Symbol.toPrimitive];
127
+ if (prim !== undefined) {
128
+ var res = prim.call(input, hint || "default");
129
+ if (_typeof(res) !== "object") return res;
130
+ throw new TypeError("@@toPrimitive must return a primitive value.");
131
+ }
132
+ return (hint === "string" ? String : Number)(input);
133
+ }
134
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
135
+
136
+
137
+ function _toPropertyKey(arg) {
138
+ var key = _toPrimitive(arg, "string");
139
+ return _typeof(key) === "symbol" ? key : String(key);
140
+ }
141
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
142
+
143
+ function _defineProperty(obj, key, value) {
144
+ key = _toPropertyKey(key);
145
+ if (key in obj) {
146
+ Object.defineProperty(obj, key, {
147
+ value: value,
148
+ enumerable: true,
149
+ configurable: true,
150
+ writable: true
151
+ });
152
+ } else {
153
+ obj[key] = value;
154
+ }
155
+ return obj;
156
+ }
157
+ // EXTERNAL MODULE: external "vue"
158
+ var external_vue_ = __webpack_require__(748);
159
+ // EXTERNAL MODULE: external "lodash"
160
+ var external_lodash_ = __webpack_require__(467);
161
+ // EXTERNAL MODULE: external "../config-provider"
162
+ var external_config_provider_ = __webpack_require__(2717);
163
+ ;// CONCATENATED MODULE: ../../packages/affix/src/affix.tsx
164
+
165
+
166
+ /*
167
+ * Tencent is pleased to support the open source community by making
168
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
169
+ *
170
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
171
+ *
172
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
173
+ *
174
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
175
+ *
176
+ * ---------------------------------------------------
177
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
178
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
179
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
180
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
181
+ *
182
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
183
+ * the Software.
184
+ *
185
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
186
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
187
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
188
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
189
+ * IN THE SOFTWARE.
190
+ */
191
+
192
+
193
+
194
+
195
+ var on = function () {
196
+ if (document.addEventListener) {
197
+ return function (element, event, handler) {
198
+ if (element && event && handler) {
199
+ element.addEventListener(event, handler, true);
200
+ }
201
+ };
202
+ }
203
+ return function (element, event, handler) {
204
+ if (element && event && handler) {
205
+ element.attachEvent("on".concat(event), handler);
206
+ }
207
+ };
208
+ }();
209
+ // 兼容浏览器,移除事件监听器
210
+ var off = function () {
211
+ if (document.removeEventListener) {
212
+ return function (element, event, handler) {
213
+ if (element && event) {
214
+ element.removeEventListener(event, handler, true);
215
+ }
216
+ };
217
+ }
218
+ return function (element, event, handler) {
219
+ if (element && event) {
220
+ element.detachEvent("on".concat(event), handler);
221
+ }
222
+ };
223
+ }();
224
+ /* harmony default export */ const affix = ((0,external_vue_.defineComponent)({
225
+ name: 'Affix',
226
+ props: {
227
+ offsetTop: external_shared_.PropTypes.number.def(0),
228
+ offsetBottom: external_shared_.PropTypes.number,
229
+ target: external_shared_.PropTypes.string.def(''),
230
+ zIndex: external_shared_.PropTypes.number.def(1000)
231
+ },
232
+ emits: ['change'],
233
+ setup: function setup(props, _ref) {
234
+ var emit = _ref.emit,
235
+ slots = _ref.slots;
236
+ var point = (0,external_vue_.ref)(null);
237
+ var root = (0,external_vue_.ref)(null);
238
+ var targetEl = (0,external_vue_.ref)();
239
+ var styles = (0,external_vue_.ref)({});
240
+ var _getCurrentInstance = (0,external_vue_.getCurrentInstance)(),
241
+ proxy = _getCurrentInstance.proxy;
242
+ var affixWidth = (0,external_vue_.ref)(0);
243
+ var offsetStyles = (0,external_vue_.computed)(function () {
244
+ return Object.assign(Object.assign({}, styles.value), {
245
+ 'z-index': props.zIndex
246
+ });
247
+ });
248
+ (0,external_vue_.onMounted)(function () {
249
+ affixWidth.value = proxy.$el.offsetWidth;
250
+ targetEl.value = props.target ? document.querySelector(props.target) : window;
251
+ on(targetEl.value, 'scroll', listenScroll);
252
+ on(targetEl.value, 'resize', listenScroll);
253
+ (0,external_vue_.nextTick)(function () {
254
+ handleScroll();
255
+ });
256
+ });
257
+ var _usePrefix = (0,external_config_provider_.usePrefix)(),
258
+ resolveClassName = _usePrefix.resolveClassName;
259
+ var affix = (0,external_vue_.ref)(false);
260
+ var pointClass = (0,external_vue_.computed)(function () {
261
+ return (0,external_shared_.classes)(_defineProperty({}, "".concat(resolveClassName('affix')), affix.value));
262
+ });
263
+ var offsetType = (0,external_vue_.computed)(function () {
264
+ return props.offsetBottom >= 0 ? 'bottom' : 'top';
265
+ });
266
+ var setTargetLoop = function setTargetLoop() {
267
+ if (offsetType.value === 'top') {
268
+ styles.value = {
269
+ top: "".concat(targetEl.value.getBoundingClientRect().top + props.offsetTop, "px")
270
+ };
271
+ } else {
272
+ styles.value = {
273
+ bottom: "".concat(window.innerHeight - targetEl.value.getBoundingClientRect().bottom + props.offsetBottom, "px")
274
+ };
275
+ }
276
+ };
277
+ var listenScroll = (0,external_lodash_.throttle)(function () {
278
+ handleScroll();
279
+ }, 100);
280
+ // 获取元素到浏览器边缘的距离
281
+ var getOffset = function getOffset(element) {
282
+ var rect = element.value.getBoundingClientRect();
283
+ var rect2 = targetEl.value === window ? {
284
+ top: 0,
285
+ left: 0
286
+ } : targetEl.value.getBoundingClientRect();
287
+ var clientTop = targetEl.value.clientTop || 0;
288
+ var clientLeft = targetEl.value.clientLeft || 0;
289
+ return {
290
+ top: rect.top - rect2.top - clientTop,
291
+ left: rect.left - rect2.left - clientLeft
292
+ };
293
+ };
294
+ var handleScroll = function handleScroll() {
295
+ var rect = targetEl.value === window ? {
296
+ top: 0,
297
+ left: 0,
298
+ bottom: window.innerHeight
299
+ } : targetEl.value.getBoundingClientRect();
300
+ var elOffset = getOffset(root);
301
+ var windowHeight = targetEl.value === window ? targetEl.value.innerHeight : targetEl.value.clientHeight;
302
+ var elHeight = point.value.offsetHeight;
303
+ // Fixed Top
304
+ if (elOffset.top < props.offsetTop && offsetType.value === 'top' && !affix.value) {
305
+ affix.value = true;
306
+ styles.value = {
307
+ position: 'fixed',
308
+ top: "".concat(rect.top + props.offsetTop, "px"),
309
+ left: "".concat(rect.left + elOffset.left, "px"),
310
+ width: "".concat(affixWidth.value, "px")
311
+ };
312
+ if (targetEl.value !== window) {
313
+ on(window, 'scroll', setTargetLoop);
314
+ }
315
+ emit('change', true);
316
+ } else if (elOffset.top > props.offsetTop && offsetType.value === 'top' && affix.value) {
317
+ affix.value = false;
318
+ styles.value = null;
319
+ emit('change', false);
320
+ }
321
+ // Fixed Bottom
322
+ if (elOffset.top + props.offsetBottom + elHeight > windowHeight && offsetType.value === 'bottom' && !affix.value) {
323
+ affix.value = true;
324
+ styles.value = {
325
+ bottom: "".concat(window.innerHeight - rect.bottom + props.offsetBottom, "px"),
326
+ left: "".concat(rect.left + elOffset.left, "px"),
327
+ width: "".concat(affixWidth.value, "px")
328
+ };
329
+ if (targetEl.value !== window) {
330
+ on(window, 'scroll', setTargetLoop);
331
+ }
332
+ emit('change', true);
333
+ } else if (elOffset.top + props.offsetBottom + elHeight < windowHeight && offsetType.value === 'bottom' && affix.value) {
334
+ affix.value = false;
335
+ styles.value = null;
336
+ emit('change', false);
337
+ }
338
+ };
339
+ (0,external_vue_.onBeforeUnmount)(function () {
340
+ off(targetEl.value, 'scroll', listenScroll);
341
+ off(targetEl.value, 'resize', listenScroll);
342
+ off(window, 'scroll', setTargetLoop);
343
+ });
344
+ return function () {
345
+ var _a;
346
+ return (0,external_vue_.createVNode)("div", {
347
+ "ref": root
348
+ }, [(0,external_vue_.createVNode)("div", {
349
+ "ref": point,
350
+ "class": pointClass.value,
351
+ "style": offsetStyles.value
352
+ }, [(_a = slots["default"]) === null || _a === void 0 ? void 0 : _a.call(slots)])]);
353
+ };
354
+ }
355
+ }));
356
+ ;// CONCATENATED MODULE: ../../packages/affix/src/index.ts
357
+ /*
358
+ * Tencent is pleased to support the open source community by making
359
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
360
+ *
361
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
362
+ *
363
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
364
+ *
365
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
366
+ *
367
+ * ---------------------------------------------------
368
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
369
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
370
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
371
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
372
+ *
373
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
374
+ * the Software.
375
+ *
376
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
377
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
378
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
379
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
380
+ * IN THE SOFTWARE.
381
+ */
382
+
383
+
384
+ var BkAffix = (0,external_shared_.withInstall)(affix);
385
+ /* harmony default export */ const src = (BkAffix);
386
+ })();
387
+
388
+ /******/ return __webpack_exports__;
389
+ /******/ })()
390
+ ;
391
+ });