askbot-dragon 1.0.13 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +56 -56
  5. package/public/index.html +43 -43
  6. package/src/App.vue +31 -31
  7. package/src/api/index.js +1 -1
  8. package/src/api/mock.http +2 -2
  9. package/src/api/requestUrl.js +185 -185
  10. package/src/assets/js/AliyunlssUtil.js +92 -92
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/script.js +36 -36
  13. package/src/assets/less/common.css +6773 -6773
  14. package/src/assets/less/converSationContainer/common.less +191 -191
  15. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  16. package/src/assets/less/iconfont.css +37 -37
  17. package/src/assets/less/ticketMessage.less +211 -211
  18. package/src/components/ActionAlertIframe.vue +112 -112
  19. package/src/components/AiGuide.vue +467 -467
  20. package/src/components/AskIFrame.vue +15 -15
  21. package/src/components/ConversationContainer.vue +4617 -4617
  22. package/src/components/FileType.vue +86 -86
  23. package/src/components/Message.vue +27 -27
  24. package/src/components/actionSatisfaction.vue +107 -107
  25. package/src/components/actionSendToBot.vue +62 -62
  26. package/src/components/answerDissatisfaction.vue +62 -62
  27. package/src/components/answerRadio.vue +76 -76
  28. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  29. package/src/components/ask-components/Msgloading.vue +37 -37
  30. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  31. package/src/components/askVideo.vue +138 -138
  32. package/src/components/assetDetails.vue +370 -370
  33. package/src/components/assetMessage.vue +228 -228
  34. package/src/components/associationIntention.vue +258 -243
  35. package/src/components/botActionSatisfactor.vue +68 -68
  36. package/src/components/chatContent.vue +513 -513
  37. package/src/components/feedBack.vue +136 -136
  38. package/src/components/fielListView.vue +346 -346
  39. package/src/components/file/AliyunOssComponents.vue +108 -108
  40. package/src/components/formTemplate.vue +3344 -3344
  41. package/src/components/loadingProcess.vue +164 -164
  42. package/src/components/message/ActionAlertIframe.vue +112 -112
  43. package/src/components/message/ShopMessage.vue +164 -164
  44. package/src/components/message/TextMessage.vue +924 -924
  45. package/src/components/message/TicketMessage.vue +177 -177
  46. package/src/components/message/swiper/index.js +4 -4
  47. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  48. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  49. package/src/components/msgLoading.vue +231 -231
  50. package/src/components/myPopup.vue +70 -70
  51. package/src/components/popup.vue +227 -227
  52. package/src/components/receiverMessagePlatform.vue +65 -65
  53. package/src/components/recommend.vue +89 -89
  54. package/src/components/selector/hOption.vue +20 -20
  55. package/src/components/selector/hSelector.vue +199 -199
  56. package/src/components/selector/hWrapper.vue +216 -216
  57. package/src/components/senderMessagePlatform.vue +50 -50
  58. package/src/components/source/BotMessage.vue +24 -24
  59. package/src/components/source/CustomMessage.vue +24 -24
  60. package/src/components/test.vue +260 -260
  61. package/src/components/tree.vue +247 -247
  62. package/src/components/utils/AliyunIssUtil.js +72 -72
  63. package/src/components/utils/ckeditor.js +155 -155
  64. package/src/components/utils/ckeditorImageUpload/command.js +109 -109
  65. package/src/components/utils/ckeditorImageUpload/editing.js +11 -11
  66. package/src/components/utils/ckeditorImageUpload/plugin-image.js +11 -11
  67. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +40 -40
  68. package/src/components/utils/ckeditorfileUpload/common.js +111 -111
  69. package/src/components/utils/ckeditorfileUpload/editing.js +11 -11
  70. package/src/components/utils/ckeditorfileUpload/plugin_file.js +11 -11
  71. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +34 -34
  72. package/src/components/utils/format_date.js +25 -25
  73. package/src/components/utils/index.js +6 -6
  74. package/src/components/utils/math_utils.js +29 -29
  75. package/src/components/voiceComponent.vue +119 -119
  76. package/src/main.js +60 -60
  77. package/vue.config.js +47 -47
