cbvirtua 1.0.6 → 1.0.8

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 (86) hide show
  1. package/asy.js +32 -0
  2. package/package.json +1 -1
  3. package/style/basic.less +69 -0
  4. package/style/index.less +125 -0
  5. package/style/index.tsx +2 -0
  6. package/style/mixin.less +53 -0
  7. package/style/rtl.less +68 -0
  8. package/v2/App.vue +0 -56
  9. package/v2/components/Dropdown.vue +0 -28
  10. package/v2/components/Menu.vue +0 -9
  11. package/v2/components/Popper.js +0 -1011
  12. package/v2/components/PopperContent.vue +0 -270
  13. package/v2/components/PopperMethods.js +0 -17
  14. package/v2/components/PopperWrapper.vue +0 -101
  15. package/v2/components/ResizeObserver.vue +0 -151
  16. package/v2/components/ThemeClass.js +0 -9
  17. package/v2/components/Tooltip.vue +0 -22
  18. package/v2/components/TooltipDirective.vue +0 -171
  19. package/v2/config.js +0 -133
  20. package/v2/directives/v-close-popper.js +0 -67
  21. package/v2/directives/v-tooltip.js +0 -116
  22. package/v2/floating-ui/core/computeCoordsFromPlacement.js +0 -39
  23. package/v2/floating-ui/core/computePosition.js +0 -52
  24. package/v2/floating-ui/core/detectOverflow.js +0 -36
  25. package/v2/floating-ui/core/enums.js +0 -7
  26. package/v2/floating-ui/core/index.js +0 -11
  27. package/v2/floating-ui/core/middleware/arrow.js +0 -52
  28. package/v2/floating-ui/core/middleware/autoPlacement.js +0 -84
  29. package/v2/floating-ui/core/middleware/flip.js +0 -82
  30. package/v2/floating-ui/core/middleware/hide.js +0 -36
  31. package/v2/floating-ui/core/middleware/inline.js +0 -100
  32. package/v2/floating-ui/core/middleware/offset.js +0 -26
  33. package/v2/floating-ui/core/middleware/shift.js +0 -99
  34. package/v2/floating-ui/core/middleware/size.js +0 -58
  35. package/v2/floating-ui/core/types.js +0 -11
  36. package/v2/floating-ui/core/utils/expandPaddingObject.js +0 -3
  37. package/v2/floating-ui/core/utils/getAlignment.js +0 -3
  38. package/v2/floating-ui/core/utils/getAlignmentSides.js +0 -23
  39. package/v2/floating-ui/core/utils/getBasePlacement.js +0 -3
  40. package/v2/floating-ui/core/utils/getCrossAxis.js +0 -3
  41. package/v2/floating-ui/core/utils/getExpandedPlacements.js +0 -10
  42. package/v2/floating-ui/core/utils/getLengthFromAxis.js +0 -3
  43. package/v2/floating-ui/core/utils/getMainAxisFromPlacement.js +0 -4
  44. package/v2/floating-ui/core/utils/getOppositeAlignmentPlacement.js +0 -4
  45. package/v2/floating-ui/core/utils/getOppositePlacement.js +0 -4
  46. package/v2/floating-ui/core/utils/getPaddingObject.js +0 -6
  47. package/v2/floating-ui/core/utils/math.js +0 -2
  48. package/v2/floating-ui/core/utils/rectToClientRect.js +0 -9
  49. package/v2/floating-ui/core/utils/within.js +0 -4
  50. package/v2/floating-ui/dom/index.js +0 -5
  51. package/v2/floating-ui/dom/platform.js +0 -20
  52. package/v2/floating-ui/dom/utils/contains.js +0 -22
  53. package/v2/floating-ui/dom/utils/convertOffsetParentRelativeRectToViewportRelativeRect.js +0 -35
  54. package/v2/floating-ui/dom/utils/getBoundingClientRect.js +0 -27
  55. package/v2/floating-ui/dom/utils/getClippingClientRect.js +0 -76
  56. package/v2/floating-ui/dom/utils/getComputedStyle.js +0 -4
  57. package/v2/floating-ui/dom/utils/getDimensions.js +0 -6
  58. package/v2/floating-ui/dom/utils/getDocumentElement.js +0 -4
  59. package/v2/floating-ui/dom/utils/getDocumentRect.js +0 -21
  60. package/v2/floating-ui/dom/utils/getNodeName.js +0 -4
  61. package/v2/floating-ui/dom/utils/getNodeScroll.js +0 -13
  62. package/v2/floating-ui/dom/utils/getOffsetParent.js +0 -43
  63. package/v2/floating-ui/dom/utils/getParentNode.js +0 -16
  64. package/v2/floating-ui/dom/utils/getRectRelativeToOffsetParent.js +0 -40
  65. package/v2/floating-ui/dom/utils/getScrollParent.js +0 -13
  66. package/v2/floating-ui/dom/utils/getScrollParents.js +0 -18
  67. package/v2/floating-ui/dom/utils/getViewportRect.js +0 -25
  68. package/v2/floating-ui/dom/utils/getWindowScrollBarX.js +0 -9
  69. package/v2/floating-ui/dom/utils/is.js +0 -38
  70. package/v2/floating-ui/dom/utils/math.js +0 -3
  71. package/v2/floating-ui/dom/utils/window.js +0 -13
  72. package/v2/index.js +0 -75
  73. package/v2/util/assign-deep.js +0 -12
  74. package/v2/util/env.js +0 -18
  75. package/v2/util/events.js +0 -12
  76. package/v2/util/frame.js +0 -5
  77. package/v2/util/lang.js +0 -6
  78. package/v2/util/popper.js +0 -5
  79. package/vue/ListItem.js +0 -44
  80. package/vue/ListItem.tsx +0 -64
  81. package/vue/VList.js +0 -133
  82. package/vue/VList.tsx +0 -291
  83. package/vue/ec.css +0 -48
  84. package/vue/ec.js +0 -78
  85. package/vue/index.js +0 -4
  86. package/vue/l.less +0 -69
