renusify 1.0.6 → 1.0.9

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 (55) hide show
  1. package/components/app/index.vue +23 -32
  2. package/components/app/style.scss +7 -18
  3. package/components/bar/bottomNavigationCircle.vue +75 -81
  4. package/components/bar/scss/bottomNav.scss +4 -13
  5. package/components/bar/scss/toolbar.scss +4 -9
  6. package/components/breadcrumb/style.scss +3 -9
  7. package/components/button/buttonConfirm.vue +44 -0
  8. package/components/button/style.scss +13 -38
  9. package/components/calendar/index.vue +5 -35
  10. package/components/card/style.scss +8 -17
  11. package/components/chat/chatInput.vue +4 -10
  12. package/components/chat/chatMsg.vue +222 -225
  13. package/components/chat/index.vue +104 -109
  14. package/components/chip/style.scss +27 -33
  15. package/components/container/style.scss +9 -11
  16. package/components/form/camInput.vue +1 -1
  17. package/components/form/checkbox.vue +115 -121
  18. package/components/form/colorPicker/picker.vue +9 -24
  19. package/components/form/datePicker/index.vue +9 -42
  20. package/components/form/fileUploader/index.vue +4 -1
  21. package/components/form/fileUploader/single.vue +197 -197
  22. package/components/form/inputTel/index.vue +3 -7
  23. package/components/form/radioInput.vue +3 -9
  24. package/components/form/scss/input.scss +4 -29
  25. package/components/form/scss/rating.scss +1 -6
  26. package/components/form/scss/switch.scss +1 -6
  27. package/components/form/text-editor/style.scss +4 -22
  28. package/components/form/timepicker/timepicker.vue +11 -16
  29. package/components/form/unit-input.vue +98 -101
  30. package/components/icon/style.scss +2 -6
  31. package/components/img/index.vue +192 -175
  32. package/components/index.js +3 -1
  33. package/components/infinite/index.vue +1 -1
  34. package/components/list/style.scss +2 -16
  35. package/components/map/route.vue +1 -1
  36. package/components/menu/index.vue +4 -15
  37. package/components/modal/style.scss +3 -12
  38. package/components/progress/circular.vue +1 -1
  39. package/components/progress/style.scss +5 -21
  40. package/components/skeleton/index.vue +77 -0
  41. package/components/swiper/index.vue +8 -4
  42. package/components/table/style.scss +19 -111
  43. package/components/tabs/index.vue +116 -130
  44. package/components/timeline/index.vue +13 -18
  45. package/components/tree/index.vue +11 -15
  46. package/directive/intersect/index.js +23 -20
  47. package/index.js +0 -1
  48. package/package.json +1 -1
  49. package/plugins/trans/Translate.js +1 -0
  50. package/style/app.scss +7 -71
  51. package/style/colors.scss +49 -73
  52. package/style/mixins/index.scss +0 -12
  53. package/style/variables/color.scss +8 -9
  54. package/tools/helper.js +15 -1
  55. package/components/skeletonLoader/index.vue +0 -42
@@ -1,48 +1,48 @@
1
1
  <template>
2
- <nav :class="$r.prefix+'tabs'">
3
- <div class="btn-tabs d-flex h-end v-center">
4
- <r-btn @click.stop="isRtl?scroll_right():scroll_left()"
5
- icon
6
- text
7
- v-if="isRtl?!disableRight:!disableLeft">
8
- <r-icon v-html="$r.icons.chevron_left"></r-icon>
9
- </r-btn>
10
- </div>
11
-
12
- <div :class="[wrapperClass,{
2
+ <nav :class="$r.prefix+'tabs'">
3
+ <div class="btn-tabs d-flex h-end v-center">
4
+ <r-btn @click.stop="isRtl?scroll_right():scroll_left()"
5
+ icon
6
+ text
7
+ v-if="isRtl?!disableRight:!disableLeft">
8
+ <r-icon v-html="$r.icons.chevron_left"></r-icon>
9
+ </r-btn>
10
+ </div>
11
+
12
+ <div :class="[wrapperClass,{
13
13
  'tabs-hidden':$r.breakpoint.width>960
14
14
  }]" class="tabs-wrap" ref="tabs">
15
- <button
16
- :class="[
15
+ <button
16
+ :class="[
17
17
  { 'tabs__item_active' : tab.value === modelValue,
18
18
  [tabActiveClass]:tab.value === modelValue },
