@redocly/api-docs 0.1.0-next.0 → 0.1.0-next.2

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.
@@ -1 +1 @@
1
- import{Fragment as se,jsx as o,jsxs as j}from"react/jsx-runtime";import{useAtom as _,useAtomValue as n}from"jotai";import{lazy as ie,memo as le,Suspense as me,useCallback as d,useEffect as pe,useMemo as f,useRef as ce,useState as N}from"react";import{Button as ue}from"@redocly/theme/components/Button/Button";import{useFocusTrap as de,useModalScrollLock as fe}from"@redocly/theme/core/openapi";import{RocketIcon as ye}from"@redocly/theme/icons/RocketIcon/RocketIcon";import{Spinner as U}from"@redocly/theme/icons/Spinner/Spinner";import{Portal as he}from"@redocly/theme/components/Portal/Portal";import{useConfigureReplay as ve}from"@redocly/theme/ext/use-configure-replay";import{createReplayOverlayConverter as Re,handleReplayParamChange as ge,pickRuntimeConfigureRequestValues as Oe,REPLAY_TRY_IT_LOADING_STATE as l,ReplayCodeSampleHTTPSnippet as Ie,useCodeSampleResolvers as Ae}from"../../services/code-samples/index.js";import{useMarkdownAdapter as Ce}from"../../contexts/markdownAdapter.js";import{adapterToMarkdownParser as Te}from"./adapterToMarkdownParser.js";import{resolveRequestValues as Se}from"../../adapters/openapi/configure/resolve-request-values.js";import{createTryItOpenEvent as Le,createTryItSentEvent as be}from"../../events/index.js";import{useSpecTranslate as Ee}from"../../hooks/useTranslate.js";import{useTelemetry as Pe}from"../../hooks/useTelemetry.js";import{useOpenApiDefinition as xe}from"../../hoc/withReplayPrefetch.js";import{allowedEnvironmentsAtom as ke,environmentAtom as we,environmentsAtom as De,requestValuesAtom as Me,userClaimsAtom as Ve}from"../../jotai/app.js";import{globalOptionsAtom as $e,routingBasePathAtom as qe}from"../../jotai/store.js";import{routeIndexAtom as je}from"../../jotai/routes.js";import{exampleStoreAtom as _e}from"../../jotai/examples.js";import{joinWithSeparator as Ne}from"../../utils/url.js";import{encodeBackSlashes as Ue}from"../../utils/string.js";import{getDefaultCollectorUrl as Be}from"../../utils/telemetry.js";const Fe=ie(()=>import("@redocly/replay").then(m=>({default:m.ReplayOverlay})));function Ge({message:m}){return j("div",{style:{alignItems:"center",display:"flex",flexDirection:"column",gap:"1rem",justifyContent:"center",padding:"2rem"},children:[o(U,{color:"var(--primary-color, #333)"}),o("span",{children:m})]})}function ze({node:m,onTryItLoadingStateChange:L,hideOtherSecuritySchemes:B}){const g=Ee(),b=ce(null),a=n($e),{oAuth2RedirectURI:F,events:p}=a,E=Ce(),O=f(()=>({...a,markdownParser:Te(E)}),[a,E]),G=Pe(),c=n(qe),P=n(je),I=n(Ve),x=n(_e),z=n(De),H=n(ke),[[,W],k]=_(we),[,w]=_(Me),A=xe(),[y,D]=N(!1),[u,C]=N(l.NOT_LOADED),M=Ae();pe(()=>{L?.(u)},[u,L]);const Y=d(()=>{C(l.LOADED)},[]),e=m.source,K=e.path,J=e.method,Q=`${e.method.toLowerCase()}:${e.path}`,h=e.openApiOperationId??Q,s=f(()=>({id:`${e.method}:${e.path}`,path:e.path,httpVerb:e.method,name:e.summary||`${e.method.toUpperCase()} ${e.path}`}),[e]),X=f(()=>e.servers.map(t=>({url:t.url,description:t.description,name:t.name,variables:t.variables?Object.fromEntries(Object.entries(t.variables).map(([i,r])=>[i,{default:r.default??"",enum:r.enum,description:r.description}])):void 0})),[e.servers]),{config:v,refresh:V}=ve({userClaims:I,info:A?.info??{},operation:{name:s.name,path:K,operationId:h,href:"",method:J},servers:X},y),Z=f(()=>{const t=new Map([[`${e.method.toLowerCase()}:${e.path}`,e]]);return Re(t,M,O,v,x,(r,R)=>{const T=R.servers??[],S=r.servers??T;return Se({operationInfo:r,info:R.info??{},servers:S,basePath:c,userClaims:I,dynamicRequestValues:O.dynamicRequestValues})})},[e,M,O,v,x,c,I]),ee=f(()=>Oe(a,v),[a,v]);de(b),fe(y);const te=d(()=>{V()},[V]),oe=d(t=>{p?.tryItSent&&s&&p.tryItSent(be({operation:s,isSuccess:t}))},[p,s]),re=d(t=>{ge(t,k,(i,r,R)=>{const T=`${r.toLowerCase()}:${i}`;w(S=>({...S,[T]:R}))})},[k,w]),$=()=>{if(y){D(!1),C(l.NOT_LOADED);return}p?.tryItOpen&&s&&p.tryItOpen(Le({operation:s})),G.sendTryItOpenedMessage([{id:"tryItButton",object:"button",uri:"urn:redocly:redoc:ui:button:tryItButton"}]),C(l.LOADING),D(!0)},ne=d(t=>{if(!t)return;if(t===h&&e.href)return Ne(c,e.href);const i=`/${Ue(t).toLowerCase()}`;return P?.allRoutes.find(r=>r.path.toLowerCase().endsWith(i))?.path},[c,e.href,h,P]),ae=A?.info,q=u===l.LOADING;return j(se,{children:[o(ue,{onClick:$,variant:"primary",iconPosition:"left",icon:q?o(U,{}):o(ye,{}),children:q?g("loading","Loading..."):g("tryIt","Try it")}),y&&o(he,{mountId:"api-content",children:o("div",{"aria-busy":u===l.LOADING,"data-try-it-loading-state":u,children:o(me,{fallback:o(Ge,{message:g("loading","Loading...")}),children:o("div",{ref:b,children:o(Fe,{activeOperationId:h,api:A,onLoad:Y,onRequestChange:re,onClose:$,settings:{corsProxyUrl:a.corsProxyUrl,selectedEnvironment:W,apiId:ae?.["x-metadata"]?.apiId,oAuth2RedirectURI:F,disableCollectionsTab:!0,storageKey:c,HTTPSnippet:Ie,convertOperationToReplayValue:Z,getOperationUrl:ne,onRequestReset:te,predefinedEnvValues:z,telemetry:{tracerName:"try-it",collectorUrl:Be()},dynamicReplayValues:ee,onRequestSent:oe,hideOtherSecuritySchemes:B,allowedEnvironments:H??void 0}})})})})})]})}const ht=le(ze);export{ht as Replay};
1
+ import{Fragment as se,jsx as o,jsxs as j}from"react/jsx-runtime";import{useAtom as _,useAtomValue as n}from"jotai";import{lazy as ie,memo as le,Suspense as pe,useCallback as d,useEffect as me,useMemo as f,useRef as ce,useState as B}from"react";import{Button as ue}from"@redocly/theme/components/Button/Button";import{useFocusTrap as de,useModalScrollLock as fe}from"@redocly/theme/core/openapi";import{RocketIcon as ye}from"@redocly/theme/icons/RocketIcon/RocketIcon";import{Spinner as N}from"@redocly/theme/icons/Spinner/Spinner";import{Portal as he}from"@redocly/theme/components/Portal/Portal";import{useConfigureReplay as Re}from"@redocly/theme/ext/use-configure-replay";import{ReplayGate as ve}from"@redocly/theme/components/ReplayGate/ReplayGate";import{ReplayTopBarActions as ge}from"@redocly/theme/components/ReplayTopBarActions/ReplayTopBarActions";import{createReplayOverlayConverter as Oe,handleReplayParamChange as Ie,pickRuntimeConfigureRequestValues as Ae,REPLAY_TRY_IT_LOADING_STATE as l,ReplayCodeSampleHTTPSnippet as Ce,useCodeSampleResolvers as Te}from"../../services/code-samples/index.js";import{useMarkdownAdapter as Se}from"../../contexts/markdownAdapter.js";import{adapterToMarkdownParser as Le}from"./adapterToMarkdownParser.js";import{resolveRequestValues as be}from"../../adapters/openapi/configure/resolve-request-values.js";import{createTryItOpenEvent as Ee,createTryItSentEvent as Pe}from"../../events/index.js";import{useSpecTranslate as xe}from"../../hooks/useTranslate.js";import{useTelemetry as ke}from"../../hooks/useTelemetry.js";import{useOpenApiDefinition as we}from"../../hoc/withReplayPrefetch.js";import{allowedEnvironmentsAtom as De,environmentAtom as Me,environmentsAtom as Ve,requestValuesAtom as $e,userClaimsAtom as qe}from"../../jotai/app.js";import{globalOptionsAtom as je,routingBasePathAtom as _e}from"../../jotai/store.js";import{routeIndexAtom as Be}from"../../jotai/routes.js";import{exampleStoreAtom as Ne}from"../../jotai/examples.js";import{joinWithSeparator as Ue}from"../../utils/url.js";import{encodeBackSlashes as Ge}from"../../utils/string.js";import{getDefaultCollectorUrl as Fe}from"../../utils/telemetry.js";const ze=ie(()=>import("@redocly/replay").then(p=>({default:p.ReplayOverlay})));function He({message:p}){return j("div",{style:{alignItems:"center",display:"flex",flexDirection:"column",gap:"1rem",justifyContent:"center",padding:"2rem"},children:[o(N,{color:"var(--primary-color, #333)"}),o("span",{children:p})]})}function We({node:p,onTryItLoadingStateChange:L,hideOtherSecuritySchemes:U}){const g=xe(),b=ce(null),a=n(je),{oAuth2RedirectURI:G,events:m}=a,E=Se(),O=f(()=>({...a,markdownParser:Le(E)}),[a,E]),F=ke(),c=n(_e),P=n(Be),I=n(qe),x=n(Ne),z=n(Ve),H=n(De),[[,W],k]=_(Me),[,w]=_($e),A=we(),[y,D]=B(!1),[u,C]=B(l.NOT_LOADED),M=Te();me(()=>{L?.(u)},[u,L]);const Y=d(()=>{C(l.LOADED)},[]),e=p.source,K=e.path,J=e.method,Q=`${e.method.toLowerCase()}:${e.path}`,h=e.openApiOperationId??Q,s=f(()=>({id:`${e.method}:${e.path}`,path:e.path,httpVerb:e.method,name:e.summary||`${e.method.toUpperCase()} ${e.path}`}),[e]),X=f(()=>e.servers.map(t=>({url:t.url,description:t.description,name:t.name,variables:t.variables?Object.fromEntries(Object.entries(t.variables).map(([i,r])=>[i,{default:r.default??"",enum:r.enum,description:r.description}])):void 0})),[e.servers]),{config:R,refresh:V}=Re({userClaims:I,info:A?.info??{},operation:{name:s.name,path:K,operationId:h,href:"",method:J},servers:X},y),Z=f(()=>{const t=new Map([[`${e.method.toLowerCase()}:${e.path}`,e]]);return Oe(t,M,O,R,x,(r,v)=>{const T=v.servers??[],S=r.servers??T;return be({operationInfo:r,info:v.info??{},servers:S,basePath:c,userClaims:I,dynamicRequestValues:O.dynamicRequestValues})})},[e,M,O,R,x,c,I]),ee=f(()=>Ae(a,R),[a,R]);de(b),fe(y);const te=d(()=>{V()},[V]),oe=d(t=>{m?.tryItSent&&s&&m.tryItSent(Pe({operation:s,isSuccess:t}))},[m,s]),re=d(t=>{Ie(t,k,(i,r,v)=>{const T=`${r.toLowerCase()}:${i}`;w(S=>({...S,[T]:v}))})},[k,w]),$=()=>{if(y){D(!1),C(l.NOT_LOADED);return}m?.tryItOpen&&s&&m.tryItOpen(Ee({operation:s})),F.sendTryItOpenedMessage([{id:"tryItButton",object:"button",uri:"urn:redocly:redoc:ui:button:tryItButton"}]),C(l.LOADING),D(!0)},ne=d(t=>{if(!t)return;if(t===h&&e.href)return Ue(c,e.href);const i=`/${Ge(t).toLowerCase()}`;return P?.allRoutes.find(r=>r.path.toLowerCase().endsWith(i))?.path},[c,e.href,h,P]),ae=A?.info,q=u===l.LOADING;return j(se,{children:[o(ue,{onClick:$,variant:"primary",iconPosition:"left",icon:q?o(N,{}):o(ye,{}),children:q?g("loading","Loading..."):g("tryIt","Try it")}),y&&o(he,{mountId:"api-content",children:o("div",{"aria-busy":u===l.LOADING,"data-try-it-loading-state":u,children:o(pe,{fallback:o(He,{message:g("loading","Loading...")}),children:o("div",{ref:b,children:o(ze,{ReplayGate:ve,ReplayTopBarActions:ge,activeOperationId:h,api:A,onLoad:Y,onRequestChange:re,onClose:$,settings:{corsProxyUrl:a.corsProxyUrl,selectedEnvironment:W,apiId:ae?.["x-metadata"]?.apiId,oAuth2RedirectURI:G,disableCollectionsTab:!0,storageKey:c,HTTPSnippet:Ce,convertOperationToReplayValue:Z,getOperationUrl:ne,onRequestReset:te,predefinedEnvValues:z,telemetry:{tracerName:"try-it",collectorUrl:Fe()},dynamicReplayValues:ee,onRequestSent:oe,hideOtherSecuritySchemes:U,allowedEnvironments:H??void 0}})})})})})]})}const Ot=le(We);export{Ot as Replay};
@@ -1,4 +1,4 @@
1
- import{styled as r}from"styled-components";import{Link as i}from"react-router-dom";import{JsonViewer as n}from"@redocly/theme/components/JsonViewer/JsonViewer";import{LEVEL_COLORS as a}from"./utils.js";const g=r.div`
1
+ import{styled as r}from"styled-components";import{Link as i}from"react-router-dom";import{JsonViewer as n}from"@redocly/theme/components/JsonViewer/JsonViewer";import{linkCss as s}from"@redocly/theme/components/Markdown/styles/links";import{LEVEL_COLORS as a}from"./utils.js";const b=r.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
 
@@ -11,7 +11,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
11
11
  padding-bottom: 0;
12
12
  }
13
13
  }
14
- `,m=r.div`
14
+ `,h=r.div`
15
15
  width: 100%;
16
16
  padding: ${({$isFirst:e})=>`var(--schema-${e?"fist-":""}property-details-spacing)`}
17
17
  0
@@ -26,7 +26,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
26
26
  p {
27
27
  margin-bottom: 0;
28
28
  }
29
- `,b=r.div`
29
+ `,f=r.div`
30
30
  display: flex;
31
31
  align-items: center;
32
32
  gap: calc(var(--spacing-xxs) / 4) var(--spacing-xxs);
@@ -41,7 +41,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
41
41
  &:hover svg {
42
42
  visibility: visible;
43
43
  }
44
- `,h=r.span`
44
+ `,y=r.span`
45
45
  position: relative;
46
46
  font-family: var(--font-family-monospaced);
47
47
  line-height: var(--line-height-base);
@@ -51,16 +51,16 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
51
51
  word-wrap: break-word;
52
52
  overflow-wrap: break-word;
53
53
  white-space: pre-wrap;
54
- `,f=r.span`
54
+ `,u=r.span`
55
55
  color: var(--text-color-description);
56
- `,y=r.span`
56
+ `,w=r.span`
57
57
  font-family: var(--font-family-monospaced);
58
58
  font-weight: var(--font-weight-semibold);
59
59
  font-size: var(--schemas-property-name-font-size);
60
60
  line-height: var(--schemas-property-name-line-height);
61
61
  color: var(--schemas-property-name-text-color, var(--text-color-primary));
62
62
  ${({$deprecated:e})=>e&&"text-decoration: line-through; color: var(--schemas-property-deprecated-text-color, var(--text-color-description));"}
63
- `,u=r.em`
63
+ `,z=r.em`
64
64
  vertical-align: middle;
65
65
  color: var(--schema-type-text-color, var(--text-color-secondary));
66
66
  font-size: var(--font-size-base);
@@ -79,19 +79,15 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
79
79
  &:last-of-type:has(+ a)::after {
80
80
  content: ',';
81
81
  }
82
- `,w=r(i)`
82
+ `,k=r(i)`
83
83
  vertical-align: middle;
84
- color: var(--schema-type-text-color, var(--text-color-secondary));
85
84
  font-size: var(--font-size-base);
86
85
  line-height: var(--line-height-base);
87
86
  font-style: normal;
88
- text-decoration: none;
89
87
  overflow-wrap: anywhere;
90
88
 
91
- &:hover {
92
- text-decoration: underline;
93
- }
94
- `,z=r.span`
89
+ ${s}
90
+ `,L=r.span`
95
91
  vertical-align: middle;
96
92
  color: var(--schema-property-required-label-text-color, #e20c0c);
97
93
  font-size: var(--font-size-base);
@@ -106,29 +102,29 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
106
102
  color: var(--text-color-secondary);
107
103
  display: inline-flex;
108
104
  word-break: var(--code-word-break);
109
- `,k=r(o)`
105
+ `,E=r(o)`
110
106
  color: var(--badge-deprecated-text-color);
111
107
  background-color: var(--badge-deprecated-bg-color);
112
108
  border-radius: var(--badge-deprecated-border-radius, var(--border-radius));
113
- `,L=r(o)`
109
+ `,D=r(o)`
114
110
  color: var(--schema-property-access-label-text-color);
115
111
  background-color: var(--bg-color);
116
112
  border: 1px solid var(--border-color-secondary);
117
- `,E=r(o)`
113
+ `,S=r(o)`
118
114
  background-color: var(--color-warm-grey-2);
119
- `,D=r.div`
115
+ `,P=r.div`
120
116
  display: flex;
121
117
  flex-wrap: wrap;
122
118
  gap: var(--spacing-xxs);
123
119
  margin: var(--spacing-xxs) 0 var(--spacing-xs);
124
- `,S=r(o)`
120
+ `,V=r(o)`
125
121
  background-color: var(--color-warm-grey-2);
126
- `,P=r(o)`
122
+ `,$=r(o)`
127
123
  background-color: var(--schema-recursive-bg-color);
128
124
  border-color: var(--schema-recursive-border-color);
129
125
  color: var(--schema-recursive-text-color);
130
126
  padding: 0 var(--spacing-xs);
131
- `,V=r.a`
127
+ `,A=r.a`
132
128
  color: var(--link-color, var(--color-primary-base));
133
129
  font-size: var(--font-size-base);
134
130
  line-height: var(--line-height-base);
@@ -137,7 +133,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
137
133
  &:hover {
138
134
  text-decoration: underline;
139
135
  }
140
- `,$=r.div`
136
+ `,W=r.div`
141
137
  font-size: var(--font-size-base);
142
138
  line-height: var(--line-height-base);
143
139
  color: var(--text-color-description);
@@ -145,72 +141,72 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
145
141
  p:last-child {
146
142
  margin-bottom: 0;
147
143
  }
148
- `,A=r.div`
144
+ `,C=r.div`
149
145
  display: flex;
150
146
  align-items: baseline;
151
147
  gap: var(--spacing-xxs);
152
148
  margin-top: var(--spacing-xxs);
153
149
  flex-wrap: wrap;
154
- `,W=r.span`
150
+ `,O=r.span`
155
151
  vertical-align: middle;
156
152
  line-height: var(--schema-labels-line-height);
157
153
  font-size: var(--schema-property-labels-font-size);
158
154
  color: var(--schema-labels--text-color);
159
- `,s=r(o)`
155
+ `,c=r(o)`
160
156
  background-color: var(--schema-inline-bg-color);
161
157
  border: var(--schema-inline-border);
162
158
  padding: 0 var(--spacing-unit);
163
159
  width: fit-content;
164
- `,O=r(s)`
160
+ `,R=r(c)`
165
161
  border: none;
166
- `,R=r(o)`
162
+ `,T=r(o)`
167
163
  background-color: var(--schema-default-bg-color);
168
164
  border-color: var(--schema-default-border-color);
169
165
  color: var(--schema-default-text-color);
170
- `,T=r(o)`
166
+ `,B=r(o)`
171
167
  background-color: var(--schema-example-bg-color);
172
168
  border: 1px solid var(--schema-example-border-color);
173
169
  color: var(--schema-example-text-color);
174
170
  white-space: pre-wrap;
175
171
  overflow-wrap: anywhere;
176
172
  width: fit-content;
177
- `,C=r(n)`
173
+ `,N=r(n)`
178
174
  flex-basis: 100%;
179
175
  min-width: 0;
180
176
  border: 1px solid var(--border-color-secondary);
181
177
  border-radius: var(--border-radius);
182
178
  overflow: hidden;
183
- `,B=r.div`
179
+ `,F=r.div`
184
180
  display: flex;
185
181
  flex-direction: column;
186
182
  gap: var(--spacing-xs);
187
183
  margin-top: var(--spacing-xxs);
188
184
  padding-left: var(--spacing-base);
189
- `,N=r.div`
185
+ `,I=r.div`
190
186
  display: flex;
191
187
  flex-direction: column;
192
188
  gap: 2px;
193
- `,F=r.div`
189
+ `,q=r.div`
194
190
  font-weight: var(--font-weight-bold);
195
191
  font-size: var(--font-size-base);
196
192
  line-height: var(--line-height-base);
197
193
  color: var(--text-color-primary);
198
- `,I=r.div`
194
+ `,J=r.div`
199
195
  font-size: var(--font-size-base);
200
196
  line-height: var(--line-height-base);
201
197
  color: var(--text-color-description);
202
- `,q=r.div`
198
+ `,M=r.div`
203
199
  display: flex;
204
200
  flex-wrap: wrap;
205
201
  align-items: center;
206
202
  gap: var(--spacing-xxs);
207
203
  margin-top: var(--spacing-xxs);
208
- `,J=r(o)`
204
+ `,_=r(o)`
209
205
  background-color: var(--schema-enum-bg-color);
210
206
  color: var(--schema-enum-text-color);
211
207
  padding: 0 var(--spacing-unit);
212
208
  width: fit-content;
213
- `,M=r.button`
209
+ `,j=r.button`
214
210
  background: none;
215
211
  border: none;
216
212
  cursor: pointer;
@@ -225,7 +221,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
225
221
  &:hover {
226
222
  color: var(--text-color-primary);
227
223
  }
228
- `,_=r.button`
224
+ `,G=r.button`
229
225
  background: none;
230
226
  border: none;
231
227
  cursor: pointer;
@@ -240,7 +236,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
240
236
  margin-top: var(--spacing-xxs);
241
237
  width: 100%;
242
238
  min-height: 24px;
243
- `,j=r.span`
239
+ `,H=r.span`
244
240
  background-color: var(--bg-color);
245
241
  border-radius: 50%;
246
242
  border: 1px solid ${({$color:e})=>e||"var(--border-color-primary)"};
@@ -249,9 +245,9 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
249
245
  color: ${({$color:e})=>e||"var(--text-color-secondary)"};
250
246
  width: 20px;
251
247
  height: 20px;
252
- `,G=r.div`
248
+ `,K=r.div`
253
249
  width: 100%;
254
- `,H=r.div`
250
+ `,Q=r.div`
255
251
  padding-left: var(--schema-nested-offset);
256
252
  border-left: 1px solid
257
253
  ${({$level:e})=>a[e%a.length]||"var(--border-color-primary)"};
@@ -262,18 +258,18 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
262
258
  color: ${t};
263
259
  }
264
260
  `:""}}
