@saasmakers/ui 0.1.51 → 0.1.52
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.
|
@@ -1,44 +1,17 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
+
import type { BaseAvatar } from '../../types/bases'
|
|
2
3
|
import { NuxtLinkLocale } from '#components'
|
|
3
4
|
import { numbro } from '../../composables/useUtils'
|
|
4
5
|
|
|
5
|
-
const props = defineProps({
|
|
6
|
-
bordered:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
circular: {
|
|
15
|
-
default: true,
|
|
16
|
-
type: Boolean,
|
|
17
|
-
},
|
|
18
|
-
editable: {
|
|
19
|
-
default: false,
|
|
20
|
-
type: Boolean,
|
|
21
|
-
},
|
|
22
|
-
habitsCompleted: {
|
|
23
|
-
default: undefined,
|
|
24
|
-
type: Number,
|
|
25
|
-
},
|
|
26
|
-
maxSizeMb: {
|
|
27
|
-
default: undefined,
|
|
28
|
-
type: Number,
|
|
29
|
-
},
|
|
30
|
-
shadow: {
|
|
31
|
-
default: true,
|
|
32
|
-
type: Boolean,
|
|
33
|
-
},
|
|
34
|
-
src: {
|
|
35
|
-
default: undefined,
|
|
36
|
-
type: String,
|
|
37
|
-
},
|
|
38
|
-
to: {
|
|
39
|
-
default: undefined,
|
|
40
|
-
type: Object as PropType<RouteLocationNamedI18n>,
|
|
41
|
-
},
|
|
6
|
+
const props = withDefaults(defineProps<BaseAvatar>(), {
|
|
7
|
+
bordered: true,
|
|
8
|
+
borderWidth: 3,
|
|
9
|
+
circular: true,
|
|
10
|
+
editable: false,
|
|
11
|
+
maxSizeMb: undefined,
|
|
12
|
+
shadow: true,
|
|
13
|
+
src: undefined,
|
|
14
|
+
to: undefined,
|
|
42
15
|
})
|
|
43
16
|
|
|
44
17
|
const emit = defineEmits<{
|
|
@@ -144,20 +117,9 @@ function onLoad() {
|
|
|
144
117
|
>
|
|
145
118
|
</div>
|
|
146
119
|
|
|
147
|
-
<
|
|
148
|
-
v-if="
|
|
149
|
-
|
|
150
|
-
class="absolute left-1/2 transform select-none rounded bg-indigo-800 text-center text-white opacity-95 shadow -bottom-0.5 -translate-x-1/2 dark:bg-indigo-200 dark:text-black"
|
|
151
|
-
:class="{
|
|
152
|
-
'w-6': habitsCompleted < 100,
|
|
153
|
-
'w-7': habitsCompleted >= 100 && habitsCompleted < 1000,
|
|
154
|
-
'w-9': habitsCompleted >= 1000 && habitsCompleted < 10000,
|
|
155
|
-
'w-10': habitsCompleted >= 10000 && habitsCompleted < 100000,
|
|
156
|
-
'w-11': habitsCompleted >= 100000 && habitsCompleted < 1000000,
|
|
157
|
-
'w-13': habitsCompleted >= 1000000,
|
|
158
|
-
}"
|
|
159
|
-
size="2xs"
|
|
160
|
-
:text="numbro(habitsCompleted)"
|
|
120
|
+
<slot
|
|
121
|
+
v-if="!editable || (editable && !hovered)"
|
|
122
|
+
name="bottom"
|
|
161
123
|
/>
|
|
162
124
|
</component>
|
|
163
125
|
</template>
|
package/app/types/bases.d.ts
CHANGED
|
@@ -35,11 +35,12 @@ export interface BaseAlert {
|
|
|
35
35
|
text?: BaseTextText
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
interface BaseAvatar {
|
|
38
|
+
export interface BaseAvatar {
|
|
39
39
|
bordered?: boolean
|
|
40
40
|
borderWidth?: number
|
|
41
41
|
circular?: boolean
|
|
42
|
-
|
|
42
|
+
editable?: boolean
|
|
43
|
+
maxSizeMb?: number
|
|
43
44
|
shadow?: boolean
|
|
44
45
|
src?: string
|
|
45
46
|
to?: RouteLocationNamedI18n
|