@witchcraft/ui 0.4.0-beta.5 → 0.4.0-beta.7

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.
Files changed (27) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/WCheckbox/WCheckbox.vue +1 -0
  3. package/dist/runtime/components/WColorPicker/WColorPicker.vue +1 -0
  4. package/dist/runtime/components/WCombobox/WCombobox.vue +4 -2
  5. package/dist/runtime/components/WDatePicker/WRangeDatePicker.vue +5 -0
  6. package/dist/runtime/components/WDatePicker/WSingleDatePicker.vue +5 -0
  7. package/dist/runtime/components/WDebug/WDebug.vue +1 -0
  8. package/dist/runtime/components/WFileInput/WFileInput.vue +3 -0
  9. package/dist/runtime/components/WMultiValues/WMultiValues.vue +1 -0
  10. package/dist/runtime/components/WNotifications/WNotification.vue +2 -0
  11. package/dist/runtime/components/WPopover/WPopover.d.vue.ts +4 -2
  12. package/dist/runtime/components/WPopover/WPopover.vue +13 -6
  13. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +4 -2
  14. package/dist/runtime/components/WTooltip/WTooltip.vue +1 -0
  15. package/package.json +1 -1
  16. package/src/runtime/components/WCheckbox/WCheckbox.vue +2 -0
  17. package/src/runtime/components/WColorPicker/WColorPicker.vue +2 -0
  18. package/src/runtime/components/WCombobox/WCombobox.vue +5 -2
  19. package/src/runtime/components/WDatePicker/WRangeDatePicker.vue +6 -0
  20. package/src/runtime/components/WDatePicker/WSingleDatePicker.vue +6 -0
  21. package/src/runtime/components/WDebug/WDebug.vue +2 -0
  22. package/src/runtime/components/WFileInput/WFileInput.vue +4 -0
  23. package/src/runtime/components/WMultiValues/WMultiValues.vue +2 -0
  24. package/src/runtime/components/WNotifications/WNotification.vue +3 -0
  25. package/src/runtime/components/WPopover/WPopover.vue +16 -8
  26. package/src/runtime/components/WTable/WTable.vue +0 -1
  27. package/src/runtime/components/WTooltip/WTooltip.vue +2 -0
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "witchcraftUi",
3
3
  "configKey": "witchcraftUi",
4
- "version": "0.4.0-beta.5",
4
+ "version": "0.4.0-beta.7",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -84,6 +84,7 @@
84
84
  <script setup>
85
85
  import { CheckboxIndicator, CheckboxRoot } from "reka-ui";
86
86
  import { useAttrs } from "vue";
87
+ import ILucideCheck from "~icons/lucide/check";
87
88
  import { useFallbackId } from "../../composables/useFallbackId.js";
88
89
  import { usePreHydrationValue } from "../../composables/usePreHydrationValue.js";
89
90
  import { twMerge } from "../../utils/twMerge.js";
@@ -189,6 +189,7 @@ import { computed, onMounted, reactive, ref, useAttrs, watch } from "vue";
189
189
  import { safeConvertToHsva } from "./utils/safeConvertToHsva.js";
190
190
  import { safeConvertToRgba } from "./utils/safeConvertToRgba.js";
191
191
  import { toLowPrecisionRgbaString } from "./utils/toLowPrecisionRgbaString.js";
192
+ import ILucideCopy from "~icons/lucide/copy";
192
193
  import { useFallbackId } from "../../composables/useFallbackId.js";
193
194
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js";
194
195
  import { copy } from "../../helpers/copy.js";
@@ -48,8 +48,8 @@
48
48
  has-[input:invalid]:border-danger-500
49
49
  invalid:border-danger-500
