@oas-tools/oas-telemetry 0.7.0-alpha.4 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.env.example +6 -2
  2. package/README.md +35 -17
  3. package/dist/cjs/config/bootConfig.cjs +3 -1
  4. package/dist/cjs/config/config.cjs +7 -5
  5. package/dist/cjs/docs/openapi.yaml +1399 -0
  6. package/dist/cjs/routesManager.cjs +36 -48
  7. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.cjs +43 -13
  8. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.cjs +10 -2
  9. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.cjs +21 -16
  10. package/dist/cjs/telemetry/initializeTelemetry.cjs +39 -15
  11. package/dist/cjs/telemetry/telemetryConfigurator.cjs +6 -9
  12. package/dist/cjs/telemetry/telemetryRegistry.cjs +11 -8
  13. package/dist/cjs/tlm-ai/agent.cjs +54 -84
  14. package/dist/cjs/tlm-ai/aiController.cjs +69 -47
  15. package/dist/cjs/tlm-ai/aiRoutes.cjs +10 -3
  16. package/dist/cjs/tlm-ai/aiService.cjs +109 -0
  17. package/dist/cjs/tlm-ai/tools.cjs +30 -268
  18. package/dist/cjs/tlm-auth/authController.cjs +91 -26
  19. package/dist/cjs/tlm-auth/authMiddleware.cjs +20 -7
  20. package/dist/cjs/tlm-auth/authRoutes.cjs +3 -2
  21. package/dist/cjs/tlm-log/logController.cjs +30 -36
  22. package/dist/cjs/tlm-log/logRoutes.cjs +3 -2
  23. package/dist/cjs/tlm-metric/metricsController.cjs +15 -8
  24. package/dist/cjs/tlm-metric/metricsRoutes.cjs +2 -1
  25. package/dist/cjs/tlm-plugin/pluginController.cjs +11 -1
  26. package/dist/cjs/tlm-plugin/pluginProcess.cjs +4 -2
  27. package/dist/cjs/tlm-plugin/pluginService.cjs +3 -0
  28. package/dist/cjs/tlm-trace/traceController.cjs +16 -9
  29. package/dist/cjs/tlm-trace/traceRoutes.cjs +2 -1
  30. package/dist/cjs/tlm-util/utilController.cjs +23 -2
  31. package/dist/cjs/tlm-util/utilRoutes.cjs +44 -5
  32. package/dist/cjs/utils/logger.cjs +35 -13
  33. package/dist/esm/config/bootConfig.js +2 -0
  34. package/dist/esm/config/config.js +4 -2
  35. package/dist/esm/docs/openapi.yaml +1399 -0
  36. package/dist/esm/routesManager.js +37 -49
  37. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.js +32 -11
  38. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.js +10 -2
  39. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.js +20 -13
  40. package/dist/esm/telemetry/initializeTelemetry.js +22 -14
  41. package/dist/esm/telemetry/telemetryConfigurator.js +7 -10
  42. package/dist/esm/telemetry/telemetryRegistry.js +10 -7
  43. package/dist/esm/tlm-ai/agent.js +37 -78
  44. package/dist/esm/tlm-ai/aiController.js +56 -39
  45. package/dist/esm/tlm-ai/aiRoutes.js +11 -4
  46. package/dist/esm/tlm-ai/aiService.js +94 -0
  47. package/dist/esm/tlm-ai/tools.js +29 -255
  48. package/dist/esm/tlm-auth/authController.js +62 -20
  49. package/dist/esm/tlm-auth/authMiddleware.js +18 -9
  50. package/dist/esm/tlm-auth/authRoutes.js +4 -3
  51. package/dist/esm/tlm-log/logController.js +26 -28
  52. package/dist/esm/tlm-log/logRoutes.js +4 -3
  53. package/dist/esm/tlm-metric/metricsController.js +10 -6
  54. package/dist/esm/tlm-metric/metricsRoutes.js +3 -2
  55. package/dist/esm/tlm-plugin/pluginController.js +2 -1
  56. package/dist/esm/tlm-plugin/pluginProcess.js +4 -2
  57. package/dist/esm/tlm-plugin/pluginService.js +4 -0
  58. package/dist/esm/tlm-trace/traceController.js +11 -7
  59. package/dist/esm/tlm-trace/traceRoutes.js +3 -2
  60. package/dist/esm/tlm-util/utilController.js +22 -0
  61. package/dist/esm/tlm-util/utilRoutes.js +40 -5
  62. package/dist/esm/utils/logger.js +35 -12
  63. package/dist/types/config/bootConfig.d.ts +1 -0
  64. package/dist/types/config/config.d.ts +6 -3
  65. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.d.ts +7 -1
  66. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.d.ts +1 -0
  67. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.d.ts +1 -0
  68. package/dist/types/telemetry/telemetryRegistry.d.ts +22 -6
  69. package/dist/types/tlm-ai/agent.d.ts +2 -2
  70. package/dist/types/tlm-ai/aiController.d.ts +5 -4
  71. package/dist/types/tlm-ai/aiRoutes.d.ts +1 -1
  72. package/dist/types/tlm-ai/aiService.d.ts +38 -0
  73. package/dist/types/tlm-ai/tools.d.ts +5 -14
  74. package/dist/types/tlm-auth/authController.d.ts +2 -1
  75. package/dist/types/tlm-log/logController.d.ts +2 -2
  76. package/dist/types/tlm-metric/metricsController.d.ts +2 -1
  77. package/dist/types/tlm-plugin/pluginService.d.ts +2 -0
  78. package/dist/types/tlm-trace/traceController.d.ts +2 -1
  79. package/dist/types/tlm-util/utilController.d.ts +1 -0
  80. package/dist/types/utils/logger.d.ts +5 -5
  81. package/dist/ui/assets/ApiDocsPage-C_VVPPHa.js +16 -0
  82. package/dist/ui/assets/CollapsibleCard-B3KR_8mL.js +1 -0
  83. package/dist/ui/assets/DevToolsPage-OyZcDcmw.js +1 -0
  84. package/dist/ui/assets/LandingPage-CppFBA6K.js +6 -0
  85. package/dist/ui/assets/LogsPage-9Fq8GArS.js +26 -0
  86. package/dist/ui/assets/NotFoundPage-B3quk3P1.js +1 -0
  87. package/dist/ui/assets/PluginCreatePage-X_aCH4t4.js +50 -0
  88. package/dist/ui/assets/PluginPage-DMDSihrZ.js +27 -0
  89. package/dist/ui/assets/alert-jQ9HCPIf.js +1133 -0
  90. package/dist/ui/assets/badge-CNq0-mH5.js +1 -0
  91. package/dist/ui/assets/card-DFAwwhN3.js +1 -0
  92. package/dist/ui/assets/chevron-down-CPsvsmqj.js +6 -0
  93. package/dist/ui/assets/chevron-up-Df9jMo1X.js +6 -0
  94. package/dist/ui/assets/circle-alert-DOPQPvU8.js +6 -0
  95. package/dist/ui/assets/index-BkD6DijD.js +15 -0
  96. package/dist/ui/assets/index-CERGVYZK.js +292 -0
  97. package/dist/ui/assets/index-CSIPf9qw.css +1 -0
  98. package/dist/ui/assets/input-Dzvg_ZEZ.js +1 -0
  99. package/dist/ui/assets/label-DuVnkZ4q.js +1 -0
  100. package/dist/ui/assets/loader-circle-CrvlRy5o.js +6 -0
  101. package/dist/ui/assets/loginPage-qa4V-B70.js +6 -0
  102. package/dist/ui/assets/select-DhS8YUtJ.js +1 -0
  103. package/dist/ui/assets/separator-isK4chBP.js +6 -0
  104. package/dist/ui/assets/severityOptions-O38dSOfk.js +11 -0
  105. package/dist/ui/assets/switch-Z3mImG9n.js +1 -0
  106. package/dist/ui/assets/tabs-_77MUUQe.js +16 -0
  107. package/dist/ui/assets/upload-C1LT4Gkb.js +16 -0
  108. package/dist/ui/assets/utilService-DNyqzwj0.js +1 -0
  109. package/dist/ui/index.html +2 -2
  110. package/package.json +18 -7
  111. package/dist/ui/assets/index-BzIdRox6.js +0 -1733
  112. package/dist/ui/assets/index-CkoHzrrt.css +0 -1
