reka-ui 2.1.0 → 2.1.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/Calendar/CalendarCellTrigger.cjs +7 -5
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js +7 -5
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Combobox/ComboboxItem.cjs +0 -3
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +1 -3
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
- package/dist/HoverCard/HoverCardRoot.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.cjs +11 -1
- package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.js +12 -2
- package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.js +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +6 -4
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +6 -4
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +3 -3
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/Select/SelectContentImpl.cjs +15 -5
- package/dist/Select/SelectContentImpl.cjs.map +1 -1
- package/dist/Select/SelectContentImpl.js +15 -5
- package/dist/Select/SelectContentImpl.js.map +1 -1
- package/dist/Slider/SliderRoot.cjs +1 -1
- package/dist/Slider/SliderRoot.cjs.map +1 -1
- package/dist/Slider/SliderRoot.js +1 -1
- package/dist/Slider/SliderRoot.js.map +1 -1
- package/dist/Slider/SliderThumb.cjs +1 -1
- package/dist/Slider/SliderThumb.cjs.map +1 -1
- package/dist/Slider/SliderThumb.js +1 -1
- package/dist/Slider/SliderThumb.js.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.cjs +2 -1
- package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js +2 -1
- package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
- package/dist/Toast/ToastClose.cjs +2 -2
- package/dist/Toast/ToastClose.cjs.map +1 -1
- package/dist/Toast/ToastClose.js +2 -2
- package/dist/Toast/ToastClose.js.map +1 -1
- package/dist/Toast/ToastRoot.cjs +3 -0
- package/dist/Toast/ToastRoot.cjs.map +1 -1
- package/dist/Toast/ToastRoot.js +3 -0
- package/dist/Toast/ToastRoot.js.map +1 -1
- package/dist/Toast/ToastRootImpl.cjs +6 -3
- package/dist/Toast/ToastRootImpl.cjs.map +1 -1
- package/dist/Toast/ToastRootImpl.js +6 -3
- package/dist/Toast/ToastRootImpl.js.map +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.d.ts +9 -10
- package/dist/index.js +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastRootImpl.js","sources":["../../src/Toast/ToastRootImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isClient } from '@vueuse/shared'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SwipeEvent } from './utils'\nimport { createContext, getActiveElement, useForwardExpose } from '@/shared'\nimport { useCollection } from '@/Collection'\n\nexport type ToastRootImplEmits = {\n close: []\n /** Event handler called when the escape key is down. It can be prevented by calling `event.preventDefault`. */\n escapeKeyDown: [event: KeyboardEvent]\n /** Event handler called when the dismiss timer is paused. This occurs when the pointer is moved over the viewport, the viewport is focused or when the window is blurred. */\n pause: []\n /** Event handler called when the dismiss timer is resumed. This occurs when the pointer is moved away from the viewport, the viewport is blurred or when the window is focused. */\n resume: []\n /** Event handler called when starting a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeStart: [event: SwipeEvent]\n /** Event handler called during a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeMove: [event: SwipeEvent]\n swipeCancel: [event: SwipeEvent]\n /** Event handler called at the end of a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeEnd: [event: SwipeEvent]\n}\n\nexport interface ToastRootImplProps extends PrimitiveProps {\n /**\n * Control the sensitivity of the toast for accessibility purposes.\n *\n * For toasts that are the result of a user action, choose `foreground`. Toasts generated from background tasks should use `background`.\n */\n type?: 'foreground' | 'background'\n /**\n * The controlled open state of the dialog. Can be bind as `v-model:open`.\n */\n open?: boolean\n /**\n * Time in milliseconds that toast should remain visible for. Overrides value\n * given to `ToastProvider`.\n */\n duration?: number\n}\n\nexport const [injectToastRootContext, provideToastRootContext]\n = createContext<{ onClose: () => void }>('ToastRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue'\nimport { injectToastProviderContext } from './ToastProvider.vue'\nimport { TOAST_SWIPE_CANCEL, TOAST_SWIPE_END, TOAST_SWIPE_MOVE, TOAST_SWIPE_START, VIEWPORT_PAUSE, VIEWPORT_RESUME, getAnnounceTextContent, handleAndDispatchCustomEvent, isDeltaInDirection } from './utils'\nimport { onKeyStroke, useRafFn } from '@vueuse/core'\nimport ToastAnnounce from './ToastAnnounce.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToastRootImplProps>(), {\n open: false,\n as: 'li',\n})\n\nconst emits = defineEmits<ToastRootImplEmits>()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst providerContext = injectToastProviderContext()\nconst pointerStartRef = ref<{ x: number, y: number } | null>(null)\nconst swipeDeltaRef = ref<{ x: number, y: number } | null>(null)\nconst duration = computed(\n () => typeof props.duration === 'number'\n ? props.duration\n : providerContext.duration.value,\n)\n\nconst closeTimerStartTimeRef = ref(0)\nconst closeTimerRemainingTimeRef = ref(duration.value)\nconst closeTimerRef = ref(0)\nconst remainingTime = ref(duration.value)\n\nconst remainingRaf = useRafFn(() => {\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.value\n remainingTime.value = Math.max(closeTimerRemainingTimeRef.value - elapsedTime, 0)\n}, { fpsLimit: 60 })\n\nfunction startTimer(duration: number) {\n if (duration <= 0 || duration === Number.POSITIVE_INFINITY)\n return\n // startTimer is used inside a watch with immediate set to true.\n // This results in code execution during SSR.\n // Ensure this code only runs in a browser environment\n if (!isClient)\n return\n window.clearTimeout(closeTimerRef.value)\n closeTimerStartTimeRef.value = new Date().getTime()\n closeTimerRef.value = window.setTimeout(handleClose, duration)\n}\n\nfunction handleClose() {\n // focus viewport if focus is within toast to read the remaining toast\n // count to SR users and ensure focus isn't lost\n const isFocusInToast = currentElement.value?.contains(getActiveElement())\n if (isFocusInToast)\n providerContext.viewport.value?.focus()\n\n // when manually close the toast, we reset isClosePausedRef\n providerContext.isClosePausedRef.value = false\n emits('close')\n}\n\nconst announceTextContent = computed(() => currentElement.value ? getAnnounceTextContent(currentElement.value) : null)\n\nif (props.type && !['foreground', 'background'].includes(props.type)) {\n const error = 'Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.'\n throw new Error(error)\n}\n\nwatchEffect((cleanupFn) => {\n const viewport = providerContext.viewport.value\n if (viewport) {\n const handleResume = () => {\n startTimer(closeTimerRemainingTimeRef.value)\n remainingRaf.resume()\n emits('resume')\n }\n const handlePause = () => {\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.value\n closeTimerRemainingTimeRef.value = closeTimerRemainingTimeRef.value - elapsedTime\n window.clearTimeout(closeTimerRef.value)\n remainingRaf.pause()\n emits('pause')\n }\n viewport.addEventListener(VIEWPORT_PAUSE, handlePause)\n viewport.addEventListener(VIEWPORT_RESUME, handleResume)\n return () => {\n viewport.removeEventListener(VIEWPORT_PAUSE, handlePause)\n viewport.removeEventListener(VIEWPORT_RESUME, handleResume)\n }\n }\n})\n\n// start timer when toast opens or duration changes.\n// we include `open` in deps because closed !== unmounted when animating\n// so it could reopen before being completely unmounted\nwatch(() => [props.open, duration.value], () => {\n // Reset the timer when the toast is rerendered with the new duration\n closeTimerRemainingTimeRef.value = duration.value\n\n if (props.open && !providerContext.isClosePausedRef.value)\n startTimer(duration.value)\n}, { immediate: true })\n\nonKeyStroke('Escape', (event) => {\n emits('escapeKeyDown', event)\n if (!event.defaultPrevented) {\n providerContext.isFocusedToastEscapeKeyDownRef.value = true\n handleClose()\n }\n})\n\nonMounted(() => {\n providerContext.onToastAdd()\n})\nonUnmounted(() => {\n providerContext.onToastRemove()\n})\n\nprovideToastRootContext({ onClose: handleClose })\n</script>\n\n<template>\n <ToastAnnounce\n v-if=\"announceTextContent\"\n role=\"alert\"\n :aria-live=\"type === 'foreground' ? 'assertive' : 'polite'\"\n aria-atomic=\"true\"\n >\n {{ announceTextContent }}\n </ToastAnnounce>\n\n <Teleport\n v-if=\"providerContext.viewport.value\"\n :to=\"providerContext.viewport.value\"\n >\n <CollectionItem>\n <Primitive\n :ref=\"forwardRef\"\n role=\"alert\"\n aria-live=\"off\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n v-bind=\"$attrs\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-swipe-direction=\"providerContext.swipeDirection.value\"\n :style=\"{ userSelect: 'none', touchAction: 'none' }\"\n @pointerdown.left=\"(event: PointerEvent) => {\n pointerStartRef = { x: event.clientX, y: event.clientY };\n }\"\n @pointermove=\"(event: PointerEvent) => {\n if (!pointerStartRef) return;\n const x = event.clientX - pointerStartRef.x;\n const y = event.clientY - pointerStartRef.y;\n const hasSwipeMoveStarted = Boolean(swipeDeltaRef);\n const isHorizontalSwipe = ['left', 'right'].includes(providerContext.swipeDirection.value);\n const clamp = ['left', 'up'].includes(providerContext.swipeDirection.value)\n ? Math.min\n : Math.max;\n const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n const moveStartBuffer = event.pointerType === 'touch' ? 10 : 2;\n const delta = { x: clampedX, y: clampedY };\n const eventDetail = { originalEvent: event, delta };\n if (hasSwipeMoveStarted) {\n swipeDeltaRef = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, (ev: SwipeEvent) => emits('swipeMove', ev), eventDetail);\n }\n else if (isDeltaInDirection(delta, providerContext.swipeDirection.value, moveStartBuffer)) {\n swipeDeltaRef = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_START, (ev: SwipeEvent) => emits('swipeStart', ev), eventDetail);\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n }\n else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n // User is swiping in wrong direction so we disable swipe gesture\n // for the current pointer down interaction\n pointerStartRef = null;\n }\n }\"\n @pointerup=\"(event: PointerEvent) => {\n const delta = swipeDeltaRef;\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n swipeDeltaRef = null;\n pointerStartRef = null;\n if (delta) {\n const toast = event.currentTarget;\n const eventDetail = { originalEvent: event, delta };\n if (\n isDeltaInDirection(delta, providerContext.swipeDirection.value, providerContext.swipeThreshold.value)\n ) {\n handleAndDispatchCustomEvent(TOAST_SWIPE_END, (ev: SwipeEvent) => emits('swipeEnd', ev), eventDetail);\n }\n else {\n handleAndDispatchCustomEvent(TOAST_SWIPE_CANCEL, (ev: SwipeEvent) => emits('swipeCancel', ev), eventDetail);\n }\n // Prevent click event from triggering on items within the toast when\n // pointer up is part of a swipe gesture\n toast?.addEventListener('click', (event) => event.preventDefault(), {\n once: true,\n });\n }\n }\"\n >\n <slot\n :remaining=\"remainingTime\"\n :duration=\"duration\"\n />\n </Primitive>\n </CollectionItem>\n </Teleport>\n</template>\n"],"names":["duration"],"mappings":";;;;;;;;;;;;AA0CO,MAAM,CAAC,sBAAA,EAAwB,uBAAuB,CAAA,GACzD,cAAuC,WAAW;;;;;;;;;;;;;;;AAetD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,aAAc,EAAA;AAEzC,IAAA,MAAM,kBAAkB,0BAA2B,EAAA;AACnD,IAAM,MAAA,eAAA,GAAkB,IAAqC,IAAI,CAAA;AACjE,IAAM,MAAA,aAAA,GAAgB,IAAqC,IAAI,CAAA;AAC/D,IAAA,MAAM,QAAW,GAAA,QAAA;AAAA,MACf,MAAM,OAAO,KAAM,CAAA,QAAA,KAAa,WAC5B,KAAM,CAAA,QAAA,GACN,gBAAgB,QAAS,CAAA;AAAA,KAC/B;AAEA,IAAM,MAAA,sBAAA,GAAyB,IAAI,CAAC,CAAA;AACpC,IAAM,MAAA,0BAAA,GAA6B,GAAI,CAAA,QAAA,CAAS,KAAK,CAAA;AACrD,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAC,CAAA;AAC3B,IAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,QAAA,CAAS,KAAK,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,+BAAkB,IAAA,IAAA,EAAO,EAAA,OAAA,KAAY,sBAAuB,CAAA,KAAA;AAClE,MAAA,aAAA,CAAc,QAAQ,IAAK,CAAA,GAAA,CAAI,0BAA2B,CAAA,KAAA,GAAQ,aAAa,CAAC,CAAA;AAAA,KAC/E,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA;AAEnB,IAAA,SAAS,WAAWA,SAAkB,EAAA;AACpC,MAAIA,IAAAA,SAAAA,IAAY,CAAKA,IAAAA,SAAAA,KAAa,MAAO,CAAA,iBAAA;AACvC,QAAA;AAIF,MAAA,IAAI,CAAC,QAAA;AACH,QAAA;AACF,MAAO,MAAA,CAAA,YAAA,CAAa,cAAc,KAAK,CAAA;AACvC,MAAA,sBAAA,CAAuB,KAAQ,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAClD,MAAA,aAAA,CAAc,KAAQ,GAAA,MAAA,CAAO,UAAW,CAAA,WAAA,EAAaA,SAAQ,CAAA;AAAA;AAG/D,IAAA,SAAS,WAAc,GAAA;AAGrB,MAAA,MAAM,cAAiB,GAAA,cAAA,CAAe,KAAO,EAAA,QAAA,CAAS,kBAAkB,CAAA;AACxE,MAAI,IAAA,cAAA;AACF,QAAgB,eAAA,CAAA,QAAA,CAAS,OAAO,KAAM,EAAA;AAGxC,MAAA,eAAA,CAAgB,iBAAiB,KAAQ,GAAA,KAAA;AACzC,MAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AAGf,IAAM,MAAA,mBAAA,GAAsB,SAAS,MAAM,cAAA,CAAe,QAAQ,sBAAuB,CAAA,cAAA,CAAe,KAAK,CAAA,GAAI,IAAI,CAAA;AAErH,IAAI,IAAA,KAAA,CAAM,IAAQ,IAAA,CAAC,CAAC,YAAA,EAAc,YAAY,CAAE,CAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAG,EAAA;AACpE,MAAA,MAAM,KAAQ,GAAA,8EAAA;AACd,MAAM,MAAA,IAAI,MAAM,KAAK,CAAA;AAAA;AAGvB,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,gBAAgB,QAAS,CAAA,KAAA;AAC1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,MAAM,eAAe,MAAM;AACzB,UAAA,UAAA,CAAW,2BAA2B,KAAK,CAAA;AAC3C,UAAA,YAAA,CAAa,MAAO,EAAA;AACpB,UAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,SAChB;AACA,QAAA,MAAM,cAAc,MAAM;AACxB,UAAA,MAAM,+BAAkB,IAAA,IAAA,EAAO,EAAA,OAAA,KAAY,sBAAuB,CAAA,KAAA;AAClE,UAA2B,0BAAA,CAAA,KAAA,GAAQ,2BAA2B,KAAQ,GAAA,WAAA;AACtE,UAAO,MAAA,CAAA,YAAA,CAAa,cAAc,KAAK,CAAA;AACvC,UAAA,YAAA,CAAa,KAAM,EAAA;AACnB,UAAA,KAAA,CAAM,OAAO,CAAA;AAAA,SACf;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,gBAAgB,WAAW,CAAA;AACrD,QAAS,QAAA,CAAA,gBAAA,CAAiB,iBAAiB,YAAY,CAAA;AACvD,QAAA,OAAO,MAAM;AACX,UAAS,QAAA,CAAA,mBAAA,CAAoB,gBAAgB,WAAW,CAAA;AACxD,UAAS,QAAA,CAAA,mBAAA,CAAoB,iBAAiB,YAAY,CAAA;AAAA,SAC5D;AAAA;AACF,KACD,CAAA;AAKD,IAAA,KAAA,CAAM,MAAM,CAAC,KAAA,CAAM,MAAM,QAAS,CAAA,KAAK,GAAG,MAAM;AAE9C,MAAA,0BAAA,CAA2B,QAAQ,QAAS,CAAA,KAAA;AAE5C,MAAA,IAAI,KAAM,CAAA,IAAA,IAAQ,CAAC,eAAA,CAAgB,gBAAiB,CAAA,KAAA;AAClD,QAAA,UAAA,CAAW,SAAS,KAAK,CAAA;AAAA,KAC1B,EAAA,EAAE,SAAW,EAAA,IAAA,EAAM,CAAA;AAEtB,IAAY,WAAA,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC/B,MAAA,KAAA,CAAM,iBAAiB,KAAK,CAAA;AAC5B,MAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,QAAA,eAAA,CAAgB,+BAA+B,KAAQ,GAAA,IAAA;AACvD,QAAY,WAAA,EAAA;AAAA;AACd,KACD,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,eAAA,CAAgB,UAAW,EAAA;AAAA,KAC5B,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,eAAA,CAAgB,aAAc,EAAA;AAAA,KAC/B,CAAA;AAED,IAAwB,uBAAA,CAAA,EAAE,OAAS,EAAA,WAAA,EAAa,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ToastRootImpl.js","sources":["../../src/Toast/ToastRootImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isClient } from '@vueuse/shared'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { SwipeEvent } from './utils'\nimport { createContext, getActiveElement, useForwardExpose } from '@/shared'\nimport { useCollection } from '@/Collection'\n\nexport type ToastRootImplEmits = {\n close: []\n /** Event handler called when the escape key is down. It can be prevented by calling `event.preventDefault`. */\n escapeKeyDown: [event: KeyboardEvent]\n /** Event handler called when the dismiss timer is paused. This occurs when the pointer is moved over the viewport, the viewport is focused or when the window is blurred. */\n pause: []\n /** Event handler called when the dismiss timer is resumed. This occurs when the pointer is moved away from the viewport, the viewport is blurred or when the window is focused. */\n resume: []\n /** Event handler called when starting a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeStart: [event: SwipeEvent]\n /** Event handler called during a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeMove: [event: SwipeEvent]\n swipeCancel: [event: SwipeEvent]\n /** Event handler called at the end of a swipe interaction. It can be prevented by calling `event.preventDefault`. */\n swipeEnd: [event: SwipeEvent]\n}\n\nexport interface ToastRootImplProps extends PrimitiveProps {\n /**\n * Control the sensitivity of the toast for accessibility purposes.\n *\n * For toasts that are the result of a user action, choose `foreground`. Toasts generated from background tasks should use `background`.\n */\n type?: 'foreground' | 'background'\n /**\n * The controlled open state of the dialog. Can be bind as `v-model:open`.\n */\n open?: boolean\n /**\n * Time in milliseconds that toast should remain visible for. Overrides value\n * given to `ToastProvider`.\n */\n duration?: number\n}\n\nexport const [injectToastRootContext, provideToastRootContext]\n = createContext<{ onClose: () => void }>('ToastRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue'\nimport { injectToastProviderContext } from './ToastProvider.vue'\nimport { TOAST_SWIPE_CANCEL, TOAST_SWIPE_END, TOAST_SWIPE_MOVE, TOAST_SWIPE_START, VIEWPORT_PAUSE, VIEWPORT_RESUME, getAnnounceTextContent, handleAndDispatchCustomEvent, isDeltaInDirection } from './utils'\nimport { onKeyStroke, useRafFn } from '@vueuse/core'\nimport ToastAnnounce from './ToastAnnounce.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToastRootImplProps>(), {\n open: false,\n as: 'li',\n})\n\nconst emits = defineEmits<ToastRootImplEmits>()\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst providerContext = injectToastProviderContext()\nconst pointerStartRef = ref<{ x: number, y: number } | null>(null)\nconst swipeDeltaRef = ref<{ x: number, y: number } | null>(null)\nconst duration = computed(\n () => typeof props.duration === 'number'\n ? props.duration\n : providerContext.duration.value,\n)\n\nconst closeTimerStartTimeRef = ref(0)\nconst closeTimerRemainingTimeRef = ref(duration.value)\nconst closeTimerRef = ref(0)\nconst remainingTime = ref(duration.value)\n\nconst remainingRaf = useRafFn(() => {\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.value\n remainingTime.value = Math.max(closeTimerRemainingTimeRef.value - elapsedTime, 0)\n}, { fpsLimit: 60 })\n\nfunction startTimer(duration: number) {\n if (duration <= 0 || duration === Number.POSITIVE_INFINITY)\n return\n // startTimer is used inside a watch with immediate set to true.\n // This results in code execution during SSR.\n // Ensure this code only runs in a browser environment\n if (!isClient)\n return\n window.clearTimeout(closeTimerRef.value)\n closeTimerStartTimeRef.value = new Date().getTime()\n closeTimerRef.value = window.setTimeout(handleClose, duration)\n}\n\nfunction handleClose(event?: PointerEvent) {\n const isNonPointerEvent = event?.pointerType === ''\n\n // reka: update to only perform focus when user focus via keyboard\n // focus viewport if focus is within toast to read the remaining toast\n // count to SR users and ensure focus isn't lost\n const isFocusInToast = currentElement.value?.contains(getActiveElement())\n if (isFocusInToast && isNonPointerEvent)\n providerContext.viewport.value?.focus()\n\n if (isNonPointerEvent) {\n // when manually close the toast, we reset isClosePausedRef\n providerContext.isClosePausedRef.value = false\n }\n\n emits('close')\n}\n\nconst announceTextContent = computed(() => currentElement.value ? getAnnounceTextContent(currentElement.value) : null)\n\nif (props.type && !['foreground', 'background'].includes(props.type)) {\n const error = 'Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.'\n throw new Error(error)\n}\n\nwatchEffect((cleanupFn) => {\n const viewport = providerContext.viewport.value\n if (viewport) {\n const handleResume = () => {\n startTimer(closeTimerRemainingTimeRef.value)\n remainingRaf.resume()\n emits('resume')\n }\n const handlePause = () => {\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.value\n closeTimerRemainingTimeRef.value = closeTimerRemainingTimeRef.value - elapsedTime\n window.clearTimeout(closeTimerRef.value)\n remainingRaf.pause()\n emits('pause')\n }\n viewport.addEventListener(VIEWPORT_PAUSE, handlePause)\n viewport.addEventListener(VIEWPORT_RESUME, handleResume)\n return () => {\n viewport.removeEventListener(VIEWPORT_PAUSE, handlePause)\n viewport.removeEventListener(VIEWPORT_RESUME, handleResume)\n }\n }\n})\n\n// start timer when toast opens or duration changes.\n// we include `open` in deps because closed !== unmounted when animating\n// so it could reopen before being completely unmounted\nwatch(() => [props.open, duration.value], () => {\n // Reset the timer when the toast is rerendered with the new duration\n closeTimerRemainingTimeRef.value = duration.value\n\n if (props.open && !providerContext.isClosePausedRef.value)\n startTimer(duration.value)\n}, { immediate: true })\n\nonKeyStroke('Escape', (event) => {\n emits('escapeKeyDown', event)\n if (!event.defaultPrevented) {\n providerContext.isFocusedToastEscapeKeyDownRef.value = true\n handleClose()\n }\n})\n\nonMounted(() => {\n providerContext.onToastAdd()\n})\nonUnmounted(() => {\n providerContext.onToastRemove()\n})\n\nprovideToastRootContext({ onClose: handleClose })\n</script>\n\n<template>\n <ToastAnnounce\n v-if=\"announceTextContent\"\n role=\"alert\"\n :aria-live=\"type === 'foreground' ? 'assertive' : 'polite'\"\n aria-atomic=\"true\"\n >\n {{ announceTextContent }}\n </ToastAnnounce>\n\n <Teleport\n v-if=\"providerContext.viewport.value\"\n :to=\"providerContext.viewport.value\"\n >\n <CollectionItem>\n <Primitive\n :ref=\"forwardRef\"\n role=\"alert\"\n aria-live=\"off\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n v-bind=\"$attrs\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-state=\"open ? 'open' : 'closed'\"\n :data-swipe-direction=\"providerContext.swipeDirection.value\"\n :style=\"{ userSelect: 'none', touchAction: 'none' }\"\n @pointerdown.left=\"(event: PointerEvent) => {\n pointerStartRef = { x: event.clientX, y: event.clientY };\n }\"\n @pointermove=\"(event: PointerEvent) => {\n if (!pointerStartRef) return;\n const x = event.clientX - pointerStartRef.x;\n const y = event.clientY - pointerStartRef.y;\n const hasSwipeMoveStarted = Boolean(swipeDeltaRef);\n const isHorizontalSwipe = ['left', 'right'].includes(providerContext.swipeDirection.value);\n const clamp = ['left', 'up'].includes(providerContext.swipeDirection.value)\n ? Math.min\n : Math.max;\n const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n const moveStartBuffer = event.pointerType === 'touch' ? 10 : 2;\n const delta = { x: clampedX, y: clampedY };\n const eventDetail = { originalEvent: event, delta };\n if (hasSwipeMoveStarted) {\n swipeDeltaRef = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, (ev: SwipeEvent) => emits('swipeMove', ev), eventDetail);\n }\n else if (isDeltaInDirection(delta, providerContext.swipeDirection.value, moveStartBuffer)) {\n swipeDeltaRef = delta;\n handleAndDispatchCustomEvent(TOAST_SWIPE_START, (ev: SwipeEvent) => emits('swipeStart', ev), eventDetail);\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n }\n else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n // User is swiping in wrong direction so we disable swipe gesture\n // for the current pointer down interaction\n pointerStartRef = null;\n }\n }\"\n @pointerup=\"(event: PointerEvent) => {\n const delta = swipeDeltaRef;\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n swipeDeltaRef = null;\n pointerStartRef = null;\n if (delta) {\n const toast = event.currentTarget;\n const eventDetail = { originalEvent: event, delta };\n if (\n isDeltaInDirection(delta, providerContext.swipeDirection.value, providerContext.swipeThreshold.value)\n ) {\n handleAndDispatchCustomEvent(TOAST_SWIPE_END, (ev: SwipeEvent) => emits('swipeEnd', ev), eventDetail);\n }\n else {\n handleAndDispatchCustomEvent(TOAST_SWIPE_CANCEL, (ev: SwipeEvent) => emits('swipeCancel', ev), eventDetail);\n }\n // Prevent click event from triggering on items within the toast when\n // pointer up is part of a swipe gesture\n toast?.addEventListener('click', (event) => event.preventDefault(), {\n once: true,\n });\n }\n }\"\n >\n <slot\n :remaining=\"remainingTime\"\n :duration=\"duration\"\n />\n </Primitive>\n </CollectionItem>\n </Teleport>\n</template>\n"],"names":["duration"],"mappings":";;;;;;;;;;;;AA0CO,MAAM,CAAC,sBAAA,EAAwB,uBAAuB,CAAA,GACzD,cAAuC,WAAW;;;;;;;;;;;;;;;AAetD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAI,gBAAiB,EAAA;AACxD,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,aAAc,EAAA;AAEzC,IAAA,MAAM,kBAAkB,0BAA2B,EAAA;AACnD,IAAM,MAAA,eAAA,GAAkB,IAAqC,IAAI,CAAA;AACjE,IAAM,MAAA,aAAA,GAAgB,IAAqC,IAAI,CAAA;AAC/D,IAAA,MAAM,QAAW,GAAA,QAAA;AAAA,MACf,MAAM,OAAO,KAAM,CAAA,QAAA,KAAa,WAC5B,KAAM,CAAA,QAAA,GACN,gBAAgB,QAAS,CAAA;AAAA,KAC/B;AAEA,IAAM,MAAA,sBAAA,GAAyB,IAAI,CAAC,CAAA;AACpC,IAAM,MAAA,0BAAA,GAA6B,GAAI,CAAA,QAAA,CAAS,KAAK,CAAA;AACrD,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAC,CAAA;AAC3B,IAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,QAAA,CAAS,KAAK,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,+BAAkB,IAAA,IAAA,EAAO,EAAA,OAAA,KAAY,sBAAuB,CAAA,KAAA;AAClE,MAAA,aAAA,CAAc,QAAQ,IAAK,CAAA,GAAA,CAAI,0BAA2B,CAAA,KAAA,GAAQ,aAAa,CAAC,CAAA;AAAA,KAC/E,EAAA,EAAE,QAAU,EAAA,EAAA,EAAI,CAAA;AAEnB,IAAA,SAAS,WAAWA,SAAkB,EAAA;AACpC,MAAIA,IAAAA,SAAAA,IAAY,CAAKA,IAAAA,SAAAA,KAAa,MAAO,CAAA,iBAAA;AACvC,QAAA;AAIF,MAAA,IAAI,CAAC,QAAA;AACH,QAAA;AACF,MAAO,MAAA,CAAA,YAAA,CAAa,cAAc,KAAK,CAAA;AACvC,MAAA,sBAAA,CAAuB,KAAQ,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAClD,MAAA,aAAA,CAAc,KAAQ,GAAA,MAAA,CAAO,UAAW,CAAA,WAAA,EAAaA,SAAQ,CAAA;AAAA;AAG/D,IAAA,SAAS,YAAY,KAAsB,EAAA;AACzC,MAAM,MAAA,iBAAA,GAAoB,OAAO,WAAgB,KAAA,EAAA;AAKjD,MAAA,MAAM,cAAiB,GAAA,cAAA,CAAe,KAAO,EAAA,QAAA,CAAS,kBAAkB,CAAA;AACxE,MAAA,IAAI,cAAkB,IAAA,iBAAA;AACpB,QAAgB,eAAA,CAAA,QAAA,CAAS,OAAO,KAAM,EAAA;AAExC,MAAA,IAAI,iBAAmB,EAAA;AAErB,QAAA,eAAA,CAAgB,iBAAiB,KAAQ,GAAA,KAAA;AAAA;AAG3C,MAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AAGf,IAAM,MAAA,mBAAA,GAAsB,SAAS,MAAM,cAAA,CAAe,QAAQ,sBAAuB,CAAA,cAAA,CAAe,KAAK,CAAA,GAAI,IAAI,CAAA;AAErH,IAAI,IAAA,KAAA,CAAM,IAAQ,IAAA,CAAC,CAAC,YAAA,EAAc,YAAY,CAAE,CAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAG,EAAA;AACpE,MAAA,MAAM,KAAQ,GAAA,8EAAA;AACd,MAAM,MAAA,IAAI,MAAM,KAAK,CAAA;AAAA;AAGvB,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,gBAAgB,QAAS,CAAA,KAAA;AAC1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,MAAM,eAAe,MAAM;AACzB,UAAA,UAAA,CAAW,2BAA2B,KAAK,CAAA;AAC3C,UAAA,YAAA,CAAa,MAAO,EAAA;AACpB,UAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,SAChB;AACA,QAAA,MAAM,cAAc,MAAM;AACxB,UAAA,MAAM,+BAAkB,IAAA,IAAA,EAAO,EAAA,OAAA,KAAY,sBAAuB,CAAA,KAAA;AAClE,UAA2B,0BAAA,CAAA,KAAA,GAAQ,2BAA2B,KAAQ,GAAA,WAAA;AACtE,UAAO,MAAA,CAAA,YAAA,CAAa,cAAc,KAAK,CAAA;AACvC,UAAA,YAAA,CAAa,KAAM,EAAA;AACnB,UAAA,KAAA,CAAM,OAAO,CAAA;AAAA,SACf;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,gBAAgB,WAAW,CAAA;AACrD,QAAS,QAAA,CAAA,gBAAA,CAAiB,iBAAiB,YAAY,CAAA;AACvD,QAAA,OAAO,MAAM;AACX,UAAS,QAAA,CAAA,mBAAA,CAAoB,gBAAgB,WAAW,CAAA;AACxD,UAAS,QAAA,CAAA,mBAAA,CAAoB,iBAAiB,YAAY,CAAA;AAAA,SAC5D;AAAA;AACF,KACD,CAAA;AAKD,IAAA,KAAA,CAAM,MAAM,CAAC,KAAA,CAAM,MAAM,QAAS,CAAA,KAAK,GAAG,MAAM;AAE9C,MAAA,0BAAA,CAA2B,QAAQ,QAAS,CAAA,KAAA;AAE5C,MAAA,IAAI,KAAM,CAAA,IAAA,IAAQ,CAAC,eAAA,CAAgB,gBAAiB,CAAA,KAAA;AAClD,QAAA,UAAA,CAAW,SAAS,KAAK,CAAA;AAAA,KAC1B,EAAA,EAAE,SAAW,EAAA,IAAA,EAAM,CAAA;AAEtB,IAAY,WAAA,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC/B,MAAA,KAAA,CAAM,iBAAiB,KAAK,CAAA;AAC5B,MAAI,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC3B,QAAA,eAAA,CAAgB,+BAA+B,KAAQ,GAAA,IAAA;AACvD,QAAY,WAAA,EAAA;AAAA;AACd,KACD,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,eAAA,CAAgB,UAAW,EAAA;AAAA,KAC5B,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,eAAA,CAAgB,aAAc,EAAA;AAAA,KAC/B,CAAA;AAED,IAAwB,uBAAA,CAAA,EAAE,OAAS,EAAA,WAAA,EAAa,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.cjs
CHANGED
|
@@ -282,6 +282,7 @@ const shared_createContext = require('./shared/createContext.cjs');
|
|
|
282
282
|
const Collapsible_CollapsibleRoot = require('./Collapsible/CollapsibleRoot.cjs');
|
|
283
283
|
const Collapsible_CollapsibleTrigger = require('./Collapsible/CollapsibleTrigger.cjs');
|
|
284
284
|
const Collapsible_CollapsibleContent = require('./Collapsible/CollapsibleContent.cjs');
|
|
285
|
+
const Listbox_ListboxItem = require('./Listbox/ListboxItem.cjs');
|
|
285
286
|
const DateRangeField_DateRangeFieldRoot = require('./DateRangeField/DateRangeFieldRoot.cjs');
|
|
286
287
|
const DateRangeField_DateRangeFieldInput = require('./DateRangeField/DateRangeFieldInput.cjs');
|
|
287
288
|
const Dialog_DialogRoot = require('./Dialog/DialogRoot.cjs');
|
|
@@ -294,7 +295,6 @@ const Dialog_DialogDescription = require('./Dialog/DialogDescription.cjs');
|
|
|
294
295
|
const Listbox_ListboxRoot = require('./Listbox/ListboxRoot.cjs');
|
|
295
296
|
const Listbox_ListboxContent = require('./Listbox/ListboxContent.cjs');
|
|
296
297
|
const Listbox_ListboxFilter = require('./Listbox/ListboxFilter.cjs');
|
|
297
|
-
const Listbox_ListboxItem = require('./Listbox/ListboxItem.cjs');
|
|
298
298
|
const Listbox_ListboxItemIndicator = require('./Listbox/ListboxItemIndicator.cjs');
|
|
299
299
|
const Listbox_ListboxVirtualizer = require('./Listbox/ListboxVirtualizer.cjs');
|
|
300
300
|
const Listbox_ListboxGroup = require('./Listbox/ListboxGroup.cjs');
|
|
@@ -395,7 +395,6 @@ exports.ComboboxContent = Combobox_ComboboxContent._sfc_main;
|
|
|
395
395
|
exports.ComboboxViewport = Combobox_ComboboxViewport._sfc_main;
|
|
396
396
|
exports.ComboboxVirtualizer = Combobox_ComboboxVirtualizer._sfc_main;
|
|
397
397
|
exports.ComboboxItem = Combobox_ComboboxItem._sfc_main;
|
|
398
|
-
exports.injectComboboxItemContext = Combobox_ComboboxItem.injectComboboxItemContext;
|
|
399
398
|
exports.ComboboxItemIndicator = Combobox_ComboboxItemIndicator._sfc_main;
|
|
400
399
|
exports.ComboboxSeparator = Combobox_ComboboxSeparator._sfc_main;
|
|
401
400
|
exports.ComboboxArrow = Combobox_ComboboxArrow._sfc_main;
|
|
@@ -667,6 +666,9 @@ exports.CollapsibleRoot = Collapsible_CollapsibleRoot._sfc_main;
|
|
|
667
666
|
exports.injectCollapsibleRootContext = Collapsible_CollapsibleRoot.injectCollapsibleRootContext;
|
|
668
667
|
exports.CollapsibleTrigger = Collapsible_CollapsibleTrigger._sfc_main;
|
|
669
668
|
exports.CollapsibleContent = Collapsible_CollapsibleContent._sfc_main;
|
|
669
|
+
exports.ListboxItem = Listbox_ListboxItem._sfc_main;
|
|
670
|
+
exports.injectComboboxItemContext = Listbox_ListboxItem.injectListboxItemContext;
|
|
671
|
+
exports.injectListboxItemContext = Listbox_ListboxItem.injectListboxItemContext;
|
|
670
672
|
exports.DateRangeFieldRoot = DateRangeField_DateRangeFieldRoot._sfc_main;
|
|
671
673
|
exports.injectDateRangeFieldRootContext = DateRangeField_DateRangeFieldRoot.injectDateRangeFieldRootContext;
|
|
672
674
|
exports.DateRangeFieldInput = DateRangeField_DateRangeFieldInput._sfc_main;
|
|
@@ -682,8 +684,6 @@ exports.ListboxRoot = Listbox_ListboxRoot._sfc_main;
|
|
|
682
684
|
exports.injectListboxRootContext = Listbox_ListboxRoot.injectListboxRootContext;
|
|
683
685
|
exports.ListboxContent = Listbox_ListboxContent._sfc_main;
|
|
684
686
|
exports.ListboxFilter = Listbox_ListboxFilter._sfc_main;
|
|
685
|
-
exports.ListboxItem = Listbox_ListboxItem._sfc_main;
|
|
686
|
-
exports.injectListboxItemContext = Listbox_ListboxItem.injectListboxItemContext;
|
|
687
687
|
exports.ListboxItemIndicator = Listbox_ListboxItemIndicator._sfc_main;
|
|
688
688
|
exports.ListboxVirtualizer = Listbox_ListboxVirtualizer._sfc_main;
|
|
689
689
|
exports.ListboxGroup = Listbox_ListboxGroup._sfc_main;
|
package/dist/index.d.ts
CHANGED
|
@@ -2838,10 +2838,6 @@ export declare const ComboboxItem: <T extends AcceptableValue = AcceptableValue>
|
|
|
2838
2838
|
} | undefined;
|
|
2839
2839
|
};
|
|
2840
2840
|
|
|
2841
|
-
declare interface ComboboxItemContext {
|
|
2842
|
-
isSelected: Ref<boolean>;
|
|
2843
|
-
}
|
|
2844
|
-
|
|
2845
2841
|
export declare type ComboboxItemEmits<T = AcceptableValue> = ListboxItemEmits<T>;
|
|
2846
2842
|
|
|
2847
2843
|
export declare const ComboboxItemIndicator: __VLS_WithTemplateSlots_45<DefineComponent<ComboboxItemIndicatorProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ComboboxItemIndicatorProps> & Readonly<{}>, {
|
|
@@ -5006,7 +5002,7 @@ export declare const HoverCardRoot: __VLS_WithTemplateSlots_140<DefineComponent<
|
|
|
5006
5002
|
}, string, PublicProps, Readonly<HoverCardRootProps> & Readonly<{
|
|
5007
5003
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
5008
5004
|
}>, {
|
|
5009
|
-
defaultOpen:
|
|
5005
|
+
defaultOpen: boolean;
|
|
5010
5006
|
open: boolean;
|
|
5011
5007
|
openDelay: number;
|
|
5012
5008
|
closeDelay: number;
|
|
@@ -5041,7 +5037,7 @@ export declare type HoverCardRootEmits = {
|
|
|
5041
5037
|
|
|
5042
5038
|
export declare interface HoverCardRootProps {
|
|
5043
5039
|
/** The open state of the hover card when it is initially rendered. Use when you do not need to control its open state. */
|
|
5044
|
-
defaultOpen?:
|
|
5040
|
+
defaultOpen?: boolean;
|
|
5045
5041
|
/** The controlled open state of the hover card. Can be binded as `v-model:open`. */
|
|
5046
5042
|
open?: boolean;
|
|
5047
5043
|
/** The duration from when the mouse enters the trigger until the hover card opens. */
|
|
@@ -5079,8 +5075,6 @@ export declare const injectCollapsibleRootContext: <T extends CollapsibleRootCon
|
|
|
5079
5075
|
|
|
5080
5076
|
export declare const injectComboboxGroupContext: <T extends ComboboxGroupContext | null | undefined = ComboboxGroupContext>(fallback?: T | undefined) => T extends null ? ComboboxGroupContext | null : ComboboxGroupContext;
|
|
5081
5077
|
|
|
5082
|
-
export declare const injectComboboxItemContext: <T extends ComboboxItemContext | null | undefined = ComboboxItemContext>(fallback?: T | undefined) => T extends null ? ComboboxItemContext | null : ComboboxItemContext;
|
|
5083
|
-
|
|
5084
5078
|
export declare const injectComboboxRootContext: <T extends ComboboxRootContext<AcceptableValue> | null | undefined = ComboboxRootContext<AcceptableValue>>(fallback?: T | undefined) => T extends null ? ComboboxRootContext<AcceptableValue> | null : ComboboxRootContext<AcceptableValue>;
|
|
5085
5079
|
|
|
5086
5080
|
export declare const injectConfigProviderContext: <T extends ConfigProviderContextValue | null | undefined = ConfigProviderContextValue>(fallback?: T | undefined) => T extends null ? ConfigProviderContextValue | null : ConfigProviderContextValue;
|
|
@@ -5105,7 +5099,9 @@ export declare const injectHoverCardRootContext: <T extends HoverCardRootContext
|
|
|
5105
5099
|
|
|
5106
5100
|
export declare const injectListboxGroupContext: <T extends ListboxGroupContext | null | undefined = ListboxGroupContext>(fallback?: T | undefined) => T extends null ? ListboxGroupContext | null : ListboxGroupContext;
|
|
5107
5101
|
|
|
5108
|
-
|
|
5102
|
+
declare const injectListboxItemContext: <T extends ListboxItemContext | null | undefined = ListboxItemContext>(fallback?: T | undefined) => T extends null ? ListboxItemContext | null : ListboxItemContext;
|
|
5103
|
+
export { injectListboxItemContext as injectComboboxItemContext }
|
|
5104
|
+
export { injectListboxItemContext }
|
|
5109
5105
|
|
|
5110
5106
|
export declare const injectListboxRootContext: <T extends ListboxRootContext<AcceptableValue> | null | undefined = ListboxRootContext<AcceptableValue>>(fallback?: T | undefined) => T extends null ? ListboxRootContext<AcceptableValue> | null : ListboxRootContext<AcceptableValue>;
|
|
5111
5107
|
|
|
@@ -8197,6 +8193,7 @@ onValueCommit?: ((payload: number[]) => any) | undefined;
|
|
|
8197
8193
|
}>, {
|
|
8198
8194
|
defaultValue: number[];
|
|
8199
8195
|
disabled: boolean;
|
|
8196
|
+
as: AsTag | Component;
|
|
8200
8197
|
orientation: DataOrientation;
|
|
8201
8198
|
step: number;
|
|
8202
8199
|
min: number;
|
|
@@ -8271,7 +8268,9 @@ export declare interface SliderRootProps extends PrimitiveProps, FormFieldProps
|
|
|
8271
8268
|
thumbAlignment?: ThumbAlignment;
|
|
8272
8269
|
}
|
|
8273
8270
|
|
|
8274
|
-
export declare const SliderThumb: __VLS_WithTemplateSlots_236<DefineComponent<SliderThumbProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<SliderThumbProps> & Readonly<{}>, {
|
|
8271
|
+
export declare const SliderThumb: __VLS_WithTemplateSlots_236<DefineComponent<SliderThumbProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<SliderThumbProps> & Readonly<{}>, {
|
|
8272
|
+
as: AsTag | Component;
|
|
8273
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
|
|
8275
8274
|
default?(_: {}): any;
|
|
8276
8275
|
}>;
|
|
8277
8276
|
|
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@ export { _ as ComboboxLabel } from './Combobox/ComboboxLabel.js';
|
|
|
44
44
|
export { _ as ComboboxContent } from './Combobox/ComboboxContent.js';
|
|
45
45
|
export { _ as ComboboxViewport } from './Combobox/ComboboxViewport.js';
|
|
46
46
|
export { _ as ComboboxVirtualizer } from './Combobox/ComboboxVirtualizer.js';
|
|
47
|
-
export { _ as ComboboxItem
|
|
47
|
+
export { _ as ComboboxItem } from './Combobox/ComboboxItem.js';
|
|
48
48
|
export { _ as ComboboxItemIndicator } from './Combobox/ComboboxItemIndicator.js';
|
|
49
49
|
export { _ as ComboboxSeparator } from './Combobox/ComboboxSeparator.js';
|
|
50
50
|
export { _ as ComboboxArrow } from './Combobox/ComboboxArrow.js';
|
|
@@ -278,6 +278,7 @@ export { c as createContext } from './shared/createContext.js';
|
|
|
278
278
|
export { _ as CollapsibleRoot, i as injectCollapsibleRootContext } from './Collapsible/CollapsibleRoot.js';
|
|
279
279
|
export { _ as CollapsibleTrigger } from './Collapsible/CollapsibleTrigger.js';
|
|
280
280
|
export { _ as CollapsibleContent } from './Collapsible/CollapsibleContent.js';
|
|
281
|
+
export { _ as ListboxItem, i as injectComboboxItemContext, i as injectListboxItemContext } from './Listbox/ListboxItem.js';
|
|
281
282
|
export { _ as DateRangeFieldRoot, i as injectDateRangeFieldRootContext } from './DateRangeField/DateRangeFieldRoot.js';
|
|
282
283
|
export { _ as DateRangeFieldInput } from './DateRangeField/DateRangeFieldInput.js';
|
|
283
284
|
export { _ as DialogRoot, i as injectDialogRootContext } from './Dialog/DialogRoot.js';
|
|
@@ -290,7 +291,6 @@ export { _ as DialogDescription } from './Dialog/DialogDescription.js';
|
|
|
290
291
|
export { _ as ListboxRoot, i as injectListboxRootContext } from './Listbox/ListboxRoot.js';
|
|
291
292
|
export { _ as ListboxContent } from './Listbox/ListboxContent.js';
|
|
292
293
|
export { _ as ListboxFilter } from './Listbox/ListboxFilter.js';
|
|
293
|
-
export { _ as ListboxItem, i as injectListboxItemContext } from './Listbox/ListboxItem.js';
|
|
294
294
|
export { _ as ListboxItemIndicator } from './Listbox/ListboxItemIndicator.js';
|
|
295
295
|
export { _ as ListboxVirtualizer } from './Listbox/ListboxVirtualizer.js';
|
|
296
296
|
export { _ as ListboxGroup, i as injectListboxGroupContext } from './Listbox/ListboxGroup.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reka-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.1",
|
|
5
5
|
"description": "Vue port for Radix UI Primitives.",
|
|
6
6
|
"author": "UnoVue Contributors (https://github.com/unovue)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"@vueuse/shared": "^12.5.0",
|
|
102
102
|
"aria-hidden": "^1.2.4",
|
|
103
103
|
"defu": "^6.1.4",
|
|
104
|
-
"ohash": "^
|
|
104
|
+
"ohash": "^2.0.11"
|
|
105
105
|
},
|
|
106
106
|
"devDependencies": {
|
|
107
107
|
"@iconify/vue": "^4.3.0",
|