50
50
  `,
51
- open && popupSide === 'top' && `rounded-tl-none rounded-tr-none`,
52
- open && popupSide === 'bottom' && `rounded-bl-none rounded-br-none`
51
+ filtered.length > 0 && open && popupSide === 'top' && `rounded-tl-none rounded-tr-none`,
52
+ filtered.length > 0 && open && popupSide === 'bottom' && `rounded-bl-none rounded-br-none`
53
53
  )"
54
54
  >
55
55
  <!-- @vue-expect-error aria/keydown can be defined -->
@@ -309,6 +309,8 @@ import {
309
309
  useFilter
310
310
  } from "reka-ui";
311
311
  import { computed, nextTick, ref, useAttrs, useSlots, useTemplateRef, watch } from "vue";
312
+ import ILucideChevronDown from "~icons/lucide/chevron-down";
313
+ import ILucideLoaderCircle from "~icons/lucide/loader-circle";
312
314
  import { useDelayedLoadingIndicator } from "../../composables/useDelayedLoadingIndicator.js";
313
315
  import { useDisplayForReka } from "../../composables/useDisplayForReka.js";
314
316
  import { useFallbackId } from "../../composables/useFallbackId.js";
@@ -3,6 +3,11 @@ import { getLocalTimeZone } from "@internationalized/date";
3
3
  import { DateRangePickerArrow, DateRangePickerCalendar, DateRangePickerCell, DateRangePickerCellTrigger, DateRangePickerContent, DateRangePickerField, DateRangePickerGrid, DateRangePickerGridBody, DateRangePickerGridHead, DateRangePickerGridRow, DateRangePickerHeadCell, DateRangePickerHeader, DateRangePickerHeading, DateRangePickerInput, DateRangePickerNext, DateRangePickerPrev, DateRangePickerRoot, DateRangePickerTrigger } from "reka-ui";
4
4
  import { onBeforeUnmount, ref, toRaw, useAttrs, watch } from "vue";
5
5
  import { convertDateWithFallback, getNow, toEmittableDate } from "./helpers.js";
6
+ import ILucideCalendarRange from "~icons/lucide/calendar-range";
7
+ import ILucideChevronLeft from "~icons/lucide/chevron-left";
8
+ import ILucideChevronRight from "~icons/lucide/chevron-right";
9
+ import ILucideChevronsLeft from "~icons/lucide/chevrons-left";
10
+ import ILucideChevronsRight from "~icons/lucide/chevrons-right";
6
11
  import { useInjectedLocale } from "../../composables/useInjectedLocale.js";
7
12
  import { twMerge } from "../../utils/twMerge.js";
8
13
  import WIcon from "../WIcon/WIcon.vue";
@@ -3,6 +3,11 @@ import { getLocalTimeZone } from "@internationalized/date";
3
3
  import { DatePickerArrow, DatePickerCalendar, DatePickerCell, DatePickerCellTrigger, DatePickerContent, DatePickerField, DatePickerGrid, DatePickerGridBody, DatePickerGridHead, DatePickerGridRow, DatePickerHeadCell, DatePickerHeader, DatePickerHeading, DatePickerInput, DatePickerNext, DatePickerPrev, DatePickerRoot, DatePickerTrigger } from "reka-ui";
4
4
  import { onBeforeUnmount, ref, toRaw, useAttrs, watch } from "vue";
5
5
  import { convertDateWithFallback, getNow, toEmittableDate } from "./helpers.js";
6
+ import ILucideCalendarDays from "~icons/lucide/calendar-days";
7
+ import ILucideChevronLeft from "~icons/lucide/chevron-left";
8
+ import ILucideChevronRight from "~icons/lucide/chevron-right";
9
+ import ILucideChevronsLeft from "~icons/lucide/chevrons-left";
10
+ import ILucideChevronsRight from "~icons/lucide/chevrons-right";
6
11
  import { useInjectedLocale } from "../../composables/useInjectedLocale.js";
7
12
  import { twMerge } from "../../utils/twMerge.js";
8
13
  import WIcon from "../WIcon/WIcon.vue";
@@ -34,6 +34,7 @@
34
34
 
35
35
  <script setup>
36
36
  import { useSlots } from "vue";
37
+ import ILucideCopy from "~icons/lucide/copy";
37
38
  import WButton from "../WButton/WButton.vue";
38
39
  import WIcon from "../WIcon/WIcon.vue";
39
40
  const $slots = useSlots();
@@ -226,6 +226,9 @@
226
226
 
227
227
  <script setup>
228
228
  import { computed, onBeforeUnmount, ref, shallowReactive, watch } from "vue";
229
+ import ILucideFile from "~icons/lucide/file";
230
+ import ILucideUpload from "~icons/lucide/upload";
231
+ import ILucideX from "~icons/lucide/x";
229
232
  import { useFallbackId } from "../../composables/useFallbackId.js";
230
233
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js";
231
234
  import { twMerge } from "../../utils/twMerge.js";
@@ -86,6 +86,7 @@
86
86
  <script setup>
87
87
  import { removeIfIn } from "@alanscodelog/utils/removeIfIn";
88
88
  import { computed, nextTick, ref, useAttrs } from "vue";
89
+ import ILucideX from "~icons/lucide/x";
89
90
  import { copy } from "../../helpers/copy.js";
90
91
  import { twMerge } from "../../utils/twMerge.js";
91
92
  import WButton from "../WButton/WButton.vue";
@@ -177,6 +177,8 @@
177
177
 
178
178
  <script setup>
179
179
  import { computed, onMounted, ref, useAttrs } from "vue";
180
+ import ILucideCopy from "~icons/lucide/copy";
181
+ import ILucideX from "~icons/lucide/x";
180
182
  import { useSlotVars } from "../../composables/useSlotVars.js";
181
183
  import { copy } from "../../helpers/copy.js";
182
184
  import { NotificationHandler } from "../../helpers/NotificationHandler.js";
@@ -4,7 +4,8 @@ import type { EmitsToProps, PopupConstrainToProps, TailwindClassProp } from "../
4
4
  type __VLS_Props = PopupConstrainToProps & {
5
5
  backdropClass?: string;
6
6
  showBackdrop?: boolean;
7
- animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down";
7
+ showArrow?: boolean;
8
+ animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down" | "show" | "none";
8
9
  /** Overrides teleport target. */
9
10
  to?: string;
10
11
  /** Overrides reka-ui's PopoverRootProps */
@@ -31,7 +32,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
31
32
  constrainHeightTo: number | "trigger" | "available" | string | null;
32
33
  to: string;
33
34
  showBackdrop: boolean;
34
- animationDirection: "use-side" | "use-align" | "left" | "right" | "up" | "down";
35
+ showArrow: boolean;
36
+ animationDirection: "use-side" | "use-align" | "left" | "right" | "up" | "down" | "show" | "none";
35
37
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
39
  declare const _default: typeof __VLS_export;
@@ -14,7 +14,7 @@
14
14
  <transition>
15
15
  <div
16
16
  v-if="showBackdrop && modelValue"
17
- :class="twMerge(`popup--backdrop absolute inset-0 bg-black/50`, backdropClass)"
17
+ :class="twMerge(`popover--backdrop absolute inset-0 bg-black/50`, backdropClass)"
18
18
  @click="modelValue = false"
19
19
  />
20
20
  </transition>
@@ -38,7 +38,7 @@
38
38
  :style="contentStyle"
39
39
  :class="twMerge(
40
40
  `
