@redocly/openapi-docs 3.24.0-next.0 → 3.24.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redocly-openapi-docs.min.AiChatProvider-DhmZRjCy.js +32 -0
- package/dist/redocly-openapi-docs.min.AiChatSqliteDBStorage-D1axMGbc.js +1 -0
- package/dist/redocly-openapi-docs.min.AiPanel-DsHL8Tj5.js +773 -0
- package/dist/redocly-openapi-docs.min.HistorySqliteDBStorage-DYnaxLim.js +1 -0
- package/dist/redocly-openapi-docs.min.SqliteDBStorage-DbMKa2rS.js +14 -0
- package/dist/redocly-openapi-docs.min.StepContextSqliteDBStorage-DTB5U2yh.js +1 -0
- package/dist/redocly-openapi-docs.min.ai-chat-mappers-CYTtl-vb.js +1 -0
- package/dist/redocly-openapi-docs.min.ai-message-parts.schema-C7fjQhYX.js +1 -0
- package/dist/redocly-openapi-docs.min.external-resolver-l2gG6VEi.js +2 -0
- package/dist/redocly-openapi-docs.min.history.schema-DzAAX18S.js +1 -0
- package/dist/redocly-openapi-docs.min.index-Cof5qhpm.js +1 -0
- package/dist/redocly-openapi-docs.min.index-DAzSuxAj.js +1 -0
- package/dist/redocly-openapi-docs.min.index-DafBC2xj.js +1 -0
- package/dist/redocly-openapi-docs.min.index-DdeY52iV.js +7716 -0
- package/dist/redocly-openapi-docs.min.indexes-Bp4ld5gB.js +1 -0
- package/dist/redocly-openapi-docs.min.js +1 -20883
- package/dist/redocly-openapi-docs.min.lint-DzAaVAOn.js +181 -0
- package/dist/redocly-openapi-docs.min.lint-graphql-GMwEJAKm.js +3 -0
- package/dist/redocly-openapi-docs.min.respect-run-DeLDyD3E.js +78 -0
- package/dist/redocly-openapi-docs.min.standalone-DrxWsrqx.js +12112 -0
- package/dist/redocly-openapi-docs.min.step-context.schema-DEgzIgw0.js +1 -0
- package/dist/redocly-openapi-docs.min.tauri-path-Q8cku-q2.js +1 -0
- package/dist/redocly-openapi-docs.min.useAiChatQueries-Bjb0Ax3R.js +381 -0
- package/lib/components/ApiInfo/ApiInfo.d.ts +1 -1
- package/lib/components/Callbacks/CallbackOperation.js +1 -1
- package/lib/components/Callbacks/CallbackSummary.d.ts +1 -1
- package/lib/components/Callbacks/CallbackSummary.js +1 -1
- package/lib/components/Callbacks/CallbacksList.js +1 -1
- package/lib/components/Content/useAutoScroll.js +1 -1
- package/lib/components/ContentItem/useIsExpanded.d.ts +1 -1
- package/lib/components/ContentItem/useIsExpanded.js +1 -1
- package/lib/components/ContentItems/ContentItems.js +1 -1
- package/lib/components/ContentItems/VirtualList.d.ts +4 -2
- package/lib/components/ContentItems/VirtualList.js +1 -1
- package/lib/components/ContentItems/useScrollOnRender.js +1 -1
- package/lib/components/Download/DownloadSpecification.d.ts +1 -1
- package/lib/components/ExpandAllButton/ExpandAllButton.js +2 -2
- package/lib/components/ExpandAllButton/helpers.d.ts +5 -0
- package/lib/components/ExpandAllButton/helpers.js +1 -0
- package/lib/components/McpOverview/McpOverview.d.ts +1 -1
- package/lib/components/PayloadSamples/Example.d.ts +1 -1
- package/lib/components/PayloadSamples/ExampleValue.d.ts +1 -1
- package/lib/components/PropertyDetails/DescriptionEnums.d.ts +1 -1
- package/lib/components/PropertyDetails/FieldDetail.js +8 -2
- package/lib/components/PropertyDetails/FieldDetails.js +8 -8
- package/lib/components/PropertyDetails/SimpleEnums.d.ts +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsStandalone.d.ts +1 -1
- package/lib/components/Replay/EmbeddedReplay.d.ts +1 -1
- package/lib/components/Replay/Replay.js +1 -1
- package/lib/components/Request/RequestDetails.js +4 -4
- package/lib/components/RequestParameters/RequestParameters.d.ts +1 -1
- package/lib/components/RequestSamples/useCodeSamples.d.ts +1 -1
- package/lib/components/ResponseSamples/ResponseSamples.d.ts +1 -1
- package/lib/components/Responses/OperationResponseList.js +2 -2
- package/lib/components/Schema/ArraySchema.js +1 -1
- package/lib/components/Schema/Schema.js +1 -1
- package/lib/components/Schema/SubSchema.js +1 -1
- package/lib/components/Schema/helpers.d.ts +1 -1
- package/lib/components/Schema/types.d.ts +2 -0
- package/lib/components/Schema/useOneOfLocationIdx.js +1 -1
- package/lib/components/SectionContent/SectionContent.d.ts +1 -1
- package/lib/components/Security/RequiredScopesList.d.ts +1 -1
- package/lib/components/Security/ScopeTagWithTooltip.d.ts +1 -1
- package/lib/components/Security/SecurityFlow.d.ts +1 -1
- package/lib/components/SideMenu/hooks/useMenuItems.js +1 -1
- package/lib/components/StickySidebar/StickyResponsiveSidebar.js +1 -1
- package/lib/components/TagItem/OperationNavigationItems.d.ts +1 -1
- package/lib/components/TagItem/OperationsNavigation.d.ts +1 -1
- package/lib/components/TagItem/OperationsNavigation.js +1 -1
- package/lib/components/TagItem/TagItem.d.ts +1 -1
- package/lib/components/TagItem/TagItem.js +1 -1
- package/lib/components/ViewNested/ViewNested.d.ts +1 -0
- package/lib/components/ViewNested/ViewNested.js +6 -6
- package/lib/components/common/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/common/LinkToField.js +1 -1
- package/lib/components/common/SchemaSelection/SchemaSelection.d.ts +1 -1
- package/lib/components/common/linkify.js +1 -1
- package/lib/contexts/expand-all-depth.d.ts +2 -0
- package/lib/contexts/expand-all-depth.js +1 -0
- package/lib/hooks/useRouter.js +1 -1
- package/lib/hooks/useUppercase2LowercaseRedirect.js +1 -1
- package/lib/jotai/operation.d.ts +1 -1
- package/lib/models/field.js +1 -1
- package/lib/models/mediaContent.d.ts +1 -1
- package/lib/models/mediaType.d.ts +1 -1
- package/lib/models/request.d.ts +1 -1
- package/lib/models/response.d.ts +1 -1
- package/lib/models/schema.d.ts +1 -1
- package/lib/models/schema.js +2 -2
- package/lib/models/security.d.ts +1 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/code-samples/generator.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-builder.d.ts +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-helpers.d.ts +1 -1
- package/lib/services/config-options/normalizeOptions.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/path.d.ts +1 -1
- package/package.json +14 -14
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as i,jsxs as e}from"react/jsx-runtime";import{memo as T,useCallback as v}from"react";import{useNavigate as W}from"react-router
|
|
1
|
+
import{jsx as i,jsxs as e}from"react/jsx-runtime";import{memo as T,useCallback as v}from"react";import{useNavigate as W}from"react-router";import{useAtomValue as M}from"jotai";import{LayoutVariant as C}from"@redocly/config";import{Markdown as o}from"@redocly/theme/components/Markdown/Markdown";import{breakpoints as d}from"@redocly/theme/core/openapi";import{Button as I}from"@redocly/theme/components/Button/Button";import{PageActions as j}from"@redocly/theme/components/PageActions/PageActions";import{H2 as B}from"@redocly/theme/components/Typography/H2";import{LinkIcon as A}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{encodeBackSlashes as L,getBreadcrumbs as H}from"../../utils/index.js";import{joinWithSeparator as $}from"../../services/history/helpers.js";import{Row as P,SamplesMiddlePanel as w,SamplesPanel as c,ShareLink as D}from"../common/index.js";import{Markdown as N}from"../Markdown/index.js";import{OperationsNavigation as V}from"./OperationsNavigation.js";import{Breadcrumbs as _}from"./Breadcrumbs.js";import{layoutAtom as E}from"../../jotai/app.js";import{useTranslate as F}from"../../hooks/index.js";import{styled as r}from"../../styled-components.js";import{StyledShareLink as K}from"../common/linkify.js";function O({item:a,routingBasePath:n="",isExpanded:g}){const b=F(),{description:k,name:f,href:x}=a,t=W(),h=M(E),l=$(n,a.href),S=v(()=>{t(l)},[t,l]),p=!!a.items.length,m=h===C.STACKED,s=!p,u=H(a),y=v(z=>{t($(n,L(z)))},[t,n]);return e(R,{expanded:g,children:[e(P,{layout:h,children:[e(q,{fullWidth:s,isStacked:m,children:[e(G,{fullWidth:s,isStacked:m,children:[u.length>0&&i(_,{breadcrumbs:u,onClick:y}),e(Q,{children:[i(D,{to:x,"aria-label":`link to ${f}`}),f]}),i(j,{pageSlug:l})]}),i(J,{fullWidth:s,isStacked:m,children:i(N,{source:k})})]}),p&&i(V,{items:a.items,routingBasePath:n})]}),p&&!g&&e(U,{type:"button",variant:"text",size:"medium",onClick:S,children:["+ ",b("openapi.actions.show","Show")]})]})}const $a=T(O),R=r.div`
|
|
2
2
|
padding-top: var(--spacing-lg);
|
|
3
3
|
padding-bottom: ${({expanded:a})=>a?"var(--spacing-xxl)":""};
|
|
4
4
|
`,q=r(w)`
|
|
@@ -7,6 +7,7 @@ interface ViewNestedProps {
|
|
|
7
7
|
hideText?: string;
|
|
8
8
|
hideDivider?: boolean;
|
|
9
9
|
expandedAll?: boolean;
|
|
10
|
+
expandAllDepth?: number;
|
|
10
11
|
isNestedArray?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export declare const ViewNested: import("react").NamedExoticComponent<PropsWithChildren<ViewNestedProps>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Fragment as
|
|
1
|
+
import{Fragment as f,jsx as o,jsxs as d}from"react/jsx-runtime";import{css as c}from"styled-components";import{memo as j,useEffect as C,useState as E}from"react";import{isUndefined as g}from"@redocly/theme/core/openapi";import{cycleColorsByLevel as A}from"../PropertyDetails/cycleColorsByLevel.js";import{CircleIcon as P}from"../PropertyDetails/PlusCircleIcon.js";import{MAX_EXPAND_ALL_DEPTH as h}from"../ExpandAllButton/helpers.js";import{LabelValue as S}from"../common/styled.js";import{styled as p}from"../../styled-components.js";function V({expandByDefault:e,level:m,expandable:b=!1,expandText:y,hideText:u,hideDivider:w=!1,children:i,expandedAll:t,expandAllDepth:$,isNestedArray:a}){const _=Math.min($??h,h),n=g(t)||t&&Number(m)>_?void 0:t,[r,l]=E(n??(e||a)??!1);C(()=>{g(n)||l(n)},[n]);const s=r?A(m):void 0;if(!b)return i;const L=()=>{l(N=>!N)};return a?d(f,{children:[o(S,{children:"Array ["}),o(v,{$isArrayInsideArray:a,className:"view-nested-wrapper",children:o(x,{color:s,children:i})})]}):o(f,{children:d(v,{$divider:!w&&!r,className:"view-nested-wrapper",children:[d(k,{onClick:L,children:[o(P,{sign:r?"-":"+",color:s}),!r&&y,r&&(u||"")]}),r&&o(x,{color:s,children:i})]})})}const U=j(V),k=p.button`
|
|
2
2
|
background: none;
|
|
3
3
|
border: none;
|
|
4
4
|
cursor: pointer;
|
|
@@ -12,22 +12,22 @@ import{Fragment as l,jsx as o,jsxs as s}from"react/jsx-runtime";import{css as d}
|
|
|
12
12
|
line-height: var(--line-height-base);
|
|
13
13
|
margin-top: var(--spacing-xxs);
|
|
14
14
|
width: 100%;
|
|
15
|
-
`,
|
|
15
|
+
`,x=p.div`
|
|
16
16
|
padding-left: var(--schema-nested-offset);
|
|
17
17
|
border-left: 1px solid ${({color:e})=>e||"var(--border-color-primary)"};
|
|
18
18
|
margin: -10px 0 0 9px;
|
|
19
|
-
${({color:e})=>e&&
|
|
19
|
+
${({color:e})=>e&&c`
|
|
20
20
|
.schema-name {
|
|
21
21
|
color: ${e};
|
|
22
22
|
}
|
|
23
23
|
`}
|
|
24
|
-
`,
|
|
24
|
+
`,v=p.div`
|
|
25
25
|
width: 100%;
|
|
26
|
-
${({$isArrayInsideArray:e})=>e&&
|
|
26
|
+
${({$isArrayInsideArray:e})=>e&&c`
|
|
27
27
|
padding-top: var(--schema-property-details-spacing);
|
|
28
28
|
`}
|
|
29
29
|
|
|
30
|
-
${({$divider:e})=>e&&
|
|
30
|
+
${({$divider:e})=>e&&c`
|
|
31
31
|
border-bottom: 1px solid var(--border-color-primary);
|
|
32
32
|
padding-bottom: var(--schema-property-details-spacing);
|
|
33
33
|
`}
|
|
@@ -8,6 +8,6 @@ export interface DropdownProps<T> {
|
|
|
8
8
|
triggerSize?: string;
|
|
9
9
|
fullWidth?: boolean;
|
|
10
10
|
}
|
|
11
|
-
declare function DropdownComponent<T>({ options, value, onChange, className, triggerVariant, triggerSize, fullWidth }: DropdownProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DropdownComponent<T>({ options, value, onChange, className, triggerVariant, triggerSize, fullWidth, }: DropdownProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export declare const Dropdown: typeof DropdownComponent;
|
|
13
13
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as c}from"react/jsx-runtime";import{css as p}from"styled-components";import{useLocation as l}from"react-router
|
|
1
|
+
import{jsx as c}from"react/jsx-runtime";import{css as p}from"styled-components";import{useLocation as l}from"react-router";import{LinkIcon as r}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{encodeBackSlashes as m}from"../../utils/string.js";import{constructFieldDeepFragment as d,joinWithSeparator as n}from"../../services/history/helpers.js";import{ShareLink as f}from"./linkify.js";import{styled as h}from"../../styled-components.js";function F(i,s){const o=i.deps.operation,e=d(i,s);if(!o?.id&&!o.isCallback)return"#"+e.toLowerCase();const t=n(o.href,n(o.id,e),"#");return m(t.toLowerCase())}const S=({to:i,className:s})=>{const o=i,e=l(),t=o?.split("#")[1],a=e?e.hash===`#${t}`:!1;return c(k,{ariaLabel:`link to ${o}`,className:s,isActive:a,to:o,id:t})},k=h(f)`
|
|
2
2
|
display: flex;
|
|
3
3
|
${r} {
|
|
4
4
|
visibility: hidden;
|
|
@@ -7,6 +7,6 @@ interface SchemaSelectionProps {
|
|
|
7
7
|
schema: SchemaModel;
|
|
8
8
|
defaultOneOfIdx: number;
|
|
9
9
|
}
|
|
10
|
-
declare function SchemaSelectionComponent({ options, onChange, pointer, schema, defaultOneOfIdx }: SchemaSelectionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
declare function SchemaSelectionComponent({ options, onChange, pointer, schema, defaultOneOfIdx, }: SchemaSelectionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
11
|
export declare const SchemaSelection: typeof SchemaSelectionComponent;
|
|
12
12
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as a,jsxs as c}from"react/jsx-runtime";import{useAtomValue as m}from"jotai";import{Link as h}from"react-router
|
|
1
|
+
import{jsx as a,jsxs as c}from"react/jsx-runtime";import{useAtomValue as m}from"jotai";import{Link as h}from"react-router";import{LinkIcon as o}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{globalOptionsAtom as d}from"../../jotai/store.js";import{tryDecodeURIComponent as f}from"../../utils/index.js";import{styled as k}from"../../styled-components.js";import{joinWithSeparator as e}from"../../services/history/helpers.js";function u(i){const{routingBasePath:n,onDeepLinkClick:r}=m(d),t=i.to,l=r&&{onClick:s=>{s.preventDefault(),r(e(n||"",t))}};return t?a(h,{"aria-label":i["aria-label"]||`link to ${t}`,id:f(i.id||""),className:i.className||"",to:t?.startsWith("#")?t:e(n||"",t),...l,children:i.children}):i.children?c("span",{"aria-label":i["aria-label"]||`link to ${t}`,className:i.className,children:[" ",i.children," "]}):null}const b=k(u)`
|
|
2
2
|
position: absolute;
|
|
3
3
|
top: 50%;
|
|
4
4
|
left: 0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as t,useContext as e}from"react";const n=t(void 0);function p(){return e(n)}export{n as ExpandAllDepthContext,p as useExpandAllDepth};
|
package/lib/hooks/useRouter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BrowserRouter as s,HashRouter as a,MemoryRouter as n}from"react-router
|
|
1
|
+
import{BrowserRouter as s,HashRouter as a,MemoryRouter as n}from"react-router";const m={history:s,memory:n,hash:a},R=(e,o)=>{const r=m[e],t={...e!=="memory"&&{basename:o,feature:{v7_startTransition:!1,v7_relativeSplatPath:!1}}};return{Router:r,routerProps:t}};export{R as useRouter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect as t}from"react";import{useLocation as o,useNavigate as r}from"react-router
|
|
1
|
+
import{useEffect as t}from"react";import{useLocation as o,useNavigate as r}from"react-router";function p(){const a=r(),e=o();t(()=>{e.pathname.toLowerCase()!==e.pathname&&a(e.pathname.toLowerCase(),{replace:!0})},[e.pathname,a])}export{p as useUppercase2LowercaseRedirect};
|
package/lib/jotai/operation.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare function getDefaultOperationStore(pointer: string, requestValues?
|
|
|
19
19
|
}, activeExampleName?: string): {
|
|
20
20
|
activeExampleName: string | undefined;
|
|
21
21
|
activeOneOf: {
|
|
22
|
-
[
|
|
22
|
+
[pointer]: number;
|
|
23
23
|
};
|
|
24
24
|
requestValues: {
|
|
25
25
|
[field: string]: any;
|
package/lib/models/field.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{REDOCLY_TEAMS_RBAC as m}from"@redocly/config";import{joinWithSeparator as V}from"../services/index.js";import{extractExtensions as I,getValueFromMdParsedExtension as E,mapValues as L,removePercentChart as T}from"../utils/index.js";import{getSchema as _}from"./schema.js";import{getExamples as j}from"./example.js";const F={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0},querystring:{style:"form",explode:!0}};function U(l,
|
|
1
|
+
import{REDOCLY_TEAMS_RBAC as m}from"@redocly/config";import{joinWithSeparator as V}from"../services/index.js";import{extractExtensions as I,getValueFromMdParsedExtension as E,mapValues as L,removePercentChart as T}from"../utils/index.js";import{getSchema as _}from"./schema.js";import{getExamples as j}from"./example.js";const F={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0},querystring:{style:"form",explode:!0}};function U(l,d,p,i,a,x,b=p){const{resolved:e}=l.deref(d),P=d.kind||"field",f=d.name||e.name,o=e.in,v=!!e.required;let r=e.schema,u,s="",c;if(!r&&e.in&&e.content){s=Object.keys(e.content)[0];const n=e.content[s];r=n&&n?.example!==void 0?{...l.deref(n.schema,x,!0).resolved,example:e.example!==void 0?e.example:n.example}:n.schema}const h=V(a.parentFieldFullPath,T(f||"")),t=_({parser:l,schemaOrRef:r||{},pointer:p,options:i,baseRefsStack:x,absolutePointer:d.$ref||e.schema?.absolutePointer||b,deps:{...a,parentFieldFullPath:h,in:o}}),w=e.description===void 0?E(t,"description")||"":E(e,"description"),R=e.example!==void 0?e.example:t.example,y=e.examples||e.content?.[s]?.examples,S=y?L(y,(n,M)=>j({parser:l,infoOrRef:n,mime:M,encoding:e.encoding})):void 0;s?u=s:e.style?c=e.style:o&&(c=F[o]?.style??"form");const A=e.explode===void 0&&o?F[o]?.explode??!0:!!e.explode,k=e.deprecated===void 0?t.deprecated:e.deprecated,q=i.showExtensions?I(e,i.showExtensions):void 0,C=t?.const||e?.const||"",g=e["x-badges"]??t.schema?.["x-badges"];return{deps:a||{},schema:t,name:f,required:v,description:w,example:R,examples:S,deprecated:k,in:o,kind:P,extensions:q,explode:A,style:c,const:C,serializationMime:u,fieldFullPath:h,...g?.length&&{badges:g},...e.allowReserved&&{allowReserved:e.allowReserved},[m]:e[m]||t[m]}}export{U as getField};
|
|
@@ -3,5 +3,5 @@ import type { MediaContentModel, MediaContentModelInput } from './types.js';
|
|
|
3
3
|
* MediaContent model ready to be sued by React components
|
|
4
4
|
* Contains multiple MediaTypes and keeps track of the currently active one
|
|
5
5
|
*/
|
|
6
|
-
export declare function getMediaContent({ parser, info, isRequestType, options, data: { operation, type, response, absolutePointer } }: MediaContentModelInput): MediaContentModel;
|
|
6
|
+
export declare function getMediaContent({ parser, info, isRequestType, options, data: { operation, type, response, absolutePointer }, }: MediaContentModelInput): MediaContentModel;
|
|
7
7
|
export declare function getActiveMediaType(content: MediaContentModel, activeMimeName?: string): import("./types.js").MediaTypeModel;
|
|
@@ -11,7 +11,7 @@ import type { MediaTypeModel, ResponseModel, OperationModel } from './types.js';
|
|
|
11
11
|
* @param type
|
|
12
12
|
* @param response
|
|
13
13
|
*/
|
|
14
|
-
export declare function getMediaType(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: Options, { operation, type, response, absolutePointer }: {
|
|
14
|
+
export declare function getMediaType(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: Options, { operation, type, response, absolutePointer, }: {
|
|
15
15
|
operation: OperationModel;
|
|
16
16
|
type?: 'request' | 'response';
|
|
17
17
|
response?: ResponseModel;
|
package/lib/models/request.d.ts
CHANGED
|
@@ -8,5 +8,5 @@ type GetRequestBodyInput = {
|
|
|
8
8
|
isEvent?: boolean;
|
|
9
9
|
operation: OperationModel;
|
|
10
10
|
};
|
|
11
|
-
export declare function getRequestBody({ parser, infoOrRef, options, isEvent, operation }: GetRequestBodyInput): RequestBodyModel;
|
|
11
|
+
export declare function getRequestBody({ parser, infoOrRef, options, isEvent, operation, }: GetRequestBodyInput): RequestBodyModel;
|
|
12
12
|
export {};
|
package/lib/models/response.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ type ResponseProps = {
|
|
|
10
10
|
operation: OperationModel;
|
|
11
11
|
isEvent?: boolean;
|
|
12
12
|
};
|
|
13
|
-
export declare function getResponse({ parser, code, defaultAsError, infoOrRef, options, isEvent, operation }: ResponseProps): ResponseModel;
|
|
13
|
+
export declare function getResponse({ parser, code, defaultAsError, infoOrRef, options, isEvent, operation, }: ResponseProps): ResponseModel;
|
|
14
14
|
export {};
|
package/lib/models/schema.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { OpenAPISchema, Referenced } from '../types/index.js';
|
|
2
2
|
import type { OpenAPIParser, Options } from '../services/index.js';
|
|
3
3
|
import type { Deps, SchemaModel } from './types.js';
|
|
4
|
-
export declare function getSchema({ parser, schemaOrRef, pointer, options, isChild, isDefaultMapping, baseRefsStack, deps, absolutePointer }: {
|
|
4
|
+
export declare function getSchema({ parser, schemaOrRef, pointer, options, isChild, isDefaultMapping, baseRefsStack, deps, absolutePointer, }: {
|
|
5
5
|
parser: OpenAPIParser;
|
|
6
6
|
schemaOrRef: Referenced<OpenAPISchema>;
|
|
7
7
|
pointer: string;
|
package/lib/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{REDOCLY_TEAMS_RBAC as
|
|
2
|
-
Field must be an object but got ${typeof
|
|
1
|
+
import{REDOCLY_TEAMS_RBAC as h}from"@redocly/config";import{isObject as D}from"@redocly/theme/core/openapi";import{pushRef as w}from"../services/OpenAPIParser.js";import{detectType as C,extractExtensions as q,getValueFromMdParsedExtension as M,humanizeConstraints as B,isNamedDefinition as S,isPrimitiveType as z,JsonPointer as b,pluralizeType as L,sortByDeprecated as J,sortByRequired as V}from"../utils/index.js";import{getField as T}from"./field.js";function I({parser:r,schemaOrRef:n,pointer:m,options:l,isChild:x=!1,isDefaultMapping:p=!1,baseRefsStack:f=[],deps:a,absolutePointer:y}){const{resolved:d,refsStack:c}=r.deref(n,f,!0),u=n.$ref||m||y||"",o=w(c,u),t=r.mergeAllOf(d,u,o,n.$ref||y),s=t.type||C(t);let g,A=!1;const e={operationPointer:a.operation?.pointer||y||"",schemaOrRef:n,isChild:x,isDefaultMapping:p,typePrefix:"",pointer:u,absolutePointer:y,refsStack:o,rawSchema:d,type:s,isCircular:!!t["x-circular-ref"],isComplex:!!t["x-complex"],title:t.title||S(u)&&b.baseName(u)||"",description:M(t,"description")||"",format:t.format,enum:t.enum||[],example:t.example,deprecated:!!t.deprecated,pattern:t.pattern,externalDocs:t.externalDocs,displayFormat:t.format,isPrimitive:z(t,s),constraints:B(t),default:t.default,readOnly:!!t.readOnly,writeOnly:!!t.writeOnly,const:t.const||"",contentEncoding:t.contentEncoding,contentMediaType:t.contentMediaType,minItems:t.minItems,maxItems:t.maxItems,nullable:t.nullable||t["x-nullable"],schema:t,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,[h]:t[h],"x-enumDescriptions":M(t,"x-enumDescriptions"),get fields(){return A||(A=!0,!e.isCircular&&!e.isComplex&&($(e,"object")||$(e,"array")&&R(t))&&(g=K(r,t,u,l,o,a))),g}};if((t.nullable||t["x-nullable"])&&(Array.isArray(e.type)&&!e.type.some(i=>i===null||i==="null")?e.type=[...e.type,"null"]:!Array.isArray(e.type)&&(e.type!==null||e.type!=="null")&&(e.type=[e.type,"null"])),e.displayType=Array.isArray(e.type)?e.type.map(i=>i===null?"null":i).join(" or "):e.type,e.isCircular)return e;if(t.if&&t.then||t.if&&t.else){const{oneOf:i,oneOfType:O}=H({schema:t,parser:r,pointer:u,options:l,deps:a,refsStack:o});return e.oneOf=i,e.oneOfType=O,e}if(!x&&v(t)!==void 0){const{oneOf:i,discriminatorProp:O}=_({schema:t,parser:r,deps:a,mergedSchema:t,options:l,pointer:u,refsStack:o});return e.oneOf=i,e.discriminatorProp=O,e}else x&&Array.isArray(t.oneOf)&&t.oneOf.find(i=>i.$ref===u)&&delete t.oneOf;if(t.oneOf!==void 0){const{oneOf:i,displayType:O}=k({schemaOneOf:t.oneOf,parser:r,deps:a,options:l,pointer:u,refsStack:o,schema:t});return e.oneOfType="One of",i&&(e.oneOf=i),e.displayType=O,t.anyOf!==void 0&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${u}`),e}if(t.anyOf!==void 0){const{oneOf:i,displayType:O}=k({schemaOneOf:t.anyOf,parser:r,deps:a,options:l,pointer:u,refsStack:o,schema:t});return i&&(e.oneOf=i),e.displayType=O,e.oneOfType="Any of",e}if($(e,"array")){t.items&&!R(t)&&(e.items=I({parser:r,schemaOrRef:t.items,pointer:u+"/items",options:l,baseRefsStack:o,deps:a,absolutePointer:b.join(t.absolutePointer||"",["items"])}));const i=!!(e.items?.isPrimitive&&(e.items.description||e.items.pattern||e.items.constraints.length||e.items.externalDocs||e.items.default!==void 0||e.items.const||e.items.deprecated||e.items.contentEncoding)),O=e.items&&$(e.items,"array")&&e.items.displayType==="any"?"array":e.items?.displayType;e.displayType=t.prefixItems||Array.isArray(t.items)||t.items===!1?"items":L(O||"any"),e.typePrefix=e.items?.typePrefix||"Array of ",i||(e.displayFormat=e.items?.format||"",e.title=e.title||e.items?.title||""),e.isPrimitive=i?!1:e.items?.isPrimitive!==void 0?e.items?.isPrimitive:e.isPrimitive,e.example===void 0&&e.items?.example!==void 0&&!i&&(e.example=[e.items.example]);const P=t.prefixItems||(Array.isArray(t.items)?t.items:[]);if(Array.isArray(e.example)&&e.example.length&&P.length&&e.example.length<=P.length&&(e.example=void 0),e.items?.isPrimitive&&!i&&(e.enum=e.items.enum,e["x-enumDescriptions"]=M(e.items,"x-enumDescriptions")),Array.isArray(e.type)){const F=e.type.filter(E=>E!=="array");F.length&&(e.displayType+=` or ${F.join(" or ")}`)}}return l.showExtensions&&(e.extensions=q(t,l.showExtensions)),e}function _({schema:r,parser:n,pointer:m,options:l,refsStack:x,deps:p,mergedSchema:f}){const a=v(r),y=a?.propertyName,d=n.findDerived([...f["x-parentRefs"]||[],m]);if(r.oneOf)for(const e of r.oneOf){if(e.$ref===void 0)continue;const i=b.baseName(e.$ref);d[e.$ref]=i}const c=a?.mapping||{},u=a?.["x-explicitMappingOnly"]??Object.keys(c).length>0,o={};for(const e in c){const i=c[e];Array.isArray(o[i])?o[i].push(e):o[i]=[e]}const t=u?{...o}:{...d,...o};let s=[];for(const e of Object.keys(t)){const i=t[e];if(Array.isArray(i))for(const O of i)s.push({$ref:e,name:O});else s.push({$ref:e,name:i})}if(a?.defaultMapping){const e=s.findIndex(O=>O.name===b.baseName(a.defaultMapping)),i="Default mapping";~e?s[e]={$ref:a.defaultMapping,name:i,isDefaultMapping:!0}:s.push({$ref:a.defaultMapping,name:i,isDefaultMapping:!0})}const g=Object.keys(c);return g.length!==0&&(s=s.sort((e,i)=>{if(e.isDefaultMapping&&!i.isDefaultMapping)return 1;if(!e.isDefaultMapping&&i.isDefaultMapping)return-1;const O=g.indexOf(e.name),P=g.indexOf(i.name);return O<0&&P<0?e.name.localeCompare(i.name):O<0?1:P<0?-1:O-P})),{oneOf:s.map(({$ref:e,name:i,isDefaultMapping:O},P)=>{const F=I({parser:n,schemaOrRef:{$ref:e},pointer:e,options:l,isChild:!0,isDefaultMapping:O,baseRefsStack:x.slice(0,-1),deps:{...p,parentFieldFullPath:p.parentFieldFullPath?p.parentFieldFullPath+"&d="+P:"&d="+P.toString()},absolutePointer:f.absolutePointer});return F.title=i,F}),discriminatorProp:y}}function k({schemaOneOf:r,parser:n,refsStack:m,pointer:l,schema:x,options:p,deps:f}){const a=r.map((d,c)=>{const{resolved:u,refsStack:o}=n.deref(d,m,!0),t=n.mergeAllOf(u,l+"/oneOf/"+c,o),s=S(d.$ref)&&!t.title?b.baseName(d.$ref):`${t.title||""}${t.const&&JSON.stringify(t.const)||""}`;return I({parser:n,schemaOrRef:{...t,title:s,allOf:[{...x,oneOf:void 0,anyOf:void 0}],discriminator:u.allOf?void 0:t.discriminator},pointer:d.$ref||l+"/oneOf/"+c,options:p,baseRefsStack:o,deps:{...f,parentFieldFullPath:f.parentFieldFullPath?f.parentFieldFullPath+"&oneOf="+c:"&oneOf="+c.toString()}})}),y=[...new Set(a.map(d=>{let c=d.typePrefix+(d.title&&!p.hideSchemaTitles?`${d.title} (${d.displayType})`:d.displayType);return c.indexOf(" or ")>-1&&(c=`(${c})`),c}))].join(" or ");return{oneOf:a,displayType:y}}function H({schema:r,parser:n,pointer:m,options:l,refsStack:x,deps:p}){const{if:f,else:a={},then:y={},...d}=r;return{oneOf:[{allOf:[d,y,f],title:f&&f["x-displayName"]||f?.title||"case 1"},{allOf:[d,a],title:a&&a["x-displayName"]||a?.title||"case 2"}].map((t,s)=>I({parser:n,schemaOrRef:{...t},pointer:m+"/oneOf/"+s,options:l,baseRefsStack:x,deps:{...p,parentFieldFullPath:p.parentFieldFullPath?p.parentFieldFullPath+"&oneOf="+s:"&oneOf="+s.toString()}})),oneOfType:"One of"}}function j(r,n,m){return r||(console.warn(`Field "${n}" is invalid, skipping.
|
|
2
|
+
Field must be an object but got ${typeof r} at "${m}"`),{})}function K(r,n,m,l,x,p){let f=n.properties||($(n,"array")?n.prefixItems||n.items:void 0)||{};const a=n.patternProperties||{},y=n.additionalProperties||n.unevaluatedProperties,d=n.prefixItems?n.items:n.additionalItems,c=n.default||{},u=!!n.properties||Array.isArray(n.example)&&n.example.length>0&&n.example.length<=Object.keys(f).length;let o=Object.keys(f).map(t=>{const s=j(f[t],t,m),g=n.required===void 0?!1:n.required.indexOf(t)>-1,A=u?n.example?.[t]:void 0,e=n.properties?s.example!==void 0?s.example:A:A!==void 0?A:s.example;return T(r,{name:n.properties?t:`[${t}]`,required:g,schema:{...s,example:e,default:s.default===void 0&&c?c[t]:s.default}},m+"/properties/"+t,l,p,x,b.join(n.absolutePointer||"",["properties",t]))});return l.sortRequiredPropsFirst&&(o=V(o,n.required)),o.push(...Object.keys(a).map(t=>{const s=j(a[t],t,m);return T(r,{name:t,required:!1,schema:s,kind:"patternProperties"},`${m}/patternProperties/${t}`,l,p,x)})),(D(y)||y===!0)&&o.push(T(r,{name:(D(y)&&y["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:y===!0?{}:y,kind:"additionalProperties"},m+"/additionalProperties",l,p,x,b.join(n.absolutePointer||"",["additionalProperties"]))),o.push(...Y({parser:r,schema:d,fieldsCount:o.length,$ref:m,options:l,refsStack:x,deps:p})),J(o)}function Y({parser:r,schema:n=!1,fieldsCount:m,$ref:l,options:x,refsStack:p,deps:f}){return typeof n=="boolean"?n?[T(r,{name:`[${m}...]`,schema:{},kind:"additionalItems"},`${l}/additionalItems`,x,f,p)]:[]:Array.isArray(n)?[...n.map((a,y)=>T(r,{name:`[${m+y}]`,schema:a,kind:"additionalItems"},`${l}/additionalItems/${y}`,x,f,p))]:D(n)?[T(r,{name:`[${m}...]`,schema:n,kind:"additionalItems"},`${l}/additionalItems`,x,f,p)]:[]}function v(r){return r.discriminator||r["x-discriminator"]}function $(r,n){return r.type===n||Array.isArray(r.type)&&r.type.includes(n)}function R(r){return!!(Array.isArray(r.items)||Array.isArray(r.prefixItems))}export{I as getSchema};
|
package/lib/models/security.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import type { OpenAPIParser } from '../services/index.js';
|
|
|
3
3
|
import type { SecurityRequirement, SecurityScheme } from './types.js';
|
|
4
4
|
export declare function getSecurity(requirements: OpenAPISecurityRequirement[] | undefined, parser: OpenAPIParser): SecurityRequirement[];
|
|
5
5
|
export declare function getSecurityScheme(parser: Partial<OpenAPIParser>, id: string, scheme: Referenced<OpenAPISecurityScheme>): SecurityScheme;
|
|
6
|
-
export declare function getSecuritySchemes({ parser }: {
|
|
6
|
+
export declare function getSecuritySchemes({ parser, }: {
|
|
7
7
|
parser: Partial<OpenAPIParser>;
|
|
8
8
|
}): Array<SecurityScheme>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{IS_BROWSER as
|
|
1
|
+
import{IS_BROWSER as W,isObject as R,isString as z,isUndefined as i}from"@redocly/theme/core/openapi";import{tryDecodeURIComponent as F,getDefinitionName as I}from"../utils/index.js";import{JsonPointer as g}from"../utils/JsonPointer.js";import{normalizeOptions as J}from"./config-options/normalizeOptions.js";function $(y,r){return r&&y[y.length-1]!==r?[...y,r]:y}function k(y,r){return r?y.concat(r):y}class j{options;definitionUrl;definition;allowMergeRefs=!1;constructor(r,t,l=J({})){this.options=l,this.definition=Object.assign({},r),this.validate(r),this.definition=r,this.allowMergeRefs=r.openapi.startsWith("3.1");const o=W?window.location.href:"";z(t)&&(this.definitionUrl=new URL(t,o).href)}validate(r){if(i(r.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}byRef=r=>{let t;if(this.definition){r.charAt(0)!=="#"&&(r="#"+r),r=F(r);try{t=g.get(this.definition,r)}catch{}return t||{}}};isRef(r){return r?(r=r,r.$ref!==void 0&&r.$ref!==null):!1}deref(r,t=[],l=!1,o=0){const n=r?.["x-refsStack"];if(t=k(t,n),o>5)return{resolved:Object.assign({},r,{"x-complex":!0}),refsStack:t};if(this.isRef(r)){const e=I(r.$ref);if(e&&this.options.ignoreNamedSchemas.has(e))return{resolved:{type:"object",title:e},refsStack:t};let s=this.byRef(r.$ref);if(!s)throw new Error(`Failed to resolve $ref "${r.$ref}"`);return t.includes(r.$ref)?s=Object.assign({},s,{"x-circular-ref":!0}):this.isRef(s)&&(s=this.deref(s,t,l,o).resolved),this.allowMergeRefs&&(s=this.mergeRefs(r,s,l)),{resolved:s,refsStack:$(t,r.$ref)}}return{resolved:r,refsStack:k(t,n)}}mergeRefs(r,t,l){const{$ref:o,...n}=r,e=Object.keys(n);if(e.length===0)return t;if(l&&e.some(s=>!["description","x-parsed-md-description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(s))){const{description:s,"x-parsed-md-description":d,title:u,readOnly:f,writeOnly:x,...c}=n;return{allOf:[{description:s,"x-parsed-md-description":d,title:u,readOnly:f,writeOnly:x},t,c]}}else{const s={...t,...n};for(const d of e){const u=`x-parsed-md-${d}`;!(u in n)&&u in s&&delete s[u]}return s}}mergeAllOf(r,t,l,o="",n=0){if(r["x-circular-ref"])return r;if(r=this.hoistOneOfs(r),r.allOf===void 0)return{absolutePointer:o,...r};let e={...r,"x-parentRefs":[],absolutePointer:g.join(o,["allOf"]),allOf:void 0,title:n===0?r.title||I(t):r.title};!i(e.properties)&&R(e.properties)&&(e.properties={...e.properties}),!i(e.items)&&R(e.items)&&(e.items={...e.items});const s=r.allOf.map((d,u)=>{const{resolved:f,refsStack:x}=this.deref(d,l,!0,n),c=d.$ref,m=c||g.join(o,[String(u)]);if(f["x-complex"]){const p={"x-complex":!0};return i(f.readOnly)||(p.readOnly=f.readOnly),i(f.writeOnly)||(p.writeOnly=f.writeOnly),i(f.title)||(p.title=f.title),i(f.description)||(p.description=f.description),{$ref:c,refsStack:$(x,c),schema:p,absolutePointer:m}}const O=this.mergeAllOf(f,c,x,m,n+1);if(!(O["x-circular-ref"]&&O.allOf))return c&&e["x-parentRefs"]?.push(...O["x-parentRefs"]||[],c),{$ref:c,refsStack:$(x,c),schema:O,absolutePointer:m}}).filter(Boolean);for(const[d,{$ref:u,schema:f,refsStack:x,absolutePointer:c}]of s.entries()){const{type:m,enum:O,properties:p,items:C,required:P,title:S,description:M,"x-parsed-md-description":N,readOnly:U,writeOnly:q,oneOf:D,anyOf:v,"x-circular-ref":A,"x-complex":b,...E}=f||{};if(e.type!==m&&!i(e.type)&&!i(m)&&!n)continue;if(i(m)||(Array.isArray(m)&&Array.isArray(e.type)?e.type=[...m,...e.type]:e.type=m),i(O)||(Array.isArray(O)&&Array.isArray(e.enum)?e.enum=Array.from(new Set([...O,...e.enum])):e.enum=O),!i(p)&&R(p)){e.properties=e.properties||{};for(const a in p){const h=k(x,p[a]?.["x-refsStack"]);if(!e.properties[a])e.properties[a]={...p[a],absolutePointer:g.join(c,["properties",a]),"x-refsStack":h};else if(!A){const B=this.mergeAllOf({allOf:[e.properties[a],p[a]],"x-refsStack":h},t+"/properties/"+a,h,g.join(c,["allOf",String(d),"properties",a]),n+1);e.properties[a]=B}}}if(!i(C)&&!A&&!b){const a=typeof e.items=="boolean"?{}:Object.assign({},e.items),h=typeof f.items=="boolean"?{}:Object.assign({},f.items);e.items=this.mergeAllOf({allOf:[a,h]},t+"/items",x,"",n+1)}i(D)||(e.oneOf=D),i(v)||(e.anyOf=v),Array.isArray(P)&&(e.required=[...e.required||[],...P]);const w=e.description?e["x-parsed-md-description"]:N;e["x-parsed-md-description"]!==w&&delete e["x-parsed-md-description"],e={...e,...i(w)?{}:{"x-parsed-md-description":w},title:r.title||(u&&S?S:e.title||S),description:e.description||M,readOnly:i(e.readOnly)?U:e.readOnly,writeOnly:i(e.writeOnly)?q:e.writeOnly,"x-circular-ref":e["x-circular-ref"]||A,"x-complex":e["x-complex"]||b,...E}}return e}findDerived(r){const t={},l=this.definition.components&&this.definition.components.schemas||{};for(const o in l){const{resolved:n}=this.deref(l[o]);!i(n.allOf)&&n.allOf.find(e=>!i(e.$ref)&&r.indexOf(e.$ref)>-1)&&(t["#/components/schemas/"+o]=[n["x-discriminator-value"]||o])}return t}hoistOneOfs(r){if(i(r.allOf))return r;const{allOf:t,...l}=r;for(let o=0;o<t.length;o++){const{oneOf:n,...e}=t[o];if(n&&Array.isArray(n)&&i(e.discriminator)&&i(e["x-discriminator"])){const s=t.slice(0,o),d=t.slice(o+1),u=Object.keys(e).length>0?[e]:[];return{...l,oneOf:n.map(f=>({allOf:[...s,...u,f,...d]}))}}}return r}}export{j as OpenAPIParser,k as concatRefStacks,$ as pushRef};
|
|
@@ -18,7 +18,7 @@ export type CustomHAR = HAR.Request & {
|
|
|
18
18
|
};
|
|
19
19
|
export declare function safeSample(schema: JSONSchema7, options: Sampler.Options, document: object): any;
|
|
20
20
|
export declare function objectToHarParams(obj: GenericObject, parentKey?: string): HAR.Param[];
|
|
21
|
-
export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, environment, translate }: {
|
|
21
|
+
export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, environment, translate, }: {
|
|
22
22
|
lang: Languages;
|
|
23
23
|
operation: OperationModel;
|
|
24
24
|
exampleName?: string;
|
|
@@ -25,7 +25,7 @@ export declare class CodeBuilder {
|
|
|
25
25
|
urlFieldName: string;
|
|
26
26
|
rawName: boolean;
|
|
27
27
|
};
|
|
28
|
-
constructor({ indentation, lineJoin, variablesPrefix, capitalize, lang }: {
|
|
28
|
+
constructor({ indentation, lineJoin, variablesPrefix, capitalize, lang, }: {
|
|
29
29
|
indentation: string;
|
|
30
30
|
lineJoin?: string;
|
|
31
31
|
variablesPrefix?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SnippetRequest } from '../index.js';
|
|
2
2
|
import type { CodeBuilder } from './code-builder.js';
|
|
3
|
-
export declare function getPreserveTransformer({ body, authorizationHeader }: {
|
|
3
|
+
export declare function getPreserveTransformer({ body, authorizationHeader, }: {
|
|
4
4
|
body?: boolean;
|
|
5
5
|
authorizationHeader?: boolean;
|
|
6
6
|
}): (input: GenericObject, prop: string, originalResult: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{LayoutVariant as d}from"@redocly/config";import{isUndefined as m,addTrailingSlash as r}from"@redocly/theme/core/openapi";import{WindowReferenceOptions as n}from"../../constants.js";import{argValueToBoolean as o,argValueToExpandLevel as i,argValueToInt as p,argValueToNumber as c,getWindowReferenceOptions as a,normalizePath as h}from"../../utils/index.js";import{normalizeShowExtensions as f,normalizeScrollYOffset as u,normalizeCodeSamples as S}from"./helpers.js";function y(e,s){e={...s,...e,markdocOptions:{...e?.markdocOptions,components:{...s?.markdocOptions?.components,...e?.markdocOptions?.components},tags:{...s?.markdocOptions?.tags,...e?.markdocOptions?.tags},nodes:{...s?.markdocOptions?.nodes,...e?.markdocOptions?.nodes,heading:s?.markdocOptions?.nodes?.heading||e?.markdocOptions?.nodes.heading}}};const t=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:e.ignoreNamedSchemas?.split(",").map(l=>l.trim());return{downloadUrls:e.downloadUrls,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:e.corsProxyUrl&&r(e.corsProxyUrl),hideSidebar:o(e.hideSidebar,!1),jsonSamplesExpandLevel:i(e.jsonSamplesExpandLevel,2),generatedSamplesMaxDepth:p(e.generatedSamplesMaxDepth,8),hideDownloadButtons:o(e.hideDownloadButtons,!1),hideInfoMetadata:o(e.hideInfoMetadata,!1),hideLoading:o(e.hideLoading,!1),hideSchemaTitles:o(e.hideSchemaTitles,!1),maxDisplayedEnumValues:c(e.maxDisplayedEnumValues),mockServer:e.mockServer?.url?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,hideReplay:o(e.hideReplay,!1),oAuth2RedirectURI:e.oAuth2RedirectURI,onlyRequiredInSamples:o(e.onlyRequiredInSamples,!1),onDeepLinkClick:e.onDeepLinkClick||a(n.ON_DEEP_LINK_CLICK),routingBasePath:m(e
|
|
1
|
+
import{LayoutVariant as d}from"@redocly/config";import{isUndefined as m,addTrailingSlash as r}from"@redocly/theme/core/openapi";import{WindowReferenceOptions as n}from"../../constants.js";import{argValueToBoolean as o,argValueToExpandLevel as i,argValueToInt as p,argValueToNumber as c,getWindowReferenceOptions as a,normalizePath as h}from"../../utils/index.js";import{normalizeShowExtensions as f,normalizeScrollYOffset as u,normalizeCodeSamples as S}from"./helpers.js";function y(e,s){e={...s,...e,markdocOptions:{...e?.markdocOptions,components:{...s?.markdocOptions?.components,...e?.markdocOptions?.components},tags:{...s?.markdocOptions?.tags,...e?.markdocOptions?.tags},nodes:{...s?.markdocOptions?.nodes,...e?.markdocOptions?.nodes,heading:s?.markdocOptions?.nodes?.heading||e?.markdocOptions?.nodes.heading}}};const t=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:e.ignoreNamedSchemas?.split(",").map(l=>l.trim());return{downloadUrls:e.downloadUrls,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:e.corsProxyUrl&&r(e.corsProxyUrl),hideSidebar:o(e.hideSidebar,!1),jsonSamplesExpandLevel:i(e.jsonSamplesExpandLevel,2),generatedSamplesMaxDepth:p(e.generatedSamplesMaxDepth,8),hideDownloadButtons:o(e.hideDownloadButtons,!1),hideInfoMetadata:o(e.hideInfoMetadata,!1),hideLoading:o(e.hideLoading,!1),hideSchemaTitles:o(e.hideSchemaTitles,!1),maxDisplayedEnumValues:c(e.maxDisplayedEnumValues),mockServer:e.mockServer?.url?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,hideReplay:o(e.hideReplay,!1),oAuth2RedirectURI:e.oAuth2RedirectURI,onlyRequiredInSamples:o(e.onlyRequiredInSamples,!1),onDeepLinkClick:e.onDeepLinkClick||a(n.ON_DEEP_LINK_CLICK),routingBasePath:m(e?.disableRouter)?"":e.routingBasePath&&h(e.routingBasePath)||"",schemasExpansionLevel:i(e.schemasExpansionLevel),feedback:e.feedback||{hide:!1},sortRequiredPropsFirst:o(e.sortRequiredPropsFirst,!1),scrollYOffset:u(e.scrollYOffset),showExtensions:f(e.showExtensions),sanitize:o(e.sanitize,!1),skipBundle:o(e.skipBundle,!1),ignoreNamedSchemas:new Set(t),markdocOptions:e?.markdocOptions,codeSamples:S(e.codeSamples),layout:e.layout||d.THREE_PANEL,events:e.events||{},unstable_hooks:e.unstable_hooks||a(n.HOOKS)||{},unstable_skipSamples:o(e.unstable_skipSamples,!1),unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],hidePropertiesPrefix:o(e?.hidePropertiesPrefix,!1)}}export{y as normalizeOptions};
|
package/lib/utils/dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function c(e){return typeof document<"u"?document.querySelector(e):null}function h(e){return e.split(/<[^>]+>/).map(t=>t.trim()).filter(t=>t.length>0).join(" ")}typeof Element<"u"&&!Element.prototype.scrollIntoViewIfNeeded&&(Element.prototype.scrollIntoViewIfNeeded=function(e){e=arguments.length===0?!0:!!e;const t=this.parentNode
|
|
1
|
+
function c(e){return typeof document<"u"?document.querySelector(e):null}function h(e){return e.split(/<[^>]+>/).map(t=>t.trim()).filter(t=>t.length>0).join(" ")}typeof Element<"u"&&!Element.prototype.scrollIntoViewIfNeeded&&(Element.prototype.scrollIntoViewIfNeeded=function(e){e=arguments.length===0?!0:!!e;const t=this.parentNode;if(!t)return;let o;try{o=window.getComputedStyle(t,void 0)}catch{o={getPropertyValue:()=>"0"}}const r=parseInt(o.getPropertyValue("border-top-width"),10),f=parseInt(o.getPropertyValue("border-left-width"),10),i=this.offsetTop-t.offsetTop<t.scrollTop,n=this.offsetTop-t.offsetTop+this.clientHeight-r>t.scrollTop+t.clientHeight,l=this.offsetLeft-t.offsetLeft<t.scrollLeft,s=this.offsetLeft-t.offsetLeft+this.clientWidth-f>t.scrollLeft+t.clientWidth,p=i&&!n;(i||n)&&e&&(t.scrollTop=this.offsetTop-t.offsetTop-t.clientHeight/2-r+this.clientHeight/2),(l||s)&&e&&(t.scrollLeft=this.offsetLeft-t.offsetLeft-t.clientWidth/2-f+this.clientWidth/2),(i||n||l||s)&&!e&&this.scrollIntoView(p)});const u=typeof window<"u"&&"HTMLElement"in window;export{u as IS_BROWSER,h as html2Str,c as querySelector};
|
package/lib/utils/path.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Location } from 'react-router
|
|
1
|
+
import type { Location } from 'react-router';
|
|
2
2
|
export declare function pathIncludesLink(location: Location, link?: string): boolean;
|
|
3
3
|
export declare function pathMatchedLink(location: Location, link?: string): boolean;
|
|
4
4
|
export declare function normalizePath(path: string): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.24.0-next.
|
|
3
|
+
"version": "3.24.0-next.10",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -15,23 +15,23 @@
|
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@redocly/theme": ">=0.68.0-next.0",
|
|
18
|
-
"react": "^19.2.
|
|
19
|
-
"react-dom": "^19.2.
|
|
18
|
+
"react": "^19.2.7",
|
|
19
|
+
"react-dom": "^19.2.7",
|
|
20
20
|
"styled-components": "^4.1.1 || ^5.3.11 || ^6.0.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@babel/core": "7.29.7",
|
|
24
24
|
"@markdoc/markdoc": "0.5.2",
|
|
25
|
-
"@redocly/openapi-core": "2.
|
|
25
|
+
"@redocly/openapi-core": "2.45.0",
|
|
26
26
|
"deepmerge": "^4.2.2",
|
|
27
|
-
"dompurify": "3.4.
|
|
27
|
+
"dompurify": "3.4.12",
|
|
28
28
|
"fast-deep-equal": "^3.1.3",
|
|
29
29
|
"fast-xml-parser": "5.7.3",
|
|
30
30
|
"jotai": "^2.12.5",
|
|
31
31
|
"jotai-family": "1.0.1",
|
|
32
32
|
"json-pointer": "^0.6.2",
|
|
33
33
|
"openapi-sampler": "^1.7.2",
|
|
34
|
-
"react-router
|
|
34
|
+
"react-router": "^8.3.0",
|
|
35
35
|
"slugify": "^1.4.7",
|
|
36
36
|
"stringify-object": "^3.3.0",
|
|
37
37
|
"styled-components": "^6.4.2",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"url-template": "^2.0.8",
|
|
40
40
|
"util": "~0.12.5",
|
|
41
41
|
"web-vitals": "3.3.1",
|
|
42
|
-
"@redocly/config": "0.
|
|
42
|
+
"@redocly/config": "0.53.1",
|
|
43
43
|
"@redocly/redoc-opentelemetry": "0.2.2",
|
|
44
|
-
"@redocly/replay": "0.27.0-next.
|
|
44
|
+
"@redocly/replay": "0.27.0-next.9"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@shikijs/transformers": "3.21.0",
|
|
@@ -54,15 +54,15 @@
|
|
|
54
54
|
"@types/react": "^19.2.7",
|
|
55
55
|
"@types/react-dom": "^19.2.3",
|
|
56
56
|
"@vitejs/plugin-react": "5.1.2",
|
|
57
|
-
"@vitest/coverage-v8": "4.1.
|
|
57
|
+
"@vitest/coverage-v8": "4.1.10",
|
|
58
58
|
"esbuild": "0.28.1",
|
|
59
59
|
"jest-styled-components": "7.2.0",
|
|
60
|
-
"js-yaml": "4.
|
|
60
|
+
"js-yaml": "4.3.0",
|
|
61
61
|
"json-schema": "0.4.0",
|
|
62
62
|
"outdent": "0.8.0",
|
|
63
63
|
"path-browserify": "1.0.1",
|
|
64
|
-
"react": "^19.2.
|
|
65
|
-
"react-dom": "^19.2.
|
|
64
|
+
"react": "^19.2.7",
|
|
65
|
+
"react-dom": "^19.2.7",
|
|
66
66
|
"rimraf": "5.0.7",
|
|
67
67
|
"rollup-plugin-bundle-stats": "^4.22.1",
|
|
68
68
|
"shiki": "3.21.0",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"typescript": "6.0.3",
|
|
71
71
|
"url": "~0.11.0",
|
|
72
72
|
"vite": "7.3.6",
|
|
73
|
-
"vitest": "4.1.
|
|
74
|
-
"@redocly/theme": "0.68.0-next.
|
|
73
|
+
"vitest": "4.1.10",
|
|
74
|
+
"@redocly/theme": "0.68.0-next.7"
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
77
|
"start": "pnpm run copy-highlight-hook && vite",
|