@redocly/openapi-docs 3.4.17 → 3.4.18

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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),theme_1=require("@redocly/theme"),CurlIcon_1=require("../../icons/CurlIcon"),CSharpIcon_1=require("../../icons/CSharpIcon"),NodeJSIcon_1=require("../../icons/NodeJSIcon"),JavaScriptIcon_1=require("../../icons/JavaScriptIcon"),PythonIcon_1=require("../../icons/PythonIcon"),RIcon_1=require("../../icons/RIcon"),RubyIcon_1=require("../../icons/RubyIcon"),PHPIcon_1=require("../../icons/PHPIcon"),GOIcon_1=require("../../icons/GOIcon"),JavaIcon_1=require("../../icons/JavaIcon"),PayloadIcon_1=require("../../icons/PayloadIcon"),styled_1=require("./styled"),iconMap={Payload:(0,jsx_runtime_1.jsx)(PayloadIcon_1.PayloadIcon,{}),curl:(0,jsx_runtime_1.jsx)(CurlIcon_1.CurlIcon,{}),"C#":(0,jsx_runtime_1.jsx)(CSharpIcon_1.CSharpIcon,{}),"C#+Newtonsoft":(0,jsx_runtime_1.jsx)(CSharpIcon_1.CSharpIcon,{}),"Node.js":(0,jsx_runtime_1.jsx)(NodeJSIcon_1.NodeJSIcon,{}),JavaScript:(0,jsx_runtime_1.jsx)(JavaScriptIcon_1.JavaScriptIcon,{}),Python:(0,jsx_runtime_1.jsx)(PythonIcon_1.PythonIcon,{}),R:(0,jsx_runtime_1.jsx)(RIcon_1.RIcon,{}),Ruby:(0,jsx_runtime_1.jsx)(RubyIcon_1.RubyIcon,{}),PHP:(0,jsx_runtime_1.jsx)(PHPIcon_1.PHPIcon,{}),Go:(0,jsx_runtime_1.jsx)(GOIcon_1.GOIcon,{}),Java:(0,jsx_runtime_1.jsx)(JavaIcon_1.JavaIcon,{}),"Java8+Apache":(0,jsx_runtime_1.jsx)(JavaIcon_1.JavaIcon,{})},LanguageItem=({item:n,active:e,withCheckmark:o,withIcon:c})=>(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageTitleContainer,{children:[c&&(0,jsx_runtime_1.jsx)(styled_1.LanguageIcon,{children:iconMap[n.lang]}),(0,jsx_runtime_1.jsx)(styled_1.LanguageTitle,{active:e,children:n.title})]}),o&&e&&(0,jsx_runtime_1.jsx)(theme_1.CheckmarkIcon,{})]});exports.LanguageItem=LanguageItem;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),theme_1=require("@redocly/theme"),CurlIcon_1=require("../../icons/CurlIcon"),CSharpIcon_1=require("../../icons/CSharpIcon"),NodeJSIcon_1=require("../../icons/NodeJSIcon"),JavaScriptIcon_1=require("../../icons/JavaScriptIcon"),PythonIcon_1=require("../../icons/PythonIcon"),RIcon_1=require("../../icons/RIcon"),RubyIcon_1=require("../../icons/RubyIcon"),PHPIcon_1=require("../../icons/PHPIcon"),GOIcon_1=require("../../icons/GOIcon"),JavaIcon_1=require("../../icons/JavaIcon"),PayloadIcon_1=require("../../icons/PayloadIcon"),styled_1=require("./styled"),iconMap={Payload:(0,jsx_runtime_1.jsx)(PayloadIcon_1.PayloadIcon,{}),curl:(0,jsx_runtime_1.jsx)(CurlIcon_1.CurlIcon,{}),"C#":(0,jsx_runtime_1.jsx)(CSharpIcon_1.CSharpIcon,{}),"C#+Newtonsoft":(0,jsx_runtime_1.jsx)(CSharpIcon_1.CSharpIcon,{}),"Node.js":(0,jsx_runtime_1.jsx)(NodeJSIcon_1.NodeJSIcon,{}),JavaScript:(0,jsx_runtime_1.jsx)(JavaScriptIcon_1.JavaScriptIcon,{}),Python:(0,jsx_runtime_1.jsx)(PythonIcon_1.PythonIcon,{}),R:(0,jsx_runtime_1.jsx)(RIcon_1.RIcon,{}),Ruby:(0,jsx_runtime_1.jsx)(RubyIcon_1.RubyIcon,{}),PHP:(0,jsx_runtime_1.jsx)(PHPIcon_1.PHPIcon,{}),Go:(0,jsx_runtime_1.jsx)(GOIcon_1.GOIcon,{}),Java:(0,jsx_runtime_1.jsx)(JavaIcon_1.JavaIcon,{}),"Java8+Apache":(0,jsx_runtime_1.jsx)(JavaIcon_1.JavaIcon,{})},LanguageItem=({item:n,active:e,withCheckmark:o,withIcon:c})=>(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageTitleContainer,{children:[c&&(0,jsx_runtime_1.jsx)(styled_1.LanguageIcon,{children:iconMap[n.lang]}),(0,jsx_runtime_1.jsx)(styled_1.LanguageTitle,{active:e,title:n.title,children:n.title})]}),o&&e&&(0,jsx_runtime_1.jsx)(theme_1.CheckmarkIcon,{})]});exports.LanguageItem=LanguageItem;
2
2
  //# sourceMappingURL=LanguageItem.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),LanguageDropdown_1=require("./LanguageDropdown"),app_1=require("../../jotai/app"),styled_1=require("./styled"),LanguageItem_1=require("./LanguageItem"),constants_1=require("./constants"),LanguageListSkeleton_1=require("../common/Skeleton/LanguageListSkeleton");function LanguageListComponent({languages:e,activeLanguage:t}){const[n,a]=(0,react_1.useState)([]),[s,i]=(0,react_1.useState)([]),r=(0,react_1.useRef)(null),o=(0,jotai_1.useAtomValue)(app_1.layoutAtom),u=(0,jotai_1.useSetAtom)(app_1.languageAtom),_=(0,react_1.useCallback)((()=>{var n;const s=null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.offsetWidth;if(!s)return;const{newVisibleItems:o,newHiddenItems:u}=calculateVisibleAndHiddenItems(s,[...e]),_=u.findIndex((e=>e.key===t));-1!==_&&swapItems(o,u,_),a(o),i(u)}),[t,e]);return(0,react_1.useLayoutEffect)((()=>(_(),window.addEventListener("resize",_),()=>{window.removeEventListener("resize",_)})),[o,t]),(0,jsx_runtime_1.jsxs)(styled_1.Container,{ref:r,children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageListContainer,{children:[!n.length&&(0,jsx_runtime_1.jsx)(LanguageListSkeleton_1.LanguageListSkeleton,{}),n.map((e=>(0,jsx_runtime_1.jsx)(styled_1.LanguageListItem,{onClick:()=>u(e.key),active:t===e.key,children:(0,jsx_runtime_1.jsx)(LanguageItem_1.LanguageItem,{item:e,withIcon:!0})},e.key)))]}),s.length?(0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{activeTab:t,samples:s,onChange:e=>{const t=s.findIndex((t=>t.key===e));if(-1!==t){const r=[...s],o=[...n];swapItems(o,r,t),a(o),i(r),u(e)}},trigger:(0,jsx_runtime_1.jsx)(theme_1.Button,{icon:(0,jsx_runtime_1.jsx)(theme_1.OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}function calculateVisibleAndHiddenItems(e,t){let n=0;const a=[],s=[];return t.forEach(((i,r)=>{const o=r===t.length-1&&0===s.length?0:constants_1.DROPDOWN_TRIGGER_WIDTH;e&&n+constants_1.ITEM_WIDTH+o<=e?(a.push(i),n+=constants_1.ITEM_WIDTH):s.push(i)})),{newVisibleItems:a,newHiddenItems:s}}function swapItems(e,t,n){const a=e[e.length-1];a&&(e[e.length-1]=t[n],t[n]=a)}exports.LanguageList=(0,react_1.memo)(LanguageListComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LanguageList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),LanguageDropdown_1=require("./LanguageDropdown"),app_1=require("../../jotai/app"),styled_1=require("./styled"),LanguageItem_1=require("./LanguageItem"),constants_1=require("./constants"),LanguageListSkeleton_1=require("../common/Skeleton/LanguageListSkeleton");function LanguageListComponent({languages:e,activeLanguage:t}){const[n,a]=(0,react_1.useState)([]),[s,i]=(0,react_1.useState)([]),r=(0,react_1.useRef)(null),o=(0,jotai_1.useAtomValue)(app_1.layoutAtom),u=(0,jotai_1.useSetAtom)(app_1.languageAtom),g=(0,react_1.useCallback)((()=>{var n;const s=null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.offsetWidth;if(!s)return;const{newVisibleItems:o,newHiddenItems:u}=calculateVisibleAndHiddenItems(s,[...e]),g=u.findIndex((e=>e.key===t));-1!==g&&swapItems(o,u,g),a(o),i(u)}),[t,e]);(0,react_1.useLayoutEffect)((()=>(g(),window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)})),[o,t]);const _=(0,react_1.useMemo)((()=>n.length>=5||s.length?"space-between":"start"),[s.length,n.length]);return(0,jsx_runtime_1.jsxs)(styled_1.Container,{ref:r,children:[(0,jsx_runtime_1.jsxs)(styled_1.LanguageListContainer,{$justifyContent:_,children:[!n.length&&(0,jsx_runtime_1.jsx)(LanguageListSkeleton_1.LanguageListSkeleton,{}),n.map((e=>(0,jsx_runtime_1.jsx)(styled_1.LanguageListItem,{onClick:()=>u(e.key),active:t===e.key,children:(0,jsx_runtime_1.jsx)(LanguageItem_1.LanguageItem,{item:e,withIcon:!0})},e.key)))]}),s.length?(0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{activeTab:t,samples:s,onChange:e=>{const t=s.findIndex((t=>t.key===e));if(-1!==t){const r=[...s],o=[...n];swapItems(o,r,t),a(o),i(r),u(e)}},trigger:(0,jsx_runtime_1.jsx)(theme_1.Button,{icon:(0,jsx_runtime_1.jsx)(theme_1.OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}function calculateVisibleAndHiddenItems(e,t){let n=0;const a=[],s=[];return t.forEach(((i,r)=>{const o=r===t.length-1&&0===s.length?0:constants_1.DROPDOWN_TRIGGER_WIDTH;e&&n+constants_1.ITEM_WIDTH+o<=e?(a.push(i),n+=constants_1.ITEM_WIDTH):s.push(i)})),{newVisibleItems:a,newHiddenItems:s}}function swapItems(e,t,n){const a=e[e.length-1];a&&(e[e.length-1]=t[n],t[n]=a)}exports.LanguageList=(0,react_1.memo)(LanguageListComponent);
