sprintify-ui 0.1.11 → 0.1.12

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": "sprintify-ui",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "scripts": {
5
5
  "build": "rimraf dist && vue-tsc && vite build",
6
6
  "build-fast": "rimraf dist && vite build",
@@ -8,14 +8,14 @@
8
8
  >
9
9
  <BaseIcon :icon="rowAction.icon" class="text-slate-500" />
10
10
  </button>
11
- <router-link
11
+ <RouterLink
12
12
  v-else-if="rowAction.to"
13
13
  :to="rowAction.to(row)"
14
14
  :disabled="rowAction.disabled && rowAction.disabled(row)"
15
15
  class="btn btn-white border border-slate-300 p-2 shadow-sm hover:bg-slate-100"
16
16
  >
17
17
  <BaseIcon :icon="rowAction.icon" class="text-slate-500" />
18
- </router-link>
18
+ </RouterLink>
19
19
  </template>
20
20
 
21
21
  <script lang="ts" setup>
@@ -30,6 +30,7 @@
30
30
  @click="onClick"
31
31
  ></BaseLayoutNotificationItem>
32
32
  </template>
33
+
33
34
  <div
34
35
  v-if="notificationsConfig.items.length == 0"
35
36
  class="flex items-center justify-center p-6"
@@ -49,14 +50,11 @@
49
50
  v-if="notificationsConfig.footerTo"
50
51
  class="mt-1 border-t border-slate-200 pt-1"
51
52
  >
52
- <RouterLink
53
- v-slot="{ href, navigate }"
54
- custom
55
- :to="notificationsConfig.footerTo"
56
- >
57
- <MenuItem as="a" :href="href" @click="navigate">
53
+ <MenuItem v-slot="{ active, close }">
54
+ <RouterLink :to="notificationsConfig.footerTo" @mouseup="close">
58
55
  <div
59
56
  class="hover block px-3 py-2 text-center text-sm font-medium text-primary-600 hover:bg-slate-100"
57
+ :class="[active ? 'bg-slate-100' : '']"
60
58
  >
61
59
  {{
62
60
  notificationsConfig.footerLabel
@@ -64,8 +62,8 @@
64
62
  : $t('sui.see_all_notifications')
65
63
  }}
66
64
  </div>
67
- </MenuItem>
68
- </RouterLink>
65
+ </RouterLink>
66
+ </MenuItem>
69
67
  </div>
70
68
  </template>
71
69
  </BaseMenu>
@@ -1,32 +1,18 @@
1
1
  <template>
2
- <router-link
3
- v-if="notification.to"
4
- v-slot="{ href, navigate }"
5
- custom
6
- :to="notification.to"
7
- >
8
- <MenuItem
9
- v-slot="{ active }"
10
- as="a"
11
- :href="href"
12
- @click.prevent="onClick(navigate)"
13
- >
2
+ <MenuItem v-if="notification.to" v-slot="{ active, close }">
3
+ <RouterLink :to="notification.to" @mouseup="onClick(close)">
14
4
  <BaseLayoutNotificationItemContent
15
5
  :active="active"
16
6
  :notification="notification"
17
7
  ></BaseLayoutNotificationItemContent>
18
- </MenuItem>
19
- </router-link>
8
+ </RouterLink>
9
+ </MenuItem>
20
10
  <div v-else>
21
- <MenuItem
22
- v-slot="{ active }"
23
- as="button"
24
- class="w-full text-left"
25
- @click.prevent="onClick()"
26
- >
11
+ <MenuItem v-slot="{ active }" as="button" class="w-full text-left">
27
12
  <BaseLayoutNotificationItemContent
28
13
  :active="active"
29
14
  :notification="notification"
15
+ @mouseup="onClick()"
30
16
  ></BaseLayoutNotificationItemContent>
31
17
  </MenuItem>
32
18
  </div>
@@ -47,10 +33,11 @@ const props = defineProps({
47
33
  },
48
34
  });
49
35
 
