quasar-ui-sellmate-ui-kit 3.12.7 → 3.13.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar-ui-sellmate-ui-kit",
3
- "version": "3.12.7",
3
+ "version": "3.13.0",
4
4
  "author": "Sellmate Dev Team <dev@sellmate.co.kr>",
5
5
  "description": "Sellmate UI Kit",
6
6
  "license": "MIT",
@@ -1,206 +1,225 @@
1
- <template>
2
- <q-btn
3
- class="s-button"
4
- no-caps
5
- no-wrap
6
- unelevated
7
- :color="color"
8
- :ripple="false"
9
- :class="{
10
- 's-button-md': size === 'md',
11
- 's-button-sm': size === 'sm',
12
- 's-button-xs': size === 'xs',
13
- 'icon-with': $attrs.icon && $attrs.label,
14
- 'icon-only': $attrs.icon && !$attrs.label,
15
- 'no-hover': noHover,
16
- }"
17
- >
18
- <template v-for="(_, slotName, index) in $slots" :key="index">
19
- <slot :name="slotName"></slot>
20
- </template>
21
- </q-btn>
22
- </template>
23
-
24
- <script>
25
- import { defineComponent } from 'vue';
26
- import { QBtn } from 'quasar';
27
-
28
- export default defineComponent({
29
- name: 'SButton',
30
- components: { QBtn },
31
- props: {
32
- size: {
33
- type: String,
34
- default: 'sm',
35
- },
36
- color: {
37
- type: String,
38
- default: 'Blue_B_Default',
39
- },
40
- noHover: {
41
- type: Boolean,
42
- default: false,
43
- },
44
- },
45
- });
46
- </script>
47
-
48
- <style lang="scss">
49
- @import "../css/quasar.variables.scss";
50
-
51
- // TODO: hover 색 맞추기
52
- .s-button {
53
- &.q-btn {
54
- min-height: 0;
55
- height: fit-content;
56
- justify-content: center;
57
- &.icon-with {
58
- > .q-btn__content {
59
- align-items: center;
60
- }
61
- }
62
- &.icon-only {
63
- padding: 5px;
64
- }
65
- > .q-btn__content {
66
- height: 100%;
67
- > span {
68
- height: 100%;
69
- }
70
- }
71
- }
72
- &:hover {
73
- &.q-focusable:focus,
74
- &.q-manual-focusable--focused,
75
- &.q-hoverable:hover {
76
- > .q-focus-helper {
77
- opacity: 0.3;
78
- transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1);
79
- &:before {
80
- opacity: 1.4;
81
- transition: none;
82
- }
83
- &:after {
84
- opacity: 0;
85
- transition: none;
86
- }
87
- }
88
- }
89
- }
90
-
91
- &.q-btn--outline {
92
- &:hover {
93
- &.q-focusable:focus,
94
- &.q-manual-focusable--focused,
95
- &.q-hoverable:hover {
96
- > .q-focus-helper {
97
- &:before {
98
- opacity: 0;
99
- }
100
- &:after {
101
- opacity: 0.55;
102
- }
103
- }
104
- }
105
- }
106
- }
107
- }
108
- .s-button-xs {
109
- &.q-btn {
110
- height: 24px;
111
- padding: $button-padding-xs;
112
- font-weight: $default-font-weight;
113
- font-size: $default-font;
114
- line-height: $default-content-height;
115
- min-width: 60px;
116
- &.icon-with {
117
- padding: $button-with-icon-padding-xs;
118
- .q-icon {
119
- font-size: $icon-size-sm;
120
- }
121
- .on-left {
122
- margin-right: $between-margin-sm;
123
- }
124
- }
125
- &.icon-only {
126
- min-width: 24px;
127
- min-height: 24px;
128
- padding: 4px !important;
129
- .q-icon {
130
- font-size: $default-icon-size;
131
- }
132
- }
133
- > .q-btn__content {
134
- height: $default-content-height;
135
- }
136
- }
137
- }
138
- .s-button-sm {
139
- &.q-btn {
140
- height: 28px;
141
- padding: $button-padding-sm;
142
- font-weight: $default-font-weight;
143
- font-size: $default-font;
144
- line-height: $default-content-height;
145
- min-width: 70px;
146
- &.icon-with {
147
- padding: $button-with-icon-padding-sm;
148
- .q-icon {
149
- font-size: $default-icon-size;
150
- }
151
- .on-left {
152
- margin-right: $between-margin-sm;
153
- }
154
- }
155
- &.icon-only {
156
- min-width: 28px;
157
- min-height: 28px;
158
- padding: 6px !important;
159
- .q-icon {
160
- font-size: $default-icon-size;
161
- }
162
- }
163
- > .q-btn__content {
164
- height: $default-content-height;
165
- }
166
- }
167
- }
168
- .s-button-md {
169
- padding: $button-padding-md;
170
- font-weight: $default-font-weight;
171
- font-size: $font-md;
172
- line-height: $line-height-md;
173
- min-width: 100px;
174
- &.icon-with {
175
- padding: $button-with-icon-padding-md;
176
- .q-icon {
177
- font-size: $icon-size;
178
- }
179
- .on-left {
180
- margin-right: $between-margin-md;
181
- }
182
- }
183
- &.icon-only {
184
- min-width: 34px;
185
- min-height: 34px;
186
- padding: 5px !important ;
187
- .q-icon {
188
- font-size: $icon-size;
189
- }
190
- }
191
- > .q-btn__content {
192
- max-height: $line-height-md;
193
- }
194
- }
195
-
196
- .s-button.q-btn--outline.disabled,
197
- .s-button.disabled {
198
- background: $Grey_Lighten-3 !important;
199
- opacity: 1 !important;
200
- color: $Grey_Default !important;
201
- border: none !important;
202
- &:before {
203
- border: 1px solid $Grey_Lighten-2;
204
- }
205
- }
206
- </style>
1
+ <template>
2
+ <q-btn
3
+ class="s-button"
4
+ no-caps
5
+ no-wrap
6
+ unelevated
7
+ :color="color"
8
+ :ripple="false"
9
+ :class="{
10
+ 's-button-md': size === 'md',
11
+ 's-button-sm': size === 'sm',
12
+ 's-button-xs': size === 'xs',
13
+ 'icon-with': $attrs.icon && $attrs.label,
14
+ 'icon-only': $attrs.icon && !$attrs.label,
15
+ 'no-hover': noHover,
16
+ [`text-only text-important-${color} no-hover q-pa-none`]: text,
17
+ 'underline': underline
18
+ }"
19
+ :style="currentColor"
20
+ >
21
+ <template v-for="(_, slotName, index) in $slots" :key="index">
22
+ <slot :name="slotName"></slot>
23
+ </template>
24
+ </q-btn>
25
+ </template>
26
+
27
+ <script>
28
+ import { defineComponent } from 'vue';
29
+ import { QBtn } from 'quasar';
30
+
31
+ export default defineComponent({
32
+ name: 'SButton',
33
+ components: { QBtn },
34
+ props: {
35
+ size: {
36
+ type: String,
37
+ default: 'sm',
38
+ },
39
+ color: {
40
+ type: String,
41
+ default: 'Blue_B_Default',
42
+ },
43
+ noHover: {
44
+ type: Boolean,
45
+ default: false,
46
+ },
47
+ text: {
48
+ type: Boolean,
49
+ default: false,
50
+ },
51
+ underline: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ },
56
+ });
57
+ </script>
58
+
59
+ <style lang="scss">
60
+ @import '../css/quasar.variables.scss';
61
+
62
+ // TODO: hover 색 맞추기
63
+ .s-button {
64
+ &.q-btn {
65
+ min-height: 0;
66
+ height: fit-content;
67
+ justify-content: center;
68
+ &.icon-with {
69
+ > .q-btn__content {
70
+ align-items: center;
71
+ }
72
+ }
73
+ &.icon-only {
74
+ padding: 5px;
75
+ }
76
+ > .q-btn__content {
77
+ height: 100%;
78
+ > span {
79
+ height: 100%;
80
+ }
81
+ }
82
+ }
83
+ &:hover {
84
+ &.q-focusable:focus,
85
+ &.q-manual-focusable--focused,
86
+ &.q-hoverable:hover {
87
+ > .q-focus-helper {
88
+ opacity: 0.3;
89
+ transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1);
90
+ &:before {
91
+ opacity: 1.4;
92
+ transition: none;
93
+ }
94
+ &:after {
95
+ opacity: 0;
96
+ transition: none;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ &.q-btn--outline {
103
+ &:hover {
104
+ &.q-focusable:focus,
105
+ &.q-manual-focusable--focused,
106
+ &.q-hoverable:hover {
107
+ > .q-focus-helper {
108
+ &:before {
109
+ opacity: 0;
110
+ }
111
+ &:after {
112
+ opacity: 0.55;
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ .s-button-xs {
120
+ &.q-btn {
121
+ height: 24px;
122
+ padding: $button-padding-xs;
123
+ font-weight: $default-font-weight;
124
+ font-size: $default-font;
125
+ line-height: $default-content-height;
126
+ min-width: 60px;
127
+ &.icon-with {
128
+ padding: $button-with-icon-padding-xs;
129
+ .q-icon {
130
+ font-size: $icon-size-sm;
131
+ }
132
+ .on-left {
133
+ margin-right: $between-margin-sm;
134
+ }
135
+ }
136
+ &.icon-only {
137
+ min-width: 24px;
138
+ min-height: 24px;
139
+ padding: 4px !important;
140
+ .q-icon {
141
+ font-size: $default-icon-size;
142
+ }
143
+ }
144
+ > .q-btn__content {
145
+ height: $default-content-height;
146
+ }
147
+ }
148
+ }
149
+ .s-button-sm {
150
+ &.q-btn {
151
+ height: 28px;
152
+ padding: $button-padding-sm;
153
+ font-weight: $default-font-weight;
154
+ font-size: $default-font;
155
+ line-height: $default-content-height;
156
+ min-width: 70px;
157
+ &.icon-with {
158
+ padding: $button-with-icon-padding-sm;
159
+ .q-icon {
160
+ font-size: $default-icon-size;
161
+ }
162
+ .on-left {
163
+ margin-right: $between-margin-sm;
164
+ }
165
+ }
166
+ &.icon-only {
167
+ min-width: 28px;
168
+ min-height: 28px;
169
+ padding: 6px !important;
170
+ .q-icon {
171
+ font-size: $default-icon-size;
172
+ }
173
+ }
174
+ > .q-btn__content {
175
+ height: $default-content-height;
176
+ }
177
+ }
178
+ }
179
+ .s-button-md {
180
+ padding: $button-padding-md;
181
+ font-weight: $default-font-weight;
182
+ font-size: $font-md;
183
+ line-height: $line-height-md;
184
+ min-width: 100px;
185
+ &.icon-with {
186
+ padding: $button-with-icon-padding-md;
187
+ .q-icon {
188
+ font-size: $icon-size;
189
+ }
190
+ .on-left {
191
+ margin-right: $between-margin-md;
192
+ }
193
+ }
194
+ &.icon-only {
195
+ min-width: 34px;
196
+ min-height: 34px;
197
+ padding: 5px !important ;
198
+ .q-icon {
199
+ font-size: $icon-size;
200
+ }
201
+ }
202
+ > .q-btn__content {
203
+ max-height: $line-height-md;
204
+ }
205
+ }
206
+
207
+ .s-button.q-btn--outline.disabled,
208
+ .s-button.disabled {
209
+ background: $Grey_Lighten-3 !important;
210
+ opacity: 1 !important;
211
+ color: $Grey_Default !important;
212
+ border: none !important;
213
+ &:before {
214
+ border: 1px solid $Grey_Lighten-2;
215
+ }
216
+ }
217
+ .s-button.text-only {
218
+ background: none !important;
219
+ padding: 0 !important;
220
+ min-width: 0;
221
+ }
222
+ .s-button.underline {
223
+ text-decoration: underline
224
+ }
225
+ </style>