{"version":3,"file":"alert-dialog.mjs","sources":["../src/alert-dialog/AlertDialogContentImpl.ts","../src/alert-dialog/AlertDialogCancel.ts","../src/alert-dialog/AlertDialogCancel.vue","../src/alert-dialog/AlertDialogContent.ts","../src/alert-dialog/AlertDialogContentImpl.vue","../src/alert-dialog/AlertDialogContent.vue","../src/alert-dialog/AlertDialogRoot.ts","../src/alert-dialog/AlertDialogRoot.vue"],"sourcesContent":["import type { RadixPrimitiveReturns } from '../shared/index.ts'\nimport {\n  type DialogContentImplEmits,\n  useDialogContentImplModal,\n  type UseDialogContentImplProps,\n} from '../dialog/index.ts'\nimport { createContext, type MutableRefObject, useRef } from '../hooks/index.ts'\n\nexport type AlertDialogContentImplEmits = Omit<DialogContentImplEmits, 'pointerdownOutside' | 'interactOutside'>\n\nexport interface AlertDialogContentContext {\n  cancelRef: MutableRefObject<HTMLElement | undefined>\n}\n\nexport const [provideAlertDialogContentContext, useAlertDialogContentContext] = createContext<AlertDialogContentContext>('AlertDialogContent')\n\nexport interface UseAlertDialogContentImplProps extends Omit<UseDialogContentImplProps, 'onPointerDownOutside' | 'onInteractOutside'> {\n\n}\n\nexport function useAlertDialogContentImpl(props: UseAlertDialogContentImplProps = {}): RadixPrimitiveReturns {\n  const cancelRef = useRef<HTMLElement>()\n\n  provideAlertDialogContentContext({\n    cancelRef,\n  })\n\n  const dialogContentImplModal = useDialogContentImplModal({\n    ...props,\n    onOpenAutoFocus(event) {\n      props.onOpenAutoFocus?.(event)\n      if (event.defaultPrevented)\n        return\n      event.preventDefault()\n      cancelRef.value?.focus({ preventScroll: true })\n    },\n    onPointerdownOutside(event) {\n      event.preventDefault()\n    },\n    onInteractOutside(event) {\n      event.preventDefault()\n    },\n  })\n\n  const attrs = {\n    role: 'alertdialog',\n  }\n\n  return {\n    attrs(extraAttrs = []) {\n      return dialogContentImplModal.attrs([attrs, ...extraAttrs])\n    },\n  }\n}\n","import type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared'\nimport { type DialogCloseProps, useDialogClose } from '../dialog/index.ts'\nimport { useAlertDialogContentContext } from './AlertDialogContentImpl.ts'\n\nexport interface AlertDialogCancelProps extends DialogCloseProps {}\n\nexport const DEFAULT_ALERT_DIALOG_CANCEL_PROPS = {\n  as: 'button',\n} satisfies PrimitiveDefaultProps<AlertDialogCancelProps>\n\nexport function useAlretDialogCancel(): RadixPrimitiveReturns {\n  const dialogClose = useDialogClose()\n\n  const context = useAlertDialogContentContext('AlertDialogCancel')\n\n  function setElRef(v: HTMLElement | undefined) {\n    context.cancelRef.value = v\n  }\n\n  const attrs = {\n    elRef: setElRef,\n  }\n\n  return {\n    attrs(extraAttrs = []) {\n      return dialogClose.attrs([attrs, ...extraAttrs])\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { DialogClose } from '../dialog/index.ts'\nimport { normalizeAttrs } from '../shared/index.ts'\nimport { type AlertDialogCancelProps, DEFAULT_ALERT_DIALOG_CANCEL_PROPS, useAlretDialogCancel } from './AlertDialogCancel.ts'\n\ndefineOptions({\n  name: 'AlertDialogCancel',\n  inheritAttrs: false,\n})\n\nwithDefaults(defineProps<AlertDialogCancelProps>(), DEFAULT_ALERT_DIALOG_CANCEL_PROPS)\n\nconst alretDialogCancel = useAlretDialogCancel()\n</script>\n\n<template>\n  <DialogClose v-bind=\"normalizeAttrs(alretDialogCancel.attrs([$attrs, { as }]))\">\n    <slot />\n  </DialogClose>\n</template>\n","import type { PrimitiveDefaultProps } from '../shared/index.ts'\nimport { type DialogContentProps, useDialogContent, type UseDialogContent } from '../dialog/index.ts'\n\nexport interface AlertDialogContentProps extends DialogContentProps {}\n\nexport const DEFAULT_ALERT_DIALOG_CONTENT_PROPS = {\n  forceMount: undefined,\n} satisfies PrimitiveDefaultProps<AlertDialogContentProps>\n\nexport interface UseAlertDialogContent extends UseDialogContent {\n}\n\nexport const useAlertDialogContent = useDialogContent\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { type EmitsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { type AlertDialogContentImplEmits, useAlertDialogContentImpl } from './AlertDialogContentImpl.ts'\n\ndefineOptions({\n  name: 'AlertDialogContentImpl',\n  inheritAttrs: false,\n})\n\nconst emit = defineEmits<AlertDialogContentImplEmits>()\n\nconst alertDialogContentImpl = useAlertDialogContentImpl({\n  onEscapeKeydown(event) {\n    emit('escapeKeydown', event)\n  },\n  onFocusOutside(event) {\n    emit('focusOutside', event)\n  },\n  onOpenAutoFocus(event) {\n    emit('openAutoFocus', event)\n  },\n  onCloseAutoFocus(event) {\n    emit('closeAutoFocus', event)\n  },\n} satisfies Required<EmitsToHookProps<AlertDialogContentImplEmits>>)\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(alertDialogContentImpl.attrs([$attrs]))\">\n    <slot />\n  </Primitive>\n</template>\n","<script setup lang=\"ts\">\nimport { convertPropsToHookProps } from '../shared/index.ts'\nimport { type AlertDialogContentProps, DEFAULT_ALERT_DIALOG_CONTENT_PROPS, useAlertDialogContent } from './AlertDialogContent.ts'\nimport AlertDialogContentImpl from './AlertDialogContentImpl.vue'\n\ndefineOptions({\n  name: 'AlertDialogContent',\n})\n\nconst props = withDefaults(defineProps<AlertDialogContentProps>(), DEFAULT_ALERT_DIALOG_CONTENT_PROPS)\n\nconst dialogContent = useAlertDialogContent(convertPropsToHookProps(props))\n</script>\n\n<template>\n  <AlertDialogContentImpl v-if=\"dialogContent.isPresent.value\">\n    <slot />\n  </AlertDialogContentImpl>\n</template>\n","import type { PrimitiveDefaultProps } from '../shared/index.ts'\nimport { type DialogRootEmits, type DialogRootProps, useDialogRoot, type UseDialogRootProps } from '../dialog/index.ts'\n\nexport {\n  type DialogContext as AlertDialogContext,\n  provideDialogContext as provideAlertDialogContext,\n  useDialogContext as useAlertDialogContext,\n} from '../dialog/index.ts'\n\nexport interface AlertDialogRootProps extends Omit<DialogRootProps, 'modal'> {\n}\n\nexport const DEFAULT_ALERT_DIALOG_ROOT_PROPS = {\n  open: undefined,\n  defaultOpen: undefined,\n} satisfies PrimitiveDefaultProps<AlertDialogRootProps>\n\nexport type AlertDialogRootEmits = DialogRootEmits\n\nexport interface UseAlertDialogRootProps extends Omit<UseDialogRootProps, 'modal'> {\n}\n\nexport function useAlertDialogRoot(props: UseAlertDialogRootProps = {}) {\n  return useDialogRoot(props)\n}\n","<script setup lang=\"ts\">\nimport type { EmitsToHookProps } from '../shared/index.ts'\nimport { convertPropsToHookProps } from '../shared/index.ts'\nimport { type AlertDialogRootEmits, type AlertDialogRootProps, useAlertDialogRoot } from './AlertDialogRoot.ts'\n\ndefineOptions({\n  name: 'AlertDialogRoot',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AlertDialogRootProps>(), {\n  open: undefined,\n  defaultOpen: false,\n})\n\nconst emit = defineEmits<AlertDialogRootEmits>()\n\nuseAlertDialogRoot(convertPropsToHookProps(\n  props,\n  ['open'],\n  (): Required<EmitsToHookProps<AlertDialogRootEmits>> => ({\n    onUpdateOpen(open) {\n      emit('update:open', open)\n    },\n  }),\n))\n</script>\n\n<template>\n  <slot />\n</template>\n"],"names":[],"mappings":"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"}