265
- `,K=r.div`
261
+ `,U=r.div`
266
262
  display: flex;
267
263
  flex-direction: column;
268
- `,c=r.span`
264
+ `,l=r.span`
269
265
  display: flex;
270
266
  align-items: center;
271
267
  gap: var(--spacing-xs);
272
268
  margin-top: var(--spacing-xs);
273
- `,Q=r(c)`
269
+ `,X=r(l)`
274
270
  margin-top: 0;
275
271
  width: 100%;
276
- `,U=r.span`
272
+ `,Y=r.span`
277
273
  padding: 0 var(--spacing-xs);
278
274
  border-radius: var(--border-radius);
279
275
  border: 1px solid var(--border-color-secondary);
@@ -281,18 +277,18 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
281
277
  font-size: var(--font-size-sm);
282
278
  line-height: var(--line-height-sm);
283
279
  color: var(--tag-basic-content-color);
284
- `,X=r.span`
280
+ `,Z=r.span`
285
281
  flex: 1;
286
282
  border-top: 1px solid var(--border-color-primary);
287
- `,Y=r.div`
283
+ `,rr=r.div`
288
284
  display: flex;
289
285
  flex-direction: column;
290
286
  gap: var(--spacing-xs);
291
- `,l=r.div`
287
+ `,p=r.div`
292
288
  display: flex;
