renusify 1.0.6 → 1.0.8

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 (51) 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/single.vue +196 -197
  21. package/components/form/inputTel/index.vue +3 -7
  22. package/components/form/radioInput.vue +3 -9
  23. package/components/form/scss/input.scss +4 -29
  24. package/components/form/scss/rating.scss +1 -6
  25. package/components/form/scss/switch.scss +1 -6
  26. package/components/form/text-editor/style.scss +4 -22
  27. package/components/form/timepicker/timepicker.vue +11 -16
  28. package/components/form/unit-input.vue +98 -101
  29. package/components/icon/style.scss +2 -6
  30. package/components/index.js +2 -0
  31. package/components/infinite/index.vue +1 -1
  32. package/components/list/style.scss +2 -16
  33. package/components/map/route.vue +1 -1
  34. package/components/menu/index.vue +4 -15
  35. package/components/modal/style.scss +3 -12
  36. package/components/progress/style.scss +5 -21
  37. package/components/skeleton/index.vue +77 -0
  38. package/components/swiper/index.vue +8 -4
  39. package/components/table/style.scss +19 -111
  40. package/components/tabs/index.vue +116 -130
  41. package/components/timeline/index.vue +13 -18
  42. package/components/tree/index.vue +11 -15
  43. package/index.js +0 -1
  44. package/package.json +1 -1
  45. package/plugins/trans/Translate.js +1 -0
  46. package/style/app.scss +7 -71
  47. package/style/colors.scss +49 -73
  48. package/style/mixins/index.scss +0 -12
  49. package/style/variables/color.scss +8 -9
  50. package/tools/helper.js +15 -1
  51. package/components/skeletonLoader/index.vue +0 -42
@@ -8,33 +8,32 @@ $data-table-regular-header-height: 38px !default;
8
8
  .#{$prefix}table {
9
9
  position: relative;
10
10
 
