groove-dev 0.27.72 → 0.27.73

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 (129) hide show
  1. package/node_modules/@groove-dev/cli/package.json +1 -1
  2. package/node_modules/@groove-dev/daemon/package.json +1 -1
  3. package/node_modules/@groove-dev/daemon/src/api.js +10 -7
  4. package/node_modules/@groove-dev/gui/dist/assets/index-BFc7Ov6v.css +1 -0
  5. package/node_modules/@groove-dev/gui/dist/assets/{index-CHSXqfwy.js → index-Deza1S0i.js} +159 -159
  6. package/node_modules/@groove-dev/gui/dist/index.html +2 -2
  7. package/node_modules/@groove-dev/gui/package.json +1 -1
  8. package/node_modules/@groove-dev/gui/src/components/editor/editor-tabs.jsx +5 -5
  9. package/node_modules/@groove-dev/gui/src/components/settings/ProviderSetupWizard.jsx +7 -2
  10. package/node_modules/@groove-dev/gui/src/stores/groove.js +41 -52
  11. package/node_modules/@groove-dev/gui/src/views/editor.jsx +2 -9
  12. package/package.json +1 -1
  13. package/packages/cli/package.json +1 -1
  14. package/packages/daemon/package.json +1 -1
  15. package/packages/daemon/src/api.js +10 -7
  16. package/packages/gui/dist/assets/index-BFc7Ov6v.css +1 -0
  17. package/packages/gui/dist/assets/{index-CHSXqfwy.js → index-Deza1S0i.js} +159 -159
  18. package/packages/gui/dist/index.html +2 -2
  19. package/packages/gui/package.json +1 -1
  20. package/packages/gui/src/components/editor/editor-tabs.jsx +5 -5
  21. package/packages/gui/src/components/settings/ProviderSetupWizard.jsx +7 -2
  22. package/packages/gui/src/stores/groove.js +41 -52
  23. package/packages/gui/src/views/editor.jsx +2 -9
  24. package/node_modules/@groove-dev/gui/dist/assets/index-74E3YTkT.css +0 -1
  25. package/packages/gui/dist/assets/index-74E3YTkT.css +0 -1
  26. package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js +0 -68
  27. package/packages/gui/node_modules/.vite/deps/@codemirror_autocomplete.js.map +0 -7
  28. package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js +0 -1420
  29. package/packages/gui/node_modules/.vite/deps/@codemirror_commands.js.map +0 -7
  30. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js +0 -17
  31. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-css.js.map +0 -7
  32. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js +0 -22
  33. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-html.js.map +0 -7
  34. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js +0 -34
  35. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-javascript.js.map +0 -7
  36. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js +0 -101
  37. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-json.js.map +0 -7
  38. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js +0 -2534
  39. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-markdown.js.map +0 -7
  40. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js +0 -789
  41. package/packages/gui/node_modules/.vite/deps/@codemirror_lang-python.js.map +0 -7
  42. package/packages/gui/node_modules/.vite/deps/@codemirror_language.js +0 -115
  43. package/packages/gui/node_modules/.vite/deps/@codemirror_language.js.map +0 -7
  44. package/packages/gui/node_modules/.vite/deps/@codemirror_search.js +0 -1136
  45. package/packages/gui/node_modules/.vite/deps/@codemirror_search.js.map +0 -7
  46. package/packages/gui/node_modules/.vite/deps/@codemirror_state.js +0 -63
  47. package/packages/gui/node_modules/.vite/deps/@codemirror_state.js.map +0 -7
  48. package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js +0 -179
  49. package/packages/gui/node_modules/.vite/deps/@codemirror_theme-one-dark.js.map +0 -7
  50. package/packages/gui/node_modules/.vite/deps/@codemirror_view.js +0 -104
  51. package/packages/gui/node_modules/.vite/deps/@codemirror_view.js.map +0 -7
  52. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-context-menu.js +0 -1202
  53. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-context-menu.js.map +0 -7
  54. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js +0 -365
  55. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-dialog.js.map +0 -7
  56. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js +0 -757
  57. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-scroll-area.js.map +0 -7
  58. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js +0 -219
  59. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tabs.js.map +0 -7
  60. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js +0 -562
  61. package/packages/gui/node_modules/.vite/deps/@radix-ui_react-tooltip.js.map +0 -7
  62. package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js +0 -46
  63. package/packages/gui/node_modules/.vite/deps/@xterm_addon-fit.js.map +0 -7
  64. package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js +0 -121
  65. package/packages/gui/node_modules/.vite/deps/@xterm_addon-web-links.js.map +0 -7
  66. package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js +0 -9237
  67. package/packages/gui/node_modules/.vite/deps/@xterm_xterm.js.map +0 -7
  68. package/packages/gui/node_modules/.vite/deps/@xyflow_react.js +0 -9934
  69. package/packages/gui/node_modules/.vite/deps/@xyflow_react.js.map +0 -7
  70. package/packages/gui/node_modules/.vite/deps/_metadata.json +0 -259
  71. package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js +0 -5169
  72. package/packages/gui/node_modules/.vite/deps/chunk-3EE34IFC.js.map +0 -7
  73. package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js +0 -2000
  74. package/packages/gui/node_modules/.vite/deps/chunk-3IB5EUP7.js.map +0 -7
  75. package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js +0 -1776
  76. package/packages/gui/node_modules/.vite/deps/chunk-44CLUOQE.js.map +0 -7
  77. package/packages/gui/node_modules/.vite/deps/chunk-4JHIKDUF.js +0 -435
  78. package/packages/gui/node_modules/.vite/deps/chunk-4JHIKDUF.js.map +0 -7
  79. package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js +0 -292
  80. package/packages/gui/node_modules/.vite/deps/chunk-ACEP5X2F.js.map +0 -7
  81. package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js +0 -1004
  82. package/packages/gui/node_modules/.vite/deps/chunk-CDLO3JFW.js.map +0 -7
  83. package/packages/gui/node_modules/.vite/deps/chunk-FOR2E6IR.js +0 -105
  84. package/packages/gui/node_modules/.vite/deps/chunk-FOR2E6IR.js.map +0 -7
  85. package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js +0 -23
  86. package/packages/gui/node_modules/.vite/deps/chunk-HPXOV7QR.js.map +0 -7
  87. package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js +0 -1062
  88. package/packages/gui/node_modules/.vite/deps/chunk-HVFOBSCQ.js.map +0 -7
  89. package/packages/gui/node_modules/.vite/deps/chunk-PGL3TTJA.js +0 -1115
  90. package/packages/gui/node_modules/.vite/deps/chunk-PGL3TTJA.js.map +0 -7
  91. package/packages/gui/node_modules/.vite/deps/chunk-PGMATLPZ.js +0 -2294
  92. package/packages/gui/node_modules/.vite/deps/chunk-PGMATLPZ.js.map +0 -7
  93. package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js +0 -42
  94. package/packages/gui/node_modules/.vite/deps/chunk-PR4QN5HX.js.map +0 -7
  95. package/packages/gui/node_modules/.vite/deps/chunk-QX3PPTYO.js +0 -315
  96. package/packages/gui/node_modules/.vite/deps/chunk-QX3PPTYO.js.map +0 -7
  97. package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js +0 -10985
  98. package/packages/gui/node_modules/.vite/deps/chunk-RE2FU7ZU.js.map +0 -7
  99. package/packages/gui/node_modules/.vite/deps/chunk-SPKVQGZX.js +0 -701
  100. package/packages/gui/node_modules/.vite/deps/chunk-SPKVQGZX.js.map +0 -7
  101. package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js +0 -280
  102. package/packages/gui/node_modules/.vite/deps/chunk-YAD7VOVN.js.map +0 -7
  103. package/packages/gui/node_modules/.vite/deps/chunk-YEUURE4V.js +0 -264
  104. package/packages/gui/node_modules/.vite/deps/chunk-YEUURE4V.js.map +0 -7
  105. package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js +0 -3459
  106. package/packages/gui/node_modules/.vite/deps/chunk-YYJMNVCJ.js.map +0 -7
  107. package/packages/gui/node_modules/.vite/deps/chunk-Z5NIFSCT.js +0 -1106
  108. package/packages/gui/node_modules/.vite/deps/chunk-Z5NIFSCT.js.map +0 -7
  109. package/packages/gui/node_modules/.vite/deps/clsx.js +0 -22
  110. package/packages/gui/node_modules/.vite/deps/clsx.js.map +0 -7
  111. package/packages/gui/node_modules/.vite/deps/framer-motion.js +0 -12732
  112. package/packages/gui/node_modules/.vite/deps/framer-motion.js.map +0 -7
  113. package/packages/gui/node_modules/.vite/deps/lucide-react.js +0 -29653
  114. package/packages/gui/node_modules/.vite/deps/lucide-react.js.map +0 -7
  115. package/packages/gui/node_modules/.vite/deps/package.json +0 -3
  116. package/packages/gui/node_modules/.vite/deps/react-dom.js +0 -6
  117. package/packages/gui/node_modules/.vite/deps/react-dom.js.map +0 -7
  118. package/packages/gui/node_modules/.vite/deps/react-dom_client.js +0 -20217
  119. package/packages/gui/node_modules/.vite/deps/react-dom_client.js.map +0 -7
  120. package/packages/gui/node_modules/.vite/deps/react.js +0 -5
  121. package/packages/gui/node_modules/.vite/deps/react.js.map +0 -7
  122. package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js +0 -278
  123. package/packages/gui/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +0 -7
  124. package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js +0 -6
  125. package/packages/gui/node_modules/.vite/deps/react_jsx-runtime.js.map +0 -7
  126. package/packages/gui/node_modules/.vite/deps/tailwind-merge.js +0 -3263
  127. package/packages/gui/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
  128. package/packages/gui/node_modules/.vite/deps/zustand.js +0 -56
  129. package/packages/gui/node_modules/.vite/deps/zustand.js.map +0 -7
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../node_modules/@radix-ui/react-dialog/src/dialog.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { createSlot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentRef: React.RefObject<DialogContentElement | null>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n }\n);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst Slot = createSlot('DialogOverlay.RemoveScroll');\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ComponentRef<typeof DismissableLayer>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ComponentRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ComponentRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ComponentRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement | null>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["Portal"]
7
- }