293
289
  flex-direction: column;
294
290
  gap: var(--spacing-xxs);
295
- `,Z=r(l)`
291
+ `,er=r(p)`
296
292
  padding-bottom: var(--schema-property-details-spacing);
297
293
  border-bottom: 1px solid var(--border-color-primary);
298
294
 
@@ -300,11 +296,11 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
300
296
  padding-bottom: 0;
301
297
  border-bottom: none;
302
298
  }
303
- `,rr=r.div`
299
+ `,or=r.div`
304
300
  display: flex;
305
301
  flex-direction: column;
306
302
  align-items: flex-start;
307
- `,er=r.div`
303
+ `,ar=r.div`
308
304
  font-size: var(--font-size-sm);
309
305
  line-height: var(--line-height-sm);
310
306
  color: var(--tag-basic-content-color);
@@ -325,7 +321,7 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
325
321
  bottom: calc(-1 * var(--spacing-xs));
326
322
  left: var(--spacing-xs);
327
323
  }
328
- `,or=r.span`
324
+ `,tr=r.span`
329
325
  background-color: var(--border-color-primary);
330
326
  display: block;
331
327
  align-self: stretch;
@@ -339,4 +335,4 @@ import{styled as r}from"styled-components";import{Link as i}from"react-router-do
339
335
  width: 1px;