41
- popup--content-wrapper
41
+ popover--content-wrapper
42
42
  focus:outline-none
43
43
  overflow-auto
44
44
  scrollbar-hidden
@@ -71,12 +71,15 @@
71
71
  animationDirection === `down` && `
72
72
  animate-slideInDown
73
73
  `,
74
+ animationDirection === `show` && `
75
+ animate-contentShow
76
+ `,
74
77
  contentProps?.class
75
78
  )"
76
79
  >
77
80
  <div
78
81
  :class="twMerge(`
79
- popup--content
82
+ popover--content
80
83
  flex
81
84
  flex-col
82
85
  bg-neutral-50
@@ -96,13 +99,16 @@
96
99
  </div>
97
100
 
98
101
  <PopoverArrow
99
- class="
102
+ v-if="showArrow"
103
+ :class="twMerge(`
104
+ popover--arrow
100
105
  -mt-px
101
106
  fill-neutral-50
102
107
  dark:fill-neutral-800
103
108
  drop-shadow-[0_2px_1px_rgba(0,0,0,0.3)]
104
109
  relative
105
- "
110
+ stroke-black/30
111
+ `)"
106
112
  />
107
113
  </PopoverContent>
108
114
  </PopoverPortal>
@@ -120,7 +126,7 @@ import {
120
126
  import { usePopupConstrainToStyle } from "../../composables/usePopupConstrainToStyle.js";
121
127
  import { twMerge } from "../../utils/twMerge.js";
122
128
  defineOptions({
123
- name: "WPopup",
129
+ name: "WPopover",
124
130
  inheritAttrs: false
125
131
  });
126
132
  const props = defineProps({
@@ -128,6 +134,7 @@ const props = defineProps({
128
134
  constrainHeightTo: { type: [Number, String, null], required: false, default: "available" },
129
135
  backdropClass: { type: String, required: false },
130
136
  showBackdrop: { type: Boolean, required: false, default: false },
137
+ showArrow: { type: Boolean, required: false, default: true },
131
138
  animationDirection: { type: String, required: false, default: "use-side" },
132
139
  to: { type: String, required: false, default: "#root" },
133
140
  rootProps: { type: Object, required: false },
@@ -4,7 +4,8 @@ import type { EmitsToProps, PopupConstrainToProps, TailwindClassProp } from "../
4
4
  type __VLS_Props = PopupConstrainToProps & {
5
5
  backdropClass?: string;
6
6
  showBackdrop?: boolean;
7
- animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down";
7
+ showArrow?: boolean;
8
+ animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down" | "show" | "none";
8
9
  /** Overrides teleport target. */
9
10
  to?: string;
10
11
  /** Overrides reka-ui's PopoverRootProps */
@@ -31,7 +32,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
31
32
  constrainHeightTo: number | "trigger" | "available" | string | null;
32
33
  to: string;
33
34
  showBackdrop: boolean;
34
- animationDirection: "use-side" | "use-align" | "left" | "right" | "up" | "down";
35
+ showArrow: boolean;
36
+ animationDirection: "use-side" | "use-align" | "left" | "right" | "up" | "down" | "show" | "none";
35
37
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
39
  declare const _default: typeof __VLS_export;
@@ -92,6 +92,7 @@
92
92
 
93
93
  <script setup>
94
94
  import { TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from "reka-ui";
95
+ import ILucideInfo from "~icons/lucide/info";
95
96
  import { usePopupConstrainToStyle } from "../../composables/usePopupConstrainToStyle.js";
96
97
  import { twMerge } from "../../utils/twMerge.js";
97
98
  import WIcon from "../WIcon/WIcon.vue";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witchcraft/ui",
3
- "version": "0.4.0-beta.5",
3
+ "version": "0.4.0-beta.7",
4
4
  "description": "Vue component library.",
5
5
  "type": "module",
6
6
  "main": "./dist/runtime/main.lib.js",
@@ -84,6 +84,8 @@ import { CheckboxIndicator, CheckboxRoot } from "reka-ui"
84
84
  import type { HTMLAttributes, InputHTMLAttributes } from "vue"
85
85
  import { useAttrs } from "vue"
86
86
 
87
+ import ILucideCheck from "~icons/lucide/check"
88
+
87
89
  import { useFallbackId } from "../../composables/useFallbackId.js"
88
90
  import { usePreHydrationValue } from "../../composables/usePreHydrationValue.js"
89
91
  import type { BaseInteractiveProps, TailwindClassProp } from "../../types/index.js"
@@ -191,6 +191,8 @@ import { safeConvertToHsva } from "./utils/safeConvertToHsva.js"
191
191
  import { safeConvertToRgba } from "./utils/safeConvertToRgba.js"
192
192
  import { toLowPrecisionRgbaString } from "./utils/toLowPrecisionRgbaString.js"
193
193
 
194
+ import ILucideCopy from "~icons/lucide/copy"
195
+
194
196
  import { useFallbackId } from "../../composables/useFallbackId.js"
195
197
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js"
196
198
  import { copy } from "../../helpers/copy.js"
@@ -46,8 +46,8 @@
46
46
  has-[input:invalid]:border-danger-500
47
47
  invalid:border-danger-500
48
48
  `,