2
2
  //# sourceMappingURL=LanguageList.js.map
@@ -5,7 +5,9 @@ export declare const LanguageTitle: import("styled-components").StyledComponent<
5
5
  }, never>;
6
6
  export declare const LanguageTitleContainer: import("styled-components").StyledComponent<"span", any, {}, never>;
7
7
  export declare const LanguageIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
8
- export declare const LanguageListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export declare const LanguageListContainer: import("styled-components").StyledComponent<"div", any, {
9
+ $justifyContent?: string;
10
+ }, never>;
9
11
  export declare const LanguageListItem: import("styled-components").StyledComponent<"button", any, {
10
12
  active: boolean;
11
13
  }, never>;
@@ -3,10 +3,16 @@
3
3
  justify-content: space-between;
4
4
  align-items: center;
5
5
  `,exports.LanguageTitle=styled_components_1.default.span`
6
+ max-width: 150px;
7
+ text-overflow: ellipsis;
8
+ overflow: hidden;
9
+ white-space: nowrap;
10
+ padding: 0 var(--spacing-xxs);
6
11
  font-size: var(--font-size-base);
7
12
  line-height: var(--line-height-base);
8
13
  font-weight: ${({active:e})=>e?"var(--font-weight-medium)":"var(--font-weight-regular)"};
