pukaad-ui-lib 1.13.0 → 1.15.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/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pukaad-ui-lib",
3
3
  "configKey": "pukaadUI",
4
- "version": "1.13.0",
4
+ "version": "1.15.0",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -27,8 +27,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
27
27
  label: string;
28
28
  name: string;
29
29
  limit: number;
30
- accept: string;
31
30
  disabledErrorMessage: boolean;
31
+ accept: string;
32
32
  labelIcon: string;
33
33
  disabledDrop: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -27,8 +27,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
27
27
  label: string;
28
28
  name: string;
29
29
  limit: number;
30
- accept: string;
31
30
  disabledErrorMessage: boolean;
31
+ accept: string;
32
32
  labelIcon: string;
33
33
  disabledDrop: boolean;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,38 +1,45 @@
1
1
  <template>
2
- <div class="flex items-start">
3
- <!-- Tree Line Indicator -->
4
- <div class="relative w-6 shrink-0 mr-4 self-stretch">
5
- <!-- Dashed line (full height) -->
2
+ <div class="flex flex-col">
3
+ <!-- Header Row with Toggle -->
4
+ <div class="flex items-center">
5
+ <!-- Tree Line + Toggle Button -->
6
6
  <div
7
- class="absolute left-[11px] top-0 bottom-0 w-0 h-full border-l-2 border-dashed border-gray-300"
8
- />
9
-
10
- <!-- Toggle Button (at top, aligned with header) -->
11
- <button
12
- class="relative z-10 flex items-center justify-center w-5 h-5 mt-0.5 rounded border-2 border-primary text-primary bg-white shrink-0 transition-colors"
13
- @click.stop="isOpen = !isOpen"
7
+ class="relative w-6 shrink-0 mr-4 flex items-center justify-center self-stretch"
14
8
  >
15
- <Icon
16
- :name="isOpen ? 'lucide:chevron-down' : 'lucide:chevron-right'"
17
- :size="12"
9
+ <!-- Dashed line (full height) -->
10
+ <div
11
+ class="absolute left-[11px] top-0 bottom-0 w-0 h-full border-l-2 border-dashed border-gray-300"
18
12
  />
19
- </button>
13
+
14
+ <!-- Toggle Button (centered with header) -->
15
+ <button
16
+ class="relative z-10 flex items-center justify-center w-5 h-5 rounded border-2 border-primary text-primary bg-white shrink-0 transition-colors hover:cursor-pointer"
17
+ @click.stop="isOpen = !isOpen"
18
+ >
19
+ <Icon
20
+ :name="isOpen ? 'lucide:chevron-down' : 'lucide:chevron-right'"
21
+ :size="12"
22
+ />
23
+ </button>
24
+ </div>
25
+
26
+ <!-- Header Content -->
27
+ <div class="flex-1 min-w-0">
28
+ <slot name="header" :open="isOpen" />
29
+ </div>
20
30
  </div>
21
31
 
22
- <!-- Content Area -->
23
- <div class="flex-1 min-w-0">
24
- <!-- Parent/Header Row -->
25
- <div
26
- class="flex items-center gap-3 cursor-pointer select-none"
27
- @click="isOpen = !isOpen"
28
- >
29
- <div class="flex-1 min-w-0">
30
- <slot name="header" :open="isOpen" />
31
- </div>
32
+ <!-- Children (shown when open) -->
33
+ <div v-if="isOpen" class="flex">
34
+ <!-- Continuation of dashed line -->
35
+ <div class="relative w-6 shrink-0 mr-4">
36
+ <div
37
+ class="absolute left-[11px] top-0 bottom-0 w-0 h-full border-l-2 border-dashed border-gray-300"
38
+ />
32
39
  </div>
33
40
 
34
- <!-- Children (shown when open) -->
35
- <div v-if="isOpen" class="mt-4 ml-8 flex flex-col gap-4 pb-2">
41
+ <!-- Children content -->
42
+ <div class="flex-1 min-w-0 mt-4 flex flex-col gap-4 pb-2">
36
43
  <slot :open="isOpen" />
37
44
  </div>
38
45
  </div>