49
- open && popupSide === 'top' && `rounded-tl-none rounded-tr-none`,
50
- open && popupSide === 'bottom' && `rounded-bl-none rounded-br-none`
49
+ filtered.length > 0 && open && popupSide === 'top' && `rounded-tl-none rounded-tr-none`,
50
+ filtered.length > 0 && open && popupSide === 'bottom' && `rounded-bl-none rounded-br-none`
51
51
  )"
52
52
  >
53
53
  <!-- @vue-expect-error aria/keydown can be defined -->
@@ -307,6 +307,9 @@ import {
307
307
  import type { EmitsToProps, HTMLAttributes, InputHTMLAttributes } from "vue"
308
308
  import { computed, nextTick, ref, useAttrs, useSlots, useTemplateRef, watch } from "vue"
309
309
 
310
+ import ILucideChevronDown from "~icons/lucide/chevron-down"
311
+ import ILucideLoaderCircle from "~icons/lucide/loader-circle"
312
+
310
313
  import { useDelayedLoadingIndicator } from "../../composables/useDelayedLoadingIndicator.js"
311
314
  import { type SuggestionsDisplayProps, useDisplayForReka } from "../../composables/useDisplayForReka.js"
312
315
  import { useFallbackId } from "../../composables/useFallbackId.js"
@@ -7,6 +7,12 @@ import { onBeforeUnmount, ref, toRaw, useAttrs, watch } from "vue"
7
7
 
8
8
  import { convertDateWithFallback, getNow, toEmittableDate } from "./helpers.js"
9
9
 
10
+ import ILucideCalendarRange from "~icons/lucide/calendar-range"
11
+ import ILucideChevronLeft from "~icons/lucide/chevron-left"
12
+ import ILucideChevronRight from "~icons/lucide/chevron-right"
13
+ import ILucideChevronsLeft from "~icons/lucide/chevrons-left"
14
+ import ILucideChevronsRight from "~icons/lucide/chevrons-right"
15
+
10
16
  import { useInjectedLocale } from "../../composables/useInjectedLocale.js"
11
17
  import type { RangeDate } from "../../types/index.js"
12
18
  import { twMerge } from "../../utils/twMerge.js"
@@ -5,6 +5,12 @@ import { onBeforeUnmount, ref, toRaw, useAttrs, watch } from "vue"
5
5
 
6
6
  import { convertDateWithFallback, getNow, toEmittableDate } from "./helpers.js"
7
7
 
8
+ import ILucideCalendarDays from "~icons/lucide/calendar-days"
9
+ import ILucideChevronLeft from "~icons/lucide/chevron-left"
10
+ import ILucideChevronRight from "~icons/lucide/chevron-right"
11
+ import ILucideChevronsLeft from "~icons/lucide/chevrons-left"
12
+ import ILucideChevronsRight from "~icons/lucide/chevrons-right"
13
+
8
14
  import { useInjectedLocale } from "../../composables/useInjectedLocale.js"
9
15
  import type { SingleDate } from "../../types/index.js"
10
16
  import { twMerge } from "../../utils/twMerge.js"
@@ -35,6 +35,8 @@
35
35
  <script setup lang="ts">
36
36
  import { useSlots } from "vue"
37
37
 
38
+ import ILucideCopy from "~icons/lucide/copy"
39
+
38
40
  import WButton from "../WButton/WButton.vue"
39
41
  import WIcon from "../WIcon/WIcon.vue"
40
42
 
@@ -231,6 +231,10 @@
231
231
  import type { HTMLAttributes, InputHTMLAttributes } from "vue"
232
232
  import { computed, onBeforeUnmount, ref, shallowReactive, watch } from "vue"
233
233
 
234
+ import ILucideFile from "~icons/lucide/file"
235
+ import ILucideUpload from "~icons/lucide/upload"
236
+ import ILucideX from "~icons/lucide/x"
237
+
234
238
  import { useFallbackId } from "../../composables/useFallbackId.js"
235
239
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js"
236
240
  import type { FileInputError, TailwindClassProp } from "../../types/index.js"
@@ -83,6 +83,8 @@
83
83
  import { removeIfIn } from "@alanscodelog/utils/removeIfIn"
84
84
  import { computed, type HTMLAttributes, nextTick, ref, useAttrs } from "vue"
85
85
 
86
+ import ILucideX from "~icons/lucide/x"
87
+
86
88
  import { copy } from "../../helpers/copy.js"
87
89
  import type { BaseInteractiveProps, TailwindClassProp } from "../../types/index.js"
88
90
  import { twMerge } from "../../utils/twMerge.js"
@@ -176,6 +176,9 @@
176
176
  <script setup lang="ts">
177
177
  import { computed, type HTMLAttributes, onMounted, ref, useAttrs } from "vue"
178
178
 
179
+ import ILucideCopy from "~icons/lucide/copy"
180
+ import ILucideX from "~icons/lucide/x"
181
+
179
182
  import { useSlotVars } from "../../composables/useSlotVars.js"
180
183
  import { copy } from "../../helpers/copy.js"
181
184
  import { type NotificationEntry, NotificationHandler } from "../../helpers/NotificationHandler.js"
@@ -14,7 +14,7 @@
14
14
  <transition>
15
15
  <div
16
16
  v-if="showBackdrop && modelValue"
17
- :class="twMerge(`popup--backdrop absolute inset-0 bg-black/50`, backdropClass)"
17
+ :class="twMerge(`popover--backdrop absolute inset-0 bg-black/50`, backdropClass)"
18
18
  @click="modelValue = false"
19
19
  />
20
20
  </transition>
@@ -37,7 +37,7 @@
37
37
  }"
