@una-ui/nuxt 0.32.0-beta.2 → 0.33.0-beta.1

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/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@una-ui/nuxt",
3
3
  "configKey": "una",
4
- "version": "0.32.0-beta.2",
4
+ "version": "0.33.0-beta.1",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.0.0"
7
7
  },
package/dist/module.mjs CHANGED
@@ -7,7 +7,7 @@ import 'unocss';
7
7
  import 'unocss-preset-animations';
8
8
 
9
9
  const name = "@una-ui/nuxt";
10
- const version = "0.32.0-beta.2";
10
+ const version = "0.33.0-beta.1";
11
11
 
12
12
  const module = defineNuxtModule({
13
13
  meta: {
@@ -37,7 +37,7 @@ const statusClassVariants = computed(() => {
37
37
  success: props.una?.selectTriggerSuccessIcon ?? 'select-trigger-success-icon',
38
38
  warning: props.una?.selectTriggerWarningIcon ?? 'select-trigger-warning-icon',
39
39
  error: props.una?.selectTriggerErrorIcon ?? 'select-trigger-error-icon',
40
- default: 'select-trigger-trailing-icon',
40
+ default: props.una?.selectTriggerTrailingIcon ?? 'select-trigger-trailing-icon',
41
41
  }
42
42
 
43
43
  return {
@@ -1,6 +1,8 @@
1
1
  <script lang="ts" setup>
2
2
  import type { NBreadcrumbProps } from '../../../types'
3
3
  import { cn } from '../../../utils'
4
+ import DropdownMenu from '../../elements/dropdown-menu/DropdownMenu.vue'
5
+ import BreadcrumbEllipsis from './BreadcrumbEllipsis.vue'
4
6
  import BreadcrumbItem from './BreadcrumbItem.vue'
5
7
  import BreadcrumbLink from './BreadcrumbLink.vue'
6
8
  import BreadcrumbList from './BreadcrumbList.vue'
@@ -28,7 +30,7 @@ const props = defineProps<NBreadcrumbProps>()
28
30
  v-bind="_breadcrumbList"
29
31
  >
30
32
  <template
31
- v-for="(item, i) in props.items"
33
+ v-for="(item, i) in items"
32
34
  :key="i"
33
35
  >
34
36
  <slot name="list" :item="item">
@@ -39,6 +41,7 @@ const props = defineProps<NBreadcrumbProps>()
39
41
  >
40
42
  <slot name="item" :item="item">
41
43
  <BreadcrumbLink
44
+ v-if="!item.children?.length"
42
45
  :active="i === items.length - 1"
43
46
  :breadcrumb-active="props.breadcrumbActive"
44
47
  :breadcrumb-inactive="props.breadcrumbInactive"
@@ -48,8 +51,26 @@ const props = defineProps<NBreadcrumbProps>()
48
51
  ..._breadcrumbLink,
49
52
  }"
50
53
  >
51
- <slot :item="item" />
54
+ <slot :item="item" :index="i" :is-active="i === items.length - 1" />
52
55
  </BreadcrumbLink>
56
+ <template v-else>
57
+ <slot name="dropdown" :item="item">
58
+ <DropdownMenu
59
+ :size
60
+ :modal="false"
61
+ :items="item.children"
62
+ :_dropdown-menu-item="{
63
+ ..._breadcrumbLink,
64
+ }"
65
+ >
66
+ <BreadcrumbEllipsis
67
+ :size
68
+ :icon="ellipsis"
69
+ v-bind="_breadcrumbEllipsis"
70
+ />
71
+ </DropdownMenu>
72
+ </slot>
73
+ </template>
53
74
  </slot>
54
75
  </BreadcrumbItem>
55
76
  <BreadcrumbSeparator
@@ -1,6 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import type { NBreadcrumbEllipsisProps } from '../../../types'
3
3
  import { cn } from '../../../utils'
4
+ import Icon from '../../elements/Icon.vue'
4
5
 
5
6
  const props = withDefaults(defineProps<NBreadcrumbEllipsisProps>(), {
6
7
  icon: 'breadcrumb-ellipsis-icon',
@@ -10,7 +11,7 @@ const props = withDefaults(defineProps<NBreadcrumbEllipsisProps>(), {
10
11
  </script>
11
12
 
12
13
  <template>
13
- <span
14
+ <div
14
15
  role="presentation"
15
16
  aria-hidden="true"
16
17
  :class="cn(
@@ -21,12 +22,12 @@ const props = withDefaults(defineProps<NBreadcrumbEllipsisProps>(), {
21
22
  :size
22
23
  >
23
24
  <slot>
24
- <NIcon
25
+ <Icon
25
26
  :name="icon"
26
27
  :class="props.una?.breadcrumbEllipsisIcon"
27
28
  aria-hidden="true"
28
29
  />
29
30
  </slot>
30
31
  <span class="sr-only">More</span>
31
- </span>
32
+ </div>
32
33
  </template>
@@ -14,7 +14,7 @@ const props = withDefaults(defineProps<NBreadcrumbSeparatorProps>(), {
14
14
  role="presentation"
15
15
  aria-hidden="true"
16
16
  :class="cn(
17
- '',
17
+ 'breadcrumb-separator',
18
18
  props.class,
19
19
  props.una?.breadcrumbSeparator,
20
20
  )"
@@ -3,6 +3,9 @@ import type { NButtonProps } from './button.js';
3
3
  interface BaseExtensions {
4
4
  class?: HTMLAttributes['class'];
5
5
  }
6
+ type BreadcrumbListItem = NButtonProps & {
7
+ children?: NButtonProps[];
8
+ };
6
9
  export interface NBreadcrumbProps extends BaseExtensions, Pick<NBreadcrumbLinkProps, 'breadcrumbActive' | 'breadcrumbInactive'> {
7
10
  /**
8
11
  * List of items to display in the breadcrumb.
@@ -10,7 +13,7 @@ export interface NBreadcrumbProps extends BaseExtensions, Pick<NBreadcrumbLinkPr
10
13
  * @example
11
14
  * items: [{ label: 'Home', to: '/' }, { label: 'About', to: '/about' }]
12
15
  */
13
- items: Partial<NButtonProps>[];
16
+ items: Partial<BreadcrumbListItem>[];
14
17
  separator?: NBreadcrumbSeparatorProps['icon'];
15
18
  ellipsis?: NBreadcrumbEllipsisProps['icon'];
16
19
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@una-ui/nuxt",
3
3
  "type": "module",
4
- "version": "0.32.0-beta.2",
4
+ "version": "0.33.0-beta.1",
5
5
  "description": "Nuxt module for @una-ui",
6
6
  "author": "Phojie Rengel <phojrengel@gmail.com>",
7
7
  "license": "MIT",
@@ -49,8 +49,8 @@
49
49
  "typescript": "5.6.3",
50
50
  "unocss": "^0.64.1",
51
51
  "unocss-preset-animations": "^1.1.0",
52
- "@una-ui/preset": "^0.32.0-beta.2",
53
- "@una-ui/extractor-vue-script": "^0.32.0-beta.2"
52
+ "@una-ui/extractor-vue-script": "^0.33.0-beta.1",
53
+ "@una-ui/preset": "^0.33.0-beta.1"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@nuxt/module-builder": "^0.8.4",