340
336
  margin: var(--spacing-xxs) calc(var(--spacing-xxs) / 2);
341
337
  }
342
- `;export{L as AccessLabel,E as AdditionalPropertyLabel,Q as ArrayClosingLabel,c as ArrayLabel,U as ArrayLabelValue,X as ArrayLine,K as ArrayWrapper,j as CircleIconSpan,S as ConstraintBadge,D as ConstraintsRow,R as DefaultValueTag,k as DeprecatedBadge,$ as Description,M as EnumExpandToggle,q as EnumRow,J as EnumValue,I as ExampleDescription,N as ExampleItem,C as ExampleJsonViewer,F as ExampleSummary,T as ExampleValueTag,B as ExamplesList,V as ExternalDocsLink,A as FieldDetail,W as FieldDetailLabel,s as FieldDetailValue,h as NameWrapper,G as NestedWrapper,Y as OneOfWrapper,f as ParentPrefix,O as PatternValue,Z as PrimitiveOptionWrapper,l as PrimitiveWrapper,m as PropertyItem,g as PropertyList,y as PropertyName,P as RecursiveLabel,z as RequiredLabel,b as Row,w as SchemaTitle,u as SchemaTypeLabel,_ as ShowProperty,H as StyledNested,er as SwitcherBadge,rr as SwitcherWrapper,or as VariantOptionDivider};
338
+ `;export{D as AccessLabel,S as AdditionalPropertyLabel,X as ArrayClosingLabel,l as ArrayLabel,Y as ArrayLabelValue,Z as ArrayLine,U as ArrayWrapper,H as CircleIconSpan,V as ConstraintBadge,P as ConstraintsRow,T as DefaultValueTag,E as DeprecatedBadge,W as Description,j as EnumExpandToggle,M as EnumRow,_ as EnumValue,J as ExampleDescription,I as ExampleItem,N as ExampleJsonViewer,q as ExampleSummary,B as ExampleValueTag,F as ExamplesList,A as ExternalDocsLink,C as FieldDetail,O as FieldDetailLabel,c as FieldDetailValue,y as NameWrapper,K as NestedWrapper,rr as OneOfWrapper,u as ParentPrefix,R as PatternValue,er as PrimitiveOptionWrapper,p as PrimitiveWrapper,h as PropertyItem,b as PropertyList,w as PropertyName,$ as RecursiveLabel,L as RequiredLabel,f as Row,k as SchemaTitle,z as SchemaTypeLabel,G as ShowProperty,Q as StyledNested,ar as SwitcherBadge,or as SwitcherWrapper,tr as VariantOptionDivider};
@@ -1 +1 @@
1
- import{isRecord as h}from"../../../adapters/helpers.js";import{mergeBodyValue as g}from"../../../adapters/openapi/configure/merge-utils.js";import{mapToReplayServers as O}from"./map-servers.js";function x(e){return e.startsWith("#/")?e.slice(2):e}function I(e,a){const t={},n=e.discriminator;if(n?.propertyName&&n.mapping){const i=n.propertyName;for(const[l,o]of Object.entries(n.mapping)){if(typeof o!="string")continue;const s=a.resolveSchema(x(o));if(!s)continue;const p=a.sampleFromSchema(s,{skipReadOnly:!0});p!=null&&(h(p)&&(p[i]=l),t[l]={value:p})}if(Object.keys(t).length>0)return t}if(Array.isArray(e.oneOf)&&e.oneOf.length>0){const i=e.oneOf;for(let l=0;l<i.length;l++){const o=i[l];let s;if(h(o)&&(s=o,typeof o.$ref=="string"&&(s=a.resolveSchema(x(o.$ref))??o)),!s)continue;const p=a.sampleFromSchema(s,{skipReadOnly:!0});if(p==null)continue;const d=typeof s.title=="string"?s.title:`option ${l+1}`;t[d]={value:p}}if(Object.keys(t).length>0)return t}const r=a.sampleFromSchema(e,{skipReadOnly:!0});return r!=null&&(t.default={value:r}),t}function S(e,a,t){const n={};if(e.exampleIds?.length)for(const r of e.exampleIds){const i=a.resolveExample(r);i&&(n[r]={value:i.value,summary:i.summary})}if(Object.keys(n).length===0&&e.schemaId){const r=a.resolveSchema(e.schemaId);r&&Object.assign(n,I(r,a))}if(t!==void 0)if(Object.keys(n).length===0)n.default={value:t};else for(const r of Object.keys(n)){const i=n[r];n[r]={...i,value:g(i.value,t)}}return n}function k(e,a){const t=[],n=(d,f)=>{for(const m of d){const c=m.example;let u;if(m.schemaId){const y=a.resolveSchema(m.schemaId);y&&(u={typePrefix:"",title:y.title??m.name,displayType:y.type??"string",displayFormat:y.format,constraints:[],enum:y.enum??void 0})}t.push({name:m.name,in:f,required:m.required??!1,example:c!=null?String(c):void 0,schema:u})}};n(e.parameters.path,"path"),n(e.parameters.query,"query"),n(e.parameters.header,"header"),n(e.parameters.cookie,"cookie");for(const d of e.parameters.querystring)t.push(v(d,a));const r=O(e.servers),i=e.security.map(d=>d.schemes.map(f=>R(f,d.scopes)));let l;if(e.requestBody){const d=e.requestValues?.body,f={};for(const[m,c]of Object.entries(e.requestBody)){const u=S(c,a,d);f[m]={name:m,examples:Object.keys(u).length>0?u:void 0,schema:c.schemaId?a.resolveSchema(c.schemaId):void 0,parameters:[]}}l={mediaTypes:f}}const o=e.method.toLowerCase(),s=`${o}:${e.path}`,p=e.openApiOperationId??s;return{id:p,name:e.summary||`${e.method.toUpperCase()} ${e.path}`,method:o,path:e.path,href:"",operationId:p,parameters:t,servers:r,security:i,body:l}}function v(e,a){const t=e.schemaId?a.resolveSchema(e.schemaId):void 0,n=e.example!=null?e.example:t?a.sampleFromSchema(t,{skipReadOnly:!0}):void 0,r=b(t,n),i={typePrefix:"",title:t?.title??e.name,displayType:t?.type??"object",constraints:[],...r&&r.length>0?{fields:r}:{},...n!==void 0?{example:n}:{}};return{name:e.name,in:"querystring",required:e.required??!1,schema:i}}function b(e,a){const t=e?.properties;if(!t)return;const n=h(a)?a:{};return Object.keys(t).map(r=>{const i=n[r]!==void 0?n[r]:t[r]?.example;return{name:r,example:i}})}function R(e,a){return{id:e.id,type:e.type,name:e.name,in:e.in==="querystring"?"query":e.in,scheme:e.scheme,openIdConnectUrl:e.openIdConnectUrl,scopes:a,flows:e.flows,"x-defaultAccessToken":e["x-defaultAccessToken"],"x-defaultTokenType":e["x-defaultTokenType"],"x-defaultClientId":e["x-defaultClientId"],"x-defaultClientSecret":e["x-defaultClientSecret"],"x-defaultUsername":e["x-defaultUsername"],"x-defaultPassword":e["x-defaultPassword"],serverValues:e.serverValues}}function C(e,a,t){return(n,r,i)=>{const l=`${r.toLowerCase()}:${n}`,o=e.get(l);if(!o)return;const s=t?t(o):o;return k(s,a)}}export{C as createReplayConverter,k as toReplayOperation};
1
+ import{isRecord as h}from"../../../adapters/helpers.js";import{mergeBodyValue as O}from"../../../adapters/openapi/configure/merge-utils.js";import{mapToReplayServers as S}from"./map-servers.js";function x(e){return e.startsWith("#/")?e.slice(2):e}const g="#/components/schemas/";function k(e,i){if(!e)return;const t=Object.create(null),n=[e];for(;n.length;){const a=n.pop();if(Array.isArray(a)){n.push(...a);continue}if(h(a))for(const[r,o]of Object.entries(a)){if(r==="$ref"&&typeof o=="string"&&o.startsWith(g)){const s=o.slice(g.length);if(s in t)continue;const l=i.resolveSchema(x(o));if(!l)continue;t[s]=l,n.push(l);continue}n.push(o)}}return Object.keys(t).length>0?{...e,components:{schemas:t}}:e}function I(e,i){const t={},n=e.discriminator;if(n?.propertyName&&n.mapping){const r=n.propertyName;for(const[o,s]of Object.entries(n.mapping)){if(typeof s!="string")continue;const l=i.resolveSchema(x(s));if(!l)continue;const p=i.sampleFromSchema(l,{skipReadOnly:!0});p!=null&&(h(p)&&(p[r]=o),t[o]={value:p})}if(Object.keys(t).length>0)return t}if(Array.isArray(e.oneOf)&&e.oneOf.length>0){const r=e.oneOf;for(let o=0;o<r.length;o++){const s=r[o];let l;if(h(s)&&(l=s,typeof s.$ref=="string"&&(l=i.resolveSchema(x(s.$ref))??s)),!l)continue;const p=i.sampleFromSchema(l,{skipReadOnly:!0});if(p==null)continue;const c=typeof l.title=="string"?l.title:`option ${o+1}`;t[c]={value:p}}if(Object.keys(t).length>0)return t}const a=i.sampleFromSchema(e,{skipReadOnly:!0});return a!=null&&(t.default={value:a}),t}function b(e,i,t){const n={};if(e.exampleIds?.length)for(const a of e.exampleIds){const r=i.resolveExample(a);r&&(n[a]={value:r.value,summary:r.summary})}if(Object.keys(n).length===0&&e.schemaId){const a=i.resolveSchema(e.schemaId);a&&Object.assign(n,I(a,i))}if(t!==void 0)if(Object.keys(n).length===0)n.default={value:t};else for(const a of Object.keys(n)){const r=n[a];n[a]={...r,value:O(r.value,t)}}return n}function v(e,i){const t=[],n=(c,u)=>{for(const f of c){const d=f.example;let m;if(f.schemaId){const y=i.resolveSchema(f.schemaId);y&&(m={typePrefix:"",title:y.title??f.name,displayType:y.type??"string",displayFormat:y.format,constraints:[],enum:y.enum??void 0})}t.push({name:f.name,in:u,required:f.required??!1,example:d!=null?String(d):void 0,schema:m})}};n(e.parameters.path,"path"),n(e.parameters.query,"query"),n(e.parameters.header,"header"),n(e.parameters.cookie,"cookie");for(const c of e.parameters.querystring)t.push(R(c,i));const a=S(e.servers),r=e.security.map(c=>c.schemes.map(u=>q(u,c.scopes)));let o;if(e.requestBody){const c=e.requestValues?.body,u={};for(const[f,d]of Object.entries(e.requestBody)){const m=b(d,i,c);u[f]={name:f,examples:Object.keys(m).length>0?m:void 0,schema:d.schemaId?k(i.resolveSchema(d.schemaId),i):void 0,parameters:[]}}o={mediaTypes:u}}const s=e.method.toLowerCase(),l=`${s}:${e.path}`,p=e.openApiOperationId??l;return{id:p,name:e.summary||`${e.method.toUpperCase()} ${e.path}`,method:s,path:e.path,href:"",operationId:p,parameters:t,servers:a,security:r,body:o}}function R(e,i){const t=e.schemaId?i.resolveSchema(e.schemaId):void 0,n=e.example!=null?e.example:t?i.sampleFromSchema(t,{skipReadOnly:!0}):void 0,a=j(t,n),r={typePrefix:"",title:t?.title??e.name,displayType:t?.type??"object",constraints:[],...a&&a.length>0?{fields:a}:{},...n!==void 0?{example:n}:{}};return{name:e.name,in:"querystring",required:e.required??!1,schema:r}}function j(e,i){const t=e?.properties;if(!t)return;const n=h(i)?i:{};return Object.keys(t).map(a=>{const r=n[a]!==void 0?n[a]:t[a]?.example;return{name:a,example:r}})}function q(e,i){return{id:e.id,type:e.type,name:e.name,in:e.in==="querystring"?"query":e.in,scheme:e.scheme,openIdConnectUrl:e.openIdConnectUrl,scopes:i,flows:e.flows,"x-defaultAccessToken":e["x-defaultAccessToken"],"x-defaultTokenType":e["x-defaultTokenType"],"x-defaultClientId":e["x-defaultClientId"],"x-defaultClientSecret":e["x-defaultClientSecret"],"x-defaultUsername":e["x-defaultUsername"],"x-defaultPassword":e["x-defaultPassword"],serverValues:e.serverValues}}function $(e,i,t){return(n,a,r)=>{const o=`${a.toLowerCase()}:${n}`,s=e.get(o);if(!s)return;const l=t?t(s):s;return v(l,i)}}export{$ as createReplayConverter,v as toReplayOperation};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/api-docs",
3
- "version": "0.1.0-next.0",
3
+ "version": "0.1.0-next.2",
4
4
  "description": "Redocly API Documentation Library",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@markdoc/markdoc": "0.5.2",
33
- "@redocly/openapi-core": "2.43.1",
33
+ "@redocly/openapi-core": "2.44.2",
34
34
  "dompurify": "3.4.12",
35
35
  "fast-xml-parser": "5.7.3",
36
36
  "graphql": "16.12.0",
@@ -48,8 +48,8 @@
48
48
  "web-vitals": "3.3.1",
49
49
  "@redocly/config": "0.53.1",
50
50
  "@redocly/redoc-opentelemetry": "0.2.2",
51
- "@redocly/replay": "0.27.0-next.6",
52
- "@redocly/theme": "^0.68.0-next.5",
51
+ "@redocly/replay": "0.27.0-next.8",
52
+ "@redocly/theme": "^0.68.0-next.6",
53
53
  "@redocly/allof-merge": "0.6.9"
54
54
  },
55
55
  "devDependencies": {