19
19
  tabClass,
20
20
  ]"
21
- :disabled="tab.disabled || false"
22
- :key="tab.title"
23
- :ref="tab.value.toString()"
24
- @click="handleClick(tab.value)"
25
- class="tabs__item"
26
- type="button"
27
- v-for="tab in items"
28
- >
29
- {{tab.title}}
30
- </button>
31
- <div
32
- :class="lineClass"
33
- :style="{ width: `${activeLineWidth}px`, transform: `translateX(${activeLineOffset}px)` }"
34
- class="tabs__active-line"></div>
35
- </div>
36
- <div class="btn-tabs d-flex h-start v-center">
37
- <r-btn @click.stop="isRtl?scroll_left():scroll_right()"
38
- icon
39
- text
40
- v-if="isRtl?!disableLeft:!disableRight">
41
- <r-icon v-html="$r.icons.chevron_right"></r-icon>
42
- </r-btn>
43
- </div>
44
-
45
- </nav>
21
+ :disabled="tab.disabled || false"
22
+ :key="tab.title"
23
+ :ref="tab.value.toString()"
24
+ @click="handleClick(tab.value)"
25
+ class="tabs__item"
26
+ type="button"
27
+ v-for="tab in items"
28
+ >
29
+ {{ tab.title }}
30
+ </button>
31
+ <div
32
+ :class="lineClass"
33
+ :style="{ width: `${activeLineWidth}px`, transform: `translateX(${activeLineOffset}px)` }"
34
+ class="tabs__active-line"></div>
35
+ </div>
36
+ <div class="btn-tabs d-flex h-start v-center">
37
+ <r-btn @click.stop="isRtl?scroll_left():scroll_right()"
38
+ icon
39
+ text
40
+ v-if="isRtl?!disableLeft:!disableRight">
41
+ <r-icon v-html="$r.icons.chevron_right"></r-icon>
42
+ </r-btn>
43
+ </div>
44
+
45
+ </nav>
46
46
  </template>
47
47
 
48
48
  <script>