9
14
  `,exports.LanguageTitleContainer=styled_components_1.default.span`
15
+ width: 100%;
10
16
  display: inherit;
11
17
  gap: inherit;
12
18
  flex-direction: inherit;
@@ -22,7 +28,7 @@
22
28
  overflow: hidden;
23
29
  `,exports.LanguageListContainer=styled_components_1.default.div`
24
30
  display: flex;
25
- justify-content: space-between;
31
+ justify-content: ${({$justifyContent:e="start"})=>e};
26
32
  align-items: center;
27
33
  width: 100%;
28
34
  `,exports.LanguageListItem=styled_components_1.default.button`
@@ -1,4 +1,5 @@
1
1
  "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PropertyDetails=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),Schema_1=require("../Schema"),FieldDetails_1=require("./FieldDetails"),LinkToField_1=require("../common/LinkToField");function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:t=1,showTitle:s,renderDiscriminatorSwitch:a,isFirst:n,fieldParentsName:o,disableDeepLinks:l,oneOfLevel:d}){const p=l?void 0:(0,LinkToField_1.generateDeepLink)(e),m=!e.schema.isPrimitive&&!e.schema.isCircular;return(0,jsx_runtime_1.jsxs)(Wrapper,{isFist:n,expanded:m,className:"property",children:[(0,jsx_runtime_1.jsx)(FieldDetails_1.FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:p,fieldParentsName:o}),m&&(0,jsx_runtime_1.jsx)(Schema_1.Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:s,expandable:!0,level:t+1,fieldParentsName:[...o||[],e.name],deepLink:p,required:e.required,disableDeepLinks:l,oneOfLevel:d})]})}exports.PropertyDetails=(0,react_1.memo)(PropertyDetailsComponent);const Wrapper=styled_components_1.default.div`
