renusify 2.5.2 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/components/app/index.vue +74 -22
  2. package/components/app/toast/index.vue +76 -71
  3. package/components/app/toast/toast.vue +62 -44
  4. package/components/avatar/index.vue +207 -84
  5. package/components/button/buttonConfirm.vue +53 -26
  6. package/components/button/buttonGroup.js +0 -2
  7. package/components/button/buttonGroup.vue +310 -62
  8. package/components/button/index.vue +584 -100
  9. package/components/calendar/index.js +0 -2
  10. package/components/calendar/index.vue +326 -262
  11. package/components/calendar/month.vue +64 -55
  12. package/components/calendar/year.vue +30 -25
  13. package/components/card/index.vue +139 -59
  14. package/components/codeEditor/highlightCss.vue +38 -39
  15. package/components/codeEditor/highlightHtml.vue +64 -64
  16. package/components/codeEditor/highlightJs.vue +37 -38
  17. package/components/codeEditor/index.vue +129 -79
  18. package/components/codeEditor/run.vue +225 -39
  19. package/components/codeEditor/useCodeFormatter.js +150 -0
  20. package/components/confirm/index.vue +139 -80
  21. package/components/container/col.vue +5 -4
  22. package/components/container/divider.vue +28 -19
  23. package/components/container/index.vue +34 -15
  24. package/components/container/row.vue +26 -9
  25. package/components/container/spacer.vue +2 -4
  26. package/components/container/style.scss +3 -0
  27. package/components/content/index.vue +49 -32
  28. package/components/cropper/index.vue +401 -244
  29. package/components/float/index.vue +542 -415
  30. package/components/form/addressInput/index.vue +184 -109
  31. package/components/form/camInput/index.vue +370 -244
  32. package/components/form/checkInput/index.vue +138 -71
  33. package/components/form/checkboxInput/index.vue +93 -49
  34. package/components/form/colorInput/Alpha.vue +81 -83
  35. package/components/form/colorInput/Hue.vue +91 -68
  36. package/components/form/colorInput/Preview.vue +43 -47
  37. package/components/form/colorInput/Saturation.vue +101 -86
  38. package/components/form/colorInput/index.vue +71 -39
  39. package/components/form/colorInput/picker.vue +111 -106
  40. package/components/form/colorInput/useColor.js +153 -0
  41. package/components/form/dateInput/index.vue +691 -356
  42. package/components/form/dateInput/month.vue +63 -54
  43. package/components/form/dateInput/year.vue +35 -25
  44. package/components/form/fileInput/index.js +0 -1
  45. package/components/form/fileInput/index.vue +263 -106
  46. package/components/form/fileInput/single.vue +332 -168
  47. package/components/form/groupInput/index.vue +199 -101
  48. package/components/form/index.vue +189 -83
  49. package/components/form/input/index.vue +416 -377
  50. package/components/form/jsonInput/JsonView.vue +54 -56
  51. package/components/form/jsonInput/index.vue +247 -165
  52. package/components/form/maskInput/index.vue +252 -132
  53. package/components/form/numberInput/index.js +0 -1
  54. package/components/form/numberInput/index.vue +226 -117
  55. package/components/form/passwordInput/index.js +2 -1
  56. package/components/form/passwordInput/index.vue +269 -102
  57. package/components/form/radioInput/index.vue +143 -72
  58. package/components/form/rangeInput/index.vue +280 -167
  59. package/components/form/ratingInput/index.vue +57 -57
  60. package/components/form/selectInput/index.js +1 -3
  61. package/components/form/selectInput/index.vue +584 -296
  62. package/components/form/switchInput/index.vue +73 -59
  63. package/components/form/telInput/index.js +0 -1
  64. package/components/form/telInput/index.vue +238 -135
  65. package/components/form/textArea/index.vue +72 -35
  66. package/components/form/textEditor/index.vue +739 -0
  67. package/components/form/{text-editor → textEditor}/style.scss +8 -16
  68. package/components/form/textInput/index.vue +54 -32
  69. package/components/form/timeInput/index.vue +82 -55
  70. package/components/form/timeInput/range.vue +115 -94
  71. package/components/form/timeInput/timepicker.vue +382 -449
  72. package/components/form/uniqueInput/index.vue +105 -48
  73. package/components/form/unitInput/index.vue +139 -84
  74. package/components/formCreator/index.js +0 -1
  75. package/components/formCreator/index.vue +314 -148
  76. package/components/highlight/index.vue +41 -25
  77. package/components/highlight/style.scss +2 -2
  78. package/components/highlight/{mixin.js → useHighlight.js} +181 -160
  79. package/components/icon/index.vue +79 -33
  80. package/components/img/index.vue +250 -147
  81. package/components/img/preview.vue +180 -198
  82. package/components/img/svgImg.vue +42 -39
  83. package/components/index.js +5 -20
  84. package/components/infinite/index.js +3 -3
  85. package/components/infinite/index.vue +290 -66
  86. package/components/map/index.vue +428 -261
  87. package/components/map/route.vue +794 -487
  88. package/components/map/select.vue +118 -58
  89. package/components/menu/index.vue +206 -94
  90. package/components/meta/meta.js +26 -3
  91. package/components/modal/index.vue +382 -156
  92. package/components/notify/index.vue +204 -86
  93. package/components/notify/notification.vue +38 -55
  94. package/components/progress/circle.vue +189 -70
  95. package/components/progress/line.vue +266 -46
  96. package/components/searchBox/index.js +1 -3
  97. package/components/searchBox/index.vue +194 -101
  98. package/components/skeleton/index.vue +45 -20
  99. package/components/slider/index.vue +319 -156
  100. package/components/swiper/index.vue +237 -108
  101. package/components/table/crud/footer.vue +77 -53
  102. package/components/table/crud/header.vue +71 -72
  103. package/components/table/crud/index.vue +629 -399
  104. package/components/table/index.vue +721 -278
  105. package/components/timeAgo/index.vue +145 -96
  106. package/components/tour/index.vue +338 -235
  107. package/components/tree/index.vue +235 -89
  108. package/components/tree/tree-element.vue +106 -106
  109. package/directive/animate/index.js +77 -0
  110. package/directive/clickOutSide/index.js +98 -0
  111. package/directive/drag/index.js +153 -0
  112. package/directive/index.js +11 -13
  113. package/directive/intersect/index.js +263 -0
  114. package/directive/mask/index.js +67 -0
  115. package/directive/parallax/index.js +78 -0
  116. package/directive/ripple/index.js +14 -0
  117. package/directive/scroll/index.js +272 -24
  118. package/directive/sortable/index.js +274 -0
  119. package/directive/title/index.js +75 -0
  120. package/directive/touch/index.js +268 -0
  121. package/index.js +11 -19
  122. package/package.json +5 -2
  123. package/plugins/validation/Validate.js +88 -79
  124. package/scripts/generate-docs.mjs +226 -0
  125. package/scripts/menu.mjs +240 -0
  126. package/scripts/parser.mjs +1086 -0
  127. package/style/_index.scss +7 -0
  128. package/style/app.scss +13 -65
  129. package/style/colors.scss +5 -22
  130. package/style/functions/index.scss +8 -0
  131. package/style/mixins/index.scss +17 -5
  132. package/style/variables/base.scss +155 -178
  133. package/style/variables/color.scss +0 -12
  134. package/style/variables/utilities.scss +0 -180
  135. package/tools/helper.js +0 -8
  136. package/tools/icons.js +7 -2
  137. package/tools/root.js +71 -0
  138. package/components/app/style.scss +0 -41
  139. package/components/app/toast/style.scss +0 -20
  140. package/components/avatar/style.scss +0 -32
  141. package/components/bar/bottomNav.js +0 -1
  142. package/components/bar/bottomNav.vue +0 -28
  143. package/components/bar/bottomNavigationCircle.js +0 -2
  144. package/components/bar/bottomNavigationCircle.vue +0 -99
  145. package/components/bar/scss/bottomNav.scss +0 -67
  146. package/components/bar/scss/toolbar.scss +0 -174
  147. package/components/bar/toolbar/index.js +0 -8
  148. package/components/bar/toolbar/index.vue +0 -35
  149. package/components/bar/toolbar/laptop.vue +0 -33
  150. package/components/bar/toolbar/menuChilds.vue +0 -41
  151. package/components/bar/toolbar/menuLaptop.vue +0 -41
  152. package/components/bar/toolbar/menuMob.vue +0 -39
  153. package/components/bar/toolbar/mixin.js +0 -43
  154. package/components/bar/toolbar/mobile.vue +0 -34
  155. package/components/breadcrumb/bredcrumbItem.vue +0 -39
  156. package/components/breadcrumb/index.js +0 -3
  157. package/components/breadcrumb/index.vue +0 -71
  158. package/components/breadcrumb/style.scss +0 -51
  159. package/components/button/style.scss +0 -411
  160. package/components/card/style.scss +0 -86
  161. package/components/chart/chart.js +0 -1
  162. package/components/chart/chart.vue +0 -69
  163. package/components/chart/worldMap.js +0 -2
  164. package/components/chart/worldMap.vue +0 -1112
  165. package/components/chat/MessageList.vue +0 -163
  166. package/components/chat/chatInput.vue +0 -150
  167. package/components/chat/chatMsg.vue +0 -276
  168. package/components/chat/index.js +0 -11
  169. package/components/chat/index.vue +0 -113
  170. package/components/chip/index.js +0 -3
  171. package/components/chip/index.vue +0 -77
  172. package/components/chip/style.scss +0 -199
  173. package/components/codeEditor/mixin.js +0 -145
  174. package/components/countdown/index.js +0 -1
  175. package/components/countdown/index.vue +0 -105
  176. package/components/form/colorInput/mixin.js +0 -132
  177. package/components/form/fileInput/file.js +0 -148
  178. package/components/form/telInput/assets/flags.png +0 -0
  179. package/components/form/telInput/assets/flags@2x.png +0 -0
  180. package/components/form/text-editor/index.vue +0 -705
  181. package/components/icon/style.scss +0 -17
  182. package/components/infinite/div.js +0 -6
  183. package/components/infinite/div.vue +0 -193
  184. package/components/infinite/page.js +0 -3
  185. package/components/infinite/page.vue +0 -105
  186. package/components/list/index.js +0 -3
  187. package/components/list/index.vue +0 -122
  188. package/components/list/style.scss +0 -66
  189. package/components/message/index.js +0 -4
  190. package/components/message/index.vue +0 -40
  191. package/components/modal/style.scss +0 -146
  192. package/components/nestable/NestableItem.vue +0 -307
  193. package/components/nestable/editable.js +0 -44
  194. package/components/nestable/index.js +0 -1
  195. package/components/nestable/index.vue +0 -226
  196. package/components/nestable/methods.js +0 -416
  197. package/components/progress/style.scss +0 -229
  198. package/components/table/style.scss +0 -338
  199. package/components/tabs/index.js +0 -3
  200. package/components/tabs/index.vue +0 -151
  201. package/components/timeline/index.js +0 -6
  202. package/components/timeline/index.vue +0 -76
  203. package/directive/resize/index.js +0 -30
  204. package/directive/skeleton/index.js +0 -27
  205. package/directive/skeleton/style.scss +0 -37
  206. package/plugins/request/Request.js +0 -68
  207. package/style/animation.scss +0 -94
  208. package/style/style.scss +0 -8
  209. package/tools/rootable.js +0 -75
  210. /package/components/form/{text-editor → textEditor}/index.js +0 -0
  211. /package/components/form/{text-editor → textEditor}/preview.js +0 -0
  212. /package/components/form/{text-editor → textEditor}/preview.vue +0 -0
