@fishawack/lab-velocity 2.0.0-beta.4 → 2.0.0-beta.6

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 (46) hide show
  1. package/_Build/vue/components/form/Select.vue +2 -2
  2. package/_Build/vue/components/form/Spinner.vue +5 -0
  3. package/_Build/vue/modules/AuthModule/adminRoutes/PCompanies/Children/Upload/upload.vue +19 -11
  4. package/_Build/vue/modules/AuthModule/adminRoutes/PCompanies/Children/partials/form.vue +19 -11
  5. package/_Build/vue/modules/AuthModule/adminRoutes/PCompanies/Children/show.vue +12 -8
  6. package/_Build/vue/modules/AuthModule/adminRoutes/PUsers/Children/partials/form.vue +11 -7
  7. package/_Build/vue/modules/AuthModule/adminRoutes/PUsers/Children/show.vue +7 -4
  8. package/_Build/vue/modules/AuthModule/components/FormRole.vue +3 -1
  9. package/_Build/vue/modules/AuthModule/components/VFormFooter.vue +12 -6
  10. package/_Build/vue/modules/AuthModule/components/VTable.vue +14 -5
  11. package/_Build/vue/modules/AuthModule/components/VTableSorter.vue +24 -12
  12. package/_defaults.scss +2 -13
  13. package/_variables.scss +9 -4
  14. package/components/_alert.scss +5 -0
  15. package/components/_auth.scss +205 -0
  16. package/components/_basic.scss +55 -0
  17. package/components/_breadcrumbs.scss +39 -0
  18. package/components/_button.scss +304 -0
  19. package/components/_cascader.scss +12 -0
  20. package/components/_checkbox.scss +41 -0
  21. package/components/_chip.scss +24 -0
  22. package/components/_collapse.scss +24 -0
  23. package/components/_datepicker.scss +52 -0
  24. package/components/_footer.scss +46 -0
  25. package/components/_form.scss +24 -0
  26. package/components/_header.scss +54 -0
  27. package/components/_icon.scss +25 -0
  28. package/components/_input.scss +0 -0
  29. package/components/_inputNumber.scss +22 -0
  30. package/components/_link.scss +44 -0
  31. package/components/_loader.scss +43 -0
  32. package/components/_menu.scss +112 -0
  33. package/components/_modal.scss +24 -0
  34. package/components/_pageTitle.scss +8 -0
  35. package/components/_permissionLegend.scss +18 -0
  36. package/components/_select.scss +29 -0
  37. package/components/_sidebar.scss +56 -0
  38. package/components/_switch.scss +14 -0
  39. package/components/_table.scss +20 -0
  40. package/components/_tooltip.scss +4 -0
  41. package/components/_typography.scss +162 -0
  42. package/components/_upload.scss +15 -0
  43. package/components/_wysiwyg.scss +7 -0
  44. package/components/_wysiwyg2.scss +142 -0
  45. package/package.json +3 -1
  46. package/vendor.scss +0 -1