2
+ width: 100%;
2
3
  padding: ${({isFist:e})=>`var(--schema-${e?"fist-":""}property-details-spacing)`} 0
3
4
  ${({expanded:e})=>e?0:"var(--schema-property-details-spacing)"};
4
5
  ${({expanded:e})=>!e&&"border-bottom: 1px solid var(--border-color-primary)"};
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckmarkIcon}from"@redocly/theme";import{CurlIcon}from"../../icons/CurlIcon";import{CSharpIcon}from"../../icons/CSharpIcon";import{NodeJSIcon}from"../../icons/NodeJSIcon";import{JavaScriptIcon}from"../../icons/JavaScriptIcon";import{PythonIcon}from"../../icons/PythonIcon";import{RIcon}from"../../icons/RIcon";import{RubyIcon}from"../../icons/RubyIcon";import{PHPIcon}from"../../icons/PHPIcon";import{GOIcon}from"../../icons/GOIcon";import{JavaIcon}from"../../icons/JavaIcon";import{PayloadIcon}from"../../icons/PayloadIcon";import{LanguageIcon,LanguageTitle,LanguageTitleContainer}from"./styled";const iconMap={Payload:_jsx(PayloadIcon,{}),curl:_jsx(CurlIcon,{}),"C#":_jsx(CSharpIcon,{}),"C#+Newtonsoft":_jsx(CSharpIcon,{}),"Node.js":_jsx(NodeJSIcon,{}),JavaScript:_jsx(JavaScriptIcon,{}),Python:_jsx(PythonIcon,{}),R:_jsx(RIcon,{}),Ruby:_jsx(RubyIcon,{}),PHP:_jsx(PHPIcon,{}),Go:_jsx(GOIcon,{}),Java:_jsx(JavaIcon,{}),"Java8+Apache":_jsx(JavaIcon,{})};export const LanguageItem=({item:o,active:n,withCheckmark:c,withIcon:a})=>_jsxs(_Fragment,{children:[_jsxs(LanguageTitleContainer,{children:[a&&_jsx(LanguageIcon,{children:iconMap[o.lang]}),_jsx(LanguageTitle,{active:n,children:o.title})]}),c&&n&&_jsx(CheckmarkIcon,{})]});
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{CheckmarkIcon}from"@redocly/theme";import{CurlIcon}from"../../icons/CurlIcon";import{CSharpIcon}from"../../icons/CSharpIcon";import{NodeJSIcon}from"../../icons/NodeJSIcon";import{JavaScriptIcon}from"../../icons/JavaScriptIcon";import{PythonIcon}from"../../icons/PythonIcon";import{RIcon}from"../../icons/RIcon";import{RubyIcon}from"../../icons/RubyIcon";import{PHPIcon}from"../../icons/PHPIcon";import{GOIcon}from"../../icons/GOIcon";import{JavaIcon}from"../../icons/JavaIcon";import{PayloadIcon}from"../../icons/PayloadIcon";import{LanguageIcon,LanguageTitle,LanguageTitleContainer}from"./styled";const iconMap={Payload:_jsx(PayloadIcon,{}),curl:_jsx(CurlIcon,{}),"C#":_jsx(CSharpIcon,{}),"C#+Newtonsoft":_jsx(CSharpIcon,{}),"Node.js":_jsx(NodeJSIcon,{}),JavaScript:_jsx(JavaScriptIcon,{}),Python:_jsx(PythonIcon,{}),R:_jsx(RIcon,{}),Ruby:_jsx(RubyIcon,{}),PHP:_jsx(PHPIcon,{}),Go:_jsx(GOIcon,{}),Java:_jsx(JavaIcon,{}),"Java8+Apache":_jsx(JavaIcon,{})};export const LanguageItem=({item:o,active:n,withCheckmark:c,withIcon:a})=>_jsxs(_Fragment,{children:[_jsxs(LanguageTitleContainer,{children:[a&&_jsx(LanguageIcon,{children:iconMap[o.lang]}),_jsx(LanguageTitle,{active:n,title:o.title,children:o.title})]}),c&&n&&_jsx(CheckmarkIcon,{})]});
2
2
  //# sourceMappingURL=LanguageItem.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useLayoutEffect,useRef,useState,useCallback,memo}from"react";import{useAtomValue,useSetAtom}from"jotai";import{Button,OverflowMenuVerticalIcon}from"@redocly/theme";import{LanguageDropdown}from"./LanguageDropdown";import{languageAtom,layoutAtom}from"../../jotai/app";import{LanguageListContainer,LanguageListItem,Container}from"./styled";import{LanguageItem}from"./LanguageItem";import{DROPDOWN_TRIGGER_WIDTH,ITEM_WIDTH}from"./constants";import{LanguageListSkeleton}from"../common/Skeleton/LanguageListSkeleton";function LanguageListComponent({languages:e,activeLanguage:t}){const[n,o]=useState([]),[a,s]=useState([]),i=useRef(null),r=useAtomValue(layoutAtom),u=useSetAtom(languageAtom),m=useCallback((()=>{var n;const a=null===(n=null==i?void 0:i.current)||void 0===n?void 0:n.offsetWidth;if(!a)return;const{newVisibleItems:r,newHiddenItems:u}=calculateVisibleAndHiddenItems(a,[...e]),m=u.findIndex((e=>e.key===t));-1!==m&&swapItems(r,u,m),o(r),s(u)}),[t,e]);return useLayoutEffect((()=>(m(),window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)})),[r,t]),_jsxs(Container,{ref:i,children:[_jsxs(LanguageListContainer,{children:[!n.length&&_jsx(LanguageListSkeleton,{}),n.map((e=>_jsx(LanguageListItem,{onClick:()=>u(e.key),active:t===e.key,children:_jsx(LanguageItem,{item:e,withIcon:!0})},e.key)))]}),a.length?_jsx(LanguageDropdown,{activeTab:t,samples:a,onChange:e=>{const t=a.findIndex((t=>t.key===e));if(-1!==t){const i=[...a],r=[...n];swapItems(r,i,t),o(r),s(i),u(e)}},trigger:_jsx(Button,{icon:_jsx(OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}export const LanguageList=memo(LanguageListComponent);function calculateVisibleAndHiddenItems(e,t){let n=0;const o=[],a=[];return t.forEach(((s,i)=>{const r=i===t.length-1&&0===a.length?0:DROPDOWN_TRIGGER_WIDTH;e&&n+ITEM_WIDTH+r<=e?(o.push(s),n+=ITEM_WIDTH):a.push(s)})),{newVisibleItems:o,newHiddenItems:a}}function swapItems(e,t,n){const o=e[e.length-1];o&&(e[e.length-1]=t[n],t[n]=o)}
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useLayoutEffect,useRef,useState,useCallback,memo,useMemo}from"react";import{useAtomValue,useSetAtom}from"jotai";import{Button,OverflowMenuVerticalIcon}from"@redocly/theme";import{LanguageDropdown}from"./LanguageDropdown";import{languageAtom,layoutAtom}from"../../jotai/app";import{LanguageListContainer,LanguageListItem,Container}from"./styled";import{LanguageItem}from"./LanguageItem";import{DROPDOWN_TRIGGER_WIDTH,ITEM_WIDTH}from"./constants";import{LanguageListSkeleton}from"../common/Skeleton/LanguageListSkeleton";function LanguageListComponent({languages:e,activeLanguage:t}){const[n,o]=useState([]),[a,s]=useState([]),i=useRef(null),r=useAtomValue(layoutAtom),u=useSetAtom(languageAtom),m=useCallback((()=>{var n;const a=null===(n=null==i?void 0:i.current)||void 0===n?void 0:n.offsetWidth;if(!a)return;const{newVisibleItems:r,newHiddenItems:u}=calculateVisibleAndHiddenItems(a,[...e]),m=u.findIndex((e=>e.key===t));-1!==m&&swapItems(r,u,m),o(r),s(u)}),[t,e]);useLayoutEffect((()=>(m(),window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)})),[r,t]);const g=useMemo((()=>n.length>=5||a.length?"space-between":"start"),[a.length,n.length]);return _jsxs(Container,{ref:i,children:[_jsxs(LanguageListContainer,{$justifyContent:g,children:[!n.length&&_jsx(LanguageListSkeleton,{}),n.map((e=>_jsx(LanguageListItem,{onClick:()=>u(e.key),active:t===e.key,children:_jsx(LanguageItem,{item:e,withIcon:!0})},e.key)))]}),a.length?_jsx(LanguageDropdown,{activeTab:t,samples:a,onChange:e=>{const t=a.findIndex((t=>t.key===e));if(-1!==t){const i=[...a],r=[...n];swapItems(r,i,t),o(r),s(i),u(e)}},trigger:_jsx(Button,{icon:_jsx(OverflowMenuVerticalIcon,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}export const LanguageList=memo(LanguageListComponent);function calculateVisibleAndHiddenItems(e,t){let n=0;const o=[],a=[];return t.forEach(((s,i)=>{const r=i===t.length-1&&0===a.length?0:DROPDOWN_TRIGGER_WIDTH;e&&n+ITEM_WIDTH+r<=e?(o.push(s),n+=ITEM_WIDTH):a.push(s)})),{newVisibleItems:o,newHiddenItems:a}}function swapItems(e,t,n){const o=e[e.length-1];o&&(e[e.length-1]=t[n],t[n]=o)}
2
2
  //# sourceMappingURL=LanguageList.js.map
@@ -5,7 +5,9 @@ export declare const LanguageTitle: import("styled-components").StyledComponent<
5
5
  }, never>;
6
6
  export declare const LanguageTitleContainer: import("styled-components").StyledComponent<"span", any, {}, never>;
7
7
  export declare const LanguageIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
8
- export declare const LanguageListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
8
+ export declare const LanguageListContainer: import("styled-components").StyledComponent<"div", any, {
9
+ $justifyContent?: string;
10
+ }, never>;
9
11
  export declare const LanguageListItem: import("styled-components").StyledComponent<"button", any, {
10
12
  active: boolean;
11
13
  }, never>;
@@ -3,10 +3,16 @@ import styled,{css}from"styled-components";import{Button,DropdownMenuItem}from"@
3
3
  justify-content: space-between;
4
4
  align-items: center;
5
5
  `;export const LanguageTitle=styled.span`
6
+ max-width: 150px;
7
+ text-overflow: ellipsis;
8
+ overflow: hidden;
9
+ white-space: nowrap;
10
+ padding: 0 var(--spacing-xxs);
6
11
  font-size: var(--font-size-base);
7
12
  line-height: var(--line-height-base);
8
- font-weight: ${({active:e})=>e?"var(--font-weight-medium)":"var(--font-weight-regular)"};
13
+ font-weight: ${({active:t})=>t?"var(--font-weight-medium)":"var(--font-weight-regular)"};
9
14
  `;export const LanguageTitleContainer=styled.span`
15
+ width: 100%;
10
16
  display: inherit;
11
17
  gap: inherit;
12
18
  flex-direction: inherit;
@@ -22,7 +28,7 @@ import styled,{css}from"styled-components";import{Button,DropdownMenuItem}from"@
22
28
  overflow: hidden;
23
29
  `;export const LanguageListContainer=styled.div`
24
30
  display: flex;
25
- justify-content: space-between;
31
+ justify-content: ${({$justifyContent:t="start"})=>t};
26
32
  align-items: center;
27
33
  width: 100%;
28
34
  `;export const LanguageListItem=styled.button`
@@ -36,7 +42,7 @@ import styled,{css}from"styled-components";import{Button,DropdownMenuItem}from"@
36
42
  flex-direction: column;
37
43
  gap: calc(var(--spacing-unit) * 0.5);
38
44
  padding: var(--spacing-xs) 0;
39
- color: ${({active:e})=>e?"var(--text-color-primary)":"var(--text-color-description)"};
45
+ color: ${({active:t})=>t?"var(--text-color-primary)":"var(--text-color-description)"};
40
46
  border-radius: var(--border-radius);
41
47
  text-align: center;
42
48
  position: relative;
@@ -45,7 +51,7 @@ import styled,{css}from"styled-components";import{Button,DropdownMenuItem}from"@
45
51
  color: var(--text-color-primary);
46
52
  }
47
53
 
48
- ${({active:e})=>e&&css`
54
+ ${({active:t})=>t&&css`
49
55
  &::before {
50
56
  position: absolute;
51
57
  top: -21px;
@@ -63,7 +69,7 @@ import styled,{css}from"styled-components";import{Button,DropdownMenuItem}from"@
63
69
  gap: var(--spacing-xs);
64
70
  padding: calc(var(--spacing-unit) * 1.5) var(--spacing-xs) calc(var(--spacing-unit) * 1.5)
65
71
  var(--spacing-sm);
66
- width: ${({$width:e=204})=>e}px;
72
+ width: ${({$width:t=204})=>t}px;
67
73
  fill: var(--menu-content-color-active);
68
74
  `;export const DropdownTriggerButton=styled(Button)`
69
75
  display: inline-flex;
@@ -1,4 +1,5 @@
1
1
  import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{generateDeepLink}from"../common/LinkToField";function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:s=1,showTitle:t,renderDiscriminatorSwitch:a,isFirst:o,fieldParentsName:n,disableDeepLinks:d,oneOfLevel:p}){const l=d?void 0:generateDeepLink(e),m=!e.schema.isPrimitive&&!e.schema.isCircular;return _jsxs(Wrapper,{isFist:o,expanded:m,className:"property",children:[_jsx(FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:l,fieldParentsName:n}),m&&_jsx(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:t,expandable:!0,level:s+1,fieldParentsName:[...n||[],e.name],deepLink:l,required:e.required,disableDeepLinks:d,oneOfLevel:p})]})}export const PropertyDetails=memo(PropertyDetailsComponent);const Wrapper=styled.div`
2
+ width: 100%;
2
3
  padding: ${({isFist:e})=>`var(--schema-${e?"fist-":""}property-details-spacing)`} 0
3
4
  ${({expanded:e})=>e?0:"var(--schema-property-details-spacing)"};
4
5
  ${({expanded:e})=>!e&&"border-bottom: 1px solid var(--border-color-primary)"};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.4.17",
3
+ "version": "3.4.18",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -45,7 +45,7 @@
45
45
  "url-template": "^2.0.8",
46
46
  "util": "~0.12.5",
47
47
  "@redocly/config": "0.16.0",
48
- "@redocly/replay": "0.7.11"
48
+ "@redocly/replay": "0.7.12"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@testing-library/jest-dom": "6.1.5",
@@ -93,7 +93,7 @@
93
93
  "webpack": "5.94.0",
94
94
  "webpack-cli": "5.1.4",
95
95
  "webpack-dev-server": "5.1.0",
96
- "@redocly/theme": "0.45.4"
96
+ "@redocly/theme": "0.45.5"
97
97
  },
98
98
  "scripts": {
99
99
  "start": "webpack serve --mode=development --hot",