11
- @include light {
12
11
  .table-wrapper {
13
- background-color: var(--color-cards-light);
14
- color: var(--color-text-primary-light);
12
+ background-color: var(--color-sheet);
13
+ color: var(--color-text-primary);
15
14
  }
16
15
  .table-svg-path {
17
- fill: var(--color-cards-light);
16
+ fill: var(--color-sheet);
18
17
  }
19
18
  .table-editable-icon {
20
- background-color: var(--color-cards-light) !important;
21
- color: var(--color-text-primary-light) !important;
19
+ background-color: var(--color-sheet) !important;
20
+ color: var(--color-text-primary) !important;
22
21
  }
23
22
  &.table-fixed-header {
24
23
  thead th {
25
- background: var(--color-cards-light);
26
- box-shadow: inset 0 -2px var(--color-divider-light)
24
+ background: var(--color-sheet);
25
+ box-shadow: inset 0 -2px var(--color-divider)
27
26
  }
28
27
  }
29
28
 
30
29
  thead {
31
30
  tr {
32
31
  &:last-child th {
33
- border-bottom: 1px solid var(--color-divider-light)
32
+ border-bottom: 1px solid var(--color-divider)
34
33
  }
35
34
 
36
35
  th {
37
- color: var(--color-text-secondary-light)
36
+ color: var(--color-text-secondary)
38
37
  }
39
38
  }
40
39
  }
@@ -42,16 +41,16 @@ $data-table-regular-header-height: 38px !default;
42
41
  &.table-fixed-first-columns {
43
42
  tr {
44
43
  th:first-child {
45
- background: var(--color-cards-light)
44
+ background: var(--color-sheet)
46
45
  }
47
46
 
48
47
  td:first-child {
49
- background: var(--color-cards-light)
48
+ background: var(--color-sheet)
50
49
  }
51
50
 
52
51
  &:hover {
53
52
  td:first-child {
54
- background: var(--color-table-hover-light)
53
+ background: var(--color-table-hover)
55
54
  }
56
55
  }
57
56
  }
@@ -61,7 +60,7 @@ $data-table-regular-header-height: 38px !default;
61
60
  tbody {
62
61
  tr:nth-child(2n):not(:hover) {
63
62
  td {
64
- background: var(--color-table-active-light)
63
+ background: var(--color-table-active)
65
64
  }
66
65
  }
67
66
  }
@@ -70,108 +69,25 @@ $data-table-regular-header-height: 38px !default;
70
69
  tbody {
71
70
  tr {
72
71
  &:active {
73
- background: var(--color-table-active-light)
72
+ background: var(--color-table-active)
74
73
  }
75
74
 
76
75
  &:hover {
77
- background: var(--color-table-hover-light)
76
+ background: var(--color-table-hover)
78
77
  }
79
78
  }
80
79
 
81
80
  tr:not(:last-child) {
82
81
  td {
83
- border-bottom: 1px solid var(--color-divider-light)
82
+ border-bottom: 1px solid var(--color-divider)
84
83
  }
85
84
  }
86
85
  }
87
86
 
88
87
  &.table-bordered .table-wrapper {
89
- border: 1px solid var(--color-divider-light);
88
+ border: 1px solid var(--color-divider);
90
89
  border-collapse: collapse;
91
90
  }
92
- }
93
- @include dark {
94
- .table-wrapper {
95
- background-color: var(--color-cards-dark);
96
- color: var(--color-text-primary-dark);
97
- }
98
- .table-svg-path {
99
- fill: var(--color-cards-dark);
100
- }
101
- .table-editable-icon {
102
- background-color: var(--color-cards-dark) !important;
103
- color: var(--color-text-primary-dark) !important;
104
- }
105
- &.table-fixed-header {
106
- thead th {
107
- background: var(--color-cards-dark);
108
- box-shadow: inset 0 -2px var(--color-divider-dark)
109
- }
110
- }
111
-
112
- thead {
113
- tr {
114
- &:last-child th {
115
- border-bottom: 1px solid var(--color-divider-dark)
116
- }
117
-
118
- th {
119
- color: var(--color-text-secondary-dark)
120
- }
121
- }
122
- }
123
-
124
- &.table-fixed-first-columns {
125
- tr {
126
- th:first-child {
127
- background: var(--color-cards-dark)
128
- }
129
-
130
- td:first-child {
131
- background: var(--color-cards-dark)
132
- }
133
-
134
- &:hover {
135
- td:first-child {
136
- background: var(--color-table-hover-dark)
137
- }
138
- }
139
- }
140
- }
141
-
142
- &.table-stripped {
143
- tbody {
144
- tr:nth-child(2n):not(:hover) {
145
- td {
146
- background: var(--color-table-active-dark)
147
- }
148
- }
149
- }
150
- }
151
-
152
- tbody {
153
- tr {
154
- &:active {
155
- background: var(--color-table-active-dark)
156
- }
157
-
158
- &:hover {
159
- background: var(--color-table-hover-dark)
160
- }
161
- }
162
-
163
- tr:not(:last-child) {
164
- td {
165
- border-bottom: 1px solid var(--color-divider-dark)
166
- }
167
- }
168
- }
169
-
170
- &.table-bordered .table-wrapper {
171
- border: 1px solid var(--color-divider-dark);
172
- border-collapse: collapse;
173
- }
174
- }
175
91
 
176
92
  .table-wrapper {
177
93
  border-radius: map_get($borders, 'lg');
@@ -367,20 +283,12 @@ $data-table-regular-header-height: 38px !default;
367
283
  width: 17px;
368
284
  height: 17px;
369
285
  }
370
- @include light() {
371
- .manage-footer {
372
- .btn-page {
373
- border: solid 1px var(--color-border-light);
374
- }
375
- }
376
- }
377
- @include dark() {
286
+
378
287
  .manage-footer {
379
288
  .btn-page {
380
- border: solid 1px var(--color-border-dark);
289
+ border: solid 1px var(--color-border);
381
290
  }
382
291
  }
383
- }
384
292
 
385
293
  th {
386
294
  position: relative;
@@ -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);
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.8",
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
  }