@jetlinks-web/components 2.0.2 → 2.0.4-1

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 (245) hide show
  1. package/es/AMap/Map.js +125 -0
  2. package/es/AMap/index.js +2 -0
  3. package/es/AMap/util.js +56 -0
  4. package/es/BadgeStatus/Badge.js +54 -0
  5. package/es/BadgeStatus/color.js +21 -0
  6. package/es/BadgeStatus/index.js +3 -0
  7. package/es/CardSelect/CardSelect.js +123 -0
  8. package/es/CardSelect/index.js +2 -0
  9. package/es/CheckButton/CheckButton.js +120 -0
  10. package/es/CheckButton/index.js +2 -0
  11. package/es/CheckButton/style/index.css +37 -0
  12. package/es/CheckButton/style/index.less +40 -0
  13. package/es/ConfigProvider/context.js +12 -0
  14. package/es/ConfigProvider/index.js +31 -0
  15. package/es/Echarts/Echarts.js +47 -0
  16. package/es/Echarts/index.js +2 -0
  17. package/es/Ellipsis/Ellipsis.js +184 -0
  18. package/es/Ellipsis/index.js +2 -0
  19. package/es/Ellipsis/style/index.css +17 -0
  20. package/es/Ellipsis/style/index.less +20 -0
  21. package/es/Empty/Empty.js +56 -0
  22. package/es/Empty/image.js +2 -0
  23. package/es/Empty/index.js +2 -0
  24. package/es/FullPage/FullPage.js +31 -0
  25. package/es/FullPage/index.js +2 -0
  26. package/es/Icon/icon.js +42 -0
  27. package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
  28. package/es/MonacoEditor/Monaco.js +238 -0
  29. package/es/MonacoEditor/index.js +2 -0
  30. package/es/PermissionButton/index.js +117 -0
  31. package/es/ProLayout/Basic/BasicLayout.js +259 -0
  32. package/es/ProLayout/Basic/Header.js +97 -0
  33. package/es/ProLayout/PageContainer/index.js +324 -0
  34. package/es/ProLayout/PageContainer/typings.js +1 -0
  35. package/es/ProLayout/RouteContext.js +22 -0
  36. package/es/ProLayout/SiderMenu/BaseMenu.js +285 -0
  37. package/es/ProLayout/SiderMenu/SiderMenu.js +278 -0
  38. package/es/ProLayout/SiderMenu/index.js +2 -0
  39. package/es/ProLayout/SiderMenu/typings.js +1 -0
  40. package/es/ProLayout/TopHeader/index.js +163 -0
  41. package/es/ProLayout/defaultSettings.js +66 -0
  42. package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
  43. package/{src → es}/ProLayout/style/default.less +1 -1
  44. package/es/ProLayout/style/index.js +1 -0
  45. package/es/ProLayout/typings.js +1 -0
  46. package/es/ProLayout/util.js +61 -0
  47. package/es/ProTable/index.js +411 -0
  48. package/es/ProTable/proTableTypes.js +11 -0
  49. package/es/ProTable/style/index.css +65 -0
  50. package/es/ProTable/style/index.js +1 -0
  51. package/{src → es}/ProTable/style/index.less +92 -92
  52. package/es/Scrollbar/Bar.js +114 -0
  53. package/es/Scrollbar/Scrollbar.js +212 -0
  54. package/es/Scrollbar/Thumb.js +189 -0
  55. package/es/Scrollbar/constants.js +1 -0
  56. package/es/Scrollbar/index.js +2 -0
  57. package/es/Scrollbar/scrollbarProps.js +100 -0
  58. package/es/Scrollbar/thumbProps.js +10 -0
  59. package/es/Scrollbar/util.js +30 -0
  60. package/es/Search/Advanced/History.js +183 -0
  61. package/es/Search/Advanced/SaveHistory.js +153 -0
  62. package/es/Search/Advanced/index.js +520 -0
  63. package/es/Search/Item.js +497 -0
  64. package/es/Search/Search.js +249 -0
  65. package/es/Search/hooks/index.js +1 -0
  66. package/es/Search/hooks/useSearchItems.js +40 -0
  67. package/es/Search/index.js +4 -0
  68. package/es/Search/setting.js +91 -0
  69. package/es/Search/style/Item.less +33 -0
  70. package/es/Search/style/Search.less +179 -0
  71. package/es/Search/style/index.js +2 -0
  72. package/es/Search/typing.js +1 -0
  73. package/es/Search/util.js +234 -0
  74. package/es/ValueItem/ValueItem.js +233 -0
  75. package/es/ValueItem/index.js +2 -0
  76. package/es/ValueItem/util.js +16 -0
  77. package/es/index.js +24 -0
  78. package/es/style/index.js +3 -0
  79. package/es/style/variable.css +0 -0
  80. package/{src → es}/style/variable.less +2 -4
  81. package/es/style.js +5 -0
  82. package/lib/AMap/Map.js +125 -0
  83. package/lib/AMap/index.js +9 -0
  84. package/lib/AMap/util.js +62 -0
  85. package/lib/BadgeStatus/Badge.js +54 -0
  86. package/lib/BadgeStatus/color.js +27 -0
  87. package/lib/BadgeStatus/index.js +22 -0
  88. package/lib/CardSelect/CardSelect.js +123 -0
  89. package/lib/CardSelect/index.js +9 -0
  90. package/lib/CheckButton/CheckButton.js +120 -0
  91. package/lib/CheckButton/index.js +9 -0
  92. package/lib/CheckButton/style/index.css +37 -0
  93. package/lib/CheckButton/style/index.less +40 -0
  94. package/lib/ConfigProvider/context.js +19 -0
  95. package/lib/ConfigProvider/index.js +37 -0
  96. package/lib/Echarts/Echarts.js +47 -0
  97. package/lib/Echarts/index.js +9 -0
  98. package/lib/Ellipsis/Ellipsis.js +184 -0
  99. package/lib/Ellipsis/index.js +9 -0
  100. package/lib/Ellipsis/style/index.css +17 -0
  101. package/lib/Ellipsis/style/index.less +20 -0
  102. package/lib/Empty/Empty.js +56 -0
  103. package/lib/Empty/image.js +8 -0
  104. package/lib/Empty/index.js +9 -0
  105. package/lib/FullPage/FullPage.js +31 -0
  106. package/lib/FullPage/index.js +9 -0
  107. package/lib/Icon/icon.js +52 -0
  108. package/lib/Icon/index.js +9 -0
  109. package/lib/MonacoEditor/Monaco.js +238 -0
  110. package/lib/MonacoEditor/index.js +9 -0
  111. package/lib/PermissionButton/index.js +124 -0
  112. package/lib/ProLayout/Basic/BasicLayout.js +268 -0
  113. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  114. package/lib/ProLayout/Basic/Header.js +103 -0
  115. package/lib/ProLayout/Basic/Header.less +8 -0
  116. package/lib/ProLayout/PageContainer/index.js +327 -0
  117. package/lib/ProLayout/PageContainer/index.less +103 -0
  118. package/lib/ProLayout/PageContainer/typings.js +5 -0
  119. package/lib/ProLayout/RouteContext.js +28 -0
  120. package/lib/ProLayout/SiderMenu/BaseMenu.js +290 -0
  121. package/lib/ProLayout/SiderMenu/SiderMenu.js +287 -0
  122. package/lib/ProLayout/SiderMenu/index.js +20 -0
  123. package/lib/ProLayout/SiderMenu/index.less +212 -0
  124. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  125. package/lib/ProLayout/TopHeader/index.js +168 -0
  126. package/lib/ProLayout/TopHeader/index.less +174 -0
  127. package/lib/ProLayout/defaultSettings.js +72 -0
  128. package/lib/ProLayout/index.js +16 -0
  129. package/lib/ProLayout/style/default.less +4 -0
  130. package/lib/ProLayout/style/index.js +3 -0
  131. package/lib/ProLayout/style/style.less +7 -0
  132. package/lib/ProLayout/typings.js +5 -0
  133. package/lib/ProLayout/util.js +72 -0
  134. package/lib/ProTable/index.js +417 -0
  135. package/lib/ProTable/proTableTypes.js +17 -0
  136. package/lib/ProTable/style/index.css +65 -0
  137. package/lib/ProTable/style/index.js +3 -0
  138. package/lib/ProTable/style/index.less +92 -0
  139. package/lib/Scrollbar/Bar.js +114 -0
  140. package/lib/Scrollbar/Scrollbar.js +212 -0
  141. package/lib/Scrollbar/Thumb.js +189 -0
  142. package/lib/Scrollbar/constants.js +7 -0
  143. package/lib/Scrollbar/index.js +9 -0
  144. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
  145. package/lib/Scrollbar/thumbProps.js +16 -0
  146. package/lib/Scrollbar/util.js +37 -0
  147. package/lib/Search/Advanced/History.js +183 -0
  148. package/lib/Search/Advanced/SaveHistory.js +153 -0
  149. package/lib/Search/Advanced/index.js +520 -0
  150. package/lib/Search/Item.js +497 -0
  151. package/lib/Search/Search.js +249 -0
  152. package/lib/Search/hooks/index.js +16 -0
  153. package/lib/Search/hooks/useSearchItems.js +47 -0
  154. package/lib/Search/index.js +16 -0
  155. package/lib/Search/setting.js +97 -0
  156. package/lib/Search/style/Item.less +33 -0
  157. package/lib/Search/style/Search.less +179 -0
  158. package/lib/Search/style/index.js +4 -0
  159. package/lib/Search/typing.js +5 -0
  160. package/lib/Search/util.js +241 -0
  161. package/lib/ValueItem/ValueItem.js +233 -0
  162. package/lib/ValueItem/index.js +9 -0
  163. package/lib/ValueItem/util.js +22 -0
  164. package/lib/index.js +158 -0
  165. package/lib/style/components.less +3 -0
  166. package/lib/style/index.js +4 -0
  167. package/lib/style/variable.css +0 -0
  168. package/lib/style/variable.less +2 -0
  169. package/lib/style.js +7 -0
  170. package/package.json +123 -13
  171. package/index.ts +0 -64
  172. package/src/AMap/Map.vue +0 -110
  173. package/src/AMap/index.ts +0 -1
  174. package/src/AMap/util.ts +0 -56
  175. package/src/BadgeStatus/Badge.vue +0 -41
  176. package/src/BadgeStatus/color.ts +0 -25
  177. package/src/BadgeStatus/index.ts +0 -4
  178. package/src/CardSelect/CardSelect.vue +0 -136
  179. package/src/CardSelect/index.ts +0 -3
  180. package/src/CheckButton/CheckButton.vue +0 -146
  181. package/src/CheckButton/index.md +0 -27
  182. package/src/CheckButton/index.ts +0 -3
  183. package/src/ConfigProvider/context.ts +0 -17
  184. package/src/ConfigProvider/index.tsx +0 -42
  185. package/src/Echarts/Echarts.vue +0 -43
  186. package/src/Echarts/index.ts +0 -3
  187. package/src/Ellipsis/Ellipsis.vue +0 -182
  188. package/src/Ellipsis/index.ts +0 -3
  189. package/src/Empty/Empty.vue +0 -43
  190. package/src/Empty/image.ts +0 -3
  191. package/src/Empty/index.ts +0 -2
  192. package/src/FullPage/FullPage.vue +0 -30
  193. package/src/FullPage/index.ts +0 -3
  194. package/src/Icon/icon.tsx +0 -40
  195. package/src/MonacoEditor/Monaco.vue +0 -242
  196. package/src/MonacoEditor/index.md +0 -26
  197. package/src/MonacoEditor/index.ts +0 -2
  198. package/src/PermissionButton/index.tsx +0 -110
  199. package/src/ProLayout/Basic/BasicLayout.tsx +0 -392
  200. package/src/ProLayout/Basic/Header.tsx +0 -115
  201. package/src/ProLayout/PageContainer/index.tsx +0 -441
  202. package/src/ProLayout/PageContainer/typings.ts +0 -56
  203. package/src/ProLayout/RouteContext.ts +0 -87
  204. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  205. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  206. package/src/ProLayout/SiderMenu/index.ts +0 -2
  207. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  208. package/src/ProLayout/TopHeader/index.tsx +0 -210
  209. package/src/ProLayout/defaultSettings.ts +0 -106
  210. package/src/ProLayout/style/index.ts +0 -1
  211. package/src/ProLayout/typings.ts +0 -87
  212. package/src/ProLayout/util.ts +0 -64
  213. package/src/ProTable/index.md +0 -53
  214. package/src/ProTable/index.tsx +0 -551
  215. package/src/ProTable/proTableTypes.ts +0 -70
  216. package/src/ProTable/style/index.ts +0 -1
  217. package/src/Scrollbar/Bar.vue +0 -75
  218. package/src/Scrollbar/Scrollbar.vue +0 -260
  219. package/src/Scrollbar/Thumb.vue +0 -163
  220. package/src/Scrollbar/constants.ts +0 -10
  221. package/src/Scrollbar/index.ts +0 -4
  222. package/src/Scrollbar/thumb.ts +0 -16
  223. package/src/Scrollbar/util.ts +0 -38
  224. package/src/Search/Advanced/History.vue +0 -140
  225. package/src/Search/Advanced/SaveHistory.vue +0 -108
  226. package/src/Search/Advanced/index.vue +0 -435
  227. package/src/Search/Item.vue +0 -525
  228. package/src/Search/Search.vue +0 -398
  229. package/src/Search/hooks/index.ts +0 -1
  230. package/src/Search/hooks/useSearchItems.ts +0 -68
  231. package/src/Search/index.md +0 -57
  232. package/src/Search/index.ts +0 -5
  233. package/src/Search/setting.ts +0 -55
  234. package/src/Search/typing.ts +0 -76
  235. package/src/Search/util.ts +0 -263
  236. package/src/ValueItem/ValueItem.vue +0 -192
  237. package/src/ValueItem/index.ts +0 -3
  238. package/src/ValueItem/util.ts +0 -16
  239. package/src/style/index.ts +0 -3
  240. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  241. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  242. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  243. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  244. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  245. /package/{src → es}/ProLayout/style/style.less +0 -0