50
- function onClick(navigate: (() => void) | null) {
36
+ function onClick(close: () => void | null) {
51
37
  emit('click', props.notification);
52
- if (navigate) {
53
- navigate();
38
+
39
+ if (close) {
40
+ close();
54
41
  }
55
42
  }
56
43
  </script>
@@ -6,9 +6,9 @@
6
6
 
7
7
  <div class="flex justify-center">
8
8
  <!-- Logo -->
9
- <router-link to="/" class="flex flex-shrink-0 items-center p-2 pl-0">
9
+ <RouterLink to="/" class="flex flex-shrink-0 items-center p-2 pl-0">
10
10
  <img class="block h-8 w-auto" :src="logoUrl" :alt="appName" />
11
- </router-link>
11
+ </RouterLink>
12
12
 
13
13
  <!-- Links (desktop) -->
14
14
  <div class="ml-10 hidden space-x-4 md:flex">
@@ -27,18 +27,8 @@
27
27
  <template v-for="item in items" :key="item.label + 'link'">
28
28
  <div v-if="item.line" class="my-1 -mx-1 flex h-px bg-slate-200" />
29
29
 
30
- <router-link
31
- v-else-if="item.to"
32
- v-slot="{ href, navigate }"
33
- custom
34
- :to="item.to"
35
- >
36
- <MenuItem
37
- v-slot="{ active }"
38
- as="a"
39
- :href="href"
40
- @click="navigate"
41
- >
30
+ <MenuItem v-else-if="item.to" v-slot="{ active, close }">
31
+ <RouterLink :to="item.to" @mouseup="close">
42
32
  <slot name="item" :item="item">
43
33
  <BaseMenuItem
44
34
  :label="item.label"
@@ -49,8 +39,8 @@
49
39
  :size="size"
50
40
  />
51
41
  </slot>
52
- </MenuItem>
53
- </router-link>
42
+ </RouterLink>
43
+ </MenuItem>
54
44
 
55
45
  <MenuItem
56
46
  v-else-if="item.href"
@@ -76,13 +76,13 @@ const Template = (args) => ({
76
76
 
77
77
  <div class="flex justify-center">
78
78
  <!-- Logo -->
79
- <router-link to="/" class="flex flex-shrink-0 grow items-center p-2 pl-0">
79
+ <RouterLink to="/" class="flex flex-shrink-0 grow items-center p-2 pl-0">
80
80
  <img
81
81
  class="block h-8 w-auto"
82
82
  src="https://sprintify.witify.io/img/logo/logo-side.svg"
83
83
  alt="Sprintify"
84
84
  />
85
- </router-link>
85
+ </RouterLink>
86
86
 
87
87
  <!-- Links (desktop) -->
88
88
  <div class="ml-10 hidden space-x-4 md:flex">
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <router-link
2
+ <RouterLink
3
3
  v-slot="{ href, navigate, isActive, isExactActive }"
4
4
  :to="to"
5
5
  custom
@@ -29,7 +29,7 @@
29
29
  <slot :active="isActiveInternal(isActive, isExactActive)" />
30
30
  </div>
31
31
  </a>
32
- </router-link>
32
+ </RouterLink>
33
33
  </template>
34
34
 
35
35
  <script lang="ts" setup>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <li>
3
- <router-link
3
+ <RouterLink
4
4
  v-slot="{ href, navigate, isActive, isExactActive }"
5
5
  :to="to"
6
6
  custom
@@ -32,7 +32,7 @@
32
32
  </div>
33
33
  </div>
34
34
  </a>
35
- </router-link>
35
+ </RouterLink>
36
36
  </li>
37
37
  </template>
38
38
 
@@ -1,45 +0,0 @@
1
- import { PropType } from 'vue';
2
- import { RouteLocationRaw } from 'vue-router';
3
- declare const _default: import("vue").DefineComponent<{
4
- title: {
5
- required: true;
6
- type: StringConstructor;
7
- };
8
- subtitle: {
9
- default: string;
10
- type: StringConstructor;
11
- };
12
- level: {
13
- default: number;
14
- type: NumberConstructor;
15
- };
16
- back: {
17
- default: string;
18
- type: PropType<RouteLocationRaw>;
19
- };
20
- }, unknown, unknown, {
21
- titleClass(): string;
22
- subtitleClass(): string;
23
- }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
- title: {
25
- required: true;
26
- type: StringConstructor;
27
- };
28
- subtitle: {
29
- default: string;
30
- type: StringConstructor;
31
- };
32
- level: {
33
- default: number;
34
- type: NumberConstructor;
35
- };
36
- back: {
37
- default: string;
38
- type: PropType<RouteLocationRaw>;
39
- };
40
- }>>, {
41
- subtitle: string;
42
- level: number;
43
- back: RouteLocationRaw;
44
- }>;
45
- export default _default;
@@ -1,80 +0,0 @@
1
- <template>
2
- <div class="flex w-full space-x-4">
3
- <div v-if="back">
4
- <router-link
5
- :to="back"
6
- class="block rounded-full border border-slate-200 bg-white p-2 shadow duration-150 hover:bg-slate-100"
7
- >
8
- <BaseIcon class="h-6 w-6" icon="mdi:chevron-left" />
9
- </router-link>
10
- </div>
11
- <div class="grow sm:flex sm:items-start">
12
- <div class="sm:flex-auto">
13
- <component :is="`h${level}`" :class="titleClass">
14
- {{ title }}
15
- </component>
16
- <p v-if="subtitle" :class="subtitleClass">
17
- {{ subtitle }}
18
- </p>
19
- </div>
20
- <div class="mt-4 sm:mt-0 sm:ml-16 sm:flex-none">
21
- <slot name="actions" />
22
- </div>
23
- </div>
24
- </div>
25
- </template>
26
-
27
- <script lang="ts">
28
- import { defineComponent, PropType } from 'vue';
29
- import { RouteLocationRaw } from 'vue-router';
30
-
31
- export default defineComponent({
32
- props: {
33
- title: {
34
- required: true,
35
- type: String,
36
- },
37
- subtitle: {
38
- default: '',
39
- type: String,
40
- },
41
- level: {
42
- default: 1,
43
- type: Number,
44
- },
45
- back: {
46
- default: '',
47
- type: [String, Object] as PropType<RouteLocationRaw>,
48
- },
49
- },
50
- computed: {
51
- titleClass(): string {
52
- let classes =
53
- 'font-display md:leading-tight font-semibold text-slate-900';
54
-
55
- if (this.level == 1) {
56
- classes += ' md:text-3xl text-3xl leading-9';
57
- }
58
-
59
- if (this.level == 2) {
60
- classes += ' md:text-xl text-xl leading-6';
61
- }
62
-
63
- return classes;
64
- },
65
- subtitleClass(): string {
66
- let classes = 'mt-1 text-slate-600';
67
-
68
- if (this.level == 1) {
69
- classes += ' text-base leading-5';
70
- }
71
-
72
- if (this.level == 2) {
73
- classes += ' text-base leading-5';
74
- }
75
-
76
- return classes;
77
- },
78
- },
79
- });
80
- </script>