@@ -1,61 +1,61 @@
1
- <template>
2
- <div class="slide" :class="{bottomClass:content.multiple===true}">
3
- <slot></slot>
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- props:{
9
- content:{
10
- type:Object,
11
- default(){
12
- return {}
13
- }
14
- }
15
- },
16
- mounted() {
17
- // 下方防止在网速慢的情况下,slide的count数不准确
18
- /* this.$store.commit("slideCountChange", 1);
19
- if (this.$store.state.slideCount == this.count) {
20
- this.$emit("slideEven");
21
- this.$store.commit("slideCountChange", -this.count);
22
- }*/
23
- }
24
- };
25
- </script>
26
- <style lang="less">
27
- /*.slide {
28
- width: 100%;
29
- flex-shrink: 0;
30
- transition: 300ms;
31
- text-align: center;
32
- align-items: center;
33
- font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
34
- !* Center slide text vertically *!
35
- margin-bottom: 16px;
36
- font-size: 13px;
37
-
38
- }
39
- .slide img {
40
- height: 160px;
41
- border-radius: 10px;
42
- object-fit: contain;
43
- }*/
44
- .bottomClass{
45
- margin-bottom: 18px;
46
- }
47
- .slide {
48
- width: 100%;
49
- flex-shrink: 0;
50
- text-align: center;
51
- align-items: center;
52
-
53
- }
54
- .slide a{
55
- color: #0000ee;
56
- }
57
- .slide img {
58
- object-fit: contain;
59
- width: 100%;
60
- }
61
- </style>
1
+ <template>
2
+ <div class="slide" :class="{bottomClass:content.multiple===true}">
3
+ <slot></slot>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ props:{
9
+ content:{
10
+ type:Object,
11
+ default(){
12
+ return {}
13
+ }
14
+ }
15
+ },
16
+ mounted() {
17
+ // 下方防止在网速慢的情况下,slide的count数不准确
18
+ /* this.$store.commit("slideCountChange", 1);
19
+ if (this.$store.state.slideCount == this.count) {
20
+ this.$emit("slideEven");
21
+ this.$store.commit("slideCountChange", -this.count);
22
+ }*/
23
+ }
24
+ };
25
+ </script>
26
+ <style lang="less">
27
+ /*.slide {
28
+ width: 100%;
29
+ flex-shrink: 0;
30
+ transition: 300ms;
31
+ text-align: center;
32
+ align-items: center;
33
+ font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
34
+ !* Center slide text vertically *!
35
+ margin-bottom: 16px;
36
+ font-size: 13px;
37
+
38
+ }
39
+ .slide img {
40
+ height: 160px;
41
+ border-radius: 10px;
42
+ object-fit: contain;
43
+ }*/
44
+ .bottomClass{
45
+ margin-bottom: 18px;
46
+ }
47
+ .slide {
48
+ width: 100%;
49
+ flex-shrink: 0;
50
+ text-align: center;
51
+ align-items: center;
52
+
53
+ }
54
+ .slide a{
55
+ color: #0000ee;
56
+ }
57
+ .slide img {
58
+ object-fit: contain;
59
+ width: 100%;
60
+ }
61
+ </style>
@@ -1,231 +1,231 @@
1
- <template>
2
- <div class="media-body-loadings">
3
- <svg viewBox="0 0 120 120" width="24px" height="24px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
4
- <g id="circle" class="g-circles g-circles--v1">
5
- <circle id="12" transform="translate(35, 16.698730) rotate(-30) translate(-35, -16.698730) " cx="35" cy="16.6987298" r="10"></circle>
6
- <circle id="11" transform="translate(16.698730, 35) rotate(-60) translate(-16.698730, -35) " cx="16.6987298" cy="35" r="10"></circle>
7
- <circle id="10" transform="translate(10, 60) rotate(-90) translate(-10, -60) " cx="10" cy="60" r="10"></circle>
8
- <circle id="9" transform="translate(16.698730, 85) rotate(-120) translate(-16.698730, -85) " cx="16.6987298" cy="85" r="10"></circle>
9
- <circle id="8" transform="translate(35, 103.301270) rotate(-150) translate(-35, -103.301270) " cx="35" cy="103.30127" r="10"></circle>
10
- <circle id="7" cx="60" cy="110" r="10"></circle>
11
- <circle id="6" transform="translate(85, 103.301270) rotate(-30) translate(-85, -103.301270) " cx="85" cy="103.30127" r="10"></circle>
12
- <circle id="5" transform="translate(103.301270, 85) rotate(-60) translate(-103.301270, -85) " cx="103.30127" cy="85" r="10"></circle>
13
- <circle id="4" transform="translate(110, 60) rotate(-90) translate(-110, -60) " cx="110" cy="60" r="10"></circle>
14
- <circle id="3" transform="translate(103.301270, 35) rotate(-120) translate(-103.301270, -35) " cx="103.30127" cy="35" r="10"></circle>
15
- <circle id="2" transform="translate(85, 16.698730) rotate(-150) translate(-85, -16.698730) " cx="85" cy="16.6987298" r="10"></circle>
16
- <circle id="1" cx="60" cy="10" r="10"></circle>
17
- </g>
18
-
19
- <use xlink:href="#circle" class="use"/>
20
- </svg>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- name: "msgLoading",
27
- data() {
28
- return {
29
- name: "",
30
- };
31
- },
32
- methods:{
33
- },
34
- mounted() {
35
- }
36
- };
37
- </script>
38
-
39
- <style lang="less">
40
- @import "../assets/less/converSationContainer/common";
41
-
42
- .label {
43
- font-family: 'Raleway', serif;
44
- font-size: 14px;
45
- text-transform: uppercase;
46
- margin-top: 15px;
47
- }
48
- .circle__progress--fill {
49
- --initialStroke: 0;
50
- --transitionDuration: 0;
51
- stroke-opacity: 1;
52
- stroke-dasharray: var(--initialStroke);
53
- stroke-dashoffset: var(--initialStroke);
54
- transition: stroke-dashoffset var(--transitionDuration) ease;
55
- }
56
- .circle__svg {
57
- transform: rotate(-90deg);
58
- }
59
- .media-body-loadings {
60
- background-color: #DEE3F0;
61
- /* background-color: #f4f8fc;*/
62
- /* border: 1px solid #f4f8fc;*/
63
- word-break: break-word;
64
- /* box-shadow: 0px 0px 5px 0px rgba(76, 97, 255, 0.38);*/
65
- flex: 1;
66
- text-align: left;
67
- .bot_loading {
68
- height: 4px;
69
- line-height: 1px;
70
- margin: 7px auto;
71
- text-align: center;
72
- }
73
- .bot_loading span {
74
- // margin-top: 7px;
75
- display: inline-block;
76
- width: 4px;
77
- border-radius: 3px;
78
- height: 100%;
79
- margin-right: 3px;
80
- margin-bottom: 2px;
81
- background: #333333;
82
- -webkit-animation:bot_load 1.04s ease infinite;
83
- }
84
- // .bot_loading span:last-child {
85
- // margin-right: 0px;
86
- // }
87
- @-webkit-keyframes bot_load {
88
- 0% {
89
- opacity: 1;
90
- -webkit-transform: scale(1);
91
- }
92
- 100% {
93
- opacity: 0;
94
- -webkit-transform: scale(0);
95
- }
96
- }
97
-
98
- .bot_loading span:nth-child(1) {
99
- -webkit-animation-delay: 0.13s;
100
- }
101
- .bot_loading span:nth-child(2) {
102
- -webkit-animation-delay: 0.39s;
103
- }
104
- .bot_loading span:nth-child(3) {
105
- -webkit-animation-delay: 0.52s;
106
- }
107
- .bot_loading span:nth-child(4) {
108
- -webkit-animation-delay: 0.65s;
109
- }
110
- }
111
- @keyframes dash {
112
- 0% {
113
- stroke-dasharray: 1, 200;
114
- stroke-dashoffset: 0;
115
- stroke-opacity: 0;
116
- }
117
- 50% {
118
- stroke-dasharray: 130, 200;
119
- stroke-dashoffset: -50;
120
- stroke-opacity: 0.5;
121
- }
122
- 100% {
123
- stroke-dasharray: 130, 200;
124
- stroke-dashoffset: -188;
125
- stroke-opacity: 1;
126
- }
127
- }
128
- .loading {
129
- stroke: #FFFFFF;
130
- stroke-width: 4;
131
- fill: none;
132
- animation: dash 2.5s linear infinite;
133
- border-radius: 20px;
134
- /* stroke-opacity: 0.6;*/
135
- }
136
- .left{fill:url(#left);}
137
- .right{fill:url(#right);}
138
- .top{fill:#9DBFE4;}
139
- @keyframes load{
140
- 0%{
141
- transform:rotate(0)
142
- }
143
- 50%{
144
- transform:rotate(180deg)
145
- }
146
- 100%{
147
- transform:rotate(360deg)
148
- }
149
- }
150
- #load{animation:load 2s linear infinite; transform-origin:center center; }
151
- .g-circles {
152
- -webkit-transform: scale(0.9) translate(7px, 7px);
153
- -ms-transform: scale(0.9) translate(7px, 7px);
154
- transform: scale(0.9) translate(7px, 7px);
155
- }
156
-
157
- circle {
158
- fill: #FFFFFF;
159
- fill-opacity: 0;
160
- -webkit-animation: opacity 1.2s linear infinite;
161
- animation: opacity 1.2s linear infinite;
162
- }
163
- circle:nth-child(12n + 1) {
164
- -webkit-animation-delay: -0.1s;
165
- animation-delay: -0.1s;
166
- }
167
- circle:nth-child(12n + 2) {
168
- -webkit-animation-delay: -0.2s;
169
- animation-delay: -0.2s;
170
- }
171
- circle:nth-child(12n + 3) {
172
- -webkit-animation-delay: -0.3s;
173
- animation-delay: -0.3s;
174
- }
175
- circle:nth-child(12n + 4) {
176
- -webkit-animation-delay: -0.4s;
177
- animation-delay: -0.4s;
178
- }
179
- circle:nth-child(12n + 5) {
180
- -webkit-animation-delay: -0.5s;
181
- animation-delay: -0.5s;
182
- }
183
- circle:nth-child(12n + 6) {
184
- -webkit-animation-delay: -0.6s;
185
- animation-delay: -0.6s;
186
- }
187
- circle:nth-child(12n + 7) {
188
- -webkit-animation-delay: -0.7s;
189
- animation-delay: -0.7s;
190
- }
191
- circle:nth-child(12n + 8) {
192
- -webkit-animation-delay: -0.8s;
193
- animation-delay: -0.8s;
194
- }
195
- circle:nth-child(12n + 9) {
196
- -webkit-animation-delay: -0.9s;
197
- animation-delay: -0.9s;
198
- }
199
- circle:nth-child(12n + 10) {
200
- -webkit-animation-delay: -1s;
201
- animation-delay: -1s;
202
- }
203
- circle:nth-child(12n + 11) {
204
- -webkit-animation-delay: -1.1s;
205
- animation-delay: -1.1s;
206
- }
207
- circle:nth-child(12n + 12) {
208
- -webkit-animation-delay: -1.2s;
209
- animation-delay: -1.2s;
210
- }
211
-
212
- @-webkit-keyframes opacity {
213
- 3% {
214
- fill-opacity: 1;
215
- }
216
-
217
- 75% {
218
- fill-opacity: 0;
219
- }
220
- }
221
-
222
- @keyframes opacity {
223
- 3% {
224
- fill-opacity: 1;
225
- }
226
-
227
- 75% {
228
- fill-opacity: 0;
229
- }
230
- }
231
- </style>
1
+ <template>
2
+ <div class="media-body-loadings">
3
+ <svg viewBox="0 0 120 120" width="24px" height="24px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
4
+ <g id="circle" class="g-circles g-circles--v1">
5
+ <circle id="12" transform="translate(35, 16.698730) rotate(-30) translate(-35, -16.698730) " cx="35" cy="16.6987298" r="10"></circle>
6
+ <circle id="11" transform="translate(16.698730, 35) rotate(-60) translate(-16.698730, -35) " cx="16.6987298" cy="35" r="10"></circle>
7
+ <circle id="10" transform="translate(10, 60) rotate(-90) translate(-10, -60) " cx="10" cy="60" r="10"></circle>
8
+ <circle id="9" transform="translate(16.698730, 85) rotate(-120) translate(-16.698730, -85) " cx="16.6987298" cy="85" r="10"></circle>
9
+ <circle id="8" transform="translate(35, 103.301270) rotate(-150) translate(-35, -103.301270) " cx="35" cy="103.30127" r="10"></circle>
10
+ <circle id="7" cx="60" cy="110" r="10"></circle>
11
+ <circle id="6" transform="translate(85, 103.301270) rotate(-30) translate(-85, -103.301270) " cx="85" cy="103.30127" r="10"></circle>
12
+ <circle id="5" transform="translate(103.301270, 85) rotate(-60) translate(-103.301270, -85) " cx="103.30127" cy="85" r="10"></circle>
13
+ <circle id="4" transform="translate(110, 60) rotate(-90) translate(-110, -60) " cx="110" cy="60" r="10"></circle>
14
+ <circle id="3" transform="translate(103.301270, 35) rotate(-120) translate(-103.301270, -35) " cx="103.30127" cy="35" r="10"></circle>
15
+ <circle id="2" transform="translate(85, 16.698730) rotate(-150) translate(-85, -16.698730) " cx="85" cy="16.6987298" r="10"></circle>
16
+ <circle id="1" cx="60" cy="10" r="10"></circle>
17
+ </g>
18
+
19
+ <use xlink:href="#circle" class="use"/>
20
+ </svg>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ export default {
26
+ name: "msgLoading",
27
+ data() {
28
+ return {
29
+ name: "",
30
+ };
31
+ },
32
+ methods:{
33
+ },
34
+ mounted() {
35
+ }
36
+ };
37
+ </script>
38
+
39
+ <style lang="less">
40
+ @import "../assets/less/converSationContainer/common";
41
+
42
+ .label {
43
+ font-family: 'Raleway', serif;
44
+ font-size: 14px;
45
+ text-transform: uppercase;
46
+ margin-top: 15px;
47
+ }
48
+ .circle__progress--fill {
49
+ --initialStroke: 0;
50
+ --transitionDuration: 0;
51
+ stroke-opacity: 1;
52
+ stroke-dasharray: var(--initialStroke);
53
+ stroke-dashoffset: var(--initialStroke);
54
+ transition: stroke-dashoffset var(--transitionDuration) ease;
55
+ }
56
+ .circle__svg {
57
+ transform: rotate(-90deg);
58
+ }
59
+ .media-body-loadings {
60
+ background-color: #DEE3F0;
61
+ /* background-color: #f4f8fc;*/
62
+ /* border: 1px solid #f4f8fc;*/
63
+ word-break: break-word;
64
+ /* box-shadow: 0px 0px 5px 0px rgba(76, 97, 255, 0.38);*/
65
+ flex: 1;
66
+ text-align: left;
67
+ .bot_loading {
68
+ height: 4px;
69
+ line-height: 1px;
70
+ margin: 7px auto;
71
+ text-align: center;
72
+ }
73
+ .bot_loading span {
74
+ // margin-top: 7px;
75
+ display: inline-block;
76
+ width: 4px;
77
+ border-radius: 3px;
78
+ height: 100%;
79
+ margin-right: 3px;
80
+ margin-bottom: 2px;
81
+ background: #333333;
82
+ -webkit-animation:bot_load 1.04s ease infinite;
83
+ }
84
+ // .bot_loading span:last-child {
85
+ // margin-right: 0px;
86
+ // }
87
+ @-webkit-keyframes bot_load {
88
+ 0% {
89
+ opacity: 1;
90
+ -webkit-transform: scale(1);
91
+ }
92
+ 100% {
93
+ opacity: 0;
94
+ -webkit-transform: scale(0);
95
+ }
96
+ }
97
+
98
+ .bot_loading span:nth-child(1) {
99
+ -webkit-animation-delay: 0.13s;
100
+ }
101
+ .bot_loading span:nth-child(2) {
102
+ -webkit-animation-delay: 0.39s;
103
+ }
104
+ .bot_loading span:nth-child(3) {
105
+ -webkit-animation-delay: 0.52s;
106
+ }
107
+ .bot_loading span:nth-child(4) {
108
+ -webkit-animation-delay: 0.65s;
109
+ }
110
+ }
111
+ @keyframes dash {
112
+ 0% {
113
+ stroke-dasharray: 1, 200;
114
+ stroke-dashoffset: 0;
115
+ stroke-opacity: 0;
116
+ }
117
+ 50% {
118
+ stroke-dasharray: 130, 200;
119
+ stroke-dashoffset: -50;
120
+ stroke-opacity: 0.5;
121
+ }
122
+ 100% {
123
+ stroke-dasharray: 130, 200;
124
+ stroke-dashoffset: -188;
125
+ stroke-opacity: 1;
126
+ }
127
+ }
128
+ .loading {
129
+ stroke: #FFFFFF;
130
+ stroke-width: 4;
131
+ fill: none;
132
+ animation: dash 2.5s linear infinite;
133
+ border-radius: 20px;
134
+ /* stroke-opacity: 0.6;*/
135
+ }
136
+ .left{fill:url(#left);}
137
+ .right{fill:url(#right);}
138
+ .top{fill:#9DBFE4;}
139
+ @keyframes load{
140
+ 0%{
141
+ transform:rotate(0)
142
+ }
143
+ 50%{
144
+ transform:rotate(180deg)
145
+ }
146
+ 100%{
147
+ transform:rotate(360deg)
148
+ }
149
+ }
150
+ #load{animation:load 2s linear infinite; transform-origin:center center; }
151
+ .g-circles {
152
+ -webkit-transform: scale(0.9) translate(7px, 7px);
153
+ -ms-transform: scale(0.9) translate(7px, 7px);
154
+ transform: scale(0.9) translate(7px, 7px);
155
+ }
156
+
157
+ circle {
158
+ fill: #FFFFFF;
159
+ fill-opacity: 0;
160
+ -webkit-animation: opacity 1.2s linear infinite;
161
+ animation: opacity 1.2s linear infinite;
162
+ }
163
+ circle:nth-child(12n + 1) {
164
+ -webkit-animation-delay: -0.1s;
165
+ animation-delay: -0.1s;
166
+ }
167
+ circle:nth-child(12n + 2) {
168
+ -webkit-animation-delay: -0.2s;
169
+ animation-delay: -0.2s;
170
+ }
171
+ circle:nth-child(12n + 3) {
172
+ -webkit-animation-delay: -0.3s;
173
+ animation-delay: -0.3s;
174
+ }
175
+ circle:nth-child(12n + 4) {
176
+ -webkit-animation-delay: -0.4s;
177
+ animation-delay: -0.4s;
178
+ }
179
+ circle:nth-child(12n + 5) {
180
+ -webkit-animation-delay: -0.5s;
181
+ animation-delay: -0.5s;
182
+ }
183
+ circle:nth-child(12n + 6) {
184
+ -webkit-animation-delay: -0.6s;
185
+ animation-delay: -0.6s;
186
+ }
187
+ circle:nth-child(12n + 7) {
188
+ -webkit-animation-delay: -0.7s;
189
+ animation-delay: -0.7s;
190
+ }
191
+ circle:nth-child(12n + 8) {
192
+ -webkit-animation-delay: -0.8s;
193
+ animation-delay: -0.8s;
194
+ }
195
+ circle:nth-child(12n + 9) {
196
+ -webkit-animation-delay: -0.9s;
197
+ animation-delay: -0.9s;
198
+ }
199
+ circle:nth-child(12n + 10) {
200
+ -webkit-animation-delay: -1s;
201
+ animation-delay: -1s;
202
+ }
203
+ circle:nth-child(12n + 11) {
204
+ -webkit-animation-delay: -1.1s;
205
+ animation-delay: -1.1s;
206
+ }
207
+ circle:nth-child(12n + 12) {
208
+ -webkit-animation-delay: -1.2s;
209
+ animation-delay: -1.2s;
210
+ }
211
+
212
+ @-webkit-keyframes opacity {
213
+ 3% {
214
+ fill-opacity: 1;
215
+ }
216
+
217
+ 75% {
218
+ fill-opacity: 0;
219
+ }
220
+ }
221
+
222
+ @keyframes opacity {
223
+ 3% {
224
+ fill-opacity: 1;
225
+ }
226
+
227
+ 75% {
228
+ fill-opacity: 0;
229
+ }
230
+ }
231
+ </style>