@redocly/openapi-docs 3.11.0-next.1 → 3.11.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.
- package/dist/redocly-openapi-docs.min.js +563 -563
- package/lib/components/ExpandAllButton/ExpandAllButton.d.ts +3 -1
- package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib/components/OperationItem/OperationItem.js +1 -1
- package/lib/components/PayloadSamples/Example.d.ts +1 -1
- package/lib/components/PayloadSamples/Example.js +1 -1
- package/lib/components/PayloadSamples/ExampleValue.d.ts +1 -1
- package/lib/components/PayloadSamples/ExampleValue.js +1 -1
- package/lib/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/components/PayloadSamples/types.d.ts +5 -3
- package/lib/components/Replay/Replay.js +1 -1
- package/lib/components/Request/RequestDetails.js +1 -1
- package/lib/components/Request/types.d.ts +2 -0
- package/lib/components/RequestSamples/RequestSamples.d.ts +2 -0
- package/lib/components/RequestSamples/RequestSamples.js +1 -1
- package/lib/components/ResponseSamples/ResponseSamples.d.ts +3 -1
- package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib/components/Responses/OperationResponseList.d.ts +2 -0
- package/lib/components/Responses/OperationResponseList.js +1 -1
- package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib/events/index.d.ts +3 -0
- package/lib/events/index.js +1 -1
- package/lib/events/serverSwitch.d.ts +2 -0
- package/lib/events/serverSwitch.js +2 -0
- package/lib/events/tryItOpen.d.ts +2 -0
- package/lib/events/tryItOpen.js +2 -0
- package/lib/events/tryItSent.d.ts +2 -0
- package/lib/events/tryItSent.js +2 -0
- package/lib/events/types.d.ts +18 -3
- package/lib/events/types.js +1 -1
- package/lib-esm/components/ExpandAllButton/ExpandAllButton.d.ts +3 -1
- package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib-esm/components/OperationItem/OperationItem.js +1 -1
- package/lib-esm/components/PayloadSamples/Example.d.ts +1 -1
- package/lib-esm/components/PayloadSamples/Example.js +1 -1
- package/lib-esm/components/PayloadSamples/ExampleValue.d.ts +1 -1
- package/lib-esm/components/PayloadSamples/ExampleValue.js +1 -1
- package/lib-esm/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/components/PayloadSamples/types.d.ts +5 -3
- package/lib-esm/components/Replay/Replay.js +1 -1
- package/lib-esm/components/Request/RequestDetails.js +1 -1
- package/lib-esm/components/Request/types.d.ts +2 -0
- package/lib-esm/components/RequestSamples/RequestSamples.d.ts +2 -0
- package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
- package/lib-esm/components/ResponseSamples/ResponseSamples.d.ts +3 -1
- package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib-esm/components/Responses/OperationResponseList.d.ts +2 -0
- package/lib-esm/components/Responses/OperationResponseList.js +1 -1
- package/lib-esm/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib-esm/events/index.d.ts +3 -0
- package/lib-esm/events/index.js +1 -1
- package/lib-esm/events/serverSwitch.d.ts +2 -0
- package/lib-esm/events/serverSwitch.js +2 -0
- package/lib-esm/events/tryItOpen.d.ts +2 -0
- package/lib-esm/events/tryItOpen.js +2 -0
- package/lib-esm/events/tryItSent.d.ts +2 -0
- package/lib-esm/events/tryItSent.js +2 -0
- package/lib-esm/events/types.d.ts +18 -3
- package/lib-esm/events/types.js +1 -1
- package/package.json +3 -3
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { TFunction } from '@redocly/theme';
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
3
|
import type { OperationModel } from '../../models';
|
|
4
|
+
import type { PanelType } from '../../events/types';
|
|
4
5
|
export interface RequestProps {
|
|
5
6
|
operation: Pick<OperationModel, 'security' | 'pointer' | 'description' | 'externalDocs' | 'extensions' | 'parameters' | 'requestBody' | 'id' | 'callbackId'>;
|
|
6
7
|
title?: string | ReactNode;
|
|
7
8
|
translate?: TFunction;
|
|
9
|
+
onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
|
|
8
10
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { OperationModel } from '../../models';
|
|
2
|
+
import type { PanelType } from '../../events/types';
|
|
2
3
|
interface RequestSamplesProps {
|
|
3
4
|
operation: OperationModel;
|
|
4
5
|
defaultLanguage?: string;
|
|
5
6
|
disableFooter?: boolean;
|
|
7
|
+
onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
|
|
6
8
|
}
|
|
7
9
|
export declare const RequestSamples: import("react").NamedExoticComponent<RequestSamplesProps>;
|
|
8
10
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,
|
|
1
|
+
var __rest=this&&this.__rest||function(e,a){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(t=Object.getOwnPropertySymbols(e);l<t.length;l++)a.indexOf(t[l])<0&&Object.prototype.propertyIsEnumerable.call(e,t[l])&&(o[t[l]]=e[t[l]])}return o};import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback,useMemo}from"react";import{useAtomValue,useAtom}from"jotai";import{PanelHeader}from"@redocly/theme";import styled from"styled-components";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent,createLanguageSwitchEvent}from"../../events";import{globalStoreAtom}from"../../jotai/store";import{ServerListDropdown}from"../ServerListDropdown";import{LanguageDropdown}from"../Language";import{activeMimeNameAtom,languageAtom}from"../../jotai/app";import{Replay}from"../Replay";import{CodeBlockPanel}from"../common";import{useActiveWithFallback,useTelemetry}from"../../hooks";import{operationStore}from"../../jotai/operation";function RequestSamplesComponent(e){var{operation:a,disableFooter:o,onPanelToggle:t}=e,l=__rest(e,["operation","disableFooter","onPanelToggle"]);const r=useTelemetry(),[{activeLanguage:n,languages:s},p]=useAtom(languageAtom),{samples:i}=useCodeSamples(a),{parser:m,options:{events:d,corsProxyUrl:c,hideReplay:u}}=useAtomValue(globalStoreAtom),g=!(o||a.isWebhook||u||a.hideReplay),y=!!(null==s?void 0:s.length),f=useActiveWithFallback(i,n),v=e=>{p(e),r.send({type:"openapi_docs.select_language.clicked",payload:{language:e}});const o=null==s?void 0:s.find((a=>a.key===e));if((null==d?void 0:d.codeSamplesLanguageSwitch)&&o){const e=createLanguageSwitchEvent({operation:a,sample:{lang:o.lang,label:o.title}});d.codeSamplesLanguageSwitch(e)}},S=useAtomValue(activeMimeNameAtom),{activeExampleName:x}=useAtomValue(operationStore(a.pointer)),b=useCallback((({lang:e,title:o})=>()=>{var t;const l=createCodeSampleCopyEvent({operation:a,label:o,lang:e,type:"request",activeMimeName:S,activeExampleName:x});r.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"request",language:e}}),null===(t=null==d?void 0:d.codeSamplesCopy)||void 0===t||t.call(d,l)}),[a,r,d,S,x]),h=useCallback((e=>{null==t||t(e,"request-samples")}),[t]),j=()=>_jsxs(StyledPanelHeader,{isExpandable:!1,withReplay:!y&&g,children:[_jsx(StyledServerListDropdown,{operation:a}),y&&_jsx(LanguageDropdown,{activeTab:f,samples:i,onChange:v}),!y&&g&&_jsx(Replay,{operation:a,corsProxyUrl:c,fullOpenApi:m.definition})]}),C=useMemo((()=>{if(g&&y)return _jsx(ReplayWrapper,{children:_jsx(Replay,{operation:a,corsProxyUrl:c,fullOpenApi:m.definition})})}),[g,y,a,c,m.definition]),_=useMemo((()=>i.map((e=>e.key===f?_jsx("div",{children:isPayloadSample(e)?_jsx(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:b(e),onPanelToggle:h},l)):_jsx(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:b(e)},l))},e.key+a.id):null))),[f,b,h,a,l,i]);return s&&!i.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:j,isExpandable:!1,expanded:!1}):i.length?_jsx(CodeBlockPanel,{className:"panel-request-samples",header:j,footer:C,isExpandable:!1,children:_}):null}export const RequestSamples=memo(RequestSamplesComponent);const StyledPanelHeader=styled(PanelHeader)`
|
|
2
2
|
flex-wrap: nowrap;
|
|
3
3
|
${({withReplay:e})=>e&&"padding: var(--spacing-xs) var(--spacing-sm);"}
|
|
4
4
|
`,StyledServerListDropdown=styled(ServerListDropdown)`
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
2
|
import type { OperationModel } from '../../models';
|
|
3
|
+
import type { PanelType } from '../../events/types';
|
|
3
4
|
export interface ResponseSamplesProps {
|
|
4
5
|
operation: OperationModel;
|
|
5
6
|
activeResponseTab?: string;
|
|
6
7
|
onTabChange: (tab: string) => void;
|
|
8
|
+
onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
|
|
7
9
|
}
|
|
8
|
-
declare function ResponseSamplesComponent({ operation, activeResponseTab, onTabChange, }: ResponseSamplesProps): ReactElement | null;
|
|
10
|
+
declare function ResponseSamplesComponent({ operation, activeResponseTab, onTabChange, onPanelToggle, }: ResponseSamplesProps): ReactElement | null;
|
|
9
11
|
export declare const ResponseSamples: import("react").MemoExoticComponent<typeof ResponseSamplesComponent>;
|
|
10
12
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{PayloadSamples,StyledCodeBlock}from"../PayloadSamples";import{createCodeSampleCopyEvent}from"../../events";import{globalOptionsAtom}from"../../jotai/store";import{Summary}from"./Summary";import{Tabs}from"../Tabs";import{CodeBlockPanel}from"../common";import{useTelemetry,useTranslate}from"../../hooks";import{activeMimeNameAtom}from"../../jotai/app";import{operationStore}from"../../jotai/operation";function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{PayloadSamples,StyledCodeBlock}from"../PayloadSamples";import{createCodeSampleCopyEvent}from"../../events";import{globalOptionsAtom}from"../../jotai/store";import{Summary}from"./Summary";import{Tabs}from"../Tabs";import{CodeBlockPanel}from"../common";import{useTelemetry,useTranslate}from"../../hooks";import{activeMimeNameAtom}from"../../jotai/app";import{operationStore}from"../../jotai/operation";function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a,onPanelToggle:t}){const n=useTelemetry(),{events:s}=useAtomValue(globalOptionsAtom),l=useTranslate(),m=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),p=e.responses.map((({code:e})=>({key:e,title:e}))),r=(null==p?void 0:p.find((({key:e})=>e===o)))||(null==p?void 0:p[0]),i=useAtomValue(activeMimeNameAtom),{activeExampleName:c}=useAtomValue(operationStore(e.pointer)),d=useCallback((()=>{var o;n.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"response"}});const a=createCodeSampleCopyEvent({operation:e,type:"response",activeMimeName:i,activeExampleName:c});null===(o=null==s?void 0:s.codeSamplesCopy)||void 0===o||o.call(s,a)}),[n,e,s,i,c]),u=useCallback((e=>{null==t||t(e,"response-samples")}),[t]);if(!m.length)return null;return _jsx(CodeBlockPanel,{className:"panel-response-samples",header:()=>_jsx(Summary,{tabs:_jsx(Tabs,{tabs:p,activeTab:r,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===r.key?_jsx("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?_jsx(PayloadSamples,{content:e.content,onCopyClick:d,onPanelToggle:u}):_jsx(StyledCodeBlock,{source:l("openapi.noResponseContent","No content")})},e.code):null}))})}export const ResponseSamples=memo(ResponseSamplesComponent);
|
|
2
2
|
//# sourceMappingURL=ResponseSamples.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { ResponseModel } from '../../models';
|
|
3
3
|
import type { TabType } from '../../models/tab';
|
|
4
|
+
import type { PanelType } from '../../events/types';
|
|
4
5
|
interface IOperationResponseList {
|
|
5
6
|
responses: ResponseModel[];
|
|
6
7
|
operationId: string;
|
|
@@ -9,6 +10,7 @@ interface IOperationResponseList {
|
|
|
9
10
|
renderTitle?: (tab: TabType) => ReactNode;
|
|
10
11
|
activeResponseTab?: string;
|
|
11
12
|
onTabChange?: (key: string) => void;
|
|
13
|
+
onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
|
|
12
14
|
}
|
|
13
15
|
export declare const OperationResponseList: import("react").NamedExoticComponent<IOperationResponseList>;
|
|
14
16
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useLocation}from"react-router-dom";import styled from"styled-components";import{useAtomValue}from"jotai";import{Tabs,useTabsState}from"../Tabs";import{ResponseDetails}from"./ResponseDetails";import{makeDeepLink}from"../../services";import{Row,StyledTitle}from"./styled";import{LinkToField}from"../common/LinkToField";import{pathIncludesLink}from"../../utils";import{ExpandAllButton}from"../ExpandAllButton";import{useTranslate}from"../../hooks";import{getActiveMediaType}from"../../models";import{activeMimeNameAtom}from"../../jotai/app";export const OperationResponseList=memo((({responses:e,renderTitle:o,operationId:t,operationPointer:s,activeResponseTab:
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useLocation}from"react-router-dom";import styled from"styled-components";import{useAtomValue}from"jotai";import{Tabs,useTabsState}from"../Tabs";import{ResponseDetails}from"./ResponseDetails";import{makeDeepLink}from"../../services";import{Row,StyledTitle}from"./styled";import{LinkToField}from"../common/LinkToField";import{pathIncludesLink}from"../../utils";import{ExpandAllButton}from"../ExpandAllButton";import{useTranslate}from"../../hooks";import{getActiveMediaType}from"../../models";import{activeMimeNameAtom}from"../../jotai/app";export const OperationResponseList=memo((({responses:e,renderTitle:o,operationId:t,operationPointer:s,activeResponseTab:n,onTabChange:i,callbackId:a,onPanelToggle:r})=>{const l=useLocation(),m=useTranslate(),p=useAtomValue(activeMimeNameAtom),d=e.map((({code:e})=>({key:e,title:e}))),c=d.find((({key:e})=>e===n||pathIncludesLink(l,t)&&pathIncludesLink(l,`c=${e}`))),{activeTab:u,handleTabChange:T}=useTabsState({tabs:d,defaultTab:null==c?void 0:c.key,onChange:i}),f=d.find((e=>e.key===(n||u))),v=e.find((e=>e.code===(null==f?void 0:f.key))),k=useMemo((()=>{var e;if(!(null==v?void 0:v.content))return!1;const{schema:o}=getActiveMediaType(null==v?void 0:v.content,p)||{};return null===(e=null==o?void 0:o.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[p,null==v?void 0:v.content]);return f?_jsxs(_Fragment,{children:[_jsxs(TitleWrap,{children:[(null==o?void 0:o(f))||_jsxs(StyledTitle,{children:[_jsx(LinkToField,{to:makeDeepLink(t,`response&c=${f.key}`)}),m("openapi.responses","Responses")]}),_jsx(Tabs,{tabs:d,activeTab:f,onChange:T}),k&&_jsx(ExpandAllButton,{type:"response",operationPointer:s,onPanelToggle:r})]}),v?_jsx("div",{children:_jsx(ResponseDetails,{response:v,operationId:t,callbackId:a})},v.code):null]}):null}));const TitleWrap=styled(Row)`
|
|
2
2
|
flex-wrap: wrap;
|
|
3
3
|
gap: var(--spacing-unit);
|
|
4
4
|
`;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,useCallback}from"react";import{Dropdown,DropdownMenu}from"@redocly/theme";import{useAtom}from"jotai";import{HttpVerb}from"../common";import{PathWrapper,Path,StyledCopyButton,StyledDropdownMenuItem}from"./styled";import{PanelItem}from"../PanelItem";import{joinWithSeparator}from"../../services";import{replaceVariables}from"../../utils";import{environmentAtom}from"../../jotai/app";import{useActiveWithFallback,useTelemetry}from"../../hooks";import{getServerEnvName}from"../../utils/environments";export const ServerListDropdown=({operation:e,className:r})=>{const t=useTelemetry(),[[o],
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,useCallback}from"react";import{Dropdown,DropdownMenu}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import{HttpVerb}from"../common";import{PathWrapper,Path,StyledCopyButton,StyledDropdownMenuItem}from"./styled";import{PanelItem}from"../PanelItem";import{joinWithSeparator}from"../../services";import{replaceVariables}from"../../utils";import{environmentAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{useActiveWithFallback,useTelemetry}from"../../hooks";import{getServerEnvName}from"../../utils/environments";import{createTargetServerSwitchEvent}from"../../events";export const ServerListDropdown=({operation:e,className:r})=>{const t=useTelemetry(),[[o],a]=useAtom(environmentAtom),{options:{events:s}}=useAtomValue(globalStoreAtom),i=useActiveWithFallback(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),o.server),n=useCallback((e=>{e.stopPropagation()}),[]),m=useCallback((r=>()=>{if(1!==e.servers.length&&(a({environment:getServerEnvName(r)}),t.send({type:"openapi_docs.switch_servers.clicked",payload:{server:getServerEnvName(r)}}),(null==s?void 0:s.targetServerSwitch)&&r)){const t=createTargetServerSwitchEvent({operation:e,serverUrl:r.url});s.targetServerSwitch(t)}}),[e,a,t,s]),l=useMemo((()=>e.servers.map((r=>{const t=joinWithSeparator(replaceVariables(r),e.path);return _jsx(StyledDropdownMenuItem,{onAction:m(r),children:_jsx(PanelItem,{header:r.description,title:t,actions:[_jsx(StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:n},t)],active:r.url===i,withCheckmark:!0})},t)}))),[e.servers,e.path,m,n,i]);return _jsx(Dropdown,{className:r,trigger:_jsxs(PathWrapper,{variant:"ghost",children:[_jsx(HttpVerb,{color:e.httpVerb,children:e.httpVerb}),_jsx(Path,{children:e.path})]}),withArrow:!0,children:_jsx(DropdownMenu,{children:l})})};
|
|
2
2
|
//# sourceMappingURL=ServerListDropdown.js.map
|
|
@@ -3,3 +3,6 @@ export { AnalyticsEventType } from './types';
|
|
|
3
3
|
export { createLanguageSwitchEvent } from './languageSwitch';
|
|
4
4
|
export { createPanelToggleEvent } from './panelToggle';
|
|
5
5
|
export { createCodeSampleCopyEvent } from './codeSampleCopy';
|
|
6
|
+
export { createTargetServerSwitchEvent } from './serverSwitch';
|
|
7
|
+
export { createTryItOpenEvent } from './tryItOpen';
|
|
8
|
+
export { createTryItSentEvent } from './tryItSent';
|
package/lib-esm/events/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{AnalyticsEventType}from"./types";export{createLanguageSwitchEvent}from"./languageSwitch";export{createPanelToggleEvent}from"./panelToggle";export{createCodeSampleCopyEvent}from"./codeSampleCopy";
|
|
1
|
+
export{AnalyticsEventType}from"./types";export{createLanguageSwitchEvent}from"./languageSwitch";export{createPanelToggleEvent}from"./panelToggle";export{createCodeSampleCopyEvent}from"./codeSampleCopy";export{createTargetServerSwitchEvent}from"./serverSwitch";export{createTryItOpenEvent}from"./tryItOpen";export{createTryItSentEvent}from"./tryItSent";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const targetServerSwitchEvent=createTrackingEvent(AnalyticsEventType.TargetServerSwitched);export const createTargetServerSwitchEvent=({operation:e,serverUrl:r})=>targetServerSwitchEvent({resource:"Redocly_CodeSample",action:"TargetServerSwitched",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,serverUrl:r});
|
|
2
|
+
//# sourceMappingURL=serverSwitch.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const tryItOpenEvent=createTrackingEvent(AnalyticsEventType.TryItOpen);export const createTryItOpenEvent=({operation:t})=>tryItOpenEvent({resource:"Redocly_OperationTryIt",action:"Opened",operationId:t.id,operationPath:t.path,operationHttpVerb:t.httpVerb,operationSummary:t.name});
|
|
2
|
+
//# sourceMappingURL=tryItOpen.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createTrackingEvent}from"./creator";import{AnalyticsEventType}from"./types";const tryItSentEvent=createTrackingEvent(AnalyticsEventType.TryItSent);export const createTryItSentEvent=({operation:t,isSuccess:e})=>tryItSentEvent({resource:"Redocly_OperationTryIt",action:e?"Sent":"ValidationFailed",operationId:t.id,operationPath:t.path,operationHttpVerb:t.httpVerb,operationSummary:t.name});
|
|
2
|
+
//# sourceMappingURL=tryItSent.js.map
|
|
@@ -21,16 +21,25 @@ export interface TargetServerSwitchProps {
|
|
|
21
21
|
operation: OperationModel;
|
|
22
22
|
serverUrl: string;
|
|
23
23
|
}
|
|
24
|
+
export interface TryItOpenProps {
|
|
25
|
+
operation: OperationModel;
|
|
26
|
+
}
|
|
27
|
+
export interface TryItSentProps {
|
|
28
|
+
operation: OperationModel;
|
|
29
|
+
isSuccess: boolean;
|
|
30
|
+
}
|
|
24
31
|
export declare enum AnalyticsEventType {
|
|
25
32
|
CodeSampleLanguageSwitched = "CodeSampleLanguageSwitched",
|
|
26
33
|
CodeSampleCopied = "CodeSampleCopied",
|
|
27
34
|
OperationServerExpanded = "OperationServerExpanded",
|
|
28
35
|
PanelToggle = "PanelToggle",
|
|
29
|
-
TargetServerSwitched = "TargetServerSwitched"
|
|
36
|
+
TargetServerSwitched = "TargetServerSwitched",
|
|
37
|
+
TryItOpen = "TryItOpen",
|
|
38
|
+
TryItSent = "TryItSent"
|
|
30
39
|
}
|
|
31
40
|
export interface AnalyticsEvent {
|
|
32
41
|
eventType: AnalyticsEventType;
|
|
33
|
-
resource: 'Redocly_CodeSample' | 'Redocly_Operation';
|
|
42
|
+
resource: 'Redocly_CodeSample' | 'Redocly_Operation' | 'Redocly_OperationTryIt';
|
|
34
43
|
action: 'LanguageSwitched' | 'PanelToggled' | 'Opened' | 'Closed' | 'NavigatedOverrideLink' | 'Sent' | 'ValidationFailed' | 'CodeSampleCopied' | 'TargetServerSwitched';
|
|
35
44
|
operationId?: string;
|
|
36
45
|
operationPath: string;
|
|
@@ -49,8 +58,9 @@ export interface CodeSamplesCopiedEvent extends AnalyticsEvent {
|
|
|
49
58
|
exampleId?: string;
|
|
50
59
|
exampleMimeType?: string;
|
|
51
60
|
}
|
|
61
|
+
export type PanelType = 'request' | 'responses' | 'request-samples' | 'response-samples';
|
|
52
62
|
export interface PanelToggleEvent extends AnalyticsEvent {
|
|
53
|
-
panelType:
|
|
63
|
+
panelType: PanelType;
|
|
54
64
|
state: 'expanded' | 'collapsed';
|
|
55
65
|
operationId: string;
|
|
56
66
|
operationPath: string;
|
|
@@ -60,9 +70,14 @@ export interface PanelToggleEvent extends AnalyticsEvent {
|
|
|
60
70
|
export interface TargetServerSwitchedEvent extends AnalyticsEvent {
|
|
61
71
|
serverUrl: string;
|
|
62
72
|
}
|
|
73
|
+
export type TryItOpenedEvent = AnalyticsEvent;
|
|
74
|
+
export type TryItSentEvent = AnalyticsEvent;
|
|
75
|
+
export type EventType = CodeSamplesLanguageSwitchedEvent | CodeSamplesCopiedEvent | TryItOpenedEvent | TryItSentEvent | PanelToggleEvent | TargetServerSwitchedEvent;
|
|
63
76
|
export type Events = {
|
|
64
77
|
codeSamplesLanguageSwitch?: (event: CodeSamplesLanguageSwitchedEvent) => void;
|
|
65
78
|
codeSamplesCopy?: (event: CodeSamplesCopiedEvent) => void;
|
|
79
|
+
tryItOpen?: (event: TryItOpenedEvent) => void;
|
|
80
|
+
tryItSent?: (event: TryItSentEvent) => void;
|
|
66
81
|
panelToggle?: (event: PanelToggleEvent) => void;
|
|
67
82
|
targetServerSwitch?: (event: TargetServerSwitchedEvent) => void;
|
|
68
83
|
};
|
package/lib-esm/events/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var AnalyticsEventType;!function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TargetServerSwitched="TargetServerSwitched"}(AnalyticsEventType||(AnalyticsEventType={}));
|
|
1
|
+
export var AnalyticsEventType;!function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TargetServerSwitched="TargetServerSwitched",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent"}(AnalyticsEventType||(AnalyticsEventType={}));
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.11.0-next.
|
|
3
|
+
"version": "3.11.0-next.2",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"util": "~0.12.5",
|
|
47
47
|
"web-vitals": "3.3.1",
|
|
48
48
|
"@redocly/config": "0.26.1",
|
|
49
|
-
"@redocly/replay": "0.14.0-next.
|
|
49
|
+
"@redocly/replay": "0.14.0-next.2"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@shikijs/transformers": "1.24.0",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"webpack": "5.94.0",
|
|
93
93
|
"webpack-cli": "5.1.4",
|
|
94
94
|
"webpack-dev-server": "5.2.1",
|
|
95
|
-
"@redocly/theme": "0.55.0-next.
|
|
95
|
+
"@redocly/theme": "0.55.0-next.2"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"start": "npm run copy-highlight-hook && webpack serve --mode=development --hot",
|