@@ -1,270 +0,0 @@
1
- <template>
2
- <div
3
- :id="popperId"
4
- ref="popover"
5
- class="v-popper__popper"
6
- :class="[
7
- themeClass,
8
- classes.popperClass,
9
- {
10
- 'v-popper__popper--shown': shown,
11
- 'v-popper__popper--hidden': !shown,
12
- 'v-popper__popper--show-from': classes.showFrom,
13
- 'v-popper__popper--show-to': classes.showTo,
14
- 'v-popper__popper--hide-from': classes.hideFrom,
15
- 'v-popper__popper--hide-to': classes.hideTo,
16
- 'v-popper__popper--skip-transition': skipTransition,
17
- 'v-popper__popper--arrow-overflow': result && result.arrow.overflow,
18
- 'v-popper__popper--no-positioning': !result,
19
- },
20
- ]"
21
- :style="result ? {
22
- position: result.strategy,
23
- transform: `translate3d(${Math.round(result.x)}px,${Math.round(result.y)}px,0)`,
24
- } : undefined"
25
- :aria-hidden="shown ? 'false' : 'true'"
26
- :tabindex="autoHide ? 0 : undefined"
27
- :data-popper-placement="result ? result.placement : undefined"
28
- @keyup.esc="autoHide && $emit('hide')"
29
- >
30
- <div
31
- class="v-popper__backdrop"
32
- @click="autoHide && $emit('hide')"
33
- />
34
- <div
35
- class="v-popper__wrapper"
36
- :style="result ? {
37
- transformOrigin: result.transformOrigin,
38
- } : undefined"
39
- >
40
- <div
41
- ref="inner"
42
- class="v-popper__inner"
43
- >
44
- <template v-if="mounted">
45
- <div>
46
- <slot />
47
- </div>
48
-
49
- <ResizeObserver
50
- v-if="handleResize"
51
- @notify="$emit('resize', $event)"
52
- />
53
- </template>
54
- </div>
55
-
56
- <div
57
- ref="arrow"
58
- class="v-popper__arrow-container"
59
- :style="result ? {
60
- left: toPx(result.arrow.x),
61
- top: toPx(result.arrow.y),
62
- } : undefined"
63
- >
64
- <div class="v-popper__arrow-outer" />
65
- <div class="v-popper__arrow-inner" />
66
- </div>
67
- </div>
68
- </div>
69
- </template>
70
-
71
- <script lang="ts">
72
- import ResizeObserver from './ResizeObserver.vue'
73
- import ThemeClass from './ThemeClass'
74
-
75
- export default {
76
- name: 'VPopperContent',
77
-
78
- components: {
79
- ResizeObserver,
80
- },
81
-
82
- mixins: [
83
- ThemeClass,
84
- ],
85
-
86
- props: {
87
- popperId: String,
88
- theme: String,
89
- shown: Boolean,
90
- mounted: Boolean,
91
- skipTransition: Boolean,
92
- autoHide: Boolean,
93
- handleResize: Boolean,
94
- classes: Object,
95
- result: Object,
96
- },
97
-
98
- methods: {
99
- toPx (value) {
100
- if (value != null && !isNaN(value)) {
101
- return `${value}px`
102
- }
103
- return null
104
- },
105
- },
106
- }
107
- </script>
108
-
109
- <style>
110
- .v-popper__popper {
111
- z-index: 10000;
112
- top: 0;
113
- left: 0;
114
- outline: none;
115
- }
116
-
117
- .v-popper__popper.v-popper__popper--hidden {
118
- visibility: hidden;
119
- opacity: 0;
120
- transition: opacity .15s, visibility .15s;
121
- pointer-events: none;
122
- }
123
-
124
- .v-popper__popper.v-popper__popper--shown {
125
- visibility: visible;
126
- opacity: 1;
127
- transition: opacity .15s;
128
- }
129
-
130
- .v-popper__popper.v-popper__popper--skip-transition,
131
- .v-popper__popper.v-popper__popper--skip-transition > .v-popper__wrapper {
132
- transition: none !important;
133
- }
134
-
135
- .v-popper__backdrop {
136
- position: absolute;
137
- top: 0;
138
- left: 0;
139
- width: 100%;
140
- height: 100%;
141
- display: none;
142
- }
143
-
144
- .v-popper__inner {
145
- position: relative;
146
- box-sizing: border-box;
147
- overflow-y: auto;
148
- }
149
-
150
- .v-popper__inner > div {
151
- position: relative;
152
- z-index: 1;
153
- max-width: inherit;
154
- max-height: inherit;
155
- }
156
-
157
- .v-popper__arrow-container {
158
- position: absolute;
159
- width: 10px;
160
- height: 10px;
161
- }
162
-
163
- .v-popper__popper--arrow-overflow .v-popper__arrow-container,
164
- .v-popper__popper--no-positioning .v-popper__arrow-container {
165
- display: none;
166
- }
167
-
168
- .v-popper__arrow-inner,
169
- .v-popper__arrow-outer {
170
- border-style: solid;
171
- position: absolute;
172
- top: 0;
173
- left: 0;
174
- width: 0;
175
- height: 0;
176
- }
177
-
178
- .v-popper__arrow-inner {
179
- visibility: hidden;
180
- border-width: 7px;
181
- }
182
-
183
- .v-popper__arrow-outer {
184
- border-width: 6px;
185
- }
186
-
187
- .v-popper__popper[data-popper-placement^="top"] .v-popper__arrow-inner,
188
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-inner {
189
- left: -2px;
190
- }
191
-
192
- .v-popper__popper[data-popper-placement^="top"] .v-popper__arrow-outer,
193
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-outer {
194
- left: -1px;
195
- }
196
-
197
- .v-popper__popper[data-popper-placement^="top"] .v-popper__arrow-inner,
198
- .v-popper__popper[data-popper-placement^="top"] .v-popper__arrow-outer {
199
- border-bottom-width: 0;
200
- border-left-color: transparent !important;
201
- border-right-color: transparent !important;
202
- border-bottom-color: transparent !important;
203
- }
204
-
205
- .v-popper__popper[data-popper-placement^="top"] .v-popper__arrow-inner {
206
- top: -2px;
207
- }
208
-
209
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-container {
210
- top: 0;
211
- }
212
-
213
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-inner,
214
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-outer {
215
- border-top-width: 0;
216
- border-left-color: transparent !important;
217
- border-right-color: transparent !important;
218
- border-top-color: transparent !important;
219
- }
220
-
221
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-inner {
222
- top: -4px;
223
- }
224
-
225
- .v-popper__popper[data-popper-placement^="bottom"] .v-popper__arrow-outer {
226
- top: -6px;
227
- }
228
-
229
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-inner,
230
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-inner {
231
- top: -2px;
232
- }
233
-
234
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-outer,
235
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-outer {
236
- top: -1px;
237
- }
238
-
239
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-inner,
240
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-outer {
241
- border-left-width: 0;
242
- border-left-color: transparent !important;
243
- border-top-color: transparent !important;
244
- border-bottom-color: transparent !important;
245
- }
246
-
247
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-inner {
248
- left: -4px;
249
- }
250
-
251
- .v-popper__popper[data-popper-placement^="right"] .v-popper__arrow-outer {
252
- left: -6px;
253
- }
254
-
255
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-container {
256
- right: -10px;
257
- }
258
-
259
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-inner,
260
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-outer {
261
- border-right-width: 0;
262
- border-top-color: transparent !important;
263
- border-right-color: transparent !important;
264
- border-bottom-color: transparent !important;
265
- }
266
-
267
- .v-popper__popper[data-popper-placement^="left"] .v-popper__arrow-inner {
268
- left: -2px;
269
- }
270
- </style>
@@ -1,17 +0,0 @@
1
- // @vue/component
2
- export default {
3
- methods: {
4
- show(...args) {
5
- return this.$refs.popper.show(...args);
6
- },
7
- hide(...args) {
8
- return this.$refs.popper.hide(...args);
9
- },
10
- dispose(...args) {
11
- return this.$refs.popper.dispose(...args);
12
- },
13
- onResize(...args) {
14
- return this.$refs.popper.onResize(...args);
15
- },
16
- },
17
- };
@@ -1,101 +0,0 @@
1
- <template>
2
- <Popper
3
- ref="popper"
4
- v-slot="{
5
- popperId,
6
- isShown,
7
- shouldMountContent,
8
- skipTransition,
9
- autoHide,
10
- show,
11
- hide,
12
- handleResize,
13
- onResize,
14
- classes,
15
- result,
16
- }"
17
- v-bind="$attrs"
18
- :theme="theme"
19
- :target-nodes="getTargetNodes"
20
- :reference-node="() => $refs.reference"
21
- :popper-node="() => $refs.popperContent.$el"
22
- v-on="$listeners"
23
- >
24
- <div
25
- ref="reference"
26
- class="v-popper"
27
- :class="[
28
- themeClass,
29
- {
30
- 'v-popper--shown': isShown,
31
- },
32
- ]"
33
- >
34
- <slot
35
- :shown="isShown"
36
- :show="show"
37
- :hide="hide"
38
- />
39
-
40
- <PopperContent
41
- ref="popperContent"
42
- :popper-id="popperId"
43
- :theme="theme"
44
- :shown="isShown"
45
- :mounted="shouldMountContent"
46
- :skip-transition="skipTransition"
47
- :auto-hide="autoHide"
48
- :handle-resize="handleResize"
49
- :classes="classes"
50
- :result="result"
51
- @hide="hide"
52
- @resize="onResize"
53
- >
54
- <slot
55
- name="popper"
56
- :shown="isShown"
57
- :hide="hide"
58
- />
59
- </PopperContent>
60
- </div>
61
- </Popper>
62
- </template>
63
-
64
- <script lang="ts">
65
- import Popper from './Popper'
66
- import PopperContent from './PopperContent.vue'
67
- import PopperMethods from './PopperMethods'
68
- import ThemeClass from './ThemeClass'
69
-
70
- export default {
71
- name: 'VPopperWrapper',
72
-
73
- components: {
74
- Popper: Popper(),
75
- PopperContent,
76
- },
77
-
78
- mixins: [
79
- PopperMethods,
80
- ThemeClass,
81
- ],
82
-
83
- inheritAttrs: false,
84
-
85
- props: {
86
- theme: {
87
- type: String,
88
- default () {
89
- return this.$options.vPopperTheme
90
- },
91
- },
92
- },
93
-
94
- methods: {
95
- getTargetNodes () {
96
- return Array.from(this.$refs.reference.children)
97
- .filter(node => node !== this.$refs.popperContent.$el)
98
- },
99
- },
100
- }
101
- </script>
@@ -1,151 +0,0 @@
1
- <template>
2
- <div class="resize-observer" tabindex="-1" />
3
- </template>
4
-
5
- <script>
6
- function getInternetExplorerVersion() {
7
- const ua = window.navigator.userAgent
8
-
9
- const msie = ua.indexOf('MSIE ')
10
- if (msie > 0) {
11
- // IE 10 or older => return version number
12
- return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10)
13
- }
14
-
15
- const trident = ua.indexOf('Trident/')
16
- if (trident > 0) {
17
- // IE 11 => return version number
18
- const rv = ua.indexOf('rv:')
19
- return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10)
20
- }
21
-
22
- const edge = ua.indexOf('Edge/')
23
- if (edge > 0) {
24
- // Edge (IE 12+) => return version number
25
- return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10)
26
- }
27
-
28
- // other browser
29
- return -1
30
- }
31
-
32
- let isIE
33
-
34
- function initCompat() {
35
- if (!initCompat.init) {
36
- initCompat.init = true
37
- isIE = getInternetExplorerVersion() !== -1
38
- }
39
- }
40
-
41
- export default {
42
- name: 'ResizeObserver',
43
-
44
- props: {
45
- emitOnMount: {
46
- type: Boolean,
47
- default: false,
48
- },
49
-
50
- ignoreWidth: {
51
- type: Boolean,
52
- default: false,
53
- },
54
-
55
- ignoreHeight: {
56
- type: Boolean,
57
- default: false,
58
- },
59
- },
60
-
61
- mounted() {
62
- initCompat()
63
- this.$nextTick(() => {
64
- this._w = this.$el.offsetWidth
65
- this._h = this.$el.offsetHeight
66
- if (this.emitOnMount) {
67
- this.emitSize()
68
- }
69
- })
70
- const object = document.createElement('object')
71
- this._resizeObject = object
72
- object.setAttribute('aria-hidden', 'true')
73
- object.setAttribute('tabindex', -1)
74
- object.onload = this.addResizeHandlers
75
- object.type = 'text/html'
76
- if (isIE) {
77
- this.$el.appendChild(object)
78
- }
79
- object.data = 'about:blank'
80
- if (!isIE) {
81
- this.$el.appendChild(object)
82
- }
83
- },
84
-
85
- beforeDestroy() {
86
- this.removeResizeHandlers()
87
- },
88
-
89
- methods: {
90
- compareAndNotify() {
91
- if ((!this.ignoreWidth && this._w !== this.$el.offsetWidth) || (!this.ignoreHeight && this._h !== this.$el.offsetHeight)) {
92
- this._w = this.$el.offsetWidth
93
- this._h = this.$el.offsetHeight
94
- this.emitSize()
95
- }
96
- },
97
-
98
- emitSize() {
99
- this.$emit('notify', {
100
- width: this._w,
101
- height: this._h,
102
- })
103
- },
104
-
105
- addResizeHandlers() {
106
- this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify)
107
- this.compareAndNotify()
108
- },
109
-
110
- removeResizeHandlers() {
111
- if (this._resizeObject && this._resizeObject.onload) {
112
- if (!isIE && this._resizeObject.contentDocument) {
113
- this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify)
114
- }
115
- this.$el.removeChild(this._resizeObject)
116
- this._resizeObject.onload = null
117
- this._resizeObject = null
118
- }
119
- },
120
- },
121
- }
122
- </script>
123
-
124
- <style scoped>
125
- .resize-observer {
126
- position: absolute;
127
- top: 0;
128
- left: 0;
129
- z-index: -1;
130
- width: 100%;
131
- height: 100%;
132
- border: none;
133
- background-color: transparent;
134
- pointer-events: none;
135
- display: block;
136
- overflow: hidden;
137
- opacity: 0;
138
- }
139
-
140
- .resize-observer>>>object {
141
- display: block;
142
- position: absolute;
143
- top: 0;
144
- left: 0;
145
- height: 100%;
146
- width: 100%;
147
- overflow: hidden;
148
- pointer-events: none;
149
- z-index: -1;
150
- }
151
- </style>
@@ -1,9 +0,0 @@
1
- import { getThemeClasses } from '../config';
2
- // @vue/component
3
- export default {
4
- computed: {
5
- themeClass() {
6
- return getThemeClasses(this.theme);
7
- },
8
- },
9
- };
@@ -1,22 +0,0 @@
1
- <script lang="ts">
2
- import PopperWrapper from './PopperWrapper.vue'
3
-
4
- export default {
5
- ...PopperWrapper,
6
- name: 'VTooltip',
7
- vPopperTheme: 'tooltip',
8
- }
9
- </script>
10
-
11
- <style>
12
- .v-popper--theme-tooltip .v-popper__inner {
13
- background: rgba(0, 0, 0, .8);
14
- color: white;
15
- border-radius: 6px;
16
- padding: 7px 12px 6px;
17
- }
18
-
19
- .v-popper--theme-tooltip .v-popper__arrow-outer {
20
- border-color: rgba(0, 0, 0, .8);
21
- }
22
- </style>