@@ -0,0 +1,20 @@
1
+ import type { TooltipRootProps } from "reka-ui";
2
+ declare var __VLS_7: {
3
+ open: boolean;
4
+ };
5
+ type __VLS_Slots = {} & {
6
+ default?: (props: typeof __VLS_7) => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<TooltipRootProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ "update:open": (value: boolean) => any;
10
+ }, string, import("vue").PublicProps, Readonly<TooltipRootProps> & Readonly<{
11
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,24 @@
1
+ <script setup>
2
+ import { TooltipRoot, useForwardPropsEmits } from "reka-ui";
3
+ const props = defineProps({
4
+ defaultOpen: { type: Boolean, required: false },
5
+ open: { type: Boolean, required: false },
6
+ delayDuration: { type: Number, required: false },
7
+ disableHoverableContent: { type: Boolean, required: false },
8
+ disableClosingTrigger: { type: Boolean, required: false },
9
+ disabled: { type: Boolean, required: false },
10
+ ignoreNonKeyboardFocus: { type: Boolean, required: false }
11
+ });
12
+ const emits = defineEmits(["update:open"]);
13
+ const forwarded = useForwardPropsEmits(props, emits);
14
+ </script>
15
+
16
+ <template>
17
+ <TooltipRoot
18
+ v-slot="slotProps"
19
+ data-slot="tooltip"
20
+ v-bind="forwarded"
21
+ >
22
+ <slot v-bind="slotProps" />
23
+ </TooltipRoot>
24
+ </template>
@@ -0,0 +1,20 @@
1
+ import type { TooltipRootProps } from "reka-ui";
2
+ declare var __VLS_7: {
3
+ open: boolean;
4
+ };
5
+ type __VLS_Slots = {} & {
6
+ default?: (props: typeof __VLS_7) => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<TooltipRootProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ "update:open": (value: boolean) => any;
10
+ }, string, import("vue").PublicProps, Readonly<TooltipRootProps> & Readonly<{
11
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,26 @@
1
+ import type { TooltipContentProps } from "reka-ui";
2
+ import type { HTMLAttributes } from "vue";
3
+ type __VLS_Props = TooltipContentProps & {
4
+ class?: HTMLAttributes["class"];
5
+ };
6
+ declare var __VLS_12: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_12) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ escapeKeyDown: (event: KeyboardEvent) => any;
12
+ pointerDownOutside: (event: Event) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
+ onPointerDownOutside?: ((event: Event) => any) | undefined;
16
+ }>, {
17
+ sideOffset: number;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,44 @@
1
+ <script setup>
2
+ import { reactiveOmit } from "@vueuse/core";
3
+ import { TooltipArrow, TooltipContent, TooltipPortal, useForwardPropsEmits } from "reka-ui";
4
+ import { cn } from "@/runtime/plugins/shadcn";
5
+ defineOptions({
6
+ inheritAttrs: false
7
+ });
8
+ const props = defineProps({
9
+ forceMount: { type: Boolean, required: false },
10
+ ariaLabel: { type: String, required: false },
11
+ asChild: { type: Boolean, required: false },
12
+ as: { type: null, required: false },
13
+ side: { type: null, required: false },
14
+ sideOffset: { type: Number, required: false, default: 4 },
15
+ align: { type: null, required: false },
16
+ alignOffset: { type: Number, required: false },
17
+ avoidCollisions: { type: Boolean, required: false },
18
+ collisionBoundary: { type: null, required: false },
19
+ collisionPadding: { type: [Number, Object], required: false },
20
+ arrowPadding: { type: Number, required: false },
21
+ sticky: { type: String, required: false },
22
+ hideWhenDetached: { type: Boolean, required: false },
23
+ positionStrategy: { type: String, required: false },
24
+ updatePositionStrategy: { type: String, required: false },
25
+ class: { type: null, required: false }
26
+ });
27
+ const emits = defineEmits(["escapeKeyDown", "pointerDownOutside"]);
28
+ const delegatedProps = reactiveOmit(props, "class");
29
+ const forwarded = useForwardPropsEmits(delegatedProps, emits);
30
+ </script>
31
+
32
+ <template>
33
+ <TooltipPortal>
34
+ <TooltipContent
35
+ data-slot="tooltip-content"
36
+ v-bind="{ ...forwarded, ...$attrs }"
37
+ :class="cn('bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance', props.class)"
38
+ >
39
+ <slot />
40
+
41
+ <TooltipArrow class="bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" />
42
+ </TooltipContent>
43
+ </TooltipPortal>
44
+ </template>
@@ -0,0 +1,26 @@
1
+ import type { TooltipContentProps } from "reka-ui";
2
+ import type { HTMLAttributes } from "vue";
3
+ type __VLS_Props = TooltipContentProps & {
4
+ class?: HTMLAttributes["class"];
5
+ };
6
+ declare var __VLS_12: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_12) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ escapeKeyDown: (event: KeyboardEvent) => any;
12
+ pointerDownOutside: (event: Event) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
+ onPointerDownOutside?: ((event: Event) => any) | undefined;
16
+ }>, {
17
+ sideOffset: number;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,16 @@
1
+ import type { TooltipProviderProps } from "reka-ui";
2
+ declare var __VLS_7: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_7) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<TooltipProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipProviderProps> & Readonly<{}>, {
7
+ delayDuration: number;
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,17 @@
1
+ <script setup>
2
+ import { TooltipProvider } from "reka-ui";
3
+ const props = defineProps({
4
+ delayDuration: { type: Number, required: false, default: 0 },
5
+ skipDelayDuration: { type: Number, required: false },
6
+ disableHoverableContent: { type: Boolean, required: false },
7
+ disableClosingTrigger: { type: Boolean, required: false },
8
+ disabled: { type: Boolean, required: false },
9
+ ignoreNonKeyboardFocus: { type: Boolean, required: false }
10
+ });
11
+ </script>
12
+
13
+ <template>
14
+ <TooltipProvider v-bind="props">
15
+ <slot />
16
+ </TooltipProvider>
17
+ </template>
@@ -0,0 +1,16 @@
1
+ import type { TooltipProviderProps } from "reka-ui";
2
+ declare var __VLS_7: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_7) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<TooltipProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipProviderProps> & Readonly<{}>, {
7
+ delayDuration: number;
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,14 @@
1
+ import type { TooltipTriggerProps } from "reka-ui";
2
+ declare var __VLS_7: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_7) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<TooltipTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ type __VLS_WithSlots<T, S> = T & {
11
+ new (): {
12
+ $slots: S;
13
+ };
14
+ };
@@ -0,0 +1,17 @@
1
+ <script setup>
2
+ import { TooltipTrigger } from "reka-ui";
3
+ const props = defineProps({
4
+ reference: { type: null, required: false },
5
+ asChild: { type: Boolean, required: false },
6
+ as: { type: null, required: false }
7
+ });
8
+ </script>
9
+
10
+ <template>
11
+ <TooltipTrigger
12
+ data-slot="tooltip-trigger"
13
+ v-bind="props"
14
+ >
15
+ <slot />
16
+ </TooltipTrigger>
17
+ </template>
@@ -0,0 +1,14 @@
1
+ import type { TooltipTriggerProps } from "reka-ui";
2
+ declare var __VLS_7: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_7) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<TooltipTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ type __VLS_WithSlots<T, S> = T & {
11
+ new (): {
12
+ $slots: S;
13
+ };
14
+ };
@@ -0,0 +1,4 @@
1
+ export { default as Tooltip } from "./Tooltip.vue.js";
2
+ export { default as TooltipContent } from "./TooltipContent.vue.js";
3
+ export { default as TooltipProvider } from "./TooltipProvider.vue.js";
4
+ export { default as TooltipTrigger } from "./TooltipTrigger.vue.js";
@@ -0,0 +1,4 @@
1
+ export { default as Tooltip } from "./Tooltip.vue";
2
+ export { default as TooltipContent } from "./TooltipContent.vue";
3
+ export { default as TooltipProvider } from "./TooltipProvider.vue";
4
+ export { default as TooltipTrigger } from "./TooltipTrigger.vue";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pukaad-ui-lib",
3
- "version": "1.13.0",
3
+ "version": "1.15.0",
4
4
  "description": "pukaad-ui for MeMSG",
5
5
  "repository": {
6
6
  "type": "git",