@@ -1,92 +1,92 @@
1
- @import '../../style/variable.less';
2
- //@import 'ant-design-vue/es/style/themes/variable.less';
3
-
4
- .jtable-body-spin {
5
- min-height: 100%;
6
- width: 100%;
7
- padding: 16px 24px 24px;
8
- background-color: #fff;
9
-
10
- .ant-spin-nested-loading {
11
- height: 100%;
12
- .ant-spin-container {
13
- height: 100%;
14
- }
15
- }
16
-
17
- .jtable-body {
18
- width: 100%;
19
- box-sizing: border-box;
20
- height: 100%;
21
- display: flex;
22
- flex-direction: column;
23
-
24
- .jtable-body-header {
25
- display: flex;
26
- justify-content: space-between;
27
- align-items: center;
28
-
29
- .jtable-body-header-right {
30
- display: flex;
31
- gap: 8px;
32
- align-items: center;
33
-
34
- .jtable-body-header-right-button {
35
- .right-button-icon {
36
- font-size: 16px;
37
- color: #d9d9d9;
38
- }
39
-
40
- .ant-radio-button-wrapper {
41
- padding: 0 8px;
42
- }
43
-
44
- .ant-radio-button-wrapper-checked {
45
- .right-button-icon {
46
- color: @primary-color;
47
- }
48
- }
49
- }
50
- }
51
- }
52
-
53
- .jtable-content {
54
- flex: 1;
55
- padding: 16px 0;
56
-
57
- .jtable-alert {
58
- margin-bottom: 16px;
59
- }
60
-
61
- .jtable-card {
62
- .jtable-card-items {
63
- display: grid;
64
- grid-gap: 26px;
65
-
66
- .jtable-card-item {
67
- display: flex;
68
- min-width: 0;
69
- }
70
- }
71
- }
72
- }
73
-
74
- .jtable-pagination {
75
- // position: absolute;
76
- // background-color: white;
77
- // padding: 10px 0;
78
- // right: 0;
79
- // bottom: 0;
80
- width: 100%;
81
- display: flex;
82
- justify-content: flex-end;
83
- }
84
-
85
- .j-table-empty {
86
- display: flex;
87
- justify-content: center;
88
- align-items: center;
89
- margin: 10% 0;
90
- }
91
- }
92
- }
1
+ @import '../../style/variable.less';
2
+ //@import 'ant-design-vue/es/style/themes/variable.less';
3
+
4
+ .jtable-body-spin {
5
+ min-height: 100%;
6
+ width: 100%;
7
+ padding: 16px 24px 24px;
8
+ background-color: #fff;
9
+
10
+ .ant-spin-nested-loading {
11
+ height: 100%;
12
+ .ant-spin-container {
13
+ height: 100%;
14
+ }
15
+ }
16
+
17
+ .jtable-body {
18
+ width: 100%;
19
+ box-sizing: border-box;
20
+ height: 100%;
21
+ display: flex;
22
+ flex-direction: column;
23
+
24
+ .jtable-body-header {
25
+ display: flex;
26
+ justify-content: space-between;
27
+ align-items: center;
28
+
29
+ .jtable-body-header-right {
30
+ display: flex;
31
+ gap: 8px;
32
+ align-items: center;
33
+
34
+ .jtable-body-header-right-button {
35
+ .right-button-icon {
36
+ font-size: 16px;
37
+ color: #d9d9d9;
38
+ }
39
+
40
+ .ant-radio-button-wrapper {
41
+ padding: 0 8px;
42
+ }
43
+
44
+ .ant-radio-button-wrapper-checked {
45
+ .right-button-icon {
46
+ color: @primary-color;
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+
53
+ .jtable-content {
54
+ flex: 1;
55
+ padding: 16px 0;
56
+
57
+ .jtable-alert {
58
+ margin-bottom: 16px;
59
+ }
60
+
61
+ .jtable-card {
62
+ .jtable-card-items {
63
+ display: grid;
64
+ grid-gap: 26px;
65
+
66
+ .jtable-card-item {
67
+ display: flex;
68
+ min-width: 0;
69
+ }
70
+ }
71
+ }
72
+ }
73
+
74
+ .jtable-pagination {
75
+ // position: absolute;
76
+ // background-color: white;
77
+ // padding: 10px 0;
78
+ // right: 0;
79
+ // bottom: 0;
80
+ width: 100%;
81
+ display: flex;
82
+ justify-content: flex-end;
83
+ }
84
+
85
+ .j-table-empty {
86
+ display: flex;
87
+ justify-content: center;
88
+ align-items: center;
89
+ margin: 10% 0;
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,114 @@
1
+ function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) {
2
+ const op = ops[i];
3
+ const fn = ops[i + 1];
4
+ i += 2;
5
+ if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {
6
+ return undefined;
7
+ }
8
+ if (op === 'access' || op === 'optionalAccess') {
9
+ lastAccessLHS = value;
10
+ value = fn(value);
11
+ }
12
+ else if (op === 'call' || op === 'optionalCall') {
13
+ value = fn((...args) => value.call(lastAccessLHS, ...args));
14
+ lastAccessLHS = undefined;
15
+ }
16
+ } return value; }
17
+ /* Analyzed bindings: {
18
+ "always": "props",
19
+ "minSize": "props",
20
+ "inject": "setup-const",
21
+ "ref": "setup-const",
22
+ "GAP": "setup-maybe-ref",
23
+ "Thumb": "setup-const",
24
+ "scrollbarContextKey": "setup-maybe-ref",
25
+ "props": "setup-reactive-const",
26
+ "scrollbar": "setup-maybe-ref",
27
+ "moveX": "setup-ref",
28
+ "moveY": "setup-ref",
29
+ "sizeWidth": "setup-ref",
30
+ "sizeHeight": "setup-ref",
31
+ "ratioY": "setup-ref",
32
+ "ratioX": "setup-ref",
33
+ "handleScroll": "setup-const",
34
+ "update": "setup-const"
35
+ } */
36
+ import { defineComponent as _defineComponent } from 'vue';
37
+ import { createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
38
+ import { inject, ref } from 'vue';
39
+ import { GAP } from './util';
40
+ import Thumb from './Thumb.js';
41
+ import { scrollbarContextKey } from './constants';
42
+ const __sfc_main__ = _defineComponent({
43
+ props: {
44
+ always: {
45
+ type: Boolean,
46
+ default: true,
47
+ },
48
+ minSize: {
49
+ type: Number,
50
+ required: true,
51
+ }
52
+ },
53
+ setup(__props, { expose: __expose }) {
54
+ const props = __props;
55
+ const scrollbar = inject(scrollbarContextKey);
56
+ const moveX = ref(0);
57
+ const moveY = ref(0);
58
+ const sizeWidth = ref('');
59
+ const sizeHeight = ref('');
60
+ const ratioY = ref(1);
61
+ const ratioX = ref(1);
62
+ const handleScroll = (wrap) => {
63
+ if (wrap) {
64
+ const offsetHeight = wrap.offsetHeight - GAP;
65
+ const offsetWidth = wrap.offsetWidth - GAP;
66
+ moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * ratioY.value;
67
+ moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * ratioX.value;
68
+ }
69
+ };
70
+ const update = () => {
71
+ const wrap = _optionalChain([scrollbar, 'optionalAccess', _ => _.wrapElement]);
72
+ if (!wrap)
73
+ return;
74
+ const offsetHeight = wrap.offsetHeight - GAP;
75
+ const offsetWidth = wrap.offsetWidth - GAP;
76
+ const originalHeight = offsetHeight ** 2 / wrap.scrollHeight;
77
+ const originalWidth = offsetWidth ** 2 / wrap.scrollWidth;
78
+ const height = Math.max(originalHeight, props.minSize);
79
+ const width = Math.max(originalWidth, props.minSize);
80
+ ratioY.value =
81
+ originalHeight /
82
+ (offsetHeight - originalHeight) /
83
+ (height / (offsetHeight - height));
84
+ ratioX.value =
85
+ originalWidth /
86
+ (offsetWidth - originalWidth) /
87
+ (width / (offsetWidth - width));
88
+ sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : '';
89
+ sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : '';
90
+ };
91
+ __expose({
92
+ handleScroll,
93
+ update,
94
+ });
95
+ return (_ctx, _cache) => {
96
+ return (_openBlock(), _createElementBlock(_Fragment, null, [
97
+ _createVNode(Thumb, {
98
+ move: moveX.value,
99
+ ratio: ratioX.value,
100
+ size: sizeWidth.value,
101
+ always: __props.always
102
+ }, null, 8 /* PROPS */, ["move", "ratio", "size", "always"]),
103
+ _createVNode(Thumb, {
104
+ move: moveY.value,
105
+ ratio: ratioY.value,
106
+ size: sizeHeight.value,
107
+ vertical: "",
108
+ always: __props.always
109
+ }, null, 8 /* PROPS */, ["move", "ratio", "size", "always"])
110
+ ], 64 /* STABLE_FRAGMENT */));
111
+ };
112
+ }
113
+ });
114
+ export default __sfc_main__;
@@ -0,0 +1,212 @@
1
+ function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) {
2
+ const op = ops[i];
3
+ const fn = ops[i + 1];
4
+ i += 2;
5
+ if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {
6
+ return undefined;
7
+ }
8
+ if (op === 'access' || op === 'optionalAccess') {
9
+ lastAccessLHS = value;
10
+ value = fn(value);
11
+ }
12
+ else if (op === 'call' || op === 'optionalCall') {
13
+ value = fn((...args) => value.call(lastAccessLHS, ...args));
14
+ lastAccessLHS = undefined;
15
+ }
16
+ } return value; }
17
+ /* Analyzed bindings: {
18
+ "computed": "setup-const",
19
+ "nextTick": "setup-const",
20
+ "onMounted": "setup-const",
21
+ "onUpdated": "setup-const",
22
+ "provide": "setup-const",
23
+ "reactive": "setup-const",
24
+ "ref": "setup-const",
25
+ "watch": "setup-const",
26
+ "useEventListener": "setup-maybe-ref",
27
+ "useResizeObserver": "setup-maybe-ref",
28
+ "isNumber": "setup-maybe-ref",
29
+ "isObject": "setup-maybe-ref",
30
+ "Bar": "setup-const",
31
+ "scrollbarContextKey": "setup-maybe-ref",
32
+ "scrollbarEmits": "setup-maybe-ref",
33
+ "scrollbarProps": "setup-maybe-ref",
34
+ "BarInstance": "setup-maybe-ref",
35
+ "COMPONENT_NAME": "literal-const",
36
+ "props": "setup-reactive-const",
37
+ "emit": "setup-const",
38
+ "stopResizeObserver": "setup-let",
39
+ "stopResizeListener": "setup-let",
40
+ "scrollbarRef": "setup-ref",
41
+ "wrapRef": "setup-ref",
42
+ "resizeRef": "setup-ref",
43
+ "barRef": "setup-ref",
44
+ "wrapStyle": "setup-ref",
45
+ "wrapKls": "setup-ref",
46
+ "resizeKls": "setup-ref",
47
+ "handleScroll": "setup-const",
48
+ "scrollTo": "setup-const",
49
+ "setScrollTop": "setup-const",
50
+ "setScrollLeft": "setup-const",
51
+ "update": "setup-const"
52
+ } */
53
+ import { defineComponent as _defineComponent } from 'vue';
54
+ import { renderSlot as _renderSlot, resolveDynamicComponent as _resolveDynamicComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from "vue";
55
+ import { computed, nextTick, onMounted, onUpdated, provide, reactive, ref, watch, } from 'vue';
56
+ import { useEventListener, useResizeObserver } from '@vueuse/core';
57
+ import { isNumber, isObject } from '@jetlinks-web/utils';
58
+ import Bar from './Bar.js';
59
+ import { scrollbarContextKey } from './constants';
60
+ import { scrollbarEmits, scrollbarProps, } from './scrollbarProps';
61
+ const COMPONENT_NAME = 'JScrollbar';
62
+ const __sfc_main__ = _defineComponent({
63
+ ...{
64
+ name: COMPONENT_NAME,
65
+ },
66
+ props: scrollbarProps,
67
+ emits: scrollbarEmits,
68
+ setup(__props, { expose: __expose, emit: __emit }) {
69
+ const props = __props;
70
+ const emit = __emit;
71
+ let stopResizeObserver = undefined;
72
+ let stopResizeListener = undefined;
73
+ const scrollbarRef = ref();
74
+ const wrapRef = ref();
75
+ const resizeRef = ref();
76
+ const barRef = ref();
77
+ const wrapStyle = computed(() => {
78
+ const style = {};
79
+ if (props.height)
80
+ style.height = `${props.height}px`;
81
+ if (props.maxHeight)
82
+ style.maxHeight = `${props.maxHeight}px`;
83
+ return [props.wrapStyle, style];
84
+ });
85
+ const wrapKls = computed(() => {
86
+ return [
87
+ 'j-scrollbar__wrap',
88
+ 'j-scrollbar__wrap--hidden-default'
89
+ ];
90
+ });
91
+ const resizeKls = computed(() => {
92
+ return ['j-scrollbar__view', props.viewClass];
93
+ });
94
+ const handleScroll = () => {
95
+ if (wrapRef.value) {
96
+ _optionalChain([barRef, 'access', _2 => _2.value, 'optionalAccess', _3 => _3.handleScroll, 'call', _4 => _4(wrapRef.value)]);
97
+ emit('scroll', {
98
+ scrollTop: wrapRef.value.scrollTop,
99
+ scrollLeft: wrapRef.value.scrollLeft,
100
+ });
101
+ }
102
+ };
103
+ function scrollTo(arg1, arg2) {
104
+ if (isObject(arg1)) {
105
+ wrapRef.value.scrollTo(arg1);
106
+ }
107
+ else if (isNumber(arg1) && isNumber(arg2)) {
108
+ wrapRef.value.scrollTo(arg1, arg2);
109
+ }
110
+ }
111
+ const setScrollTop = (value) => {
112
+ if (!isNumber(value)) {
113
+ throw new Error('value must be a number');
114
+ }
115
+ wrapRef.value.scrollTop = value;
116
+ };
117
+ const setScrollLeft = (value) => {
118
+ if (!isNumber(value)) {
119
+ throw new Error(`[${COMPONENT_NAME}] value must be a number`);
120
+ }
121
+ wrapRef.value.scrollLeft = value;
122
+ };
123
+ const update = () => {
124
+ _optionalChain([barRef, 'access', _5 => _5.value, 'optionalAccess', _6 => _6.update, 'call', _7 => _7()]);
125
+ };
126
+ watch(() => props.noresize, (noResize) => {
127
+ if (noResize) {
128
+ _optionalChain([stopResizeObserver, 'optionalCall', _8 => _8()]);
129
+ _optionalChain([stopResizeListener, 'optionalCall', _9 => _9()]);
130
+ }
131
+ else {
132
+ ;
133
+ ({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update));
134
+ stopResizeListener = useEventListener('resize', update);
135
+ }
136
+ }, { immediate: true });
137
+ watch(() => [props.maxHeight, props.height], () => {
138
+ if (!props.native)
139
+ nextTick(() => {
140
+ update();
141
+ if (wrapRef.value) {
142
+ _optionalChain([barRef, 'access', _10 => _10.value, 'optionalAccess', _11 => _11.handleScroll, 'call', _12 => _12(wrapRef.value)]);
143
+ }
144
+ });
145
+ });
146
+ provide(scrollbarContextKey, reactive({
147
+ scrollbarElement: scrollbarRef,
148
+ wrapElement: wrapRef,
149
+ }));
150
+ onMounted(() => {
151
+ if (!props.native)
152
+ nextTick(() => {
153
+ update();
154
+ });
155
+ });
156
+ onUpdated(() => update());
157
+ __expose({
158
+ /** @description scrollbar wrap ref */
159
+ wrapRef,
160
+ /** @description update scrollbar state manually */
161
+ update,
162
+ /** @description scrolls to a particular set of coordinates */
163
+ scrollTo,
164
+ /** @description set distance to scroll top */
165
+ setScrollTop,
166
+ /** @description set distance to scroll left */
167
+ setScrollLeft,
168
+ /** @description handle scroll event */
169
+ handleScroll,
170
+ });
171
+ return (_ctx, _cache) => {
172
+ return (_openBlock(), _createElementBlock("div", {
173
+ ref_key: "scrollbarRef",
174
+ ref: scrollbarRef,
175
+ class: "j-scrollbar"
176
+ }, [
177
+ _createElementVNode("div", {
178
+ ref_key: "wrapRef",
179
+ ref: wrapRef,
180
+ class: _normalizeClass(wrapKls.value),
181
+ style: _normalizeStyle(wrapStyle.value),
182
+ onScroll: handleScroll
183
+ }, [
184
+ (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.tag), {
185
+ id: _ctx.id,
186
+ ref_key: "resizeRef",
187
+ ref: resizeRef,
188
+ class: _normalizeClass(resizeKls.value),
189
+ role: _ctx.role,
190
+ "aria-label": _ctx.ariaLabel,
191
+ "aria-orientation": _ctx.ariaOrientation
192
+ }, {
193
+ default: _withCtx(() => [
194
+ _renderSlot(_ctx.$slots, "default")
195
+ ]),
196
+ _: 3 /* FORWARDED */
197
+ }, 8 /* PROPS */, ["id", "class", "role", "aria-label", "aria-orientation"]))
198
+ ], 38 /* CLASS, STYLE, NEED_HYDRATION */),
199
+ (!_ctx.native)
200
+ ? (_openBlock(), _createBlock(Bar, {
201
+ key: 0,
202
+ ref_key: "barRef",
203
+ ref: barRef,
204
+ always: _ctx.always,
205
+ "min-size": _ctx.minSize
206
+ }, null, 8 /* PROPS */, ["always", "min-size"]))
207
+ : _createCommentVNode("v-if", true)
208
+ ], 512 /* NEED_PATCH */));
209
+ };
210
+ }
211
+ });
212
+ export default __sfc_main__;