@@ -0,0 +1 @@
1
+ import{j as n,$ as s,o,G as d}from"./index-CERGVYZK.js";const c=d("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function u({className:e,variant:r,asChild:t=!1,...a}){const i=t?s:"span";return n.jsx(i,{"data-slot":"badge",className:o(c({variant:r}),e),...a})}export{u as B};
@@ -0,0 +1 @@
1
+ import{j as r,o as e}from"./index-CERGVYZK.js";function o({className:a,...t}){return r.jsx("div",{"data-slot":"card",className:e("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...t})}function s({className:a,...t}){return r.jsx("div",{"data-slot":"card-header",className:e("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...t})}function n({className:a,...t}){return r.jsx("div",{"data-slot":"card-title",className:e("leading-none font-semibold",a),...t})}function c({className:a,...t}){return r.jsx("div",{"data-slot":"card-description",className:e("text-muted-foreground text-sm",a),...t})}function i({className:a,...t}){return r.jsx("div",{"data-slot":"card-content",className:e("px-6",a),...t})}function l({className:a,...t}){return r.jsx("div",{"data-slot":"card-footer",className:e("flex items-center px-6 [.border-t]:pt-6",a),...t})}export{n as C,c as a,o as b,s as c,i as d,l as e};
@@ -0,0 +1,6 @@
1
+ import{c as o}from"./index-CERGVYZK.js";/**
2
+ * @license lucide-react v0.515.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],e=o("chevron-down",n);export{e as C};
@@ -0,0 +1,6 @@
1
+ import{c as o}from"./index-CERGVYZK.js";/**
2
+ * @license lucide-react v0.515.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const c=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],n=o("chevron-up",c);export{n as C};
@@ -0,0 +1,6 @@
1
+ import{c as e}from"./index-CERGVYZK.js";/**
2
+ * @license lucide-react v0.515.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],y=e("circle-alert",c);export{y as C};
@@ -0,0 +1,15 @@
1
+ import{c as $,r as i,u as C,a as ge,j as l,P as y,b as z,d as pe,e as U,i as me,f as ve,h as I,k as he,J as Ee,K as De,L as ye,N as Ce,O as Ne,_ as Pe}from"./index-CERGVYZK.js";/**
2
+ * @license lucide-react v0.515.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Re=[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]],Ke=$("pause",Re);/**
7
+ * @license lucide-react v0.515.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const Oe=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],Ye=$("play",Oe);function E(e,t,{checkForDefaultPrevented:o=!0}={}){return function(n){if(e==null||e(n),o===!1||!n.defaultPrevented)return t==null?void 0:t(n)}}var xe="DismissableLayer",w="dismissableLayer.update",be="dismissableLayer.pointerDownOutside",Ae="dismissableLayer.focusOutside",B,V=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),K=i.forwardRef((e,t)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:r,onPointerDownOutside:n,onFocusOutside:s,onInteractOutside:u,onDismiss:c,...f}=e,a=i.useContext(V),[d,v]=i.useState(null),p=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=i.useState({}),A=C(t,g=>v(g)),N=Array.from(a.layers),[_]=[...a.layersWithOutsidePointerEventsDisabled].slice(-1),le=N.indexOf(_),F=d?N.indexOf(d):-1,de=a.layersWithOutsidePointerEventsDisabled.size>0,j=F>=le,fe=Ie(g=>{const P=g.target,k=[...a.branches].some(T=>T.contains(P));!j||k||(n==null||n(g),u==null||u(g),g.defaultPrevented||c==null||c())},p),W=we(g=>{const P=g.target;[...a.branches].some(T=>T.contains(P))||(s==null||s(g),u==null||u(g),g.defaultPrevented||c==null||c())},p);return ge(g=>{F===a.layers.size-1&&(r==null||r(g),!g.defaultPrevented&&c&&(g.preventDefault(),c()))},p),i.useEffect(()=>{if(d)return o&&(a.layersWithOutsidePointerEventsDisabled.size===0&&(B=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),a.layersWithOutsidePointerEventsDisabled.add(d)),a.layers.add(d),G(),()=>{o&&a.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=B)}},[d,p,o,a]),i.useEffect(()=>()=>{d&&(a.layers.delete(d),a.layersWithOutsidePointerEventsDisabled.delete(d),G())},[d,a]),i.useEffect(()=>{const g=()=>h({});return document.addEventListener(w,g),()=>document.removeEventListener(w,g)},[]),l.jsx(y.div,{...f,ref:A,style:{pointerEvents:de?j?"auto":"none":void 0,...e.style},onFocusCapture:E(e.onFocusCapture,W.onFocusCapture),onBlurCapture:E(e.onBlurCapture,W.onBlurCapture),onPointerDownCapture:E(e.onPointerDownCapture,fe.onPointerDownCapture)})});K.displayName=xe;var _e="DismissableLayerBranch",Te=i.forwardRef((e,t)=>{const o=i.useContext(V),r=i.useRef(null),n=C(t,r);return i.useEffect(()=>{const s=r.current;if(s)return o.branches.add(s),()=>{o.branches.delete(s)}},[o.branches]),l.jsx(y.div,{...e,ref:n})});Te.displayName=_e;function Ie(e,t=globalThis==null?void 0:globalThis.document){const o=z(e),r=i.useRef(!1),n=i.useRef(()=>{});return i.useEffect(()=>{const s=c=>{if(c.target&&!r.current){let f=function(){Y(be,o,a,{discrete:!0})};const a={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",n.current),n.current=f,t.addEventListener("click",n.current,{once:!0})):f()}else t.removeEventListener("click",n.current);r.current=!1},u=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(u),t.removeEventListener("pointerdown",s),t.removeEventListener("click",n.current)}},[t,o]),{onPointerDownCapture:()=>r.current=!0}}function we(e,t=globalThis==null?void 0:globalThis.document){const o=z(e),r=i.useRef(!1);return i.useEffect(()=>{const n=s=>{s.target&&!r.current&&Y(Ae,o,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",n),()=>t.removeEventListener("focusin",n)},[t,o]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function G(){const e=new CustomEvent(w);document.dispatchEvent(e)}function Y(e,t,o,{discrete:r}){const n=o.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:o});t&&n.addEventListener(e,t,{once:!0}),r?pe(n,s):n.dispatchEvent(s)}function Me(e,t){return i.useReducer((o,r)=>t[o][r]??o,e)}var x=e=>{const{present:t,children:o}=e,r=Le(t),n=typeof o=="function"?o({present:r.isPresent}):i.Children.only(o),s=C(r.ref,Se(n));return typeof o=="function"||r.isPresent?i.cloneElement(n,{ref:s}):null};x.displayName="Presence";function Le(e){const[t,o]=i.useState(),r=i.useRef(null),n=i.useRef(e),s=i.useRef("none"),u=e?"mounted":"unmounted",[c,f]=Me(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const a=R(r.current);s.current=c==="mounted"?a:"none"},[c]),U(()=>{const a=r.current,d=n.current;if(d!==e){const p=s.current,h=R(a);e?f("MOUNT"):h==="none"||(a==null?void 0:a.display)==="none"?f("UNMOUNT"):f(d&&p!==h?"ANIMATION_OUT":"UNMOUNT"),n.current=e}},[e,f]),U(()=>{if(t){let a;const d=t.ownerDocument.defaultView??window,v=h=>{const N=R(r.current).includes(CSS.escape(h.animationName));if(h.target===t&&N&&(f("ANIMATION_END"),!n.current)){const _=t.style.animationFillMode;t.style.animationFillMode="forwards",a=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=_)})}},p=h=>{h.target===t&&(s.current=R(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",v),t.addEventListener("animationend",v),()=>{d.clearTimeout(a),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",v),t.removeEventListener("animationend",v)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:i.useCallback(a=>{r.current=a?getComputedStyle(a):null,o(a)},[])}}function R(e){return(e==null?void 0:e.animationName)||"none"}function Se(e){var r,n;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,o=t&&"isReactWarning"in t&&t.isReactWarning;return o?e.ref:(t=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,o=t&&"isReactWarning"in t&&t.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}var b="Dialog",[q,qe]=ve(b),[Fe,m]=q(b),J=e=>{const{__scopeDialog:t,children:o,open:r,defaultOpen:n,onOpenChange:s,modal:u=!0}=e,c=i.useRef(null),f=i.useRef(null),[a,d]=me({prop:r,defaultProp:n??!1,onChange:s,caller:b});return l.jsx(Fe,{scope:t,triggerRef:c,contentRef:f,contentId:I(),titleId:I(),descriptionId:I(),open:a,onOpenChange:d,onOpenToggle:i.useCallback(()=>d(v=>!v),[d]),modal:u,children:o})};J.displayName=b;var X="DialogTrigger",Z=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=m(X,o),s=C(t,n.triggerRef);return l.jsx(y.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":S(n.open),...r,ref:s,onClick:E(e.onClick,n.onOpenToggle)})});Z.displayName=X;var M="DialogPortal",[je,Q]=q(M,{forceMount:void 0}),H=e=>{const{__scopeDialog:t,forceMount:o,children:r,container:n}=e,s=m(M,t);return l.jsx(je,{scope:t,forceMount:o,children:i.Children.map(r,u=>l.jsx(x,{present:o||s.open,children:l.jsx(he,{asChild:!0,container:n,children:u})}))})};H.displayName=M;var O="DialogOverlay",ee=i.forwardRef((e,t)=>{const o=Q(O,e.__scopeDialog),{forceMount:r=o.forceMount,...n}=e,s=m(O,e.__scopeDialog);return s.modal?l.jsx(x,{present:r||s.open,children:l.jsx(ke,{...n,ref:t})}):null});ee.displayName=O;var We=ye("DialogOverlay.RemoveScroll"),ke=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=m(O,o);return l.jsx(De,{as:We,allowPinchZoom:!0,shards:[n.contentRef],children:l.jsx(y.div,{"data-state":S(n.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),D="DialogContent",te=i.forwardRef((e,t)=>{const o=Q(D,e.__scopeDialog),{forceMount:r=o.forceMount,...n}=e,s=m(D,e.__scopeDialog);return l.jsx(x,{present:r||s.open,children:s.modal?l.jsx(Ue,{...n,ref:t}):l.jsx(Be,{...n,ref:t})})});te.displayName=D;var Ue=i.forwardRef((e,t)=>{const o=m(D,e.__scopeDialog),r=i.useRef(null),n=C(t,o.contentRef,r);return i.useEffect(()=>{const s=r.current;if(s)return Ee(s)},[]),l.jsx(ne,{...e,ref:n,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:E(e.onCloseAutoFocus,s=>{var u;s.preventDefault(),(u=o.triggerRef.current)==null||u.focus()}),onPointerDownOutside:E(e.onPointerDownOutside,s=>{const u=s.detail.originalEvent,c=u.button===0&&u.ctrlKey===!0;(u.button===2||c)&&s.preventDefault()}),onFocusOutside:E(e.onFocusOutside,s=>s.preventDefault())})}),Be=i.forwardRef((e,t)=>{const o=m(D,e.__scopeDialog),r=i.useRef(!1),n=i.useRef(!1);return l.jsx(ne,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var u,c;(u=e.onCloseAutoFocus)==null||u.call(e,s),s.defaultPrevented||(r.current||(c=o.triggerRef.current)==null||c.focus(),s.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:s=>{var f,a;(f=e.onInteractOutside)==null||f.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const u=s.target;((a=o.triggerRef.current)==null?void 0:a.contains(u))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),ne=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:r,onOpenAutoFocus:n,onCloseAutoFocus:s,...u}=e,c=m(D,o),f=i.useRef(null),a=C(t,f);return Ce(),l.jsxs(l.Fragment,{children:[l.jsx(Ne,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:n,onUnmountAutoFocus:s,children:l.jsx(K,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":S(c.open),...u,ref:a,onDismiss:()=>c.onOpenChange(!1)})}),l.jsxs(l.Fragment,{children:[l.jsx(Ge,{titleId:c.titleId}),l.jsx(ze,{contentRef:f,descriptionId:c.descriptionId})]})]})}),L="DialogTitle",oe=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=m(L,o);return l.jsx(y.h2,{id:n.titleId,...r,ref:t})});oe.displayName=L;var re="DialogDescription",se=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=m(re,o);return l.jsx(y.p,{id:n.descriptionId,...r,ref:t})});se.displayName=re;var ie="DialogClose",ae=i.forwardRef((e,t)=>{const{__scopeDialog:o,...r}=e,n=m(ie,o);return l.jsx(y.button,{type:"button",...r,ref:t,onClick:E(e.onClick,()=>n.onOpenChange(!1))})});ae.displayName=ie;function S(e){return e?"open":"closed"}var ce="DialogTitleWarning",[Je,ue]=Pe(ce,{contentName:D,titleName:L,docsSlug:"dialog"}),Ge=({titleId:e})=>{const t=ue(ce),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
12
+
13
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
14
+
15
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return i.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},$e="DialogDescriptionWarning",ze=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ue($e).contentName}}.`;return i.useEffect(()=>{var s;const n=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&n&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Xe=J,Ze=Z,Qe=H,He=ee,et=te,tt=oe,nt=se,ot=ae;export{et as C,nt as D,He as O,Ke as P,Xe as R,Ze as T,Ye as a,ot as b,tt as c,Qe as d};