@@ -1,338 +0,0 @@
1
- @use "sass:map";
2
- @use "../../style/variables/base";
3
- @use "../../style/mixins";
4
-
5
- $data-table-thin-header-height: 38px !default;
6
- $data-table-thin-row-height: 32px !default;
7
- $data-table-regular-row-height: 42px !default;
8
- $data-table-regular-header-height: 38px !default;
9
-
10
- .#{base.$prefix}table {
11
- position: relative;
12
-
13
- .table-wrapper {
14
- background-color: var(--color-sheet-container-lowest);
15
- color: var(--color-on-sheet);
16
- }
17
-
18
- .table-svg-path {
19
- fill: var(--color-sheet);
20
- }
21
-
22
- .table-editable-icon {
23
- background-color: var(--color-sheet);
24
- color: var(--color-on-sheet);
25
- }
26
-
27
- &.table-fixed-header {
28
- thead th {
29
- box-shadow: inset 0 -2px var(--color-border)
30
- }
31
- }
32
-
33
- thead {
34
- tr {
35
- &:last-child th {
36
- border-bottom: 1px solid var(--color-border)
37
- }
38
-
39
- th {
40
- background-color: var(--color-sheet);
41
- color: var(--color-on-sheet)
42
- }
43
- }
44
- }
45
-
46
- &.table-fixed-first-columns {
47
- tr {
48
- th:first-child {
49
- background: var(--color-sheet);
50
- color: var(--color-on-sheet)
51
- }
52
-
53
- td:first-child {
54
- background: var(--color-sheet);
55
- color: var(--color-on-sheet)
56
- }
57
-
58
- &:hover {
59
- td:first-child {
60
- background: var(--color-sheet-container);
61
- color: var(--color-on-sheet)
62
- }
63
- }
64
- }
65
- }
66
-
67
- &.table-stripped {
68
- tbody {
69
- tr:nth-child(2n):not(:hover) {
70
- td {
71
- background: var(--color-sheet-container-low)
72
- }
73
- }
74
- }
75
- }
76
-
77
- tbody {
78
- tr {
79
- &:active {
80
- background: var(--color-sheet-container)
81
- }
82
-
83
- &:hover {
84
- background: var(--color-sheet-container)
85
- }
86
- }
87
-
88
- tr:not(:last-child) {
89
- td {
90
- border-bottom: 1px solid var(--color-border)
91
- }
92
- }
93
- }
94
-
95
- &.table-bordered .table-wrapper {
96
- border: 1px solid var(--color-border);
97
- border-collapse: collapse;
98
- }
99
-
100
- .table-wrapper {
101
- border-radius: map.get(base.$borders, 'lg');
102
- overflow: hidden;
103
- }
104
-
105
- table {
106
- width: 100%;
107
- border-spacing: 0;
108
- border-collapse: collapse;
109
- }
110
-
111
- td, th {
112
- padding: 0 16px;
113
- @include mixins.ltr() {
114
- text-align: left
115
- }
116
- @include mixins.rtl() {
117
- text-align: right
118
- }
119
- }
120
-
121
- th {
122
- user-select: none;
123
- font-size: 14px;
124
- font-weight: bold;
125
- height: $data-table-regular-header-height;
126
-
127
- }
128
-
129
- td {
130
- font-size: 14px;
131
- font-weight: normal;
132
- height: $data-table-regular-row-height;
133
- }
134
-
135
- &.row-thin {
136
- th {
137
- font-size: 12px;
138
- height: $data-table-thin-header-height;
139
-
140
- }
141
-
142
- td {
143
- font-size: 12px;
144
- height: $data-table-thin-row-height
145
- }
146
- }
147
-
148
- .table-container {
149
- overflow-x: auto
150
- }
151
-
152
- &.table-fixed-header {
153
- .table-container {
154
- overflow-y: auto;
155
- max-height: 85vh;
156
- }
157
-
158
- thead {
159
- th {
160
- border-bottom: 0px !important;
161
- position: sticky;
162
- top: 0;
163
- z-index: 2;
164
-
165
- tr:nth-child(2) {
166
- th {
167
- top: $data-table-regular-header-height
168
- }
169
- }
170
- }
171
- }
172
- }
173
-
174
- &.table-fixed-first-columns {
175
- tr {
176
- position: relative;
177
-
178
- th:first-child {
179
- min-width: 300px !important;
180
- position: sticky;
181
- width: 300px;
182
- @include mixins.rtl() {
183
- right: 0;
184
- }
185
- @include mixins.ltr() {
186
- left: 0;
187
- }
188
- z-index: map.get(base.$z-index, 'medium');
189
- }
190
-
191
- td:first-child {
192
- position: sticky;
193
- width: 300px;
194
- @include mixins.rtl() {
195
- right: 0;
196
- }
197
- @include mixins.ltr() {
198
- left: 0;
199
- }
200
- height: auto;
201
- z-index: map.get(base.$z-index, 'low');
202
- }
203
- }
204
- }
205
-
206
- &.table-sortable {
207
- th {
208
- &:hover {
209
- cursor: pointer;
210
- }
211
- }
212
- }
213
-
214
- &.table-editable {
215
- .table-editable-icon {
216
- cursor: pointer;
217
- border-radius: 20px 20px 0 0;
218
- border: none;
219
- min-width: 25px !important;
220
- padding-top: 8px;
221
- height: 30px !important;
222
- }
223
-
224
- .table-wrapper {
225
- @include mixins.rtl() {
226
- border-top-left-radius: 0;
227
- }
228
- @include mixins.ltr() {
229
- border-top-right-radius: 0;
230
- }
231
- }
232
-
233
- .table-svg {
234
- @include mixins.ltr() {
235
- transform: rotateY(180deg);
236
- }
237
- }
238
- }
239
-
240
- .sort-desc {
241
- transform: rotate(180deg) !important;
242
- }
243
-
244
- tr, td, td > * {
245
- transition: height .4s ease-in-out;
246
- }
247
-
248
- td > * {
249
- overflow-y: hidden;
250
- overflow-x: auto;
251
- }
252
-
253
- .tr-hidden {
254
- overflow: hidden;
255
- }
256
-
257
- .table-row-enter-active, .table-row-leave-active {
258
- transition: height .3s linear;
259
- line-height: 0;
260
- }
261
-
262
- .table-row-enter-from {
263
- td {
264
- height: 0;
265
- line-height: 0;
266
- overflow: hidden;
267
- }
268
- }
269
-
270
- .table-row-leave-to {
271
- td {
272
- height: 0;
273
- line-height: 0;
274
- overflow: hidden;
275
-
276
- }
277
- }
278
-
279
- .table-row-move {
280
- transition: transform .3s ease-in-out;
281
- }
282
- }
283
-
284
- .#{base.$prefix}table-manage {
285
- white-space: nowrap;
286
-
287
- .table-checkbox {
288
- width: 17px;
289
- height: 17px;
290
- }
291
-
292
- .manage-footer {
293
- .btn-page {
294
- color: var(--color-on-sheet);
295
- border: solid 1px var(--color-sheet-low);
296
- background-color: var(--color-sheet-container);
297
- }
298
- }
299
-
300
- th {
301
- position: relative;
302
- transition: 0.2s;
303
-
304
- .icon-hidden {
305
- visibility: hidden;
306
- }
307
-
308
- &.header-sortable:hover {
309
- cursor: pointer;
310
-
311
- .icon-hidden {
312
- visibility: visible;
313
- }
314
- }
315
- }
316
-
317
- td {
318
- max-width: 130px !important;
319
- overflow: auto;
320
- }
321
-
322
- .manage-footer {
323
- .btn-page {
324
- border-radius: 30px;
325
- padding: 2px;
326
- }
327
-
328
- .per-page {
329
- width: 80px;
330
- }
331
-
332
- .input-page {
333
- outline: none;
334
- width: 20px;
335
-
336
- }
337
- }
338
- }
@@ -1,3 +0,0 @@
1
- export * as rTabs from './index.vue'
2
- export * as l_btn from '../button/index.js'
3
- export * as l_icon from '../icon/index.js'
@@ -1,151 +0,0 @@
1
- <template>
2
- <div :class="$r.prefix+'tabs'">
3
- <div ref="tabs" :class="[wrapperClass]" class="tabs-wrap">
4
- <button
5
- v-for="tab in items"
6
- :key="tab.title"
7
- :ref="tab.value.toString()"
8
- :class="[
9
- { 'tabs__item_active' : tab.value === modelValue,
10
- [tabActiveClass]:tab.value === modelValue },
11
- tabClass,
12
- ]"
13
- :disabled="tab.disabled || false"
14
- class="tabs__item"
15
- type="button"
16
- @click.prevent="handleClick(tab.value)"
17
- >
18
- <slot :item="tab">{{ tab.title }}</slot>
19
- </button>
20
- <div
21
- :class="lineClass"
22
- :style="{ width: `${activeLineWidth}px`, transform: `translateX(${activeLineOffset}px)` }"
23
- class="tabs__active-line"></div>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- export default {
30
- name: 'r-tabs',
31
- props: {
32
- modelValue: {
33
- type: [String, Number, Boolean]
34
- },
35
- items: {
36
- type: Array,
37
- required: true
38
- },
39
- wrapperClass: {
40
- type: String,
41
- required: false
42
- },
43
- tabClass: {
44
- type: String,
45
- required: false
46
- },
47
- tabActiveClass: {
48
- type: String,
49
- default: ''
50
- },
51
- lineClass: {
52
- type: String,
53
- required: false
54
- },
55
- autoScrollToView: Boolean
56
- },
57
- emits: ['update:modelValue'],
58
- data() {
59
- return {
60
- activeLineWidth: 0,
61
- activeLineOffset: 0
62
- }
63
- },
64
- mounted() {
65
- setTimeout(() => {
66
- if (this.modelValue) {
67
- this.moveActiveLine(this.modelValue.toString())
68
- }
69
- }, 100)
70
- },
71
- watch: {
72
- modelValue(newCurrentTab, o) {
73
- if (o === newCurrentTab) return
74
- setTimeout(() => {
75
- this.moveActiveLine(newCurrentTab)
76
- }, 100)
77
- }
78
- },
79
-
80
- methods: {
81
- handleClick(value) {
82
- this.$emit('update:modelValue', value)
83
- this.moveActiveLine(value.toString())
84
- },
85
- moveActiveLine(newValue) {
86
- if (!this.modelValue) return
87
- if (!this.$refs[newValue]) return
88
- let element = this.$refs[newValue][0] || this.$refs[newValue]
89
- this.activeLineWidth = element.clientWidth
90
- this.activeLineOffset = element.offsetLeft
91
- if (this.autoScrollToView) {
92
- element.scrollIntoView()
93
- }
94
- }
95
- }
96
- }
97
- </script>
98
- <style lang="scss">
99
- @use "../../style/variables/base";
100
-
101
- .#{base.$prefix}tabs {
102
- max-width: 100%;
103
- display: flex;
104
- flex-direction: row;
105
-
106
- .tabs-wrap {
107
- position: relative;
108
- margin: 0 auto;
109
- white-space: nowrap;
110
- width: 100%;
111
- overflow: auto;
112
-
113
- scroll-behavior: smooth;
114
- }
115
-
116
- .tabs__active-line {
117
- position: absolute;
118
- bottom: 0;
119
- left: 0;
120
- height: 2px;
121
- background-color: currentColor;
122
- transition: transform 0.4s ease, width 0.4s ease;
123
- }
124
-
125
- .tabs__item {
126
- display: inline-block;
127
- margin: 0 5px;
128
- padding: 10px;
129
- padding-bottom: 8px;
130
- text-decoration: none;
131
- border: none;
132
- background-color: transparent;
133
- border-bottom: 2px solid transparent;
134
- cursor: pointer;
135
- transition: all 0.25s;
136
- color: inherit;
137
-
138
- &:focus {
139
- outline: none;
140
- }
141
-
142
- &:first-child {
143
- margin-left: 0;
144
- }
145
-
146
- &:last-child {
147
- margin-right: 0;
148
- }
149
- }
150
- }
151
- </style>
@@ -1,6 +0,0 @@
1
- export * as rTimeline from './index.vue'
2
-
3
-
4
- export * as l_container from '../container/index.js'
5
- export * as l_row from '../container/row.js'
6
- export * as l_col from '../container/col.js'
@@ -1,76 +0,0 @@
1
- <template>
2
- <r-container :class="`${$r.prefix}timeline`" full-width>
3
- <r-row v-for="(item,i) in items" :key="i" class="timeline-item" no-gutters>
4
- <r-col v-if="$r.breakpoint.mdAndUp" class="md-5">
5
- <slot :item="item" :k="i" name="back"></slot>
6
- </r-col>
7
- <r-col class="col-2 md-2">
8
- <slot :item="item" :k="i" name="counter">
9
- <div class="d-flex h-center v-center h-full">
10
- <div class="timeline-counter color-one d-flex h-center v-center">{{ i + 1 }}</div>
11
- </div>
12
- </slot>
13
- </r-col>
14
- <r-col class="col-10 md-5">
15
- <slot :item="item" :k="i">{{ item }}</slot>
16
- </r-col>
17
- </r-row>
18
- </r-container>
19
- </template>
20
- <script>
21
- export default {
22
- name: "rTimeline",
23
- props: {
24
- items: {
25
- type: Array
26
- }
27
- }
28
- }
29
- </script>
30
- <style lang="scss">
31
- @use "sass:math";
32
- @use "../../style/variables/base";
33
- @use "../../style/mixins";
34
- @use "../../style/mixins/container" as mixins2;
35
-
36
- .#{base.$prefix}timeline {
37
- .timeline-item {
38
- position: relative;
39
- padding: 30px 0;
40
-
41
- &:not(:last-child):before {
42
- content: '';
43
- width: 1px;
44
- height: 40%;
45
- border-right: 2px solid var(--color-border);
46
- position: absolute;
47
- bottom: -20%;
48
- z-index: 0;
49
- @include mixins.rtl() {
50
- right: math.percentage(math.div(1, base.$grid-columns));
51
- }
52
- @include mixins.ltr() {
53
- left: math.percentage(math.div(1, base.$grid-columns));
54
- }
55
- }
56
-
57
- @include mixins2.media-breakpoint-up('md') {
58
- &:nth-child(2n) {
59
- flex-direction: row-reverse;
60
- }
61
- &:not(:last-child):before {
62
- left: 50% !important;
63
- right: unset !important;
64
- }
65
- }
66
-
67
- }
68
-
69
- .timeline-counter {
70
- width: 50px;
71
- height: 50px;
72
- border-radius: 50%;
73
- z-index: 1;
74
- }
75
- }
76
- </style>
@@ -1,30 +0,0 @@
1
- function mounted (el, binding) {
2
- const callback = binding.value
3
- const options = binding.options || {
4
- passive: true
5
- }
6
- window.addEventListener('resize', callback, options)
7
- el._onResize = {
8
- callback,
9
- options
10
- }
11
-
12
- if (!binding.modifiers || !binding.modifiers.quiet) {
13
- callback()
14
- }
15
- }
16
-
17
- function unmounted (el) {
18
- if (!el._onResize) return
19
- const {
20
- callback,
21
- options
22
- } = el._onResize
23
- window.removeEventListener('resize', callback, options)
24
- delete el._onResize
25
- }
26
-
27
- export default {
28
- mounted,
29
- unmounted
30
- }
@@ -1,27 +0,0 @@
1
- import "./style.scss";
2
-
3
- function mounted(el, binding) {
4
- let data = binding.value;
5
- if (!data.loading) {
6
- el.classList.add("r-skeleton");
7
- }
8
- }
9
-
10
- function updated(el, binding) {
11
- if (binding.value === binding.oldValue) {
12
- return null;
13
- }
14
-
15
- unmounted(el);
16
- mounted(el, binding);
17
- }
18
-
19
- function unmounted(el) {
20
- el.classList.remove("r-skeleton");
21
- }
22
-
23
- export default {
24
- mounted,
25
- updated,
26
- unmounted,
27
- };
@@ -1,37 +0,0 @@
1
- .r-skeleton {
2
- * {
3
- opacity: 0 !important;
4
- }
5
-
6
- & {
7
- -webkit-text-fill-color: transparent !important;
8
- background-color: rgba(0, 0, 0, 0.12) !important;
9
- overflow: hidden !important;
10
- position: relative !important;
11
- }
12
- ;
13
-
14
- &:after {
15
- animation: skeletonloading 1.5s infinite;
16
- content: "";
17
- height: 100%;
18
- left: 0;
19
- position: absolute;
20
- right: 0;
21
- top: 0;
22
- transform: translateX(-100%);
23
- z-index: 1;
24
- background: linear-gradient(
25
- 90deg,
26
- hsla(0, 0%, 100%, 0),
27
- hsla(0, 0%, 100%, 0.3),
28
- hsla(0, 0%, 100%, 0)
29
- );
30
- }
31
-
32
- @keyframes skeletonloading {
33
- 100% {
34
- transform: translateX(100%);
35
- }
36
- }
37
- }