@@ -0,0 +1,52 @@
1
+ @import "element-plus/theme-chalk/el-date-picker";
2
+
3
+ .vel-datepicker {
4
+ // --el-input-height:38px;
5
+
6
+ // &.el-input--large {
7
+ --el-input-height: 46px;
8
+ // }
9
+
10
+ &__error {
11
+ color: $colorAlert;
12
+ }
13
+ }
14
+
15
+ .vel-popper {
16
+ @include breakpoint(max-width $mobileMax) {
17
+ min-width: 280px;
18
+ max-width: 325px;
19
+ width: auto;
20
+ .el-date-range-picker {
21
+ width: 100%;
22
+ .el-picker-panel__body {
23
+ width: 100%;
24
+ min-width: 100%;
25
+ & > div {
26
+ width: auto;
27
+ min-width: auto;
28
+ border: none;
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ .vel-date-picker,
36
+ .el-date-picker {
37
+ &.has-sidebar {
38
+ width: auto;
39
+
40
+ .el-picker-panel__body-wrapper {
41
+ display: flex;
42
+ }
43
+ }
44
+ .el-picker-panel__sidebar {
45
+ width: auto;
46
+ position: relative;
47
+ }
48
+ .el-picker-panel__body {
49
+ margin-left: 0px;
50
+ position: relative !important;
51
+ }
52
+ }
@@ -0,0 +1,46 @@
1
+ .vel-footer {
2
+ background-color: $color1;
3
+ padding: $spacing * 3 $spacing * 3 $spacing * 2 $spacing * 3;
4
+ box-sizing: border-box;
5
+ width: 100%;
6
+
7
+ svg {
8
+ // width: 3 * $spacing;
9
+ // max-width: 3 * $spacing;
10
+ // height: 3 * $spacing;
11
+ display: inline-block;
12
+ margin-right: $spacing;
13
+ }
14
+ * {
15
+ font-size: get-ratio(14px);
16
+ line-height: get-ratio(21px);
17
+ }
18
+ }
19
+
20
+ .vel-footer__bottom {
21
+ display: flex;
22
+ flex-wrap: wrap;
23
+ align-items: stretch;
24
+ align-content: stretch;
25
+ flex-basis: 100%;
26
+ justify-content: space-between;
27
+ margin-top: 3.5 * $spacing;
28
+
29
+ > * {
30
+ max-width: 50%;
31
+ flex-basis: 50%;
32
+ }
33
+ }
34
+ .vel-footer__bottom__links {
35
+ display: flex;
36
+ flex-wrap: wrap;
37
+ align-items: self-end;
38
+ flex-basis: 100%;
39
+ }
40
+
41
+ .vel-footer__bottom__end {
42
+ justify-content: end;
43
+ flex-wrap: wrap;
44
+ align-items: self-end;
45
+ display: flex;
46
+ }
@@ -0,0 +1,24 @@
1
+ // @import "element-plus/theme-chalk/el-form";
2
+ .form__group {
3
+ label {
4
+ margin-bottom: $spacing;
5
+ display: inline-block;
6
+ font-weight: 500;
7
+ }
8
+
9
+ &:not(:last-child) {
10
+ margin-bottom: 2.5 * $spacing;
11
+ }
12
+ }
13
+
14
+ .form__group--error {
15
+ .el-select__wrapper,
16
+ .el-select__wrapper:hover,
17
+ .el-input__wrapper,
18
+ .el-input__wrapper:hover {
19
+ box-shadow: 0 0 0 1px $colorAlert inset;
20
+ .el-select__icon {
21
+ color: $colorAlert;
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,54 @@
1
+ .vel-header {
2
+ border-bottom: solid get-ratio(1px) $color4;
3
+ background-color: $color0;
4
+ width: 100%;
5
+ box-sizing: border-box;
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ align-items: center;
9
+ align-content: center;
10
+ flex-basis: 100%;
11
+ justify-content: space-between;
12
+ padding: 1.5 * $spacing 3 * $spacing;
13
+
14
+ > * {
15
+ max-width: 50%;
16
+ flex-basis: 50%;
17
+ justify-content: flex-end !important;
18
+ }
19
+
20
+ .icon {
21
+ min-width: $spacing * 2.5;
22
+ max-width: $spacing * 2.5;
23
+ width: $spacing * 2.5;
24
+ height: $spacing * 2.5;
25
+ margin-right: 0.5 * $spacing;
26
+ }
27
+ }
28
+
29
+ .vel-header__list {
30
+ display: flex;
31
+ flex-wrap: wrap;
32
+ align-items: stretch;
33
+ align-content: stretch;
34
+ flex-basis: 100%;
35
+ padding-right: 1.5 * $spacing;
36
+ margin-left: -1.5 * $spacing;
37
+ margin-right: -1.5 * $spacing;
38
+
39
+ > div {
40
+ align-items: center;
41
+ &:not(:last-child) {
42
+ position: relative;
43
+ &::after {
44
+ position: absolute;
45
+ content: "";
46
+ border-right: solid get-ratio(1px) $color4;
47
+ height: 75%;
48
+ transform: translateY(-50%);
49
+ top: 50%;
50
+ right: 0px;
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,25 @@
1
+ // @import "@fishawack/lab-ui/_icon.scss";
2
+
3
+ .vel-icon {
4
+ .vel-link &,
5
+ .vel-button &,
6
+ .vel-basic & {
7
+ width: get-ratio(16px);
8
+ min-width: get-ratio(16px);
9
+ max-height: get-ratio(16px);
10
+ padding-bottom: 0px;
11
+ line-height: 0px;
12
+ }
13
+
14
+ .vel-button.el-button--small & {
15
+ width: get-ratio(12px);
16
+ min-width: get-ratio(12px);
17
+ max-height: get-ratio(12px);
18
+ }
19
+ .vel-side-bar__button & {
20
+ width: get-ratio(20px);
21
+ min-width: get-ratio(20px);
22
+ padding-bottom: 0px;
23
+ line-height: 0px;
24
+ }
25
+ }
File without changes
@@ -0,0 +1,22 @@
1
+ @import "element-plus/theme-chalk/el-input-number";
2
+
3
+ .vel-input-number {
4
+ display: block;
5
+ font-size: 1rem;
6
+
7
+ .el-input__wrapper {
8
+ // padding: .5 * $spacing $spacing;
9
+ }
10
+
11
+ .el-input__inner {
12
+ --el-input-inner-height: 38px;
13
+ }
14
+ .el-input-group__append,
15
+ .el-input-group__prepend {
16
+ padding: 0 2 * $spacing;
17
+ }
18
+
19
+ &__error {
20
+ color: $colorAlert;
21
+ }
22
+ }
@@ -0,0 +1,44 @@
1
+ @import "element-plus/theme-chalk/el-link";
2
+
3
+ .vel-link.el-link--default {
4
+ &:hover {
5
+ color: currentColor;
6
+ &:after {
7
+ border-color: currentColor;
8
+ }
9
+ }
10
+ }
11
+ .vel-link--underline.vel-link {
12
+ &:after {
13
+ border-bottom: 1px solid currentColor;
14
+ bottom: 0;
15
+ content: "";
16
+ height: 0;
17
+ left: 0;
18
+ position: absolute;
19
+ right: 0;
20
+ border-color: currentColor;
21
+ }
22
+ &:hover {
23
+ color: currentColor;
24
+ &:after {
25
+ border-color: currentColor;
26
+ }
27
+ }
28
+ }
29
+
30
+ .vel-link--default {
31
+ font-size: get-ratio(16px);
32
+ }
33
+
34
+ .vel-link--large {
35
+ font-size: get-ratio(18px);
36
+ }
37
+
38
+ .vel-link--small {
39
+ font-size: get-ratio(14px);
40
+ }
41
+
42
+ .vel-link--xsmall {
43
+ font-size: get-ratio(12px);
44
+ }
@@ -0,0 +1,43 @@
1
+ .vel-loader {
2
+ position: relative;
3
+ display: block;
4
+ width: 6rem;
5
+ height: 6rem;
6
+ border-radius: 50%;
7
+ background-color: inherit;
8
+
9
+ svg {
10
+ .circle {
11
+ animation: 2s spinning cubic-bezier(0.41, 0.26, 0.2, 0.62) infinite;
12
+ transform-origin: center;
13
+ }
14
+ }
15
+ }
16
+
17
+ .vel-loader--l {
18
+ width: 10rem;
19
+ height: 10rem;
20
+
21
+ &::before {
22
+ border-width: 0.6rem;
23
+ }
24
+
25
+ @include breakpoint(max-width $mobileMax) {
26
+ width: 6rem;
27
+ height: 6rem;
28
+
29
+ &::before {
30
+ border-width: 0.4rem;
31
+ }
32
+ }
33
+ }
34
+
35
+ @keyframes spinning {
36
+ from {
37
+ transform: rotate(0);
38
+ }
39
+
40
+ to {
41
+ transform: rotate(2turn);
42
+ }
43
+ }
@@ -0,0 +1,112 @@
1
+ @import "element-plus/theme-chalk/el-menu";
2
+ @import "element-plus/theme-chalk/el-menu-item";
3
+ @import "element-plus/theme-chalk/el-sub-menu";
4
+
5
+ ul.vel-menu {
6
+ li {
7
+ --el-menu-level-padding: 0;
8
+ padding-right: 0px;
9
+ }
10
+ .el-sub-menu__title,
11
+ a,
12
+ .el-menu-item > * {
13
+ font-size: get-ratio(18px);
14
+ border-left: solid 0.5 * $spacing transparent;
15
+ padding: 0 2.5 * $spacing;
16
+ width: 100%;
17
+ display: flex;
18
+ align-items: center;
19
+ overflow: hidden;
20
+ .vel-icon {
21
+ vertical-align: middle;
22
+ width: 2.5 * $spacing;
23
+ min-width: 2.5 * $spacing;
24
+ fill: currentColor;
25
+ margin-right: 0.5 * $spacing;
26
+ * {
27
+ vertical-align: middle;
28
+ }
29
+ }
30
+ }
31
+
32
+ .el-sub-menu__title {
33
+ padding: 0 2.5 * $spacing !important;
34
+ }
35
+
36
+ a {
37
+ height: 100%;
38
+ box-sizing: border-box;
39
+ border-left: solid 0.5 * $spacing $color8;
40
+ .vel-icon {
41
+ width: 2.5 * $spacing;
42
+ max-width: 2.5 * $spacing;
43
+ min-width: 2.5 * $spacing;
44
+ padding-bottom: 0px;
45
+ }
46
+ &.active {
47
+ border-left-color: $color1;
48
+ }
49
+ }
50
+
51
+ span,
52
+ .el-sub-menu__icon-arrow {
53
+ opacity: 0;
54
+ transition: 0.2s ease-in-out opacity;
55
+ margin-left: 0.5 * $spacing;
56
+ }
57
+
58
+ .active & {
59
+ span,
60
+ .el-sub-menu__icon-arrow {
61
+ opacity: 1;
62
+ }
63
+ }
64
+
65
+ .el-icon {
66
+ flex-shrink: 1;
67
+ width: auto;
68
+ }
69
+ }
70
+
71
+ .vel-sub-menu {
72
+ --el-menu-level-padding: 0;
73
+ .el-menu-item,
74
+ .vel-sub-menu {
75
+ padding-left: 5 * $spacing !important;
76
+ }
77
+ .el-sub-menu__title {
78
+ height: auto;
79
+ line-height: get-ratio(48px);
80
+ }
81
+ }
82
+
83
+ .vel-menu-item {
84
+ height: auto;
85
+ line-height: get-ratio(48px);
86
+ * {
87
+ vertical-align: middle;
88
+ }
89
+ }
90
+
91
+ .vel-menu {
92
+ display: flex;
93
+ flex-direction: column;
94
+ height: 100%;
95
+
96
+ li:last-child {
97
+ margin-top: auto;
98
+ margin-bottom: 0px;
99
+ }
100
+
101
+ .el-sub-menu {
102
+ .vel-menu-item {
103
+ a.active {
104
+ border-left-color: transparent;
105
+ }
106
+ }
107
+ .vel-menu-item a {
108
+ padding-left: 0px;
109
+ padding-right: 0px;
110
+ }
111
+ }
112
+ }
@@ -0,0 +1,24 @@
1
+ @import "@fishawack/lab-ui/_modal.scss";
2
+
3
+ .modal--auth {
4
+ background-color: transparent;
5
+
6
+ transition: all 500ms ease-in-out;
7
+
8
+ &::before {
9
+ content: "";
10
+ pointer-events: none;
11
+ z-index: 0 !important;
12
+ position: fixed;
13
+ width: 100%;
14
+ height: 100%;
15
+ background: #00000066;
16
+ backdrop-filter: blur(1.5rem);
17
+ top: 0;
18
+ left: 0;
19
+ right: 0;
20
+ }
21
+ }
22
+ .AuthModule__form.modal__box {
23
+ position: absolute;
24
+ }
@@ -0,0 +1,8 @@
1
+ .vel-page-title {
2
+ padding: 3 * $spacing 6 * $spacing;
3
+ background-color: $color0;
4
+ border-bottom: 0.5 * $spacing solid;
5
+ border-image: linear-gradient(90deg, #ff558f 0%, #856df6 100%) 1;
6
+ box-shadow: 0.5 * $spacing 0.5 * $spacing $spacing 0px #00000040;
7
+ margin-bottom: 2.5 * $spacing;
8
+ }
@@ -0,0 +1,18 @@
1
+ .permission-legend {
2
+ background-color: #f2f2f2;
3
+ border: 1px solid #e6e6e6;
4
+ padding: $spacing * 2;
5
+ }
6
+
7
+ .permission-legend__list {
8
+ list-style: none;
9
+ padding-left: 0;
10
+
11
+ & > li {
12
+ margin-bottom: $spacing;
13
+ }
14
+ }
15
+
16
+ .permission-legend__description {
17
+ padding-left: $spacing;
18
+ }
@@ -0,0 +1,29 @@
1
+ @import "element-plus/theme-chalk/el-tag";
2
+ @import "element-plus/theme-chalk/el-option";
3
+ @import "element-plus/theme-chalk/el-option-group";
4
+ @import "element-plus/theme-chalk/el-scrollbar";
5
+ @import "element-plus/theme-chalk/el-popper";
6
+ @import "element-plus/theme-chalk/el-select";
7
+
8
+ .vel-select {
9
+ .el-select__wrapper {
10
+ font-size: get-ratio(16px);
11
+ padding: get-ratio(17px) get-ratio(16px);
12
+ }
13
+ .el-select__input,
14
+ .el-select__selected-item {
15
+ line-height: get-ratio(16px);
16
+ height: get-ratio(16px);
17
+ }
18
+ .el-tag--default {
19
+ font-size: get-ratio(12px);
20
+ line-height: get-ratio(12px);
21
+ height: get-ratio(18px);
22
+ }
23
+ .el-select__selection.is-near {
24
+ margin-left: 0px;
25
+ }
26
+ &__error {
27
+ color: $colorAlert;
28
+ }
29
+ }
@@ -0,0 +1,56 @@
1
+ .vel-side-bar {
2
+ flex-basis: $spacing * 7.5;
3
+ display: flex;
4
+ flex-direction: column;
5
+ box-shadow: 0px $spacing * 0.5 $spacing * 0.5 0px hsla(0, 0%, 0%, 0.251);
6
+ min-height: 10vh;
7
+ max-height: 100vh;
8
+ overflow: hidden;
9
+ transition: flex-basis 0.3s ease-in-out;
10
+ background-color: $color0;
11
+
12
+ position: sticky;
13
+ top: 0vh;
14
+ padding-top: 2 * $spacing;
15
+ min-width: get-ratio(64px);
16
+ flex-basis: get-ratio(64px);
17
+
18
+ > div {
19
+ &:first-child {
20
+ flex-grow: 0.8;
21
+ }
22
+ &:last-child {
23
+ margin-bottom: 5.5vh;
24
+ }
25
+ }
26
+
27
+ &.active {
28
+ flex-basis: 31.5 * $spacing;
29
+ min-width: 31.5 * $spacing;
30
+
31
+ .vel-side-bar__button {
32
+ transform: rotateY(180deg);
33
+ }
34
+ }
35
+ }
36
+
37
+ .vel-side-bar__button {
38
+ outline: none;
39
+ background-color: transparent;
40
+ border: none;
41
+ cursor: pointer;
42
+ &:focus {
43
+ outline: 1px solid;
44
+ }
45
+ }
46
+
47
+ .vel-side-bar__bottom {
48
+ display: flex;
49
+ justify-content: flex-end;
50
+ border-top: solid 1px #e6e6e6;
51
+ padding: $spacing $spacing * 1.5;
52
+ }
53
+
54
+ main {
55
+ overflow: hidden;
56
+ }
@@ -0,0 +1,14 @@
1
+ @import "element-plus/theme-chalk/el-switch";
2
+
3
+ .vel-switch {
4
+ &__error {
5
+ color: $colorAlert;
6
+ }
7
+ .el-switch {
8
+ --el-switch-on-color: #{$color1};
9
+ height: auto;
10
+ }
11
+ .vel-switch__label {
12
+ margin-right: 0.5rem;
13
+ }
14
+ }
@@ -0,0 +1,20 @@
1
+ @import "element-plus/theme-chalk/el-table-column";
2
+ @import "element-plus/theme-chalk/el-table";
3
+ @import "element-plus/theme-chalk/el-pagination";
4
+
5
+ .el-table {
6
+ padding: get-ratio(8px);
7
+ thead tr .el-table__cell {
8
+ background-color: #f7f7f7;
9
+ }
10
+ .el-table__cell {
11
+ padding: get-ratio(8px) get-ratio(12px);
12
+ }
13
+ }
14
+
15
+ .table-wrapper {
16
+ // display: flex;
17
+ display: flex;
18
+ width: 100%;
19
+ max-width: 100%;
20
+ }
@@ -0,0 +1,4 @@
1
+ @import "element-plus/theme-chalk/el-tooltip";
2
+
3
+ .vel-tooltip {
4
+ }