snail.vue 2.0.13 → 2.0.16

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.
@@ -1,76 +1,74 @@
1
- /* src:base\button.vue index:0 */
2
- .snail-button{align-items:center;border-radius:2px;cursor:pointer;display:flex;display:inline-flex;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.snail-button.max{height:40px;width:120px}.snail-button.middle{height:32px;width:90px}.snail-button.normal{height:28px;width:54px}.snail-button.small{height:20px;width:30px}.snail-button.primary{background-color:#5ca3ff;color:#fff}.snail-button.default{background-color:#fff;border:1px solid #dddfed;color:#2e2f33}.snail-button.link{color:#4c9aff}
3
1
  /* src:base\choose.vue index:0 */
4
2
  .snail-choose>div.choose-item{align-items:center;display:flex;flex-shrink:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-choose>div.choose-item:not(.readonly){cursor:pointer}.snail-choose>div.choose-item>input::checkmark{background-color:#2196f3;border-color:#2196f3}.snail-choose>div.choose-item>span{margin-left:4px}.snail-choose>div.choose-item>span.item-des{color:#8a9099}.snail-choose>div.choose-item>.item-text{color:#2e3033}.snail-choose>div.choose-item:after{content:"";height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.snail-choose.horizontal{align-items:center;display:flex;flex-wrap:wrap;overflow-x:hidden}.snail-choose.horizontal>div.choose-item{margin:0 8px}.snail-choose.horizontal>div.choose-item:first-child{margin-left:0}.snail-choose.vertical{display:flex;flex-direction:column;justify-content:center}.snail-choose.beautiful>.choose-item>.status{align-items:center;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.snail-choose.beautiful>.choose-item>.status.selected{background-color:#4c9aff;border:1px solid #4c9aff}.snail-choose.beautiful>.choose-item>.status:not(.selected){border:1px solid #dcdfe6}.snail-choose.beautiful.radio>.choose-item>.status{border-radius:50%;height:16px;width:16px}.snail-choose.beautiful.checkbox>.choose-item>.status{height:14px;width:14px}.snail-choose.beautiful.readonly>.choose-item>.status.selected{background-color:#d5d7db;border-color:#d5d7db}.snail-choose.beautiful.readonly>.choose-item>.status:not(.selected){opacity:.5}
5
- /* src:base\icon.vue index:0 */
6
- .snail-icon{cursor:pointer;opacity:1}
7
- /* src:base\datepicker.vue index:0 */
8
- .snail-datepicker{height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;width:100%}
3
+ /* src:base\button.vue index:0 */
4
+ .snail-button{align-items:center;border-radius:2px;cursor:pointer;display:flex;display:inline-flex;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.snail-button.max{height:40px;width:120px}.snail-button.middle{height:32px;width:90px}.snail-button.normal{height:28px;width:54px}.snail-button.small{height:20px;width:30px}.snail-button.primary{background-color:#5ca3ff;color:#fff}.snail-button.default{background-color:#fff;border:1px solid #dddfed;color:#2e2f33}.snail-button.link{color:#4c9aff}
9
5
  /* src:base\footer.vue index:0 */
10
6
  .snail-footer{align-items:center;background-color:#fff;display:flex;flex-shrink:0;height:72px;padding:0 40px;width:100%}.snail-footer>.snail-button:nth-child(n+2){margin-left:20px}.snail-footer.start-divider{border-top:1px solid #dddfed}.snail-footer.left{justify-content:flex-start}.snail-footer.center{justify-content:center}.snail-footer.right{justify-content:flex-end}
11
7
  /* src:base\header.vue index:0 */
12
8
  .snail-header{align-items:center;background-color:#fff;display:flex;flex-shrink:0;position:relative;width:100%}.snail-header>.header-title{color:#2e3033;flex:1;line-height:48px;overflow:hidden;padding:0 30px;text-overflow:ellipsis;white-space:nowrap}.snail-header>.header-title.left{text-align:left}.snail-header>.header-title.center{text-align:center}.snail-header>.header-title.right{text-align:right}.snail-header.start-divider{border-bottom:1px solid #dddfed}.snail-header.page{height:48px}.snail-header.page>.header-title{font-size:16px;font-weight:bold}.snail-header.page>.close-icon{margin-right:18px}.snail-header.dialog{height:64px;padding-top:16px}.snail-header.dialog>.header-title{font-size:20px}.snail-header.dialog>.close-icon{position:absolute;right:8px;top:8px}
9
+ /* src:base\icon.vue index:0 */
10
+ .snail-icon{fill:#8a8099;opacity:1;transition:all .2s linear}.snail-icon.button{cursor:pointer}
13
11
  /* src:base\input.vue index:0 */
14
12
  .snail-input{display:inline-flex;min-height:34px}.snail-input>.input-title{flex-shrink:0;padding-top:6px}.snail-input>.input-title>span.text{color:#2e3033}.snail-input>.input-title>span.required{color:#f74b4b;margin-left:2px}.snail-input>.input-body{align-self:start;display:flex;flex:1;height:32px}.snail-input>.input-body>input{flex:1}.snail-input>.input-body>span{background-color:red;flex-shrink:0}
15
13
  /* src:base\search.vue index:0 */
16
14
  .snail-search{align-items:center;background:#fff;display:flex;flex-shrink:0;height:34px}.snail-search>input{border-radius:0!important;flex:1;height:100%}.snail-search>div{align-items:center;border:1px solid #dddfed;border-left:none;display:flex;flex-shrink:0;height:100%;justify-content:center;width:34px}
17
15
  /* src:base\number.vue index:0 */
18
- .snail-number{align-content:baseline;display:flex;flex-wrap:wrap;min-height:32px;overflow-x:hidden;position:relative;width:100%}.snail-number>.number-prefix,.snail-number>.number-suffix{align-items:center;background-color:#f5f7fa;border:1px solid #dddfed;color:#555;display:flex;flex-shrink:0;max-width:100px;padding:0 10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-number>.number-prefix{border-bottom-left-radius:4px;border-right:none;border-top-left-radius:4px}.snail-number>.number-suffix{border-bottom-right-radius:4px;border-left:none;border-top-right-radius:4px}.snail-number>.input-panel{flex:1;min-width:10px;overflow:hidden;position:relative}.snail-number>.input-panel>input{height:32px;width:100%}.snail-number>.input-panel>.controls{align-items:center;background-color:#f5f7fa;cursor:pointer;display:flex;justify-content:center;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:30px}.snail-number>.input-panel>.controls>svg.snail-icon{fill:#8a9099}.snail-number>.input-panel>.controls>svg.snail-icon:hover{fill:#3292ea}.snail-number>.input-panel>.controls.default{height:calc(100% - 2px);top:1px}.snail-number>.input-panel>.controls.default.subtract{border-bottom-left-radius:4px;border-right:1px solid #dddfed;border-top-left-radius:4px;left:1px}.snail-number>.input-panel>.controls.default.plus{border-bottom-right-radius:4px;border-left:1px solid #dddfed;border-top-right-radius:4px;right:1px}.snail-number>.input-panel>.controls.right{border-left:1px solid #dddfed;height:calc(50% - 1px);right:1px}.snail-number>.input-panel>.controls.right.plus{border-top-right-radius:4px;top:1px}.snail-number>.input-panel>.controls.right.subtract{border-bottom-right-radius:4px;border-top:1px solid #dddfed;top:50%}.snail-number>.input-panel.default>input{padding-left:40px;padding-right:40px}.snail-number>.input-panel.right>input{padding-right:40px}.snail-number.has-prefix>.input-panel>input{border-bottom-left-radius:0;border-top-left-radius:0}.snail-number.has-suffix>.input-panel>input{border-bottom-right-radius:0;border-top-right-radius:0}.snail-number>.number-util{color:#aaa;flex-shrink:0;font-size:12px;line-height:20px;width:100%}
16
+ .snail-number{align-content:baseline;display:flex;flex-wrap:wrap;min-height:32px;overflow-x:hidden;position:relative;width:100%}.snail-number>.number-prefix,.snail-number>.number-suffix{align-items:center;background-color:#f5f7fa;border:1px solid #dddfed;color:#555;display:flex;flex-shrink:0;max-width:100px;padding:0 10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-number>.number-prefix{border-bottom-left-radius:4px;border-right:none;border-top-left-radius:4px}.snail-number>.number-suffix{border-bottom-right-radius:4px;border-left:none;border-top-right-radius:4px}.snail-number>.input-panel{flex:1;min-width:10px;overflow:hidden;position:relative}.snail-number>.input-panel>input{height:32px;width:100%}.snail-number>.input-panel>.controls{align-items:center;background-color:#f5f7fa;cursor:pointer;display:flex;justify-content:center;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:30px}.snail-number>.input-panel>.controls>svg.snail-icon:hover{fill:#3292ea}.snail-number>.input-panel>.controls.default{height:calc(100% - 2px);top:1px}.snail-number>.input-panel>.controls.default.subtract{border-bottom-left-radius:4px;border-right:1px solid #dddfed;border-top-left-radius:4px;left:1px}.snail-number>.input-panel>.controls.default.plus{border-bottom-right-radius:4px;border-left:1px solid #dddfed;border-top-right-radius:4px;right:1px}.snail-number>.input-panel>.controls.right{border-left:1px solid #dddfed;height:calc(50% - 1px);right:1px}.snail-number>.input-panel>.controls.right.plus{border-top-right-radius:4px;top:1px}.snail-number>.input-panel>.controls.right.subtract{border-bottom-right-radius:4px;border-top:1px solid #dddfed;top:50%}.snail-number>.input-panel.default>input{padding-left:40px;padding-right:40px}.snail-number>.input-panel.right>input{padding-right:40px}.snail-number.has-prefix>.input-panel>input{border-bottom-left-radius:0;border-top-left-radius:0}.snail-number.has-suffix>.input-panel>input{border-bottom-right-radius:0;border-top-right-radius:0}.snail-number>.number-util{color:#aaa;flex-shrink:0;font-size:12px;line-height:20px;width:100%}
19
17
  /* src:base\select.vue index:0 */
20
18
  .snail-select{align-items:center;border:1px solid #dddfed;border-radius:4px;color:#2e3033;display:flex;height:32px;width:100%}.snail-select:not(.readonly){background-color:#fff}.snail-select:not(.readonly,.empty){cursor:pointer}.snail-select>div.select-result{align-items:center;display:flex;flex:1;flex-wrap:nowrap;height:30px;overflow:hidden;padding:0 10px 0 6px}.snail-select>div.placeholder{flex:1;padding:0 10px 0 6px}.snail-select>svg.snail-icon{flex-shrink:0;margin-right:4px}.snail-select>div.no-items{flex:1;padding:0 8px}
21
19
  /* src:base\switch.vue index:0 */
22
20
  .snail-switch{border-radius:10px 10px 10px 10px;cursor:pointer;height:20px!important;overflow:hidden;position:relative;width:36px!important}.snail-switch>div{height:100%;width:100%}.snail-switch>div.on{background-color:#5ca3ff}.snail-switch>div.off{background-color:#c4c8cc;position:absolute;transition:left .2s ease}.snail-switch>div.status{background:#fff;border-radius:10px 10px 10px 10px;height:16px;position:absolute;top:2px;transition:left .2s ease;width:16px}.snail-switch.on>div.off{left:100%;top:0}.snail-switch.on>div.status{left:calc(100% - 18px)}.snail-switch.off>div.off{left:0;top:0}.snail-switch.off>div.status{left:2px}.snail-switch.readonly{cursor:not-allowed}
23
- /* src:base\textarea.vue index:0 */
24
- textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overflow-y:auto;resize:none;width:100%}
25
- /* src:container\element.vue index:0 */
26
-
27
21
  /* src:container\dynamic.vue index:0 */
28
22
  .snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
23
+ /* src:base\textarea.vue index:0 */
24
+ textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overflow-y:auto;resize:none;width:100%}
29
25
  /* src:container\fold.vue index:0 */
30
- .snail-fold{flex-shrink:0}.snail-fold>div.fold-header{align-items:center;display:flex;height:32px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-fold>div.fold-header:before{background-color:#2c97fb;content:"";height:18px;left:0;position:absolute;top:7px;width:4px}.snail-fold>div.fold-header>.title{color:#2e3033;font-weight:bold;padding-left:20px}.snail-fold>div.fold-header>.subtitle{color:#8a9099;font-size:13px}.snail-fold>div.fold-header>div.status{align-items:flex-end;display:flex;flex:1;justify-content:flex-end}.snail-fold>div.fold-header>div.status>svg.snail-icon{transition:transform .2s ease}.snail-fold>div.fold-body{padding-left:20px}.snail-fold.expand>div.fold-header>div.status>svg.snail-icon{transform:rotate(-90deg)}.snail-fold.fold>div.fold-header>div.status>svg.snail-icon{transform:rotate(90deg)}
26
+ .snail-fold{flex-shrink:0}.snail-fold>div.fold-header{align-items:center;display:flex;height:32px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-fold>div.fold-header:before{background-color:#2c97fb;content:"";height:18px;left:0;position:absolute;top:7px;width:4px}.snail-fold>div.fold-header>.title{color:#2e3033;font-weight:bold;padding-left:20px}.snail-fold>div.fold-header>.subtitle{color:#8a9099;font-size:13px}.snail-fold>div.fold-header>div.status{align-items:flex-end;display:flex;flex:1;justify-content:flex-end}.snail-fold>div.fold-body{padding-left:20px}
31
27
  /* src:container\layout.vue index:0 */
32
28
  .snail-layout{display:flex;flex-wrap:nowrap}.snail-layout,.snail-layout>div:not(.snail-scroll){overflow:hidden}.snail-layout>div.main-area{flex:1}.snail-layout.horizontal>div.left-area,.snail-layout.horizontal>div.right-area{flex-shrink:0;width:-moz-fit-content;width:fit-content}.snail-layout.vertical{flex-direction:column}.snail-layout.vertical>div.bottom-area,.snail-layout.vertical>div.top-area{flex-shrink:0;height:-moz-fit-content;height:fit-content}
29
+ /* src:container\motion.vue index:0 */
30
+
33
31
  /* src:container\scroll.vue index:0 */
34
32
  .snail-scroll{--scroll-overflow:hidden;overflow:var(--scroll-overflow,hidden)}.snail-scroll::-webkit-scrollbar{height:var(--scroll-bar-size,10px);width:var(--scroll-bar-size,10px)}
35
33
  /* src:container\sort.vue index:0 */
36
34
  .snail-sort-drag{background:#fff;border:1px solid #4c9aff;border-radius:4px;cursor:move}.snail-sort-ghost{border:1px dashed #4c9aff;border-radius:4px}
37
35
  /* src:container\table.vue index:0 */
38
36
  .snail-table{display:flex;flex-direction:column}.snail-table>div.table-footer,.snail-table>div.table-header{align-items:center;display:flex;flex-shrink:0;width:100%}.snail-table>div.table-header{background-color:#fff;position:sticky!important;top:0;z-index:1}.snail-table>div.table-body{flex:1;width:100%}.snail-table.start-border>div.table-body>.table-row>.table-col:nth-child(n+2),.snail-table.start-border>div.table-footer>.table-col:nth-child(n+2),.snail-table.start-border>div.table-header>.table-col:nth-child(n+2){border-left:none!important}.snail-table.start-border>div.table-body>.table-row>.table-col,.snail-table.start-border>div.table-footer>.table-col{border-top:none!important}
39
- /* src:container\motion.vue index:0 */
40
-
41
37
  /* src:container\components\table-row.vue index:0 */
42
38
  .table-row{align-items:center;display:flex}
43
39
  /* src:container\components\table-col.vue index:0 */
44
40
  .table-col{align-items:center;display:flex;height:100%;white-space:nowrap}.table-col.left{justify-content:flex-start}.table-col.center{justify-content:center}.table-col.right{justify-content:flex-end}
45
- /* src:container\transitions.vue index:0 */
46
- .snail-transition.no-duration{transition-duration:0!important;transition-property:none!important}.snail-transition.enter-active,.snail-transition.leave-active{transition-duration:.4s;transition-property:all;transition-timing-function:ease}.snail-transition.fade.enter-from,.snail-transition.fade.leave-to{opacity:0}.snail-transition.fade.enter-to,.snail-transition.fade.leave-from{opacity:1}.snail-transition.scale.enter-from,.snail-transition.scale.leave-to{transform:scale(0)}.snail-transition.scale.enter-to,.snail-transition.scale.leave-from{transform:scale(1)}.snail-transition.rotate.enter-from,.snail-transition.rotate.leave-to{transform:rotate(1turn)}.snail-transition.rotate.enter-to,.snail-transition.rotate.leave-from{transform:rotate(0)}.snail-transition.up.enter-from{transform:translateY(100%)}.snail-transition.up.enter-to,.snail-transition.up.leave-from{transform:translateY(0)}.snail-transition.up.leave-to{transform:translateY(-100%)}.snail-transition.up-down.enter-from,.snail-transition.up-down.leave-to{transform:translateY(100%)}.snail-transition.up-down.enter-to,.snail-transition.up-down.leave-from{transform:translateY(0)}.snail-transition.down.enter-from{transform:translateY(-100%)}.snail-transition.down.enter-to,.snail-transition.down.leave-from{transform:translateY(0)}.snail-transition.down.leave-to{transform:translateY(100%)}.snail-transition.down-up.enter-from,.snail-transition.down-up.leave-to{transform:translateY(-100%)}.snail-transition.down-up.enter-to,.snail-transition.down-up.leave-from{transform:translateY(0)}.snail-transition.left.enter-from,.snail-transition.left.leave-to{transform:translateX(-100%)}.snail-transition.left.enter-to,.snail-transition.left.leave-from{transform:translateX(0)}.snail-transition.left-right.enter-from{transform:translateX(-100%)}.snail-transition.left-right.enter-to,.snail-transition.left-right.leave-from{transform:translateX(0)}.snail-transition.left-right.leave-to,.snail-transition.right.enter-from,.snail-transition.right.leave-to{transform:translateX(100%)}.snail-transition.right.enter-to,.snail-transition.right.leave-from{transform:translateX(0)}.snail-transition.right-left.enter-from{transform:translateX(100%)}.snail-transition.right-left.enter-to,.snail-transition.right-left.leave-from{transform:translateX(0)}.snail-transition.right-left.leave-to{transform:translateX(-100%)}
47
- /* src:container\tree.vue index:0 */
48
- .snail-tree{background-color:#fff;display:flex;flex-direction:column}.snail-tree .snail-search{flex-shrink:0;margin:12px}.snail-tree .snail-scroll{flex:1}
49
41
  /* src:container\wrapper.vue index:0 */
50
42
  .snail-wrapper{background-color:#fff;display:flex;flex-direction:column}.snail-wrapper>.snail-scroll{flex:1}.snail-wrapper.in-normal{flex:1;height:100%;overflow:hidden;width:100%}.snail-wrapper.in-popup{height:80%;min-width:800px;overflow:hidden;width:60%}
43
+ /* src:container\tree.vue index:0 */
44
+ .snail-tree{background-color:#fff;display:flex;flex-direction:column}.snail-tree .snail-search{flex-shrink:0;margin:12px}.snail-tree .snail-scroll{flex:1}
45
+ /* src:picker\date-picker.vue index:0 */
46
+ .snail-datepicker{height:32px;position:relative}.snail-datepicker>input:not(.readonly){cursor:pointer;padding-right:30px!important}.snail-datepicker>svg{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
47
+ /* src:picker\time-picker.vue index:0 */
48
+ .snail-timepicker{height:32px;position:relative}.snail-timepicker>input:not(.readonly){cursor:pointer;padding-right:34px!important}.snail-timepicker>svg{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
51
49
  /* src:prompt\drag-verify.vue index:0 */
52
- .snail-drag-verify{background:#f8f9fa;border:1px solid #dddfed;border-radius:8px;height:40px;overflow:hidden;position:relative;width:100%}.snail-drag-verify>div{height:100%;width:100%}.snail-drag-verify>.drag-progress{background-color:#0c6;transition:width .5s ease-in-out}.snail-drag-verify>.drag-handle,.snail-drag-verify>.verify-message{left:0;position:absolute;top:0;transition:left .5s ease-in-out}.snail-drag-verify>.verify-message{background-image:-webkit-linear-gradient(left,#666,#666 45%,#fff 50%,#666 55%,#666);-webkit-text-fill-color:transparent;align-items:center;animation:snail-drag-verify 2s linear infinite;-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#7e848c;display:flex;font-size:12px;font-weight:400;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-drag-verify>.drag-handle{align-items:center;background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURQAAAGBQUGBaWmJZWWJYWGNYWGNZWWJYWGJZWWBYWGNYWGNZWWRYWIqwlb0AAAANdFJOUwAQMMDQoFBgcCCw4ECQ8pPMAAAAP0lEQVQI12NgwATTGBgawAwRBYZwMIPRiYErAcxSFmA0AjN4HBikBcCsUgYmQxQGE0wKphhIQrSzwAyEW4EOACHhB32zIad6AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;border-right:1px solid #dddfed;cursor:move;display:flex;justify-content:center;width:40px}.snail-drag-verify.dragging>.drag-handle,.snail-drag-verify.dragging>.drag-progress{transition:none!important}.snail-drag-verify.success>.verify-message{-webkit-text-fill-color:#fff;color:#fff}.snail-drag-verify.success>.drag-handle>svg{background:#76c61d;border-radius:50%;padding:4px}@keyframes snail-drag-verify{0%{background-position:0 0}to{background-position:-200% 0}}
53
- /* src:prompt\loading.vue index:0 */
54
- .snail-loading{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10000}.snail-loading.show-mask{background-color:rgba(0,0,0,.15)}.snail-loading:after,.snail-loading:before{animation:snail-loading-stretch 1s ease-in-out infinite;border-radius:50%;content:"";display:block;display:inline-block;height:10px;left:50%;margin-left:-18px;margin-top:-6px;position:absolute;top:50%;width:10px}.snail-loading:before{background-color:#279bf1}.snail-loading:after{animation-delay:-.5s;background:#64d214;margin-left:0;margin-right:-18px}@keyframes snail-loading-stretch{0%,to{transform:scale(1)}50%{transform:scale(2)}}.snail-loading-enter-active,.snail-loading-leave-active{transition:opacity .3s ease-in-out}.snail-loading-enter-from,.snail-loading-leave-to{opacity:0}
50
+ .snail-drag-verify{background:#f8f9fa;border:1px solid #dddfed;border-radius:8px;height:40px;overflow:hidden;position:relative;width:100%}.snail-drag-verify>div{height:100%;width:100%}.snail-drag-verify>.drag-progress{background-color:#0c6;transition:width .5s ease-in-out}.snail-drag-verify>.drag-handle,.snail-drag-verify>.verify-message{left:0;position:absolute;top:0;transition:left .5s ease-in-out}.snail-drag-verify>.verify-message{background-image:-webkit-linear-gradient(left,#666,#666 45%,#fff 50%,#666 55%,#666);-webkit-text-fill-color:transparent;align-items:center;animation:snail-drag-verify 2s linear infinite;-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#7e848c;display:flex;font-size:12px;font-weight:400;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-drag-verify>.drag-handle{align-items:center;background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURQAAAGBQUGBaWmJZWWJYWGNYWGNZWWJYWGJZWWBYWGNYWGNZWWRYWIqwlb0AAAANdFJOUwAQMMDQoFBgcCCw4ECQ8pPMAAAAP0lEQVQI12NgwATTGBgawAwRBYZwMIPRiYErAcxSFmA0AjN4HBikBcCsUgYmQxQGE0wKphhIQrSzwAyEW4EOACHhB32zIad6AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;border-right:1px solid #dddfed;display:flex;justify-content:center;width:40px}.snail-drag-verify.dragging>.drag-handle,.snail-drag-verify.dragging>.drag-progress{transition:none!important}.snail-drag-verify.success>.verify-message{-webkit-text-fill-color:#fff;color:#fff}.snail-drag-verify.success>.drag-handle>svg{background:#76c61d;border-radius:50%;padding:4px}@keyframes snail-drag-verify{0%{background-position:0 0}to{background-position:-200% 0}}
55
51
  /* src:prompt\empty.vue index:0 */
56
52
  .snail-empty{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:150px;width:100%}.snail-empty>img{height:60px;width:60px}.snail-empty>div.message{color:#babdc2;font-weight:400;padding:0 10px 10px}
53
+ /* src:prompt\loading.vue index:0 */
54
+ .snail-loading{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10000}.snail-loading.show-mask{background-color:rgba(0,0,0,.15)}.snail-loading:after,.snail-loading:before{animation:snail-loading-stretch 1s ease-in-out infinite;border-radius:50%;content:"";display:block;display:inline-block;height:10px;left:50%;margin-left:-18px;margin-top:-6px;position:absolute;top:50%;width:10px}.snail-loading:before{background-color:#279bf1}.snail-loading:after{animation-delay:-.5s;background:#64d214;margin-left:0;margin-right:-18px}@keyframes snail-loading-stretch{0%,to{transform:scale(1)}50%{transform:scale(2)}}
57
55
  /* src:picker\components\time-pc.vue index:0 */
58
- .snail-layout.time-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:240px;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:210px}.snail-layout.time-picker.pc>.main-area{display:flex;flex-wrap:nowrap;justify-content:space-between;margin:10px;overflow:hidden}.snail-layout.time-picker.pc>.main-area>.tz-item{border:1px solid #eee;border-left:none;flex-shrink:0;overflow:hidden auto;width:30%}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number{align-items:center;border-left:1px solid #eee;cursor:pointer;display:flex;height:24px;justify-content:center}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number:hover{background-color:#f4f4f4}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active{background-color:#58a4fd;border-color:#58a4fd;color:#fff!important}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active.disabled{opacity:.6}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.disabled{color:#ddd;cursor:not-allowed}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar{width:4px}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.6);border:none;border-radius:0}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}.snail-layout.time-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.time-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.time-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.time-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.time-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}.snail-layout.time-picker.pc.second-disabled{width:180px}.snail-layout.time-picker.pc.second-disabled>.main-area>.tz-item{width:46%}
56
+ .snail-layout.time-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:240px!important;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:210px!important}.snail-layout.time-picker.pc>.main-area{display:flex;flex-wrap:nowrap;justify-content:space-between;margin:10px;overflow:hidden}.snail-layout.time-picker.pc>.main-area>.tz-item{border:1px solid #eee;border-left:none;flex-shrink:0;overflow:hidden auto;width:30%}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number{align-items:center;border-left:1px solid #eee;cursor:pointer;display:flex;height:24px;justify-content:center}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number:hover{background-color:#f4f4f4}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active{background-color:#58a4fd;border-color:#58a4fd;color:#fff!important}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active.disabled{opacity:.6}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.disabled{color:#ddd;cursor:not-allowed}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar{width:4px}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.6);border:none;border-radius:0}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}.snail-layout.time-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.time-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.time-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.time-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.time-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}.snail-layout.time-picker.pc.second-disabled{width:180px}.snail-layout.time-picker.pc.second-disabled>.main-area>.tz-item{width:46%}
59
57
  /* src:picker\components\date-pc.vue index:0 */
60
- .snail-layout.date-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:300px;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:280px}.snail-layout.date-picker.pc.time-now:after{background-color:gray;content:"";height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.snail-layout.date-picker.pc>.top-area{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:nowrap;padding:0 4px}.snail-layout.date-picker.pc>.top-area>svg{fill:#8a9099;flex-shrink:0}.snail-layout.date-picker.pc>.top-area>svg:hover{fill:#58a4fd}.snail-layout.date-picker.pc>.top-area>div.header-content{align-items:center;display:flex;flex:1;justify-content:center}.snail-layout.date-picker.pc>.top-area>div.header-content>div{align-items:center;display:flex;font-size:16px;height:100%}.snail-layout.date-picker.pc>.top-area>div.header-content>div:nth-child(2){margin-left:8px}.snail-layout.date-picker.pc>.top-area>div.header-content:not(.year)>div:hover{color:#58a4fd;cursor:pointer}.snail-layout.date-picker.pc>.main-area{display:flex;flex-wrap:wrap;justify-content:space-between}.snail-layout.date-picker.pc>.main-area>div{align-items:center;display:flex;flex-shrink:0;font-size:13px;justify-content:center;position:relative}.snail-layout.date-picker.pc>.main-area>div>span{align-items:center;display:flex;height:28px;justify-content:center}.snail-layout.date-picker.pc>.main-area>div>span:hover{background:#f4f4f4;cursor:pointer}.snail-layout.date-picker.pc>.main-area>div.active>span{background-color:#58a4fd;color:#fff!important}.snail-layout.date-picker.pc>.main-area>div.active.disabled{opacity:.6}.snail-layout.date-picker.pc>.main-area>div.disabled>span{color:#aaa;cursor:not-allowed}.snail-layout.date-picker.pc>.main-area>div.day-item{height:30px;width:36px}.snail-layout.date-picker.pc>.main-area>div.day-item.week{font-weight:bold}.snail-layout.date-picker.pc>.main-area>div.day-item.active>span,.snail-layout.date-picker.pc>.main-area>div.day-item:hover>span{border-radius:100%;width:28px}.snail-layout.date-picker.pc>.main-area>div.day-item:not(.now-month)>span{color:#aaa}.snail-layout.date-picker.pc>.main-area>div.month-item,.snail-layout.date-picker.pc>.main-area>div.year-item{width:30%}.snail-layout.date-picker.pc>.main-area>div.month-item.active>span,.snail-layout.date-picker.pc>.main-area>div.month-item:hover>span,.snail-layout.date-picker.pc>.main-area>div.year-item.active>span,.snail-layout.date-picker.pc>.main-area>div.year-item:hover>span{border-radius:15px;padding:0 8px;width:-moz-fit-content;width:fit-content}.snail-layout.date-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.date-picker.pc>.bottom-area>.time-area{color:#58a4fd;cursor:pointer;font-size:12px;margin-left:10px;margin-right:auto}.snail-layout.date-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.date-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.date-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.date-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}
58
+ .snail-layout.date-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:300px!important;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:280px!important}.snail-layout.date-picker.pc.time-now:after{background-color:gray;content:"";height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.snail-layout.date-picker.pc>.top-area{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:nowrap;padding:0 4px}.snail-layout.date-picker.pc>.top-area>svg{fill:#8a9099;flex-shrink:0}.snail-layout.date-picker.pc>.top-area>svg:hover{fill:#58a4fd}.snail-layout.date-picker.pc>.top-area>div.header-content{align-items:center;display:flex;flex:1;justify-content:center}.snail-layout.date-picker.pc>.top-area>div.header-content>div{align-items:center;display:flex;font-size:16px;height:100%}.snail-layout.date-picker.pc>.top-area>div.header-content>div:nth-child(2){margin-left:8px}.snail-layout.date-picker.pc>.top-area>div.header-content:not(.year)>div:hover{color:#58a4fd;cursor:pointer}.snail-layout.date-picker.pc>.main-area{display:flex;flex-wrap:wrap;justify-content:space-between}.snail-layout.date-picker.pc>.main-area>div{align-items:center;display:flex;flex-shrink:0;font-size:13px;justify-content:center;position:relative}.snail-layout.date-picker.pc>.main-area>div>span{align-items:center;display:flex;height:28px;justify-content:center}.snail-layout.date-picker.pc>.main-area>div>span:hover{background:#f4f4f4;cursor:pointer}.snail-layout.date-picker.pc>.main-area>div.active>span{background-color:#58a4fd;color:#fff!important}.snail-layout.date-picker.pc>.main-area>div.active.disabled{opacity:.6}.snail-layout.date-picker.pc>.main-area>div.disabled>span{color:#aaa;cursor:not-allowed}.snail-layout.date-picker.pc>.main-area>div.day-item{height:30px;width:36px}.snail-layout.date-picker.pc>.main-area>div.day-item.week{font-weight:bold}.snail-layout.date-picker.pc>.main-area>div.day-item.active>span,.snail-layout.date-picker.pc>.main-area>div.day-item:hover>span{border-radius:100%;width:28px}.snail-layout.date-picker.pc>.main-area>div.day-item:not(.now-month)>span{color:#aaa}.snail-layout.date-picker.pc>.main-area>div.month-item,.snail-layout.date-picker.pc>.main-area>div.year-item{width:30%}.snail-layout.date-picker.pc>.main-area>div.month-item.active>span,.snail-layout.date-picker.pc>.main-area>div.month-item:hover>span,.snail-layout.date-picker.pc>.main-area>div.year-item.active>span,.snail-layout.date-picker.pc>.main-area>div.year-item:hover>span{border-radius:15px;padding:0 8px;width:-moz-fit-content;width:fit-content}.snail-layout.date-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.date-picker.pc>.bottom-area>.time-area{color:#58a4fd;cursor:pointer;font-size:12px;margin-left:10px;margin-right:auto}.snail-layout.date-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.date-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.date-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.date-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}
61
59
  /* src:popup\components\confirm-container.vue index:0 */
62
60
  .snail-confirm{background-color:#fff;border-radius:4px;color:#2e2f33;max-height:350px;max-width:548px;min-width:348px}.snail-confirm>div.confirm-body{flex:1;margin:20px 40px;overflow:auto;word-wrap:break-word}
63
- /* src:popup\components\follow-container.vue index:0 */
64
- .snail-follow{background-color:#fff;max-height:100%;max-width:100%;position:fixed;transition-duration:.1s;transition-property:left,top;transition-timing-function:ease}.snail-follow.initial{top:100%;transition:none}
65
- /* src:popup\components\popup-container.vue index:0 */
66
- .snail-popup{left:0;position:fixed;top:0}
67
61
  /* src:popup\components\dialog-container.vue index:0 */
68
62
  .snail-dialog{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.snail-dialog:before{background-color:rgba(24,27,33,.45);content:"";height:100%;opacity:1;position:absolute;transition:opacity .4s ease-in-out;width:100%}.snail-dialog>.dialog-body{background-color:#fff;border-radius:4px;box-shadow:0 0 15px rgba(0,0,0,.3);position:relative}.snail-dialog.unactive:before{opacity:0}.snail-dialog.unactive>.dialog-body{box-shadow:0 0 4px rgba(0,0,0,.3)}
63
+ /* src:popup\components\popup-container.vue index:0 */
64
+ .snail-popup{left:0;position:fixed;top:0}
65
+ /* src:popup\components\follow-container.vue index:0 */
66
+ .snail-follow{background-color:#fff;max-height:100%;max-width:100%;position:fixed;transition-duration:.1s;transition-property:left,top;transition-timing-function:ease}.snail-follow.initial{top:100%;transition:none}
69
67
  /* src:popup\components\toast-container.vue index:0 */
70
68
  .snail-toast{background:rgba(0,0,0,.7);border-radius:10px;color:#fff;display:flex;left:50%;max-height:200px;max-width:400px;min-width:200px;overflow:hidden;padding:20px 35px 20px 15px;position:fixed;top:50%;transform:translate(-50%,-50%)}.snail-toast>svg.close-icon{position:absolute;right:10px;top:12px}.snail-toast>div.icon{align-items:center;align-self:center;background:hsla(0,0%,100%,.15);border-radius:50%;display:flex;height:26px;justify-content:center;margin-right:6px;width:26px}.snail-toast>div.icon>svg{background:#fff;border-radius:50%;cursor:none!important;padding:2px}.snail-toast>div.message{flex:1;line-height:24px;overflow:hidden;word-break:break-all}
71
- /* src:base\components\select-popup.vue index:0 */
72
- .snail-select-popup{background:#fff;border:1px solid #dddfed;border-radius:4px;box-shadow:0 1px 5px 1px #dddfed;display:flex;flex-direction:column;max-height:90%;min-height:32px;overflow:auto}.snail-select-popup>div.snail-search{margin:12px}.snail-select-popup>div.clear-all{align-items:center;background-color:#fff;border-top:1px solid #dddfed;bottom:0;color:#8a9099;cursor:pointer;display:flex;flex-shrink:0;height:32px;padding:0 12px;position:sticky!important;z-index:1}.snail-select-popup>div.clear-all:hover{color:#ff4c4c}.snail-select-popup.child-popup{max-width:250px;min-width:200px;padding-bottom:6px;padding-top:6px}.snail-select-popup.child-popup.placeholder{justify-content:center;padding:0 12px;width:100px!important}
73
69
  /* src:container\components\tree-node.vue index:0 */
74
70
  .snail-tree-node{align-items:center;display:flex;flex-wrap:nowrap;height:40px;width:100%}.snail-tree-node:hover{background-color:#f8f9fa}.snail-tree-node>.indent,.snail-tree-node>.node-slot,.snail-tree-node>.snail-icon{flex-shrink:0}.snail-tree-node>.node-fold{align-items:center;display:flex;height:100%;justify-content:center;width:24px}.snail-tree-node>.node-fold>.snail-icon{transition:transform .1s ease-in}.snail-tree-node>.node-fold>.snail-icon.fold{transform:rotate(-90deg)}.snail-tree-node>.node-text{color:#2e3033;flex:1;min-width:30px}.snail-tree-node.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-tree-children{width:100%}.snail-tree-children.hidden{display:none;height:0;overflow:hidden}.snail-tree-node.level-1>.indent{padding-left:4px}.snail-tree-node.level-2>.indent{padding-left:24px}.snail-tree-node.level-3>.indent{padding-left:48px}.snail-tree-node.level-4>.indent{padding-left:72px}.snail-tree-node.level-5>.indent{padding-left:96px}.snail-tree-node.level-6>.indent{padding-left:120px}.snail-tree-node.level-7>.indent{padding-left:144px}.snail-tree-node.level-8>.indent{padding-left:168px}.snail-tree-node.level-9>.indent{padding-left:192px}.snail-tree-node.level-10>.indent{padding-left:216px}
71
+ /* src:base\components\select-popup.vue index:0 */
72
+ .snail-select-popup{background:#fff;border:1px solid #dddfed;border-radius:4px;box-shadow:0 1px 5px 1px #dddfed;display:flex;flex-direction:column;max-height:90%;min-height:32px;overflow:auto}.snail-select-popup>div.snail-search{margin:12px}.snail-select-popup>div.clear-all{align-items:center;background-color:#fff;border-top:1px solid #dddfed;bottom:0;color:#8a9099;cursor:pointer;display:flex;flex-shrink:0;height:32px;padding:0 12px;position:sticky!important;z-index:1}.snail-select-popup>div.clear-all:hover{color:#ff4c4c}.snail-select-popup.child-popup{max-width:250px;min-width:200px;padding-bottom:6px;padding-top:6px}.snail-select-popup.child-popup.placeholder{justify-content:center;padding:0 12px;width:100px!important}
75
73
  /* src:base\components\select-node.vue index:0 */
76
- .snail-select-popup>div.select-node{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;height:32px;padding-left:12px}.snail-select-popup>div.select-node:hover{background:#f8f9fa}.snail-select-popup>div.select-node.clickable{cursor:pointer}.snail-select-popup>div.select-node.group{color:#8a9099}.snail-select-popup>div.select-node.item{color:#2e3033;padding-right:10px}.snail-select-popup>div.select-node.selected{color:#4c9aff!important}.snail-select-popup>div.select-node>div.item-text{flex:1}.snail-select-popup>div.select-node>svg.snail-icon{cursor:default;display:none}.snail-select-popup>div.select-node>div.select-status{background:#fff;border:1px solid #8a9099;flex-shrink:0;height:14px;margin-left:4px;width:14px}.snail-select-popup>div.select-node>div.select-status>svg{display:none}.snail-select-popup>div.select-node.selected>div.select-status{background-color:#5ca3ff;border:1px solid #5ca3ff}.snail-select-popup>div.select-node.selected>div.select-status>svg{display:block}.snail-select-popup>div.select-node.child{color:#2e3033;padding-left:24px}.snail-select-popup>div.select-node.child>svg.snail-icon{display:initial}
74
+ .snail-select-popup>div.select-node{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;height:32px;padding-left:12px}.snail-select-popup>div.select-node:hover{background:#f8f9fa}.snail-select-popup>div.select-node.clickable{cursor:pointer}.snail-select-popup>div.select-node.group{color:#8a9099}.snail-select-popup>div.select-node.item{color:#2e3033;padding-right:10px}.snail-select-popup>div.select-node.selected{color:#4c9aff!important}.snail-select-popup>div.select-node>div.item-text{flex:1}.snail-select-popup>div.select-node>svg.snail-icon{display:none}.snail-select-popup>div.select-node>div.select-status{background:#fff;border:1px solid #8a9099;flex-shrink:0;height:14px;margin-left:4px;width:14px}.snail-select-popup>div.select-node>div.select-status>svg{display:none}.snail-select-popup>div.select-node.selected>div.select-status{background-color:#5ca3ff;border:1px solid #5ca3ff}.snail-select-popup>div.select-node.selected>div.select-status>svg{display:block}.snail-select-popup>div.select-node.child{color:#2e3033;padding-left:24px}.snail-select-popup>div.select-node.child>svg.snail-icon{display:initial}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "依赖【snail】,基于vue封装常用UI组件",
4
4
  "author": "snail_dev@163.com",
5
5
  "license": "MIT",
6
- "version": "2.0.13",
6
+ "version": "2.0.16",
7
7
  "type": "module",
8
8
  "main": "dist/snail.vue.js",
9
9
  "module": "dist/snail.vue.js",
@@ -14,10 +14,9 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "vue": "^3.5.14",
17
- "snail.core": ">=2.0.25",
17
+ "snail.core": ">=2.0.28",
18
18
  "snail.view": ">=2.0.4",
19
- "sortablejs": ">=1.15.6",
20
- "zane-calendar": "2.2.8"
19
+ "sortablejs": ">=1.15.6"
21
20
  },
22
21
  "devDependencies": {
23
22
  "vue-tsc": "^2.2.10",