@@ -50,7 +50,7 @@ export default {
50
50
  name: 'r-tabs',
51
51
  props: {
52
52
  modelValue: {
53
- type: [String,Number,Boolean]
53
+ type: [String, Number, Boolean]
54
54
  },
55
55
  items: {
56
56
  type: Array,
@@ -77,7 +77,7 @@ export default {
77
77
  default: true
78
78
  }
79
79
  },
80
- data () {
80
+ data() {
81
81
  return {
82
82
  disableLeft: true,
83
83
  disableRight: true,
@@ -85,7 +85,7 @@ export default {
85
85
  activeLineOffset: 0
86
86
  }
87
87
  },
88
- mounted () {
88
+ mounted() {
89
89
  setTimeout(() => {
90
90
  this.offset()
91
91
  this.moveActiveLine(this.modelValue.toString())
@@ -101,20 +101,20 @@ export default {
101
101
  }
102
102
  },
103
103
  computed: {
104
- isRtl () {
104
+ isRtl() {
105
105
  return this.$r.rtl
106
106
  }
107
107
  },
108
108
  methods: {
109
- scroll_left () {
109
+ scroll_left() {
110
110
  this.$refs.tabs.scrollLeft -= this.$refs.tabs.clientWidth * 3 / 4
111
111
  this.offset()
112
112
  },
113
- scroll_right () {
113
+ scroll_right() {
114
114
  this.$refs.tabs.scrollLeft += this.$refs.tabs.clientWidth * 3 / 4
115
115
  this.offset()
116
116
  },
117
- offset () {
117
+ offset() {
118
118
  const div = this.$refs.tabs
119
119
  this.disableLeft = true
120
120
  this.disableRight = true
@@ -135,14 +135,14 @@ export default {
135
135
  }
136
136
  }, 100)
137
137
  },
138
- handleClick (value) {
138
+ handleClick(value) {
139
139
  this.$emit('update:modelValue', value)
140
140
  this.moveActiveLine(value.toString())
141
141
  },
142
- moveActiveLine (newValue) {
142
+ moveActiveLine(newValue) {
143
143
  if (!this.modelValue) return
144
144
  if (!this.$refs[newValue]) return
145
- let element = this.$refs[newValue][0] ||this.$refs[newValue]
145
+ let element = this.$refs[newValue][0] || this.$refs[newValue]
146
146
  this.activeLineWidth = element.clientWidth
147
147
  this.activeLineOffset = element.offsetLeft
148
148
  if (this.autoScrollToView) {
@@ -153,92 +153,78 @@ export default {
153
153
  }
154
154
  </script>
155
155
  <style lang="scss">
156
- @import "../../style/include";
157
-
158
- $btnTabsWidth: 50px;
159
-
160
- .#{$prefix}tabs {
161
- max-width: 100%;
162
- display: flex;
163
- flex-direction: row;
164
- @include light() {
165
- .tabs__item {
166
- color: var(--color-text-secondary-light);
167
-
168
- &_active {
169
- color: var(--color-text-primary-light)
170
- }
171
-
172
- &:hover {
173
- color: var(--color-text-primary-light);
174
- border-bottom: 2px solid var(--color-text-secondary-light);
175
- }
176
- }
156
+ @import "../../style/include";
157
+
158
+ $btnTabsWidth: 50px;
159
+
160
+ .#{$prefix}tabs {
161
+ max-width: 100%;
162
+ display: flex;
163
+ flex-direction: row;
164
+
165
+ .tabs__item {
166
+ color: var(--color-text-secondary);
167
+
168
+ &_active {
169
+ color: var(--color-text-primary)
177
170
  }
178
- @include dark() {
179
- .tabs__item {
180
- color: var(--color-text-secondary-dark);
181
-
182
- &_active {
183
- color: var(--color-text-primary-dark)
184
- }
185
-
186
- &:hover {
187
- color: var(--color-text-primary-dark);
188
- border-bottom: 2px solid var(--color-text-secondary-dark);
189
- }
190
- }
171
+
172
+ &:hover {
173
+ color: var(--color-text-primary);
174
+ border-bottom: 2px solid var(--color-text-secondary);
191
175
  }
192
- .tabs-wrap {
193
- position: relative;
194
- margin: 0 auto;
195
- white-space: nowrap;
196
- width: calc(100% - #{$btnTabsWidth*2});
197
- overflow: auto;
198
-
199
- &.tabs-hidden {
200
- overflow: hidden;
201
- }
202
-
203
- scroll-behavior: smooth;
204
- }
176
+ }
205
177
 
206
- .tabs__active-line {
207
- position: absolute;
208
- bottom: 0;
209
- left: 0;
210
- height: 2px;
211
- background-color: currentColor;
212
- transition: transform 0.4s ease, width 0.4s ease;
213
- }
178
+ .tabs-wrap {
179
+ position: relative;
180
+ margin: 0 auto;
181
+ white-space: nowrap;
182
+ width: calc(100% - #{$btnTabsWidth*2});
183
+ overflow: auto;
214
184
 
215
- .tabs__item {
216
- display: inline-block;
217
- margin: 0 5px;
218
- padding: 10px;
219
- padding-bottom: 8px;
220
- text-decoration: none;
221
- border: none;
222
- background-color: transparent;
223
- border-bottom: 2px solid transparent;
224
- cursor: pointer;
225
- transition: all 0.25s;
226
-
227
- &:focus {
228
- outline: none;
229
- }
230
-
231
- &:first-child {
232
- margin-left: 0;
233
- }
234
-
235
- &:last-child {
236
- margin-right: 0;
237
- }
238
- }
185
+ &.tabs-hidden {
186
+ overflow: hidden;
187
+ }
239
188
 
240
- .btn-tabs {
241
- width: $btnTabsWidth;
242
- }
189
+ scroll-behavior: smooth;
190
+ }
191
+
192
+ .tabs__active-line {
193
+ position: absolute;
194
+ bottom: 0;
195
+ left: 0;
196
+ height: 2px;
197
+ background-color: currentColor;
198
+ transition: transform 0.4s ease, width 0.4s ease;
199
+ }
200
+
201
+ .tabs__item {
202
+ display: inline-block;
203
+ margin: 0 5px;
204
+ padding: 10px;
205
+ padding-bottom: 8px;
206
+ text-decoration: none;
207
+ border: none;
208
+ background-color: transparent;
209
+ border-bottom: 2px solid transparent;
210
+ cursor: pointer;
211
+ transition: all 0.25s;
212
+
213
+ &:focus {
214
+ outline: none;
215
+ }
216
+
217
+ &:first-child {
218
+ margin-left: 0;
243
219
  }
220
+
221
+ &:last-child {
222
+ margin-right: 0;
223
+ }
224
+ }
225
+
226
+ .btn-tabs {
227
+ width: $btnTabsWidth;
228
+ }
229
+ }
244
230
  </style>
@@ -36,24 +36,19 @@
36
36
  padding: 30px 0;
37
37
 
38
38
  &:not(:last-child):before {
39
- content: '';
40
- width: 1px;
41
- height: 40%;
42
- @include light() {
43
- border-right: 2px solid var(--color-divider-light);
44
- }
45
- @include dark() {
46
- border-right: 2px solid var(--color-divider-dark);
47
- }
48
- position: absolute;
49
- bottom: -20%;
50
- z-index: 0;
51
- @include rtl() {
52
- right: percentage(div(1, $grid-columns));
53
- }
54
- @include ltr() {
55
- left: percentage(div(1, $grid-columns));
56
- }
39
+ content: '';
40
+ width: 1px;
41
+ height: 40%;
42
+ border-right: 2px solid var(--color-divider);
43
+ position: absolute;
44
+ bottom: -20%;
45
+ z-index: 0;
46
+ @include rtl() {
47
+ right: percentage(div(1, $grid-columns));
48
+ }
49
+ @include ltr() {
50
+ left: percentage(div(1, $grid-columns));
51
+ }
57
52
  }
58
53
 
59
54
  @include media-breakpoint-up('md') {
@@ -119,24 +119,20 @@
119
119
 
120
120
  $distance: 20px;
121
121
  .#{$prefix}tree {
122
- position: relative;
123
- width: 100%;
124
- height: 100%;
125
- @include light(){
126
- background-color: var(--color-background-one-light)
127
- }
128
- @include dark(){
129
- background-color: var(--color-background-one-dark)
130
- }
131
- &.tree-searchable {
132
- .#{$prefix}float {
133
- height: calc(100% - 70px)
134
- }
135
- }
122
+ position: relative;
123
+ width: 100%;
124
+ height: 100%;
125
+ background-color: var(--color-background-one);
136
126
 
127
+ &.tree-searchable {
137
128
  .#{$prefix}float {
138
- direction: ltr;
129
+ height: calc(100% - 70px)
139
130
  }
131
+ }
132
+
133
+ .#{$prefix}float {
134
+ direction: ltr;
135
+ }
140
136
 
141
137
  .tree-rotate {
142
138
  transform: rotateX(180deg);
@@ -1,24 +1,27 @@
1
1
  function mounted (el, binding) {
2
- const modifiers = binding.modifiers || {}
3
- const value = binding.value
4
- const callback = typeof value === 'object' ? value.handler : value
5
- let options = binding.value.options||{}
6
-
7
- const observer = new IntersectionObserver((
8
- entries = [],
9
- observer
10
- ) => {
11
- if (!el._observe) return
12
-
13
- if (
14
- callback && (
15
- !modifiers.silent ||
16
- el._observe.init
17
- )
18
- ) {
19
- const isIntersecting = Boolean(entries.find(entry => entry.isIntersecting))
20
-
21
- callback(isIntersecting,entries, observer,options)
2
+ const modifiers = binding.modifiers || {}
3
+ if (modifiers.pre) {
4
+ return
5
+ }
6
+ const value = binding.value
7
+ const callback = typeof value === 'object' ? value.handler : value
8
+ let options = binding.value.options || {}
9
+
10
+ const observer = new IntersectionObserver((
11
+ entries = [],
12
+ observer
13
+ ) => {
14
+ if (!el._observe) return
15
+
16
+ if (
17
+ callback && (
18
+ !modifiers.silent ||
19
+ el._observe.init
20
+ )
21
+ ) {
22
+ const isIntersecting = Boolean(entries.find(entry => entry.isIntersecting))
23
+
24
+ callback(isIntersecting, entries, observer, options)
22
25
  }
23
26
 
24
27
  if (el._observe.init && modifiers.once) unmounted(el)
package/index.js CHANGED
@@ -60,7 +60,6 @@ export default {
60
60
  // renusify application
61
61
  app.config.globalProperties.$r = reactive(Object.assign({}, {
62
62
  prefix: 'r-',
63
- dark: false,
64
63
  rtl: false,
65
64
  lang: 'en',
66
65
  langs:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "renusify",
3
- "version": "1.0.6",
3
+ "version": "1.0.9",
4
4
  "description": "Vue3 Framework",
5
5
  "keywords": [
6
6
  "vuejs",
@@ -81,6 +81,7 @@ class Translate {
81
81
  for (let i = 0; i < lng; i++) {
82
82
  val = this.replaceAll(val, '{' + i + '}', variable[i]);
83
83
  }
84
+
84
85
  if (val === null || val === '') {
85
86
  return key;
86
87
  }
package/style/app.scss CHANGED
@@ -41,8 +41,8 @@ body {
41
41
  background: rgba(100, 100, 100, 0.6);
42
42
  }
43
43
 
44
- $color: var(--color-two-light);
45
- $color-text: var(--color-two-text-light);
44
+ $color: var(--color-two);
45
+ $color-text: var(--color-two-text);
46
46
 
47
47
  ::-moz-selection {
48
48
  color: $color-text;
@@ -54,33 +54,6 @@ $color-text: var(--color-two-text-light);
54
54
  background: $color;
55
55
  }
56
56
 
57
- .app-dark {
58
- ::-webkit-scrollbar-track:hover {
59
- border: 1px solid rgba(255, 255, 255, 0.4);
60
- }
61
-
62
- ::-webkit-scrollbar-thumb {
63
- background: rgba(255, 255, 255, 0.4);
64
- }
65
-
66
- ::-webkit-scrollbar-thumb:hover {
67
- background: rgba(255, 255, 255, 0.8);
68
- }
69
-
70
- $color: var(--color-two-dark);
71
- $color-text: var(--color-two-text-dark);
72
-
73
- ::-moz-selection {
74
- color: $color-text;
75
- background: $color;
76
- }
77
-
78
- ::selection {
79
- color: $color-text;
80
- background: $color;
81
- }
82
- }
83
-
84
57
  .#{$prefix}app {
85
58
  font-family: $body-font-family;
86
59
  line-height: $line-height-root;
@@ -109,12 +82,7 @@ $color-text: var(--color-two-text-light);
109
82
  }
110
83
 
111
84
  .router-link-exact-active {
112
- @include dark() {
113
- color: var(--color-link-dark);
114
- }
115
- @include light() {
116
- color: var(--color-link-light)
117
- }
85
+ color: var(--color-link)
118
86
  }
119
87
 
120
88
  //curser
@@ -214,13 +182,7 @@ $color-text: var(--color-two-text-light);
214
182
  }
215
183
 
216
184
  .subtitle-1, .subtitle-2, .body-2, .caption, .overline {
217
- @include light() {
218
- @include text-color(var(--color-text-secondary-light));
219
- }
220
-
221
- @include dark() {
222
- @include text-color(var(--color-text-secondary-dark));
223
- }
185
+ @include text-color(var(--color-text-secondary));
224
186
  }
225
187
 
226
188
  //width
@@ -292,18 +254,9 @@ $color-text: var(--color-two-text-light);
292
254
  margin: 0 15px;
293
255
  }
294
256
 
295
- @include light() {
296
- $color: var(--color-one-light);
297
257
  pre {
298
- border-left: 5px solid $color;
258
+ border-left: 5px solid var(--color-one);
299
259
  }
300
- }
301
- @include dark() {
302
- $color: var(--color-one-dark);
303
- pre {
304
- border-left: 5px solid $color;
305
- }
306
- }
307
260
 
308
261
  pre {
309
262
  direction: ltr;
@@ -333,36 +286,19 @@ $color-text: var(--color-two-text-light);
333
286
  color: white;
334
287
  }
335
288
 
336
- @include light() {
337
289
  $background: #e2ece2;
338
290
  blockquote {
339
291
  background-color: $background;
340
- border: 5px solid var(--color-one-light);
341
-
342
- &::before {
343
- background-color: $background;
344
- }
345
-
346
- &::after {
347
- color: var(--color-one-light);
348
- }
349
- }
350
- }
351
- @include dark() {
352
- $background: #3a3e3a;
353
- blockquote {
354
- background-color: $background;
355
- border: 5px solid var(--color-one-dark);
292
+ border: 5px solid var(--color-one);
356
293
 
357
294
  &::before {
358
295
  background-color: $background;
359
296
  }
360
297
 
361
298
  &::after {
362
- color: var(--color-one-dark);
299
+ color: var(--color-one);
363
300
  }
364
301
  }
365
- }
366
302
 
367
303
  blockquote {
368
304
  font-family: Georgia, Times, "Times New Roman", serif;