@opentiny/vue-renderless 3.6.0 → 3.6.1-alpha.2
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.
- package/README.md +7 -26
- package/action-menu/index.js +15 -15
- package/action-menu/vue.js +17 -22
- package/action-sheet/index.js +53 -68
- package/action-sheet/vue.js +28 -54
- package/alert/index.js +10 -21
- package/alert/vue.js +19 -33
- package/amount/index.js +205 -308
- package/amount/vue.js +113 -187
- package/anchor/index.js +102 -173
- package/anchor/vue.js +26 -47
- package/area/index.js +93 -153
- package/area/vue.js +26 -62
- package/autocomplete/index.js +115 -157
- package/autocomplete/vue.js +84 -159
- package/autonavi-map/index.js +12 -22
- package/avatar/index.js +28 -31
- package/avatar/vue.js +16 -19
- package/badge/index.js +11 -15
- package/badge/vue.js +19 -27
- package/baidu-map/index.js +12 -22
- package/breadcrumb/index.js +8 -7
- package/breadcrumb/vue.js +15 -22
- package/breadcrumb-item/index.js +14 -26
- package/breadcrumb-item/vue.js +20 -28
- package/bulletin-board/index.js +19 -22
- package/bulletin-board/vue.js +26 -33
- package/button/index.js +14 -18
- package/button/vue.js +26 -38
- package/button-group/index.js +19 -24
- package/button-group/vue.js +32 -45
- package/calendar/index.js +168 -203
- package/calendar/vue.js +89 -100
- package/card-template/index.js +29 -37
- package/card-template/vue.js +18 -30
- package/carousel/index.js +125 -198
- package/carousel/vue.js +132 -188
- package/carousel-item/index.js +55 -80
- package/carousel-item/vue.js +42 -42
- package/cascader/index.js +329 -460
- package/cascader/vue.js +159 -319
- package/cascader-menu/index.js +32 -39
- package/cascader-menu/vue.js +21 -30
- package/cascader-node/index.js +41 -60
- package/cascader-node/vue.js +27 -59
- package/cascader-panel/index.js +229 -311
- package/cascader-panel/node.js +118 -190
- package/cascader-panel/store.js +49 -76
- package/cascader-panel/vue.js +125 -197
- package/chart-bar/index.js +129 -439
- package/chart-boxplot/index.js +78 -219
- package/chart-candle/index.js +134 -379
- package/chart-core/deps/constants.js +70 -49
- package/chart-core/deps/numerify.js +106 -147
- package/chart-core/deps/utils.js +118 -121
- package/chart-core/index.js +302 -469
- package/chart-core/modules/animation.js +7 -5
- package/chart-core/modules/extend.js +18 -19
- package/chart-core/modules/mark.js +7 -3
- package/chart-core/vue.js +81 -120
- package/chart-funnel/index.js +47 -126
- package/chart-gauge/index.js +54 -128
- package/chart-graph/index.js +22 -35
- package/chart-heatmap/index.js +116 -362
- package/chart-line/index.js +98 -289
- package/chart-liquidfill/index.js +35 -100
- package/chart-map/index.js +64 -217
- package/chart-pie/index.js +93 -274
- package/chart-radar/index.js +59 -135
- package/chart-sankey/index.js +51 -137
- package/chart-scatter/index.js +118 -313
- package/chart-sunburst/index.js +25 -33
- package/chart-tree/index.js +43 -85
- package/chart-waterfall/index.js +77 -210
- package/chart-wordcloud/index.js +36 -85
- package/checkbox/index.js +82 -133
- package/checkbox/vue.js +62 -132
- package/checkbox-button/index.js +60 -96
- package/checkbox-button/vue.js +53 -135
- package/checkbox-group/index.js +6 -11
- package/checkbox-group/vue.js +22 -27
- package/chunk-PKUHTIDK.js +37 -0
- package/col/index.js +89 -119
- package/col/vue.js +21 -31
- package/collapse/index.js +31 -40
- package/collapse/vue.js +24 -32
- package/collapse-item/index.js +22 -36
- package/collapse-item/vue.js +22 -42
- package/common/array.js +51 -56
- package/common/bigInt.js +187 -243
- package/common/browser.js +35 -31
- package/common/dataset/index.js +74 -110
- package/common/date.js +199 -201
- package/common/decimal.js +94 -142
- package/common/deps/ResizeObserver.js +188 -208
- package/common/deps/after-leave.js +12 -10
- package/common/deps/clickoutside.js +32 -36
- package/common/deps/date-util.js +139 -166
- package/common/deps/date.js +206 -241
- package/common/deps/debounce.js +8 -4
- package/common/deps/dom.js +75 -68
- package/common/deps/eSpaceCtrl.js +170 -153
- package/common/deps/fullscreen/apis.js +51 -65
- package/common/deps/fullscreen/screenfull.js +61 -45
- package/common/deps/letter-only.js +12 -8
- package/common/deps/memorize.js +100 -125
- package/common/deps/modal-queue.js +6 -2
- package/common/deps/number-only.js +13 -9
- package/common/deps/popper.js +280 -372
- package/common/deps/popup-manager.js +71 -75
- package/common/deps/repeat-click.js +14 -10
- package/common/deps/requestAnimationFrame.js +13 -13
- package/common/deps/resize-event.js +15 -10
- package/common/deps/scroll-into-view.js +13 -13
- package/common/deps/scrollbar-width.js +22 -18
- package/common/deps/throttle.js +15 -11
- package/common/deps/touch.js +24 -22
- package/common/deps/tree-model/node.js +374 -524
- package/common/deps/tree-model/tree-store.js +251 -352
- package/common/deps/tree-model/util.js +10 -4
- package/common/deps/upload-ajax.js +28 -24
- package/common/deps/vue-emitter.js +15 -11
- package/common/deps/vue-popper.js +181 -214
- package/common/deps/vue-popup.js +118 -168
- package/common/event.js +10 -9
- package/common/index.js +180 -194
- package/common/object.js +92 -91
- package/common/runtime.js +78 -51
- package/common/string.js +194 -266
- package/common/type.js +49 -51
- package/common/validate/index.js +8 -4
- package/common/validate/messages.js +64 -67
- package/common/validate/rules/enum.js +10 -6
- package/common/validate/rules/index.js +18 -14
- package/common/validate/rules/pattern.js +9 -5
- package/common/validate/rules/range.js +26 -39
- package/common/validate/rules/required.js +8 -10
- package/common/validate/rules/type.js +67 -79
- package/common/validate/rules/whitespace.js +8 -4
- package/common/validate/schema.js +159 -199
- package/common/validate/util.js +95 -82
- package/common/validate/validations/array.js +14 -17
- package/common/validate/validations/date.js +16 -20
- package/common/validate/validations/enum.js +14 -16
- package/common/validate/validations/float.js +13 -15
- package/common/validate/validations/index.js +28 -24
- package/common/validate/validations/integer.js +13 -15
- package/common/validate/validations/method.js +13 -15
- package/common/validate/validations/number.js +15 -17
- package/common/validate/validations/pattern.js +14 -16
- package/common/validate/validations/required.js +10 -14
- package/common/validate/validations/string.js +19 -15
- package/common/validate/validations/type.js +17 -13
- package/common/xss.js +202 -184
- package/company/index.js +34 -49
- package/company/vue.js +23 -29
- package/container/index.js +72 -98
- package/container/vue.js +36 -61
- package/country/index.js +33 -47
- package/country/vue.js +24 -29
- package/credit-card/index.js +72 -86
- package/credit-card/vue.js +49 -104
- package/credit-card-form/index.js +97 -129
- package/credit-card-form/vue.js +102 -133
- package/crop/index.js +175 -294
- package/crop/vue.js +132 -144
- package/currency/index.js +49 -67
- package/currency/vue.js +25 -34
- package/date-panel/index.js +384 -524
- package/date-panel/vue.js +178 -289
- package/date-picker/index.js +198 -260
- package/date-picker/vue.js +97 -155
- package/date-range/index.js +324 -435
- package/date-range/vue.js +154 -273
- package/date-table/index.js +279 -391
- package/date-table/vue.js +63 -139
- package/dept/index.js +196 -291
- package/dept/vue.js +74 -144
- package/detail-page/index.js +72 -131
- package/detail-page/vue.js +53 -128
- package/dialog-box/index.js +178 -248
- package/dialog-box/vue.js +111 -201
- package/drop-roles/index.js +44 -65
- package/drop-roles/vue.js +23 -31
- package/drop-times/index.js +21 -22
- package/drop-times/vue.js +19 -23
- package/dropdown/index.js +182 -253
- package/dropdown/vue.js +55 -101
- package/dropdown-item/index.js +113 -167
- package/dropdown-item/vue.js +73 -121
- package/dropdown-menu/index.js +85 -111
- package/dropdown-menu/vue.js +23 -36
- package/espace/index.js +86 -106
- package/espace/vue.js +26 -48
- package/exception/index.js +9 -12
- package/exception/vue.js +15 -22
- package/fall-menu/index.js +81 -110
- package/fall-menu/vue.js +32 -78
- package/file-upload/index.js +1081 -1713
- package/file-upload/vue.js +175 -417
- package/floatbar/index.js +8 -5
- package/floatbar/vue.js +13 -16
- package/form/index.js +124 -165
- package/form/vue.js +54 -66
- package/form-item/index.js +255 -328
- package/form-item/vue.js +97 -198
- package/fullscreen/index.js +95 -127
- package/fullscreen/vue.js +36 -72
- package/grid/core/index.js +7 -3
- package/grid/core/interceptor.js +28 -20
- package/grid/core/storeMap.js +11 -7
- package/grid/plugins/export.js +72 -95
- package/grid/plugins/exportExcel.js +244 -561
- package/grid/plugins/header.js +22 -21
- package/grid/plugins/resize.js +45 -62
- package/grid/static/array/arrayEach.js +7 -3
- package/grid/static/array/arrayIndexOf.js +7 -3
- package/grid/static/array/eachTree.js +17 -21
- package/grid/static/array/every.js +6 -2
- package/grid/static/array/filterTree.js +17 -12
- package/grid/static/array/find.js +7 -3
- package/grid/static/array/findTree.js +19 -30
- package/grid/static/array/helperCreateIterateHandle.js +31 -39
- package/grid/static/array/helperCreateTreeFunc.js +18 -16
- package/grid/static/array/includes.js +6 -4
- package/grid/static/array/lastArrayEach.js +7 -3
- package/grid/static/array/map.js +11 -10
- package/grid/static/array/mapTree.js +19 -23
- package/grid/static/array/slice.js +7 -3
- package/grid/static/array/sortBy.js +32 -34
- package/grid/static/array/sum.js +14 -13
- package/grid/static/array/toArray.js +6 -6
- package/grid/static/array/toTreeArray.js +13 -15
- package/grid/static/base/clear.js +18 -14
- package/grid/static/base/clone.js +11 -17
- package/grid/static/base/destructuring.js +14 -10
- package/grid/static/base/each.js +8 -4
- package/grid/static/base/eqNull.js +7 -5
- package/grid/static/base/findIndexOf.js +8 -4
- package/grid/static/base/get.js +21 -17
- package/grid/static/base/has.js +21 -20
- package/grid/static/base/hasOwnProp.js +5 -3
- package/grid/static/base/helperCreateGetObjects.js +13 -9
- package/grid/static/base/helperCreateInInObjectString.js +8 -4
- package/grid/static/base/helperCreateInTypeof.js +8 -5
- package/grid/static/base/helperCreateIndexOf.js +19 -18
- package/grid/static/base/helperCreateiterateIndexOf.js +20 -19
- package/grid/static/base/helperDefaultCompare.js +5 -1
- package/grid/static/base/helperDeleteProperty.js +7 -3
- package/grid/static/base/helperEqualCompare.js +27 -29
- package/grid/static/base/helperGetHGSKeys.js +5 -3
- package/grid/static/base/indexOf.js +7 -3
- package/grid/static/base/isArray.js +7 -3
- package/grid/static/base/isBoolean.js +5 -3
- package/grid/static/base/isDate.js +7 -3
- package/grid/static/base/isEmpty.js +7 -3
- package/grid/static/base/isEqual.js +10 -10
- package/grid/static/base/isFunction.js +5 -3
- package/grid/static/base/isNaN.js +6 -4
- package/grid/static/base/isNull.js +5 -3
- package/grid/static/base/isNumber.js +5 -3
- package/grid/static/base/isObject.js +5 -4
- package/grid/static/base/isPlainObject.js +6 -2
- package/grid/static/base/isRegExp.js +7 -3
- package/grid/static/base/isSet.js +6 -4
- package/grid/static/base/isString.js +5 -3
- package/grid/static/base/isUndefined.js +5 -3
- package/grid/static/base/keys.js +7 -3
- package/grid/static/base/lastEach.js +8 -4
- package/grid/static/base/remove.js +20 -20
- package/grid/static/base/set.js +22 -18
- package/grid/static/base/toJSONString.js +5 -3
- package/grid/static/base/toStringJSON.js +10 -5
- package/grid/static/base/uniqueId.js +6 -4
- package/grid/static/browse/browse.js +25 -22
- package/grid/static/function/property.js +6 -6
- package/grid/static/function/throttle.js +18 -14
- package/grid/static/index.js +111 -55
- package/grid/static/number/helperCreateToNumber.js +12 -10
- package/grid/static/number/toNumber.js +7 -3
- package/grid/static/object/assign.js +20 -20
- package/grid/static/object/extend.js +7 -3
- package/grid/static/object/lastObjectEach.js +9 -5
- package/grid/static/object/objectEach.js +8 -4
- package/grid/static/object/objectMap.js +11 -7
- package/grid/static/object/values.js +15 -7
- package/grid/static/static/staticDocument.js +7 -4
- package/grid/static/static/staticHGKeyRE.js +6 -2
- package/grid/static/static/staticParseInt.js +6 -2
- package/grid/static/static/staticStrUndefined.js +6 -2
- package/grid/static/static/staticWindow.js +7 -4
- package/grid/static/string/template.js +10 -8
- package/grid/static/string/toString.js +12 -8
- package/grid/utils/column.js +11 -14
- package/grid/utils/common.js +84 -102
- package/grid/utils/dom.js +104 -117
- package/grid/utils/event.js +23 -28
- package/grid/utils/index.js +8 -5
- package/hrapprover/index.js +80 -105
- package/hrapprover/vue.js +45 -90
- package/image/index.js +107 -175
- package/image/vue.js +56 -126
- package/image-viewer/index.js +328 -416
- package/image-viewer/vue.js +131 -206
- package/index-bar/index.js +42 -51
- package/index-bar/vue.js +53 -74
- package/index-bar-anchor/vue.js +14 -18
- package/input/index.js +232 -302
- package/input/vue.js +181 -284
- package/ip-address/index.js +168 -335
- package/ip-address/vue.js +95 -160
- package/layout/vue.js +7 -4
- package/link/index.js +9 -10
- package/link/vue.js +15 -23
- package/link-menu/index.js +86 -128
- package/link-menu/vue.js +55 -118
- package/list/index.js +12 -12
- package/list/vue.js +15 -15
- package/loading/index.js +22 -21
- package/loading/vue.js +15 -18
- package/locales/index.js +72 -104
- package/locales/vue.js +23 -41
- package/logon-user/index.js +14 -19
- package/logon-user/vue.js +17 -20
- package/logout/index.js +58 -96
- package/logout/vue.js +15 -19
- package/milestone/index.js +53 -76
- package/milestone/vue.js +28 -26
- package/mini-picker/index.js +155 -219
- package/mini-picker/vue.js +98 -118
- package/modal/index.js +386 -735
- package/modal/vue.js +81 -117
- package/month-range/index.js +108 -143
- package/month-range/vue.js +57 -85
- package/month-table/index.js +157 -202
- package/month-table/vue.js +42 -64
- package/multi-select/index.js +150 -214
- package/multi-select/vue.js +58 -102
- package/nav-menu/index.js +276 -410
- package/nav-menu/vue.js +110 -174
- package/notify/index.js +59 -81
- package/notify/vue.js +42 -57
- package/numeric/index.js +231 -363
- package/numeric/vue.js +78 -202
- package/option/index.js +44 -72
- package/option/vue.js +66 -179
- package/option-group/index.js +12 -17
- package/option-group/vue.js +25 -30
- package/package.json +32 -84
- package/pager-item/index.js +91 -103
- package/pager-item/vue.js +36 -48
- package/panel/index.js +22 -28
- package/panel/vue.js +17 -23
- package/picker/index.js +689 -963
- package/picker/timezone.js +1174 -974
- package/picker/vue.js +187 -389
- package/picker-column/index.js +182 -232
- package/picker-column/vue.js +71 -130
- package/pop-upload/index.js +162 -321
- package/pop-upload/vue.js +143 -273
- package/popeditor/index.js +528 -807
- package/popeditor/vue.js +165 -334
- package/popover/index.js +160 -219
- package/popover/vue.js +76 -162
- package/popup/index.js +90 -128
- package/popup/vue.js +39 -112
- package/progress/index.js +108 -171
- package/progress/vue.js +65 -115
- package/pull-refresh/index.js +118 -132
- package/pull-refresh/vue.js +38 -66
- package/radio/index.js +41 -77
- package/radio/vue.js +35 -92
- package/radio-button/index.js +35 -54
- package/radio-button/vue.js +28 -61
- package/radio-group/index.js +46 -48
- package/radio-group/vue.js +26 -30
- package/rate/index.js +158 -197
- package/rate/vue.js +90 -138
- package/roles/index.js +48 -77
- package/roles/vue.js +20 -32
- package/row/index.js +15 -16
- package/row/vue.js +20 -19
- package/scroll-text/index.js +17 -22
- package/scroll-text/vue.js +18 -27
- package/scrollbar/index.js +87 -115
- package/scrollbar/vue-bar.js +23 -46
- package/scrollbar/vue.js +25 -33
- package/search/index.js +67 -95
- package/search/vue.js +80 -100
- package/select/index.js +1094 -1584
- package/select/vue.js +342 -672
- package/select-dropdown/index.js +18 -23
- package/select-dropdown/vue.js +56 -112
- package/slide-bar/index.js +58 -85
- package/slide-bar/vue.js +21 -47
- package/slider/index.js +276 -373
- package/slider/vue.js +94 -144
- package/split/index.js +74 -123
- package/split/vue.js +63 -116
- package/steps/vue.js +8 -3
- package/switch/index.js +35 -43
- package/switch/vue.js +32 -58
- package/tab-bar/index.js +48 -46
- package/tab-bar/vue.js +14 -12
- package/tab-dropdown/index.js +11 -10
- package/tab-dropdown/vue.js +14 -11
- package/tab-item/index.js +20 -35
- package/tab-item/vue.js +22 -42
- package/tab-nav/index.js +194 -227
- package/tab-nav/vue.js +62 -83
- package/tabbar/index.js +23 -30
- package/tabbar/vue.js +22 -45
- package/tabbar-item/index.js +39 -51
- package/tabbar-item/vue.js +23 -48
- package/table/index.js +69 -103
- package/table/vue.js +37 -61
- package/tabs/index.js +125 -174
- package/tabs/vue.js +98 -143
- package/tag/index.js +13 -18
- package/tag/vue.js +11 -16
- package/tall-storage/index.js +87 -106
- package/tall-storage/vue-storage-box.js +14 -20
- package/tall-storage/vue.js +27 -35
- package/text-popup/index.js +48 -70
- package/text-popup/vue.js +27 -60
- package/time/index.js +71 -113
- package/time/vue.js +65 -108
- package/time-line/index.js +30 -56
- package/time-line/vue.js +23 -46
- package/time-panel/index.js +112 -175
- package/time-panel/scrollIntoView.js +12 -10
- package/time-panel/vue.js +64 -94
- package/time-range/index.js +123 -184
- package/time-range/vue.js +63 -115
- package/time-spinner/index.js +139 -179
- package/time-spinner/vue.js +72 -110
- package/toggle-menu/index.js +68 -98
- package/toggle-menu/vue.js +64 -54
- package/tooltip/index.js +127 -168
- package/tooltip/vue.js +81 -134
- package/top-box/index.js +46 -79
- package/top-box/vue.js +34 -62
- package/transfer/index.js +184 -263
- package/transfer/vue.js +65 -134
- package/transfer-panel/index.js +240 -329
- package/transfer-panel/vue.js +127 -232
- package/tree/index.js +422 -591
- package/tree/vue.js +163 -249
- package/tree-menu/index.js +97 -122
- package/tree-menu/vue.js +57 -39
- package/tree-node/index.js +180 -248
- package/tree-node/vue.js +107 -202
- package/upload/index.js +201 -276
- package/upload/vue.js +51 -82
- package/upload-dragger/index.js +38 -49
- package/upload-dragger/vue.js +16 -24
- package/upload-list/index.js +41 -50
- package/upload-list/vue.js +21 -27
- package/user/index.js +356 -510
- package/user/vue.js +50 -97
- package/user-account/index.js +16 -21
- package/user-account/vue.js +20 -23
- package/user-contact/index.js +11 -10
- package/user-contact/vue.js +15 -15
- package/user-head/index.js +69 -84
- package/user-head/vue.js +24 -45
- package/user-link/index.js +31 -41
- package/user-link/vue.js +23 -46
- package/wheel/index.js +136 -161
- package/wheel/vue.js +64 -95
- package/wizard/index.js +83 -102
- package/wizard/vue.js +19 -34
- package/year-table/index.js +31 -37
- package/year-table/vue.js +17 -21
- package/rich-text/clipboard.js +0 -77
- package/rich-text/index.js +0 -176
- package/rich-text/module/file-upload.js +0 -118
- package/rich-text/module/image-drop.js +0 -54
- package/rich-text/module/image-upload.js +0 -84
- package/rich-text/options.js +0 -187
- package/rich-text/table-module.js +0 -557
- package/rich-text/vue.js +0 -149
package/common/deps/popper.js
CHANGED
|
@@ -1,91 +1,84 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var positions = ['left', 'right', 'top', 'bottom'];
|
|
13
|
-
var modifiers = ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'];
|
|
14
|
-
var DEFAULTS = {
|
|
1
|
+
import {
|
|
2
|
+
__spreadValues
|
|
3
|
+
} from "../../chunk-PKUHTIDK.js";
|
|
4
|
+
import { on, off } from "@opentiny/vue-renderless/common/deps/dom";
|
|
5
|
+
import PopupManager from "@opentiny/vue-renderless/common/deps/popup-manager";
|
|
6
|
+
import { typeOf } from "@opentiny/vue-renderless/common/type";
|
|
7
|
+
import { xss } from "@opentiny/vue-renderless/common/xss.js";
|
|
8
|
+
const win = window;
|
|
9
|
+
const positions = ["left", "right", "top", "bottom"];
|
|
10
|
+
const modifiers = ["shift", "offset", "preventOverflow", "keepTogether", "arrow", "flip", "applyStyle"];
|
|
11
|
+
const DEFAULTS = {
|
|
15
12
|
arrowOffset: 0,
|
|
16
|
-
arrowElement:
|
|
17
|
-
boundariesElement:
|
|
13
|
+
arrowElement: "[x-arrow]",
|
|
14
|
+
boundariesElement: "viewport",
|
|
18
15
|
boundariesPadding: 5,
|
|
19
|
-
flipBehavior:
|
|
16
|
+
flipBehavior: "flip",
|
|
20
17
|
forceAbsolute: false,
|
|
21
18
|
gpuAcceleration: true,
|
|
22
19
|
offset: 0,
|
|
23
|
-
placement:
|
|
20
|
+
placement: "bottom",
|
|
24
21
|
preventOverflowOrder: positions,
|
|
25
|
-
modifiers
|
|
22
|
+
modifiers,
|
|
26
23
|
modifiersIgnored: []
|
|
27
24
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Object.keys(styles).forEach(function (prop) {
|
|
36
|
-
var unit = '';
|
|
37
|
-
if (~['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) && isNumeric(styles[prop])) {
|
|
38
|
-
unit = 'px';
|
|
25
|
+
const getRealElement = (el) => el.jquery ? el[0] : el;
|
|
26
|
+
const setStyle = (el, styles) => {
|
|
27
|
+
const isNumeric = (n) => n !== "" && !isNaN(parseFloat(n)) && isFinite(n);
|
|
28
|
+
Object.keys(styles).forEach((prop) => {
|
|
29
|
+
let unit = "";
|
|
30
|
+
if (~["width", "height", "top", "right", "bottom", "left"].indexOf(prop) && isNumeric(styles[prop])) {
|
|
31
|
+
unit = "px";
|
|
39
32
|
}
|
|
40
33
|
el.style[prop] = styles[prop] + unit;
|
|
41
34
|
});
|
|
42
35
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
for (
|
|
47
|
-
|
|
48
|
-
if (typeof bodyEl.style[toCheck] !==
|
|
36
|
+
const getSupportedPropertyName = (property) => {
|
|
37
|
+
let prefixes = ["", "ms", "webkit", "moz", "o"];
|
|
38
|
+
let bodyEl = win.document.body;
|
|
39
|
+
for (let i = 0; i < prefixes.length; i++) {
|
|
40
|
+
let toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;
|
|
41
|
+
if (typeof bodyEl.style[toCheck] !== "undefined") {
|
|
49
42
|
return toCheck;
|
|
50
43
|
}
|
|
51
44
|
}
|
|
52
45
|
return null;
|
|
53
46
|
};
|
|
54
|
-
|
|
55
|
-
classNames.forEach(
|
|
47
|
+
const addClassNames = (el, classNames) => {
|
|
48
|
+
classNames.forEach((className) => {
|
|
56
49
|
el.classList.add(className);
|
|
57
50
|
});
|
|
58
51
|
};
|
|
59
|
-
|
|
60
|
-
attributes.forEach(
|
|
61
|
-
|
|
62
|
-
el.setAttribute(attrs[0], attrs[1] ||
|
|
52
|
+
const addAttributes = (el, attributes) => {
|
|
53
|
+
attributes.forEach((attribute) => {
|
|
54
|
+
const attrs = attribute.split(":");
|
|
55
|
+
el.setAttribute(attrs[0], attrs[1] || "");
|
|
63
56
|
});
|
|
64
57
|
};
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
const getOffsetParent = (el) => {
|
|
59
|
+
let offsetParent = el.offsetParent;
|
|
67
60
|
return offsetParent === win.document.body || !offsetParent ? win.document.documentElement : offsetParent;
|
|
68
61
|
};
|
|
69
|
-
|
|
62
|
+
const getStyleComputedProperty = (el, property) => {
|
|
70
63
|
if (!el || el.nodeType !== 1) {
|
|
71
64
|
return;
|
|
72
65
|
}
|
|
73
|
-
|
|
66
|
+
let css = win.getComputedStyle(el, null);
|
|
74
67
|
return css[property];
|
|
75
68
|
};
|
|
76
|
-
|
|
69
|
+
const isFixed = (el) => {
|
|
77
70
|
if (el === win.document.body) {
|
|
78
71
|
return false;
|
|
79
72
|
}
|
|
80
|
-
if (getStyleComputedProperty(el,
|
|
73
|
+
if (getStyleComputedProperty(el, "position") === "fixed") {
|
|
81
74
|
return true;
|
|
82
75
|
}
|
|
83
76
|
return el.parentNode ? isFixed(el.parentNode) : el;
|
|
84
77
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
78
|
+
const getBoundingClientRect = (el) => {
|
|
79
|
+
let rectObj = el.getBoundingClientRect();
|
|
80
|
+
let isIE = navigator.userAgent.includes("MSIE");
|
|
81
|
+
let rectTop = isIE && el.tagName === "HTML" ? -el.scrollTop : rectObj.top;
|
|
89
82
|
return {
|
|
90
83
|
left: rectObj.left,
|
|
91
84
|
top: rectTop,
|
|
@@ -95,12 +88,12 @@ var getBoundingClientRect = function getBoundingClientRect(el) {
|
|
|
95
88
|
height: rectObj.bottom - rectTop
|
|
96
89
|
};
|
|
97
90
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return scrollTypes.includes(getStyleComputedProperty(el,
|
|
91
|
+
const isScrollElement = (el) => {
|
|
92
|
+
const scrollTypes = ["scroll", "auto"];
|
|
93
|
+
return scrollTypes.includes(getStyleComputedProperty(el, "overflow")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-x")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-y"));
|
|
101
94
|
};
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
const getScrollParent = (el) => {
|
|
96
|
+
let parent = el.parentNode;
|
|
104
97
|
if (!parent) {
|
|
105
98
|
return el;
|
|
106
99
|
}
|
|
@@ -115,50 +108,37 @@ export var getScrollParent = function getScrollParent(el) {
|
|
|
115
108
|
}
|
|
116
109
|
return getScrollParent(el.parentNode);
|
|
117
110
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
left = _getBoundingClientRec.left,
|
|
122
|
-
width = _getBoundingClientRec.width,
|
|
123
|
-
height = _getBoundingClientRec.height;
|
|
124
|
-
var parentRect = getBoundingClientRect(parent);
|
|
111
|
+
const getOffsetRectRelativeToCustomParent = (el, parent, fixed) => {
|
|
112
|
+
let { top, left, width, height } = getBoundingClientRect(el);
|
|
113
|
+
let parentRect = getBoundingClientRect(parent);
|
|
125
114
|
if (fixed) {
|
|
126
|
-
|
|
127
|
-
scrollTop = _getScrollParent.scrollTop,
|
|
128
|
-
scrollLeft = _getScrollParent.scrollLeft;
|
|
115
|
+
let { scrollTop, scrollLeft } = getScrollParent(parent);
|
|
129
116
|
parentRect.top += scrollTop;
|
|
130
117
|
parentRect.bottom += scrollTop;
|
|
131
118
|
parentRect.left += scrollLeft;
|
|
132
119
|
parentRect.right += scrollLeft;
|
|
133
120
|
}
|
|
134
|
-
|
|
121
|
+
let rect = {
|
|
135
122
|
top: top - parentRect.top,
|
|
136
123
|
left: left - parentRect.left,
|
|
137
124
|
bottom: top - parentRect.top + height,
|
|
138
125
|
right: left - parentRect.left + width,
|
|
139
|
-
width
|
|
140
|
-
height
|
|
126
|
+
width,
|
|
127
|
+
height
|
|
141
128
|
};
|
|
142
129
|
return rect;
|
|
143
130
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
height: height
|
|
156
|
-
};
|
|
157
|
-
};
|
|
158
|
-
var adjustArrowStyle = function adjustArrowStyle(arrowStyle, side, arrowRect, popperRect, popperOptions) {
|
|
159
|
-
var params = popperOptions.placement.split('-');
|
|
160
|
-
if (popperOptions.adjustArrow && ~['top', 'bottom'].indexOf(params[0]) && side === 'left') {
|
|
161
|
-
if (params[1] === 'start') {
|
|
131
|
+
const getScrollTopValue = (el) => el == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : el.scrollTop;
|
|
132
|
+
const getScrollLeftValue = (el) => el == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : el.scrollLeft;
|
|
133
|
+
const getMaxWH = (body, html) => {
|
|
134
|
+
const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
|
|
135
|
+
const width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
|
|
136
|
+
return { width, height };
|
|
137
|
+
};
|
|
138
|
+
const adjustArrowStyle = (arrowStyle, side, arrowRect, popperRect, popperOptions) => {
|
|
139
|
+
let params = popperOptions.placement.split("-");
|
|
140
|
+
if (popperOptions.adjustArrow && ~["top", "bottom"].indexOf(params[0]) && side === "left") {
|
|
141
|
+
if (params[1] === "start") {
|
|
162
142
|
arrowStyle.left = 8;
|
|
163
143
|
} else if (!params[1]) {
|
|
164
144
|
arrowStyle.left = (popperRect.width - arrowRect.width) / 2;
|
|
@@ -166,69 +146,49 @@ var adjustArrowStyle = function adjustArrowStyle(arrowStyle, side, arrowRect, po
|
|
|
166
146
|
}
|
|
167
147
|
return arrowStyle;
|
|
168
148
|
};
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
el.style.display =
|
|
173
|
-
el.style.visibility =
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
width: el.offsetWidth + y,
|
|
179
|
-
height: el.offsetHeight + x
|
|
180
|
-
};
|
|
149
|
+
const getOuterSizes = (el) => {
|
|
150
|
+
let _display = el.style.display;
|
|
151
|
+
let _visibility = el.style.visibility;
|
|
152
|
+
el.style.display = "block";
|
|
153
|
+
el.style.visibility = "hidden";
|
|
154
|
+
let styles = win.getComputedStyle(el);
|
|
155
|
+
let x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
|
156
|
+
let y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
|
157
|
+
let result = { width: el.offsetWidth + y, height: el.offsetHeight + x };
|
|
181
158
|
el.style.display = _display;
|
|
182
159
|
el.style.visibility = _visibility;
|
|
183
160
|
return result;
|
|
184
161
|
};
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
right: 'left',
|
|
189
|
-
bottom: 'top',
|
|
190
|
-
top: 'bottom'
|
|
191
|
-
};
|
|
192
|
-
return placement.replace(/left|right|bottom|top/g, function (matched) {
|
|
193
|
-
return hash[matched];
|
|
194
|
-
});
|
|
162
|
+
const getOppositePlacement = (placement) => {
|
|
163
|
+
let hash = { left: "right", right: "left", bottom: "top", top: "bottom" };
|
|
164
|
+
return placement.replace(/left|right|bottom|top/g, (matched) => hash[matched]);
|
|
195
165
|
};
|
|
196
|
-
|
|
197
|
-
|
|
166
|
+
const getPopperClientRect = (popperOffsets) => {
|
|
167
|
+
let offsets = __spreadValues({}, popperOffsets);
|
|
198
168
|
offsets.right = offsets.left + offsets.width;
|
|
199
169
|
offsets.bottom = offsets.top + offsets.height;
|
|
200
170
|
return offsets;
|
|
201
171
|
};
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
208
|
-
var value = _step.value;
|
|
209
|
-
if (value === keyToFind) {
|
|
210
|
-
return i;
|
|
211
|
-
}
|
|
212
|
-
i++;
|
|
172
|
+
const getArrayKeyIndex = (arr, keyToFind) => {
|
|
173
|
+
let i = 0;
|
|
174
|
+
for (let value of arr) {
|
|
175
|
+
if (value === keyToFind) {
|
|
176
|
+
return i;
|
|
213
177
|
}
|
|
214
|
-
|
|
215
|
-
_iterator.e(err);
|
|
216
|
-
} finally {
|
|
217
|
-
_iterator.f();
|
|
178
|
+
i++;
|
|
218
179
|
}
|
|
219
180
|
return null;
|
|
220
181
|
};
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
var parent = el.parentNode;
|
|
182
|
+
const getAllScrollParents = (el, parents = []) => {
|
|
183
|
+
const parent = el.parentNode;
|
|
224
184
|
if (parent) {
|
|
225
185
|
isScrollElement(parent) && parents.push(parent);
|
|
226
186
|
return getAllScrollParents(parent, parents);
|
|
227
187
|
}
|
|
228
188
|
return parents;
|
|
229
189
|
};
|
|
230
|
-
|
|
231
|
-
|
|
190
|
+
const getOffsetRect = (el) => {
|
|
191
|
+
let elementRect = {
|
|
232
192
|
width: el.offsetWidth,
|
|
233
193
|
height: el.offsetHeight,
|
|
234
194
|
left: el.offsetLeft,
|
|
@@ -239,112 +199,99 @@ var getOffsetRect = function getOffsetRect(el) {
|
|
|
239
199
|
return elementRect;
|
|
240
200
|
};
|
|
241
201
|
function Popper(reference, popper, options) {
|
|
242
|
-
var _this = this;
|
|
243
202
|
this._reference = getRealElement(reference);
|
|
244
203
|
this.state = {};
|
|
245
|
-
|
|
246
|
-
|
|
204
|
+
let isNotDefined = typeof popper === "undefined" || popper === null;
|
|
205
|
+
let isConfig = popper && Object.prototype.toString.call(popper) === "[object Object]";
|
|
247
206
|
if (isNotDefined || isConfig) {
|
|
248
207
|
this._popper = this.parse(isConfig ? popper : {});
|
|
249
208
|
} else {
|
|
250
209
|
this._popper = getRealElement(popper);
|
|
251
210
|
}
|
|
252
|
-
this._options =
|
|
253
|
-
this._options.modifiers = this._options.modifiers.map(
|
|
254
|
-
if (~
|
|
255
|
-
return
|
|
211
|
+
this._options = __spreadValues(__spreadValues({}, DEFAULTS), options);
|
|
212
|
+
this._options.modifiers = this._options.modifiers.map((modifier) => {
|
|
213
|
+
if (~this._options.modifiersIgnored.indexOf(modifier)) {
|
|
214
|
+
return void 0;
|
|
256
215
|
}
|
|
257
|
-
if (modifier ===
|
|
258
|
-
|
|
216
|
+
if (modifier === "applyStyle") {
|
|
217
|
+
this._popper.setAttribute("x-placement", this._options.placement);
|
|
259
218
|
}
|
|
260
|
-
return
|
|
219
|
+
return this.modifiers[modifier] || modifier;
|
|
261
220
|
});
|
|
262
221
|
this.state.position = this._getPosition(this._popper, this._reference);
|
|
263
|
-
setStyle(this._popper, {
|
|
264
|
-
position: this.state.position,
|
|
265
|
-
top: 0
|
|
266
|
-
});
|
|
222
|
+
setStyle(this._popper, { position: this.state.position, top: 0 });
|
|
267
223
|
this.update();
|
|
268
224
|
this._setupEventListeners();
|
|
269
225
|
this._oldreference = this._reference;
|
|
270
226
|
this._oldreference._popper = this._popper.style || {};
|
|
271
227
|
return this;
|
|
272
228
|
}
|
|
273
|
-
Popper.prototype.destroy = function
|
|
274
|
-
this._popper.removeAttribute(
|
|
275
|
-
|
|
276
|
-
this._popper.style.position =
|
|
277
|
-
this._popper.style.top = popperStyle.top ||
|
|
278
|
-
this._popper.style.left = popperStyle.left ||
|
|
279
|
-
this._popper.style[getSupportedPropertyName(
|
|
229
|
+
Popper.prototype.destroy = function() {
|
|
230
|
+
this._popper.removeAttribute("x-placement");
|
|
231
|
+
const popperStyle = this._reference === this._oldreference && this._oldreference._popper || {};
|
|
232
|
+
this._popper.style.position = "";
|
|
233
|
+
this._popper.style.top = popperStyle.top || "";
|
|
234
|
+
this._popper.style.left = popperStyle.left || "";
|
|
235
|
+
this._popper.style[getSupportedPropertyName("transform")] = "";
|
|
280
236
|
this._removeEventListeners();
|
|
281
237
|
this._options.removeOnDestroy && this._popper.remove();
|
|
282
238
|
return this;
|
|
283
239
|
};
|
|
284
|
-
Popper.prototype.onCreate = function
|
|
240
|
+
Popper.prototype.onCreate = function(callback) {
|
|
285
241
|
callback(this);
|
|
286
242
|
return this;
|
|
287
243
|
};
|
|
288
|
-
Popper.prototype.onUpdate = function
|
|
244
|
+
Popper.prototype.onUpdate = function(callback) {
|
|
289
245
|
this.state.updateCallback = callback;
|
|
290
246
|
return this;
|
|
291
247
|
};
|
|
292
|
-
Popper.prototype.update = function
|
|
293
|
-
|
|
294
|
-
instance: this,
|
|
295
|
-
styles: {}
|
|
296
|
-
};
|
|
248
|
+
Popper.prototype.update = function() {
|
|
249
|
+
let data = { instance: this, styles: {} };
|
|
297
250
|
this.popperOuterSize = null;
|
|
298
251
|
data.placement = data._originalPlacement = this._options.placement;
|
|
299
252
|
data.offsets = this._getOffsets(this._popper, this._reference, data.placement);
|
|
300
253
|
data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);
|
|
301
254
|
data = this.runModifiers(data, this._options.modifiers);
|
|
302
|
-
typeof this.state.updateCallback ===
|
|
255
|
+
typeof this.state.updateCallback === "function" && this.state.updateCallback(data);
|
|
303
256
|
};
|
|
304
|
-
Popper.prototype.parse = function
|
|
305
|
-
|
|
257
|
+
Popper.prototype.parse = function(config) {
|
|
258
|
+
let defaultConfig = {
|
|
306
259
|
attributes: [],
|
|
307
|
-
arrowTagName:
|
|
308
|
-
arrowClassNames: [
|
|
309
|
-
arrowAttributes: [
|
|
310
|
-
classNames: [
|
|
311
|
-
content:
|
|
312
|
-
contentType:
|
|
260
|
+
arrowTagName: "div",
|
|
261
|
+
arrowClassNames: ["popper__arrow"],
|
|
262
|
+
arrowAttributes: ["x-arrow"],
|
|
263
|
+
classNames: ["popper"],
|
|
264
|
+
content: "",
|
|
265
|
+
contentType: "text",
|
|
313
266
|
parent: win.document.body,
|
|
314
|
-
tagName:
|
|
267
|
+
tagName: "div"
|
|
315
268
|
};
|
|
316
|
-
config =
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
attributes = _config.attributes,
|
|
321
|
-
contentType = _config.contentType,
|
|
322
|
-
content = _config.content,
|
|
323
|
-
arrowTagName = _config.arrowTagName;
|
|
324
|
-
var docEl = win.document;
|
|
325
|
-
var popper = docEl.createElement(tagName);
|
|
269
|
+
config = __spreadValues(__spreadValues({}, defaultConfig), config);
|
|
270
|
+
const { tagName, classNames, attributes, contentType, content, arrowTagName } = config;
|
|
271
|
+
let docEl = win.document;
|
|
272
|
+
let popper = docEl.createElement(tagName);
|
|
326
273
|
addClassNames(popper, classNames);
|
|
327
274
|
addAttributes(popper, attributes);
|
|
328
|
-
if (contentType ===
|
|
275
|
+
if (contentType === "node") {
|
|
329
276
|
popper.appendChild(getRealElement(content));
|
|
330
|
-
} else if (contentType ===
|
|
277
|
+
} else if (contentType === "html") {
|
|
331
278
|
popper.innerHTML = xss.filterHtml(content);
|
|
332
279
|
} else {
|
|
333
280
|
popper.textContent = content;
|
|
334
281
|
}
|
|
335
282
|
if (arrowTagName) {
|
|
336
|
-
|
|
283
|
+
let arrow = docEl.createElement(arrowTagName);
|
|
337
284
|
addClassNames(arrow, config.arrowClassNames);
|
|
338
285
|
addAttributes(arrow, config.arrowAttributes);
|
|
339
286
|
popper.appendChild(arrow);
|
|
340
287
|
}
|
|
341
|
-
|
|
342
|
-
if (typeof parent ===
|
|
288
|
+
let parent = getRealElement(config.parent);
|
|
289
|
+
if (typeof parent === "string") {
|
|
343
290
|
parent = docEl.querySelectorAll(config.parent);
|
|
344
291
|
if (parent && parent.length) {
|
|
345
292
|
parent = parent[0];
|
|
346
293
|
} else {
|
|
347
|
-
throw new Error(
|
|
294
|
+
throw new Error("ERROR: the given `parent` does not exists!");
|
|
348
295
|
}
|
|
349
296
|
}
|
|
350
297
|
if (parent.length > 1 && parent instanceof Element === false) {
|
|
@@ -353,33 +300,31 @@ Popper.prototype.parse = function (config) {
|
|
|
353
300
|
parent.appendChild(popper);
|
|
354
301
|
return popper;
|
|
355
302
|
};
|
|
356
|
-
Popper.prototype._getPosition = function
|
|
357
|
-
|
|
303
|
+
Popper.prototype._getPosition = function(popper, reference) {
|
|
304
|
+
let container = getOffsetParent(reference);
|
|
358
305
|
if (this._options.forceAbsolute) {
|
|
359
|
-
return
|
|
306
|
+
return "absolute";
|
|
360
307
|
}
|
|
361
|
-
|
|
362
|
-
return isParentFixed ?
|
|
308
|
+
let isParentFixed = isFixed(reference, container);
|
|
309
|
+
return isParentFixed ? "fixed" : "absolute";
|
|
363
310
|
};
|
|
364
|
-
Popper.prototype._getOffsets = function
|
|
365
|
-
placement = placement.split(
|
|
366
|
-
|
|
311
|
+
Popper.prototype._getOffsets = function(popper, reference, placement) {
|
|
312
|
+
placement = placement.split("-")[0];
|
|
313
|
+
let popperOffsets = {};
|
|
367
314
|
popperOffsets.position = this.state.position;
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
height = _ref.height;
|
|
373
|
-
if (~['right', 'left'].indexOf(placement)) {
|
|
315
|
+
let isParentFixed = popperOffsets.position === "fixed";
|
|
316
|
+
let referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed);
|
|
317
|
+
let { width, height } = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(popper);
|
|
318
|
+
if (~["right", "left"].indexOf(placement)) {
|
|
374
319
|
popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - height / 2;
|
|
375
|
-
if (placement ===
|
|
320
|
+
if (placement === "left") {
|
|
376
321
|
popperOffsets.left = referenceOffsets.left - width;
|
|
377
322
|
} else {
|
|
378
323
|
popperOffsets.left = referenceOffsets.right;
|
|
379
324
|
}
|
|
380
325
|
} else {
|
|
381
326
|
popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - width / 2;
|
|
382
|
-
if (placement ===
|
|
327
|
+
if (placement === "top") {
|
|
383
328
|
popperOffsets.top = referenceOffsets.top - height;
|
|
384
329
|
} else {
|
|
385
330
|
popperOffsets.top = referenceOffsets.bottom;
|
|
@@ -392,64 +337,55 @@ Popper.prototype._getOffsets = function (popper, reference, placement) {
|
|
|
392
337
|
reference: referenceOffsets
|
|
393
338
|
};
|
|
394
339
|
};
|
|
395
|
-
Popper.prototype._setupEventListeners = function
|
|
396
|
-
var _this2 = this;
|
|
340
|
+
Popper.prototype._setupEventListeners = function() {
|
|
397
341
|
this.state.updateBound = this.update.bind(this);
|
|
398
|
-
on(win,
|
|
399
|
-
if (this._options.boundariesElement !==
|
|
400
|
-
|
|
342
|
+
on(win, "resize", this.state.updateBound);
|
|
343
|
+
if (this._options.boundariesElement !== "window") {
|
|
344
|
+
let target = getScrollParent(this._reference);
|
|
401
345
|
if (target === win.document.body || target === win.document.documentElement) {
|
|
402
346
|
target = win;
|
|
403
347
|
}
|
|
404
348
|
this.state.scrollTarget = target;
|
|
405
349
|
if (this._options.bubbling || PopupManager.globalScroll) {
|
|
406
|
-
|
|
350
|
+
let targets = getAllScrollParents(this._reference);
|
|
407
351
|
this.state.scrollTargets = targets || [];
|
|
408
|
-
targets.forEach(
|
|
409
|
-
on(
|
|
352
|
+
targets.forEach((target2) => {
|
|
353
|
+
on(target2, "scroll", this.state.updateBound);
|
|
410
354
|
});
|
|
411
355
|
} else {
|
|
412
|
-
on(target,
|
|
356
|
+
on(target, "scroll", this.state.updateBound);
|
|
413
357
|
}
|
|
414
358
|
}
|
|
415
359
|
};
|
|
416
|
-
Popper.prototype._removeEventListeners = function
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
off(this.state.scrollTarget, 'scroll', this.state.updateBound);
|
|
360
|
+
Popper.prototype._removeEventListeners = function() {
|
|
361
|
+
off(win, "resize", this.state.updateBound);
|
|
362
|
+
if (this._options.boundariesElement !== "window" && this.state.scrollTarget) {
|
|
363
|
+
off(this.state.scrollTarget, "scroll", this.state.updateBound);
|
|
421
364
|
this.state.scrollTarget = null;
|
|
422
365
|
if (this._options.bubbling || PopupManager.globalScroll) {
|
|
423
|
-
|
|
424
|
-
targets.forEach(
|
|
425
|
-
off(target,
|
|
366
|
+
let targets = this.state.scrollTargets || [];
|
|
367
|
+
targets.forEach((target) => {
|
|
368
|
+
off(target, "scroll", this.state.updateBound);
|
|
426
369
|
});
|
|
427
370
|
this.state.scrollTargets = null;
|
|
428
371
|
}
|
|
429
372
|
}
|
|
430
373
|
this.state.updateBound = null;
|
|
431
374
|
};
|
|
432
|
-
Popper.prototype._getBoundaries = function
|
|
433
|
-
|
|
434
|
-
if (boundariesElement ===
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
} else if (boundariesElement === 'viewport') {
|
|
447
|
-
var offsetParent = getOffsetParent(this._popper);
|
|
448
|
-
var scrollParent = getScrollParent(this._popper);
|
|
449
|
-
var offsetParentRect = getOffsetRect(offsetParent);
|
|
450
|
-
var _isFixed = data.offsets.popper.position === 'fixed';
|
|
451
|
-
var scrollTop = _isFixed ? 0 : getScrollTopValue(scrollParent);
|
|
452
|
-
var scrollLeft = _isFixed ? 0 : getScrollLeftValue(scrollParent);
|
|
375
|
+
Popper.prototype._getBoundaries = function(data, padding, boundariesElement) {
|
|
376
|
+
let boundaries = {};
|
|
377
|
+
if (boundariesElement === "window") {
|
|
378
|
+
let body = win.document.body;
|
|
379
|
+
let html = win.document.documentElement;
|
|
380
|
+
let { width, height } = getMaxWH(body, html);
|
|
381
|
+
boundaries = { top: 0, right: width, bottom: height, left: 0 };
|
|
382
|
+
} else if (boundariesElement === "viewport") {
|
|
383
|
+
let offsetParent = getOffsetParent(this._popper);
|
|
384
|
+
let scrollParent = getScrollParent(this._popper);
|
|
385
|
+
let offsetParentRect = getOffsetRect(offsetParent);
|
|
386
|
+
let isFixed2 = data.offsets.popper.position === "fixed";
|
|
387
|
+
let scrollTop = isFixed2 ? 0 : getScrollTopValue(scrollParent);
|
|
388
|
+
let scrollLeft = isFixed2 ? 0 : getScrollLeftValue(scrollParent);
|
|
453
389
|
boundaries = {
|
|
454
390
|
top: 0 - (offsetParentRect.top - scrollTop),
|
|
455
391
|
right: win.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),
|
|
@@ -458,8 +394,7 @@ Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {
|
|
|
458
394
|
};
|
|
459
395
|
} else {
|
|
460
396
|
if (getOffsetParent(this._popper) === boundariesElement) {
|
|
461
|
-
|
|
462
|
-
clientHeight = boundariesElement.clientHeight;
|
|
397
|
+
const { clientWidth, clientHeight } = boundariesElement;
|
|
463
398
|
boundaries = {
|
|
464
399
|
right: clientWidth,
|
|
465
400
|
bottom: clientHeight,
|
|
@@ -476,138 +411,107 @@ Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {
|
|
|
476
411
|
boundaries.top = boundaries.top + padding;
|
|
477
412
|
return boundaries;
|
|
478
413
|
};
|
|
479
|
-
Popper.prototype.isModifierRequired = function
|
|
480
|
-
|
|
481
|
-
return !!this._options.modifiers.slice(0, index).filter(
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
var modifiersToRun = modifiers.slice();
|
|
488
|
-
var _options = this._options;
|
|
489
|
-
if (ends !== undefined) {
|
|
414
|
+
Popper.prototype.isModifierRequired = function(requesting, requested) {
|
|
415
|
+
let index = getArrayKeyIndex(this._options.modifiers, requesting);
|
|
416
|
+
return !!this._options.modifiers.slice(0, index).filter((modifier) => modifier === requested).length;
|
|
417
|
+
};
|
|
418
|
+
Popper.prototype.runModifiers = function(data, modifiers2, ends) {
|
|
419
|
+
let modifiersToRun = modifiers2.slice();
|
|
420
|
+
const _options = this._options;
|
|
421
|
+
if (ends !== void 0) {
|
|
490
422
|
modifiersToRun = _options.modifiers.slice(0, getArrayKeyIndex(_options.modifiers, ends));
|
|
491
423
|
}
|
|
492
|
-
modifiersToRun.forEach(
|
|
493
|
-
if (typeOf(modifier) ===
|
|
494
|
-
data = modifier.call(
|
|
424
|
+
modifiersToRun.forEach((modifier) => {
|
|
425
|
+
if (typeOf(modifier) === "function") {
|
|
426
|
+
data = modifier.call(this, data);
|
|
495
427
|
}
|
|
496
428
|
});
|
|
497
429
|
return data;
|
|
498
430
|
};
|
|
499
431
|
Popper.prototype.modifiers = {};
|
|
500
|
-
Popper.prototype.modifiers.applyStyle = function
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
styles[prefixedProperty] = "translate3d(".concat(left, "px, ").concat(top, "px, 0)");
|
|
509
|
-
Object.assign(styles, {
|
|
510
|
-
top: 0,
|
|
511
|
-
left: 0
|
|
512
|
-
});
|
|
432
|
+
Popper.prototype.modifiers.applyStyle = function(data) {
|
|
433
|
+
let styles = { position: data.offsets.popper.position };
|
|
434
|
+
let left = Math.round(data.offsets.popper.left);
|
|
435
|
+
let top = Math.round(data.offsets.popper.top);
|
|
436
|
+
let prefixedProperty;
|
|
437
|
+
if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName("transform"))) {
|
|
438
|
+
styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;
|
|
439
|
+
Object.assign(styles, { top: 0, left: 0 });
|
|
513
440
|
} else {
|
|
514
|
-
Object.assign(styles, {
|
|
515
|
-
top: top,
|
|
516
|
-
left: left
|
|
517
|
-
});
|
|
441
|
+
Object.assign(styles, { top, left });
|
|
518
442
|
}
|
|
519
443
|
Object.assign(styles, data.styles);
|
|
520
444
|
setStyle(this._popper, styles);
|
|
521
|
-
this._popper.setAttribute(
|
|
522
|
-
|
|
523
|
-
if (this.isModifierRequired(
|
|
445
|
+
this._popper.setAttribute("x-placement", data.placement);
|
|
446
|
+
const modifiers2 = this.modifiers;
|
|
447
|
+
if (this.isModifierRequired(modifiers2.applyStyle, modifiers2.arrow) && data.offsets.arrow) {
|
|
524
448
|
setStyle(data.arrowElement, data.offsets.arrow);
|
|
525
449
|
}
|
|
526
450
|
return data;
|
|
527
451
|
};
|
|
528
|
-
Popper.prototype.modifiers.shift = function
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
452
|
+
Popper.prototype.modifiers.shift = function(data) {
|
|
453
|
+
let placement = data.placement;
|
|
454
|
+
let basePlacement = placement.split("-")[0];
|
|
455
|
+
let shiftVariation = placement.split("-")[1];
|
|
532
456
|
if (shiftVariation) {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
height = _data$offsets$referen.height,
|
|
537
|
-
width = _data$offsets$referen.width;
|
|
538
|
-
var popper = getPopperClientRect(data.offsets.popper);
|
|
539
|
-
var shiftOffsets = {
|
|
457
|
+
let { top, left, height, width } = data.offsets.reference;
|
|
458
|
+
let popper = getPopperClientRect(data.offsets.popper);
|
|
459
|
+
let shiftOffsets = {
|
|
540
460
|
y: {
|
|
541
|
-
start: {
|
|
542
|
-
|
|
543
|
-
},
|
|
544
|
-
end: {
|
|
545
|
-
top: top + height - popper.height
|
|
546
|
-
}
|
|
461
|
+
start: { top },
|
|
462
|
+
end: { top: top + height - popper.height }
|
|
547
463
|
},
|
|
548
464
|
x: {
|
|
549
|
-
start: {
|
|
550
|
-
|
|
551
|
-
},
|
|
552
|
-
end: {
|
|
553
|
-
left: left + width - popper.width
|
|
554
|
-
}
|
|
465
|
+
start: { left },
|
|
466
|
+
end: { left: left + width - popper.width }
|
|
555
467
|
}
|
|
556
468
|
};
|
|
557
|
-
|
|
469
|
+
let axis = ~["bottom", "top"].indexOf(basePlacement) ? "x" : "y";
|
|
558
470
|
data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);
|
|
559
471
|
}
|
|
560
472
|
return data;
|
|
561
473
|
};
|
|
562
|
-
Popper.prototype.modifiers.preventOverflow = function
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
top:
|
|
567
|
-
|
|
474
|
+
Popper.prototype.modifiers.preventOverflow = function(data) {
|
|
475
|
+
let order = this._options.preventOverflowOrder;
|
|
476
|
+
let popper = getPopperClientRect(data.offsets.popper);
|
|
477
|
+
let check = {
|
|
478
|
+
top: () => {
|
|
479
|
+
let { top } = popper;
|
|
568
480
|
if (top < data.boundaries.top) {
|
|
569
481
|
top = Math.max(top, data.boundaries.top);
|
|
570
482
|
}
|
|
571
|
-
return {
|
|
572
|
-
top: top
|
|
573
|
-
};
|
|
483
|
+
return { top };
|
|
574
484
|
},
|
|
575
|
-
right:
|
|
576
|
-
|
|
485
|
+
right: () => {
|
|
486
|
+
let { left } = popper;
|
|
577
487
|
if (popper.right > data.boundaries.right) {
|
|
578
488
|
left = Math.min(left, data.boundaries.right - popper.width);
|
|
579
489
|
}
|
|
580
|
-
return {
|
|
581
|
-
left: left
|
|
582
|
-
};
|
|
490
|
+
return { left };
|
|
583
491
|
},
|
|
584
|
-
bottom:
|
|
585
|
-
|
|
492
|
+
bottom: () => {
|
|
493
|
+
let { top } = popper;
|
|
586
494
|
if (popper.bottom > data.boundaries.bottom) {
|
|
587
495
|
top = Math.min(top, data.boundaries.bottom - popper.height);
|
|
588
496
|
}
|
|
589
|
-
return {
|
|
590
|
-
top: top
|
|
591
|
-
};
|
|
497
|
+
return { top };
|
|
592
498
|
},
|
|
593
|
-
left:
|
|
594
|
-
|
|
499
|
+
left: () => {
|
|
500
|
+
let { left } = popper;
|
|
595
501
|
if (popper.left < data.boundaries.left) {
|
|
596
502
|
left = Math.max(left, data.boundaries.left);
|
|
597
503
|
}
|
|
598
|
-
return {
|
|
599
|
-
left: left
|
|
600
|
-
};
|
|
504
|
+
return { left };
|
|
601
505
|
}
|
|
602
506
|
};
|
|
603
|
-
order.forEach(
|
|
507
|
+
order.forEach((direction) => {
|
|
604
508
|
data.offsets.popper = Object.assign(popper, check[direction]());
|
|
605
509
|
});
|
|
606
510
|
return data;
|
|
607
511
|
};
|
|
608
|
-
Popper.prototype.modifiers.keepTogether = function
|
|
609
|
-
|
|
610
|
-
|
|
512
|
+
Popper.prototype.modifiers.keepTogether = function(data) {
|
|
513
|
+
let popper = getPopperClientRect(data.offsets.popper);
|
|
514
|
+
let reference = data.offsets.reference;
|
|
611
515
|
if (popper.right < Math.floor(reference.left)) {
|
|
612
516
|
data.offsets.popper.left = Math.floor(reference.left) - popper.width;
|
|
613
517
|
}
|
|
@@ -622,94 +526,98 @@ Popper.prototype.modifiers.keepTogether = function (data) {
|
|
|
622
526
|
}
|
|
623
527
|
return data;
|
|
624
528
|
};
|
|
625
|
-
Popper.prototype.modifiers.flip = function
|
|
626
|
-
var _this5 = this;
|
|
529
|
+
Popper.prototype.modifiers.flip = function(data) {
|
|
627
530
|
if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {
|
|
628
531
|
return data;
|
|
629
532
|
}
|
|
630
533
|
if (data.flipped && data.placement === data._originalPlacement) {
|
|
631
534
|
return data;
|
|
632
535
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
if (this._options.flipBehavior ===
|
|
536
|
+
const placements = data.placement.split("-");
|
|
537
|
+
let placement = placements[0];
|
|
538
|
+
let placementOpposite = getOppositePlacement(placement);
|
|
539
|
+
let variation = placements[1] || "";
|
|
540
|
+
let flipOrderArr = [];
|
|
541
|
+
if (this._options.flipBehavior === "flip") {
|
|
639
542
|
flipOrderArr = [placement, placementOpposite];
|
|
640
543
|
} else {
|
|
641
544
|
flipOrderArr = this._options.flipBehavior;
|
|
642
545
|
}
|
|
643
|
-
flipOrderArr.forEach(
|
|
546
|
+
flipOrderArr.forEach((step, index) => {
|
|
644
547
|
if (placement !== step || flipOrderArr.length === index + 1) {
|
|
645
548
|
return;
|
|
646
549
|
}
|
|
647
|
-
placement = data.placement.split(
|
|
550
|
+
placement = data.placement.split("-")[0];
|
|
648
551
|
placementOpposite = getOppositePlacement(placement);
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
552
|
+
let popperOffsets = getPopperClientRect(data.offsets.popper);
|
|
553
|
+
let a = ~["right", "bottom"].indexOf(placement);
|
|
554
|
+
let p = Math.floor(data.offsets.reference[placement]);
|
|
555
|
+
let po = Math.floor(popperOffsets[placementOpposite]);
|
|
653
556
|
if (a && p > po || !a && p < po) {
|
|
654
557
|
data.flipped = true;
|
|
655
558
|
data.placement = flipOrderArr[index + 1];
|
|
656
559
|
if (variation) {
|
|
657
|
-
data.placement +=
|
|
560
|
+
data.placement += `-${variation}`;
|
|
658
561
|
}
|
|
659
|
-
data.offsets.popper =
|
|
660
|
-
data =
|
|
562
|
+
data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;
|
|
563
|
+
data = this.runModifiers(data, this._options.modifiers, this._flip);
|
|
661
564
|
}
|
|
662
565
|
});
|
|
663
566
|
return data;
|
|
664
567
|
};
|
|
665
|
-
Popper.prototype.modifiers.offset = function
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
if (~data.placement.indexOf(
|
|
568
|
+
Popper.prototype.modifiers.offset = function(data) {
|
|
569
|
+
let offset = this._options.offset;
|
|
570
|
+
let popper = data.offsets.popper;
|
|
571
|
+
if (~data.placement.indexOf("left")) {
|
|
669
572
|
popper.top -= offset;
|
|
670
|
-
} else if (~data.placement.indexOf(
|
|
573
|
+
} else if (~data.placement.indexOf("right")) {
|
|
671
574
|
popper.top += offset;
|
|
672
|
-
} else if (~data.placement.indexOf(
|
|
575
|
+
} else if (~data.placement.indexOf("top")) {
|
|
673
576
|
popper.left -= offset;
|
|
674
|
-
} else if (~data.placement.indexOf(
|
|
577
|
+
} else if (~data.placement.indexOf("bottom")) {
|
|
675
578
|
popper.left += offset;
|
|
676
579
|
}
|
|
677
580
|
return data;
|
|
678
581
|
};
|
|
679
|
-
Popper.prototype.modifiers.arrow = function
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
if (typeof arrow ===
|
|
582
|
+
Popper.prototype.modifiers.arrow = function(data) {
|
|
583
|
+
let arrow = this._options.arrowElement;
|
|
584
|
+
let arrowOffset = this._options.arrowOffset;
|
|
585
|
+
if (typeof arrow === "string") {
|
|
683
586
|
arrow = this._popper.querySelector(arrow);
|
|
684
587
|
}
|
|
685
588
|
if (!arrow || !this._popper.contains(arrow) || !this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {
|
|
686
589
|
return data;
|
|
687
590
|
}
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
591
|
+
let arrowStyle = {};
|
|
592
|
+
let placement = data.placement.split("-")[0];
|
|
593
|
+
let popper = getPopperClientRect(data.offsets.popper);
|
|
594
|
+
let reference = data.offsets.reference;
|
|
595
|
+
let isVertical = ~["left", "right"].indexOf(placement);
|
|
596
|
+
let len = isVertical ? "height" : "width";
|
|
597
|
+
let opSide = isVertical ? "bottom" : "right";
|
|
598
|
+
let altSide = isVertical ? "left" : "top";
|
|
599
|
+
let side = isVertical ? "top" : "left";
|
|
600
|
+
let popperRect = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(this._popper);
|
|
601
|
+
let arrowRect = getOuterSizes(arrow);
|
|
602
|
+
let arrowSize = arrowRect[len];
|
|
700
603
|
if (reference[opSide] - arrowSize < popper[side]) {
|
|
701
604
|
data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);
|
|
702
605
|
}
|
|
703
606
|
if (reference[side] + arrowSize > popper[opSide]) {
|
|
704
607
|
data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];
|
|
705
608
|
}
|
|
706
|
-
|
|
707
|
-
|
|
609
|
+
let center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2);
|
|
610
|
+
let sideValue = center - popper[side];
|
|
708
611
|
sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8);
|
|
709
612
|
arrowStyle[side] = sideValue;
|
|
710
|
-
arrowStyle[altSide] =
|
|
613
|
+
arrowStyle[altSide] = "";
|
|
711
614
|
data.offsets.arrow = adjustArrowStyle(arrowStyle, side, arrowRect, popperRect, this._options);
|
|
712
615
|
data.arrowElement = arrow;
|
|
713
616
|
return data;
|
|
714
617
|
};
|
|
715
|
-
|
|
618
|
+
var popper_default = Popper;
|
|
619
|
+
export {
|
|
620
|
+
popper_default as default,
|
|
621
|
+
getAllScrollParents,
|
|
622
|
+
getScrollParent
|
|
623
|
+
};
|