@una-ui/nuxt 0.16.2-beta.1 → 0.17.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.16.2-beta.1",
4
+ "version": "0.17.0-beta.1",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.0.0"
7
7
  },
package/dist/module.mjs CHANGED
@@ -7,7 +7,7 @@ import '@una-ui/preset/prefixes';
7
7
  import '@una-ui/extractor-vue-script';
8
8
 
9
9
  const name = "@una-ui/nuxt";
10
- const version = "0.16.2-beta.1";
10
+ const version = "0.17.0-beta.1";
11
11
 
12
12
  const module = defineNuxtModule({
13
13
  meta: {
@@ -71,6 +71,13 @@ const module = defineNuxtModule({
71
71
  watch: nuxt.options.dev,
72
72
  priority: 10
73
73
  });
74
+ addComponentsDir({
75
+ path: resolve(runtimeDir, "components/elements", "tooltip"),
76
+ prefix: options.prefix,
77
+ global: options.global,
78
+ watch: nuxt.options.dev,
79
+ priority: 10
80
+ });
74
81
  addComponentsDir({
75
82
  path: resolve(runtimeDir, "components", "forms"),
76
83
  prefix: options.prefix,
@@ -0,0 +1,50 @@
1
+ <script setup lang="ts">
2
+ import { useForwardPropsEmits } from 'radix-vue'
3
+ import type { TooltipRootEmits } from 'radix-vue'
4
+ import type { NTooltipProps } from '../../../types'
5
+
6
+ import TooltipContent from './TooltipContent.vue'
7
+ import TooltipProvider from './TooltipProvider.vue'
8
+ import TooltipRoot from './TooltipRoot.vue'
9
+ import TooltipTrigger from './TooltipTrigger.vue'
10
+
11
+ defineOptions({
12
+ inheritAttrs: false,
13
+ })
14
+
15
+ const props = defineProps<NTooltipProps>()
16
+ const emits = defineEmits<TooltipRootEmits>()
17
+
18
+ const forwarded = useForwardPropsEmits(props, emits)
19
+ </script>
20
+
21
+ <template>
22
+ <TooltipProvider
23
+ v-bind="_tooltipProvider"
24
+ :disabled
25
+ >
26
+ <TooltipRoot
27
+ v-bind="_tooltipRoot"
28
+ >
29
+ <TooltipTrigger
30
+ as-child
31
+ v-bind="_tooltipTrigger"
32
+ >
33
+ <slot />
34
+ </TooltipTrigger>
35
+
36
+ <TooltipContent
37
+ v-if="$slots.content || content"
38
+ v-bind="forwarded._tooltipContent"
39
+ :size
40
+ :tooltip
41
+ :disabled
42
+ :una="forwarded.una?.tooltipContent"
43
+ >
44
+ <slot name="content">
45
+ {{ content }}
46
+ </slot>
47
+ </TooltipContent>
48
+ </TooltipRoot>
49
+ </TooltipProvider>
50
+ </template>
@@ -0,0 +1,42 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import { TooltipContent, TooltipPortal, useForwardPropsEmits } from 'radix-vue'
4
+ import type { TooltipContentEmits } from 'radix-vue'
5
+ import { cn } from '../../../utils'
6
+ import type { NTooltipContentProps } from '../../../types'
7
+
8
+ defineOptions({
9
+ inheritAttrs: false,
10
+ })
11
+
12
+ const props = withDefaults(defineProps<NTooltipContentProps>(), {
13
+ sideOffset: 4,
14
+ tooltip: 'black',
15
+ })
16
+
17
+ const emits = defineEmits<TooltipContentEmits>()
18
+
19
+ const delegatedProps = computed(() => {
20
+ const { class: _, ...delegated } = props
21
+
22
+ return delegated
23
+ })
24
+
25
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
26
+ </script>
27
+
28
+ <template>
29
+ <TooltipPortal>
30
+ <TooltipContent
31
+ v-bind="{ ...forwarded, ...$attrs }"
32
+ :class="cn(
33
+ 'tooltip-content',
34
+ props.class,
35
+ props.una?.tooltipContent,
36
+ )"
37
+ :tooltip
38
+ >
39
+ <slot />
40
+ </TooltipContent>
41
+ </TooltipPortal>
42
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { TooltipProvider } from 'radix-vue'
3
+ import type { NTooltipProviderProps } from '../../../types'
4
+
5
+ const props = withDefaults(defineProps<NTooltipProviderProps>(), {
6
+ delayDuration: 600,
7
+ })
8
+ </script>
9
+
10
+ <template>
11
+ <TooltipProvider v-bind="props">
12
+ <slot />
13
+ </TooltipProvider>
14
+ </template>
@@ -0,0 +1,16 @@
1
+ <script setup lang="ts">
2
+ import { TooltipRoot, useForwardPropsEmits } from 'radix-vue'
3
+ import type { TooltipRootEmits } from 'radix-vue'
4
+ import type { NTooltipRootProps } from '../../../types'
5
+
6
+ const props = defineProps<NTooltipRootProps>()
7
+ const emits = defineEmits<TooltipRootEmits>()
8
+
9
+ const forwarded = useForwardPropsEmits(props, emits)
10
+ </script>
11
+
12
+ <template>
13
+ <TooltipRoot v-bind="forwarded">
14
+ <slot />
15
+ </TooltipRoot>
16
+ </template>
@@ -0,0 +1,12 @@
1
+ <script setup lang="ts">
2
+ import { TooltipTrigger } from 'radix-vue'
3
+ import type { NTooltipTriggerProps } from '../../../types'
4
+
5
+ const props = defineProps<NTooltipTriggerProps>()
6
+ </script>
7
+
8
+ <template>
9
+ <TooltipTrigger v-bind="props">
10
+ <slot />
11
+ </TooltipTrigger>
12
+ </template>
@@ -27,6 +27,7 @@ export * from './table.js';
27
27
  export * from './dropdown-menu.js';
28
28
  export * from './label.js';
29
29
  export * from './popover.js';
30
+ export * from './tooltip.js';
30
31
  export interface Colors {
31
32
  [key: string]: string;
32
33
  }
@@ -27,3 +27,4 @@ export * from "./table.js";
27
27
  export * from "./dropdown-menu.js";
28
28
  export * from "./label.js";
29
29
  export * from "./popover.js";
30
+ export * from "./tooltip.js";
@@ -0,0 +1,62 @@
1
+ import type { HTMLAttributes } from 'vue';
2
+ import type { TooltipContentProps, TooltipProviderProps, TooltipRootProps, TooltipTriggerProps } from 'radix-vue';
3
+ import type { NButtonProps } from './button.js';
4
+ interface BaseExtensions {
5
+ class?: HTMLAttributes['class'];
6
+ size?: HTMLAttributes['class'];
7
+ }
8
+ type TriggerExtensions = NButtonProps & TooltipTriggerProps;
9
+ type ContentExtensions = BaseExtensions & TooltipContentProps;
10
+ export interface NTooltipProps extends BaseExtensions {
11
+ /**
12
+ * Disable the tooltip.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * Add a content of the tooltip.
17
+ */
18
+ content?: string;
19
+ /**
20
+ * Allows you to add `UnaUI` tooltip preset properties,
21
+ * Think of it as a shortcut for adding options or variants to the preset if available.
22
+ *
23
+ * @see https://github.com/una-ui/una-ui/blob/main/packages/preset/src/_shortcuts/tooltip.ts
24
+ * @example
25
+ * tooltip="green"
26
+ */
27
+ tooltip?: HTMLAttributes['class'];
28
+ _tooltipProvider?: Partial<NTooltipProviderProps>;
29
+ _tooltipRoot?: Partial<NTooltipRootProps>;
30
+ _tooltipTrigger?: Partial<NTooltipTriggerProps>;
31
+ _tooltipContent?: Partial<NTooltipContentProps>;
32
+ una?: NTooltipUnaProps;
33
+ }
34
+ export interface NTooltipRootProps extends TooltipRootProps {
35
+ 'onUpdate:open'?: (value: boolean) => void;
36
+ }
37
+ export interface NTooltipProviderProps extends TooltipProviderProps {
38
+ }
39
+ export interface NTooltipTriggerProps extends TriggerExtensions {
40
+ }
41
+ export interface NTooltipContentProps extends ContentExtensions {
42
+ /**
43
+ * Allows you to add `UnaUI` tooltip preset properties,
44
+ * Think of it as a shortcut for adding options or variants to the preset if available.
45
+ *
46
+ * @see https://github.com/una-ui/una-ui/blob/main/packages/preset/src/_shortcuts/tooltip.ts
47
+ * @example
48
+ * tooltip="green"
49
+ */
50
+ tooltip?: HTMLAttributes['class'];
51
+ /**
52
+ * `UnaUI` preset configuration
53
+ *
54
+ * @see https://github.com/una-ui/una-ui/blob/main/packages/preset/src/_shortcuts/tooltip.ts
55
+ */
56
+ una?: NTooltipUnaProps['tooltipContent'];
57
+ }
58
+ interface NTooltipUnaProps {
59
+ /** CSS class for the tooltip content */
60
+ tooltipContent?: HTMLAttributes['class'];
61
+ }
62
+ export {};
File without changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@una-ui/nuxt",
3
3
  "type": "module",
4
- "version": "0.16.2-beta.1",
4
+ "version": "0.17.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.5.4",
50
50
  "unocss": "^0.62.3",
51
51
  "unocss-preset-animations": "^1.1.0",
52
- "@una-ui/extractor-vue-script": "^0.16.2-beta.1",
53
- "@una-ui/preset": "^0.16.2-beta.1"
52
+ "@una-ui/extractor-vue-script": "^0.17.0-beta.1",
53
+ "@una-ui/preset": "^0.17.0-beta.1"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@nuxt/module-builder": "^0.8.1",