38
38
  :style="contentStyle"
39
39
  :class="twMerge(`
40
- popup--content-wrapper
40
+ popover--content-wrapper
41
41
  focus:outline-none
42
42
  overflow-auto
43
43
  scrollbar-hidden
@@ -70,11 +70,14 @@
70
70
  animationDirection === `down` && `
71
71
  animate-slideInDown
72
72
  `,
73
+ animationDirection === `show` && `
74
+ animate-contentShow
75
+ `,
73
76
  contentProps?.class)"
74
77
  >
75
78
  <div
76
79
  :class="twMerge(`
77
- popup--content
80
+ popover--content
78
81
  flex
79
82
  flex-col
80
83
  bg-neutral-50
@@ -94,13 +97,16 @@
94
97
  </div>
95
98
 
96
99
  <PopoverArrow
97
- class="
100
+ v-if="showArrow"
101
+ :class="twMerge(`
102
+ popover--arrow
98
103
  -mt-px
99
104
  fill-neutral-50
100
105
  dark:fill-neutral-800
101
106
  drop-shadow-[0_2px_1px_rgba(0,0,0,0.3)]
102
107
  relative
103
- "
108
+ stroke-black/30
109
+ `)"
104
110
  />
105
111
  </PopoverContent>
106
112
  </PopoverPortal>
@@ -127,7 +133,7 @@ import { twMerge } from "../../utils/twMerge.js"
127
133
 
128
134
  /** Wrapper around reka-ui's `Popover` component. */
129
135
  defineOptions({
130
- name: "WPopup",
136
+ name: "WPopover",
131
137
  inheritAttrs: false
132
138
  })
133
139
 
@@ -136,9 +142,10 @@ const props = withDefaults(defineProps<
136
142
  & PopupConstrainToProps
137
143
  & {
138
144
  backdropClass?: string
139
- /* If true, a backdrop is shown behind the popup. Whether interaction is allowed outside the popover is still determined by `disableOutsidePointerEvents`. */
145
+ /* If true, a backdrop is shown behind the popover. Whether interaction is allowed outside the popover is still determined by `disableOutsidePointerEvents`. */
140
146
  showBackdrop?: boolean
141
- animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down"
147
+ showArrow?: boolean
148
+ animationDirection?: "use-side" | "use-align" | "left" | "right" | "up" | "down" | "show" | "none"
142
149
  /** Overrides teleport target. */
143
150
  to?: string
144
151
  /** Overrides reka-ui's PopoverRootProps */
@@ -148,6 +155,7 @@ const props = withDefaults(defineProps<
148
155
  }
149
156
  >(), {
150
157
  showBackdrop: false,
158
+ showArrow: true,
151
159
  constrainWidthTo: 400,
152
160
  constrainHeightTo: "available",
153
161
  animationDirection: "use-side",
@@ -469,4 +469,3 @@ defineExpose({
469
469
  })
470
470
  </script>
471
471
 
472
-
@@ -92,6 +92,8 @@
92
92
  <script setup lang="ts">
93
93
  import { TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from "reka-ui"
94
94
 
95
+ import ILucideInfo from "~icons/lucide/info"
96
+
95
97
  import { usePopupConstrainToStyle } from "../../composables/usePopupConstrainToStyle.js"
96
98
  import type { PopupConstrainToProps } from "../../types/index.js"
97
99
  import { twMerge } from "../../utils/twMerge.js"