@redocly/theme 0.44.4 → 0.44.6

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.
@@ -102,13 +102,13 @@ function Mood({ settings, onSubmit, className }) {
102
102
  React.createElement(StyledFormMandatoryFields, null,
103
103
  React.createElement(Label, { "data-translation-key": "feedback.settings.label" }, label || translate('feedback.settings.label', 'Was this helpful?')),
104
104
  React.createElement(StyledMandatoryFieldContainer, null,
105
- React.createElement(Button_1.Button, { type: "button", size: "medium", variant: score === MOOD_STATES.DISSATISFIED ? 'primary' : 'secondary', tone: score === MOOD_STATES.DISSATISFIED ? 'danger' : 'default', onClick: () => {
105
+ React.createElement(Button_1.Button, { "aria-label": MOOD_STATES.DISSATISFIED, type: "button", size: "medium", variant: score === MOOD_STATES.DISSATISFIED ? 'primary' : 'secondary', tone: score === MOOD_STATES.DISSATISFIED ? 'danger' : 'default', onClick: () => {
106
106
  setScore(MOOD_STATES.DISSATISFIED);
107
107
  }, icon: React.createElement(FaceDissatisfiedIcon_1.FaceDissatisfiedIcon, null) }),
108
- React.createElement(Button_1.Button, { type: "button", variant: score === MOOD_STATES.NEUTRAL ? 'primary' : 'secondary', size: "medium", onClick: () => {
108
+ React.createElement(Button_1.Button, { "aria-label": MOOD_STATES.NEUTRAL, type: "button", variant: score === MOOD_STATES.NEUTRAL ? 'primary' : 'secondary', size: "medium", onClick: () => {
109
109
  setScore(MOOD_STATES.NEUTRAL);
110
110
  }, icon: React.createElement(FaceNeutralIcon_1.FaceNeutralIcon, null) }),
111
- React.createElement(Button_1.Button, { type: "button", variant: score === MOOD_STATES.SATISFIED ? 'primary' : 'secondary', size: "medium", onClick: () => {
111
+ React.createElement(Button_1.Button, { "aria-label": MOOD_STATES.SATISFIED, type: "button", variant: score === MOOD_STATES.SATISFIED ? 'primary' : 'secondary', size: "medium", onClick: () => {
112
112
  setScore(MOOD_STATES.SATISFIED);
113
113
  }, icon: React.createElement(FaceSatisfiedIcon_1.FaceSatisfiedIcon, null) }))),
114
114
  (displayReasons || displayComment) && (React.createElement(StyledFormOptionalFields, null,
@@ -93,7 +93,9 @@ const TableOfContentMenuItem = styled_components_1.default.a `
93
93
  font-size: var(--toc-item-font-size);
94
94
  padding: var(--toc-item-padding-vertical) var(--toc-item-padding-horizontal);
95
95
  padding-left: calc(var(--toc-item-nested-offset) * ${({ depth }) => depth});
96
- transition: background-color 0.3s, color 0.3s;
96
+ transition:
97
+ background-color 0.3s,
98
+ color 0.3s;
97
99
  text-decoration: none;
98
100
  word-break: break-word;
99
101
  font-family: var(--heading-font-family, var(--toc-item-font-family));
@@ -169,7 +169,7 @@ const TooltipBody = styled_components_1.default.span `
169
169
 
170
170
  width: ${({ width }) => width || '120px'};
171
171
  ${({ placement }) => (0, styled_components_1.css) `
172
- ${PLACEMENTS[placement]};
173
- `}
172
+ ${PLACEMENTS[placement]};
173
+ `}
174
174
  `;
175
175
  //# sourceMappingURL=Tooltip.js.map
@@ -34,7 +34,6 @@ const hooks_1 = require("../../core/hooks");
34
34
  const Select_1 = require("../../components/Select/Select");
35
35
  const SelectInput_1 = require("../../components/Select/SelectInput");
36
36
  function VersionPicker(props) {
37
- var _a;
38
37
  const themeConfig = (0, hooks_1.useThemeConfig)();
39
38
  const { versionPicker } = themeConfig;
40
39
  const { useTranslate } = (0, hooks_1.useThemeHooks)();
@@ -45,7 +44,7 @@ function VersionPicker(props) {
45
44
  value: version,
46
45
  active: active,
47
46
  }));
48
- const value = (_a = options.find((item) => item.active)) === null || _a === void 0 ? void 0 : _a.value;
47
+ const value = options.find((item) => item.active);
49
48
  if (versionPicker === null || versionPicker === void 0 ? void 0 : versionPicker.hide) {
50
49
  return null;
51
50
  }
@@ -5,5 +5,6 @@ export declare enum SecurityVariablesEnvSuffix {
5
5
  APIKey = "",
6
6
  Token = "_token",
7
7
  ClientId = "_client_id",
8
- ClientSecret = "_client_secret"
8
+ ClientSecret = "_client_secret",
9
+ ClientAssertion = "_client_assertion"
9
10
  }
@@ -11,5 +11,6 @@ var SecurityVariablesEnvSuffix;
11
11
  SecurityVariablesEnvSuffix["Token"] = "_token";
12
12
  SecurityVariablesEnvSuffix["ClientId"] = "_client_id";
13
13
  SecurityVariablesEnvSuffix["ClientSecret"] = "_client_secret";
14
+ SecurityVariablesEnvSuffix["ClientAssertion"] = "_client_assertion";
14
15
  })(SecurityVariablesEnvSuffix || (exports.SecurityVariablesEnvSuffix = SecurityVariablesEnvSuffix = {}));
15
16
  //# sourceMappingURL=environments.js.map
@@ -20,7 +20,6 @@ function useCodeBlockTabsControls({ tabs, containerRef, tabRefs }) {
20
20
  isFirstTab: currentIndex === 0,
21
21
  isLastTab: currentIndex === tabs.files.length - 1,
22
22
  };
23
- // eslint-disable-next-line react-hooks/exhaustive-deps
24
23
  }, [tabs]);
25
24
  (0, react_1.useEffect)(() => {
26
25
  if (containerRef.current) {
@@ -1,5 +1,5 @@
1
1
  import type { TOptions } from 'i18next';
2
- export type TranslationKey = 'dev.newApp' | 'dev.newApp.text' | 'dev.sidebar.header' | 'dev.sidebar.footer.text' | 'dev.create.app.dialog.appName.placeholder' | 'dev.create.app.dialog.appName.error' | 'dev.create.app.dialog.selectAPIs' | 'dev.create.app.dialog.description' | 'dev.create.app.dialog.description.placeholder' | 'dev.create.app.dialog.create' | 'dev.create.app.dialog.cancel' | 'dev.main.tab.appKeys' | 'dev.main.tab.logs' | 'dev.app.description.title' | 'dev.edit.description.dialog.title' | 'dev.edit.description.dialog.save' | 'dev.edit.description.dialog.cancel' | 'dev.edit.apis.dialog.selectedAPIs' | 'dev.app.key.create' | 'dev.create.key.dialog.title' | 'dev.create.key.dialog.create' | 'dev.create.key.dialog.cancel' | 'dev.app.edit' | 'dev.app.delete' | 'dev.edit.app.dialog.title' | 'dev.edit.app.dialog.save' | 'dev.edit.app.dialog.cancel' | 'dev.delete.app.dialog.title' | 'dev.delete.app.dialog.confirmation' | 'dev.delete.app.dialog.delete' | 'dev.delete.app.dialog.cancel' | 'dev.app.key.roll' | 'dev.roll.key.dialog.title' | 'dev.roll.key.dialog.apiKey' | 'dev.roll.key.dialog.expires' | 'dev.roll.key.dialog.confirmation' | 'dev.roll.key.dialog.cancel' | 'dev.roll.key.dialog.roll' | 'dev.update.key.dialog.title' | 'dev.update.key.dialog.update' | 'dev.update.key.dialog.cancel' | 'dev.app.key.api.name' | 'dev.app.key.api.status' | 'dev.app.key.api.edit' | 'dev.edit.apis.dialog.title' | 'dev.edit.apis.dialog.apiKey' | 'dev.edit.apis.dialog.save' | 'dev.edit.apis.dialog.cancel' | 'dev.select.placeholder' | 'dev.app.overview.status.pending' | 'dev.app.overview.status.approved' | 'dev.app.overview.status.revoked' | 'dev.app.overview.status' | 'dev.app.overview.non-production' | 'dev.app.overview.production' | 'dev.app.overview.clientId' | 'dev.app.overview.apiKey' | 'dev.app.key.revoke' | 'dev.revoke.key.dialog.title' | 'dev.revoke.key.dialog.apiKey' | 'dev.revoke.key.dialog.expires' | 'dev.revoke.key.dialog.confirmation' | 'dev.revoke.key.dialog.revoke' | 'dev.revoke.key.dialog.cancel' | 'dev.app.overview.expires' | 'dev.app.overview.created' | 'dev.app.overview.visibilityToggle.hide' | 'dev.app.overview.visibilityToggle.show' | 'search.loading' | 'search.noResults.title' | 'search.noResults.description' | 'search.keys.navigate' | 'search.keys.select' | 'search.keys.exit' | 'search.label' | 'search.cancel' | 'search.recent' | 'search.navbar.label' | 'search.suggested' | 'search.showMore' | 'search.filter.title' | 'search.filter.reset' | 'search.filter.field.reset' | 'toc.header' | 'footer.copyrightText' | 'page.homeButton' | 'page.forbidden.title' | 'page.notFound.title' | 'page.notFound.description' | 'page.lastUpdated.timeago' | 'page.lastUpdated.on' | 'catalog.filters.placeholder' | 'catalog.filters.title' | 'catalog.filters.clearAll' | 'catalog.filters.select.addFilter' | 'catalog.filters.select.all' | 'catalog.filters.done' | 'sidebar.menu.backLabel' | 'sidebar.actions.show' | 'sidebar.actions.hide' | 'sidebar.actions.changeLayout' | 'versionPicker.label' | 'versionPicker.unversioned' | 'codeSnippet.copy.buttonText' | 'codeSnippet.copy.tooltipText' | 'codeSnippet.copy.toasterText' | 'markdown.editPage.text' | 'feedback.settings.comment.submitText' | 'feedback.settings.comment.label' | 'feedback.settings.comment.send' | 'feedback.settings.comment.cancel' | 'feedback.settings.comment.satisfiedLabel' | 'feedback.settings.comment.neutralLabel' | 'feedback.settings.comment.dissatisfiedLabel' | 'feedback.settings.submitText' | 'feedback.settings.label' | 'feedback.settings.reasons.label' | 'feedback.settings.reasons.send' | 'feedback.settings.comment.likeLabel' | 'feedback.settings.comment.dislikeLabel' | 'feedback.sentiment.thumbUp' | 'feedback.sentiment.thumbDown' | 'feedback.settings.leftScaleLabel' | 'feedback.settings.rightScaleLabel' | 'codeSnippet.report.buttonText' | 'codeSnippet.report.tooltipText' | 'codeSnippet.report.label' | 'userMenu.login' | 'userMenu.logout' | 'userMenu.devOnboardingLabel' | 'mobileMenu.mainMenu' | 'mobileMenu.previous' | 'mobileMenu.products' | 'page.nextButton' | 'page.previousButton' | 'openapi.download.description.title' | 'openapi.info.title' | 'openapi.info.contact.url' | 'openapi.info.contact.name' | 'openapi.info.license' | 'openapi.info.termsOfService' | 'openapi.info.metadata.title' | 'openapi.key' | 'openapi.value' | 'openapi.enum' | 'openapi.items' | 'openapi.default' | 'openapi.variable' | 'openapi.variables' | 'openapi.actions.show' | 'openapi.actions.hide' | 'openapi.actions.more' | 'openapi.languages.title' | 'openapi.servers.title' | 'openapi.operations' | 'openapi.webhooks' | 'openapi.description' | 'openapi.badges.deprecated' | 'openapi.badges.required' | 'openapi.badges.webhook' | 'openapi.request' | 'openapi.path' | 'openapi.query' | 'openapi.cookie' | 'openapi.header' | 'openapi.body' | 'openapi.responses' | 'openapi.response' | 'openapi.callbacks' | 'openapi.callbackRequest' | 'openapi.callbackResponse' | 'openapi.payload' | 'openapi.discriminator' | 'openapi.contentType' | 'openapi.tryIt' | 'openapi.loading' | 'openapi.example' | 'openapi.examples' | 'openapi.additionalProperties' | 'openapi.patternProperties' | 'openapi.required' | 'openapi.recursive' | 'openapi.deprecated' | 'openapi.hideExample' | 'openapi.showExample' | 'openapi.expandAll' | 'openapi.collapseAll' | 'openapi.pdfFileSample' | 'openapi.noResponseExample' | 'openapi.noRequestPayload' | 'openapi.hidePattern' | 'openapi.showPattern' | 'openapi.authorizationUrl' | 'openapi.tokenUrl' | 'openapi.refreshUrl' | 'openapi.scopes' | 'openapi.security' | 'openapi.httpAuthorizationScheme' | 'openapi.bearerFormat' | 'openapi.parameterName' | 'openapi.flowType' | 'openapi.connectUrl' | 'openapi.requiredScopes' | 'openapi.unsupportedLanguage' | 'openapi.failedToGenerateCodeSample' | 'graphql.queries' | 'graphql.mutations' | 'graphql.subscriptions' | 'graphql.directives' | 'graphql.objects' | 'graphql.interfaces' | 'graphql.unions' | 'graphql.enums' | 'graphql.inputs' | 'graphql.scalars' | 'graphql.arguments.label' | 'graphql.arguments.show' | 'graphql.arguments.hide' | 'graphql.arguments.here' | 'graphql.returnTypes.label' | 'graphql.returnTypes.show' | 'graphql.returnTypes.hide' | 'graphql.possibleTypes' | 'graphql.defaultValue' | 'graphql.deprecationReason' | 'graphql.implementedInterfaces' | 'graphql.nonNull' | 'graphql.required' | 'graphql.deprecated' | 'graphql.variables' | 'graphql.querySample' | 'graphql.mutationSample' | 'graphql.subscriptionSample' | 'graphql.responseSample' | 'graphql.locations' | 'graphql.sample' | 'graphql.referenced';
2
+ export type TranslationKey = 'dev.newApp' | 'dev.newApp.text' | 'dev.sidebar.header' | 'dev.sidebar.footer.text' | 'dev.create.app.dialog.appName.placeholder' | 'dev.create.app.dialog.appName.error' | 'dev.create.app.dialog.selectAPIs' | 'dev.create.app.dialog.description' | 'dev.create.app.dialog.description.placeholder' | 'dev.create.app.dialog.create' | 'dev.create.app.dialog.cancel' | 'dev.main.tab.appKeys' | 'dev.main.tab.logs' | 'dev.app.description.title' | 'dev.edit.description.dialog.title' | 'dev.edit.description.dialog.save' | 'dev.edit.description.dialog.cancel' | 'dev.edit.apis.dialog.selectedAPIs' | 'dev.app.key.create' | 'dev.create.key.dialog.title' | 'dev.create.key.dialog.create' | 'dev.create.key.dialog.cancel' | 'dev.app.edit' | 'dev.app.delete' | 'dev.edit.app.dialog.title' | 'dev.edit.app.dialog.save' | 'dev.edit.app.dialog.cancel' | 'dev.delete.app.dialog.title' | 'dev.delete.app.dialog.confirmation' | 'dev.delete.app.dialog.delete' | 'dev.delete.app.dialog.cancel' | 'dev.app.key.roll' | 'dev.roll.key.dialog.title' | 'dev.roll.key.dialog.apiKey' | 'dev.roll.key.dialog.expires' | 'dev.roll.key.dialog.confirmation' | 'dev.roll.key.dialog.cancel' | 'dev.roll.key.dialog.roll' | 'dev.update.key.dialog.title' | 'dev.update.key.dialog.update' | 'dev.update.key.dialog.cancel' | 'dev.app.key.api.name' | 'dev.app.key.api.status' | 'dev.app.key.api.edit' | 'dev.edit.apis.dialog.title' | 'dev.edit.apis.dialog.apiKey' | 'dev.edit.apis.dialog.save' | 'dev.edit.apis.dialog.cancel' | 'dev.select.placeholder' | 'dev.app.overview.status.pending' | 'dev.app.overview.status.approved' | 'dev.app.overview.status.revoked' | 'dev.app.overview.status' | 'dev.app.overview.non-production' | 'dev.app.overview.production' | 'dev.app.overview.clientId' | 'dev.app.overview.apiKey' | 'dev.app.key.revoke' | 'dev.revoke.key.dialog.title' | 'dev.revoke.key.dialog.apiKey' | 'dev.revoke.key.dialog.expires' | 'dev.revoke.key.dialog.confirmation' | 'dev.revoke.key.dialog.revoke' | 'dev.revoke.key.dialog.cancel' | 'dev.app.overview.expires' | 'dev.app.overview.created' | 'dev.app.overview.visibilityToggle.hide' | 'dev.app.overview.visibilityToggle.show' | 'search.loading' | 'search.noResults.title' | 'search.noResults.description' | 'search.keys.navigate' | 'search.keys.select' | 'search.keys.exit' | 'search.label' | 'search.cancel' | 'search.recent' | 'search.navbar.label' | 'search.suggested' | 'search.showMore' | 'search.filter.title' | 'search.filter.reset' | 'search.filter.field.reset' | 'toc.header' | 'footer.copyrightText' | 'page.homeButton' | 'page.forbidden.title' | 'page.notFound.title' | 'page.notFound.description' | 'page.lastUpdated.timeago' | 'page.lastUpdated.on' | 'catalog.filters.placeholder' | 'catalog.filters.title' | 'catalog.filters.clearAll' | 'catalog.filters.select.addFilter' | 'catalog.filters.select.all' | 'catalog.filters.done' | 'sidebar.menu.backLabel' | 'sidebar.actions.show' | 'sidebar.actions.hide' | 'sidebar.actions.changeLayout' | 'versionPicker.label' | 'versionPicker.unversioned' | 'codeSnippet.copy.buttonText' | 'codeSnippet.copy.tooltipText' | 'codeSnippet.copy.toasterText' | 'markdown.editPage.text' | 'feedback.settings.comment.submitText' | 'feedback.settings.comment.label' | 'feedback.settings.comment.send' | 'feedback.settings.comment.cancel' | 'feedback.settings.comment.satisfiedLabel' | 'feedback.settings.comment.neutralLabel' | 'feedback.settings.comment.dissatisfiedLabel' | 'feedback.settings.submitText' | 'feedback.settings.label' | 'feedback.settings.reasons.label' | 'feedback.settings.reasons.send' | 'feedback.settings.comment.likeLabel' | 'feedback.settings.comment.dislikeLabel' | 'feedback.sentiment.thumbUp' | 'feedback.sentiment.thumbDown' | 'feedback.settings.leftScaleLabel' | 'feedback.settings.rightScaleLabel' | 'codeSnippet.report.buttonText' | 'codeSnippet.report.tooltipText' | 'codeSnippet.report.label' | 'userMenu.login' | 'userMenu.logout' | 'userMenu.devOnboardingLabel' | 'mobileMenu.mainMenu' | 'mobileMenu.previous' | 'mobileMenu.products' | 'page.nextButton' | 'page.previousButton' | 'openapi.download.description.title' | 'openapi.info.title' | 'openapi.info.contact.url' | 'openapi.info.contact.name' | 'openapi.info.license' | 'openapi.info.termsOfService' | 'openapi.info.metadata.title' | 'openapi.key' | 'openapi.value' | 'openapi.enum' | 'openapi.items' | 'openapi.default' | 'openapi.variable' | 'openapi.variables' | 'openapi.actions.show' | 'openapi.actions.hide' | 'openapi.actions.more' | 'openapi.languages.title' | 'openapi.servers.title' | 'openapi.operations' | 'openapi.webhooks' | 'openapi.description' | 'openapi.badges.deprecated' | 'openapi.badges.required' | 'openapi.badges.webhook' | 'openapi.request' | 'openapi.path' | 'openapi.query' | 'openapi.cookie' | 'openapi.header' | 'openapi.body' | 'openapi.responses' | 'openapi.response' | 'openapi.callbacks' | 'openapi.callbackRequest' | 'openapi.callbackResponse' | 'openapi.payload' | 'openapi.discriminator' | 'openapi.contentType' | 'openapi.tryIt' | 'openapi.loading' | 'openapi.example' | 'openapi.examples' | 'openapi.additionalProperties' | 'openapi.patternProperties' | 'openapi.required' | 'openapi.recursive' | 'openapi.deprecated' | 'openapi.hideExample' | 'openapi.showExample' | 'openapi.expandAll' | 'openapi.collapseAll' | 'openapi.noResponseExample' | 'openapi.noRequestPayload' | 'openapi.hidePattern' | 'openapi.showPattern' | 'openapi.authorizationUrl' | 'openapi.tokenUrl' | 'openapi.refreshUrl' | 'openapi.scopes' | 'openapi.security' | 'openapi.httpAuthorizationScheme' | 'openapi.bearerFormat' | 'openapi.parameterName' | 'openapi.flowType' | 'openapi.connectUrl' | 'openapi.requiredScopes' | 'openapi.unsupportedLanguage' | 'openapi.failedToGenerateCodeSample' | 'graphql.queries' | 'graphql.mutations' | 'graphql.subscriptions' | 'graphql.directives' | 'graphql.objects' | 'graphql.interfaces' | 'graphql.unions' | 'graphql.enums' | 'graphql.inputs' | 'graphql.scalars' | 'graphql.arguments.label' | 'graphql.arguments.show' | 'graphql.arguments.hide' | 'graphql.arguments.here' | 'graphql.returnTypes.label' | 'graphql.returnTypes.show' | 'graphql.returnTypes.hide' | 'graphql.possibleTypes' | 'graphql.defaultValue' | 'graphql.deprecationReason' | 'graphql.implementedInterfaces' | 'graphql.nonNull' | 'graphql.required' | 'graphql.deprecated' | 'graphql.variables' | 'graphql.querySample' | 'graphql.mutationSample' | 'graphql.subscriptionSample' | 'graphql.responseSample' | 'graphql.locations' | 'graphql.sample' | 'graphql.referenced';
3
3
  export type Locale = {
4
4
  code: string;
5
5
  name: string;
@@ -2,11 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEmptyArray = isEmptyArray;
4
4
  exports.isPrimitive = isPrimitive;
5
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
6
5
  function isEmptyArray(items) {
7
6
  return Array.isArray(items) && !(items === null || items === void 0 ? void 0 : items.length);
8
7
  }
9
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
10
8
  function isPrimitive(arg) {
11
9
  return ['string', 'boolean', 'number', 'undefined'].includes(typeof arg);
12
10
  }
@@ -58,7 +58,9 @@ const CardLinkIcon = (0, styled_components_1.default)(ChevronRightIcon_1.Chevron
58
58
  height: var(--card-link-icon-height);
59
59
  margin-left: var(--spacing-xxs);
60
60
  opacity: 0;
61
- transition: opacity 0.3s, transform 0.3s;
61
+ transition:
62
+ opacity 0.3s,
63
+ transform 0.3s;
62
64
  `;
63
65
  const Body = styled_components_1.default.div `
64
66
  color: var(--card-text-color);
@@ -4,7 +4,12 @@ exports.admonition = void 0;
4
4
  exports.admonition = {
5
5
  schema: {
6
6
  attributes: {
7
- type: { type: String, required: true, default: 'info' },
7
+ type: {
8
+ type: String,
9
+ required: true,
10
+ default: 'info',
11
+ matches: ['warning', 'info', 'danger', 'success'],
12
+ },
8
13
  name: { type: String },
9
14
  },
10
15
  render: 'Admonition',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.44.4",
3
+ "version": "0.44.6",
4
4
  "description": "Shared UI components lib",
5
5
  "keywords": [
6
6
  "theme",
@@ -36,18 +36,6 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@markdoc/markdoc": "0.4.0",
39
- "@storybook/addon-actions": "7.6.19",
40
- "@storybook/addon-essentials": "7.6.19",
41
- "@storybook/addon-interactions": "7.6.19",
42
- "@storybook/addon-links": "7.6.19",
43
- "@storybook/addon-viewport": "7.6.19",
44
- "@storybook/addons": "7.6.17",
45
- "@storybook/core-common": "7.6.19",
46
- "@storybook/node-logger": "7.6.19",
47
- "@storybook/react": "7.6.19",
48
- "@storybook/react-webpack5": "7.6.19",
49
- "@storybook/testing-library": "0.2.2",
50
- "@storybook/theming": "8.0.0",
51
39
  "@testing-library/jest-dom": "6.1.5",
52
40
  "@testing-library/react": "14.1.2",
53
41
  "@testing-library/user-event": "14.5.1",
@@ -62,9 +50,6 @@
62
50
  "@types/styled-components": "5.1.34",
63
51
  "@types/styled-system": "5.1.22",
64
52
  "@types/nprogress": "0.2.3",
65
- "@typescript-eslint/eslint-plugin": "8.6.0",
66
- "@typescript-eslint/parser": "8.6.0",
67
- "chromatic": "6.17.2",
68
53
  "concurrently": "7.6.0",
69
54
  "jest": "29.5.0",
70
55
  "jest-environment-jsdom": "29.5.0",
@@ -76,9 +61,6 @@
76
61
  "react-refresh": "0.14.2",
77
62
  "react-router-dom": "6.21.1",
78
63
  "rimraf": "5.0.7",
79
- "storybook": "7.6.19",
80
- "storybook-addon-pseudo-states": "3.1.1",
81
- "storybook-design-token": "3.1.0",
82
64
  "styled-components": "5.3.11",
83
65
  "styled-system": "5.1.5",
84
66
  "ts-jest": "29.1.2",
@@ -102,7 +84,6 @@
102
84
  "@redocly/config": "0.13.0"
103
85
  },
104
86
  "scripts": {
105
- "start": "npm-run-all --parallel storybook storybook:tokens:watch",
106
87
  "watch": "tsc -p tsconfig.build.json && (concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\")",
107
88
  "ts:check": "tsc --noEmit --skipLibCheck",
108
89
  "clean": "rimraf lib",
@@ -112,12 +93,6 @@
112
93
  "test:update": "jest -u",
113
94
  "test:watch": "jest --watch",
114
95
  "test:coverage": "jest --coverage",
115
- "test:coverage:html": "jest --coverage --coverageReporters html",
116
- "e2e": "npx chromatic -b storybook:build --auto-accept-changes main --exit-once-uploaded",
117
- "storybook": "storybook dev -p 6006",
118
- "storybook:build": "npm run storybook:tokens && storybook build",
119
- "storybook:tokens": "ts-node scripts/generate-css-tokens.ts",
120
- "storybook:tokens:watch": "ts-node-dev --respawn scripts/generate-css-tokens.ts",
121
- "chromatic": "chromatic --exit-zero-on-changes"
96
+ "test:coverage:html": "jest --coverage --coverageReporters html"
122
97
  }
123
98
  }
@@ -6,13 +6,12 @@ import type { DropdownMenuItemProps } from '@redocly/theme/components/Dropdown/D
6
6
 
7
7
  import { DropdownMenuItem } from '@redocly/theme/components/Dropdown/DropdownMenuItem';
8
8
 
9
- export type DropdownMenuProps =
10
- | { className?: string; role?: string; footer?: React.ReactNode } & (
11
- | {
12
- items: DropdownMenuItemProps[];
13
- }
14
- | { children?: ReactNode }
15
- );
9
+ export type DropdownMenuProps = { className?: string; role?: string; footer?: React.ReactNode } & (
10
+ | {
11
+ items: DropdownMenuItemProps[];
12
+ }
13
+ | { children?: ReactNode }
14
+ );
16
15
 
17
16
  export function DropdownMenu(props: DropdownMenuProps): JSX.Element {
18
17
  let content: React.ReactNode = null;
@@ -123,6 +123,7 @@ export function Mood({ settings, onSubmit, className }: MoodProps): JSX.Element
123
123
  </Label>
124
124
  <StyledMandatoryFieldContainer>
125
125
  <Button
126
+ aria-label={MOOD_STATES.DISSATISFIED}
126
127
  type="button"
127
128
  size="medium"
128
129
  variant={score === MOOD_STATES.DISSATISFIED ? 'primary' : 'secondary'}
@@ -133,6 +134,7 @@ export function Mood({ settings, onSubmit, className }: MoodProps): JSX.Element
133
134
  icon={<FaceDissatisfiedIcon />}
134
135
  />
135
136
  <Button
137
+ aria-label={MOOD_STATES.NEUTRAL}
136
138
  type="button"
137
139
  variant={score === MOOD_STATES.NEUTRAL ? 'primary' : 'secondary'}
138
140
  size="medium"
@@ -142,6 +144,7 @@ export function Mood({ settings, onSubmit, className }: MoodProps): JSX.Element
142
144
  icon={<FaceNeutralIcon />}
143
145
  />
144
146
  <Button
147
+ aria-label={MOOD_STATES.SATISFIED}
145
148
  type="button"
146
149
  variant={score === MOOD_STATES.SATISFIED ? 'primary' : 'secondary'}
147
150
  size="medium"
@@ -89,6 +89,6 @@ const FooterItemWrapper = styled.div<{ iconsOnly?: boolean; item: ResolvedNavIte
89
89
  iconsOnly
90
90
  ? '0 var(--footer-item-icon-margin-right) 0 0;'
91
91
  : item.type === 'link'
92
- ? 'var(--footer-link-padding-vertical) var(--footer-link-padding-horizontal);'
93
- : '0'};
92
+ ? 'var(--footer-link-padding-vertical) var(--footer-link-padding-horizontal);'
93
+ : '0'};
94
94
  `;
@@ -43,8 +43,8 @@ const MenuContainerComponent = styled.div.attrs<MenuContainerProps>(
43
43
  animation === 'slideInRight'
44
44
  ? slideInRightAnimation
45
45
  : animation === 'slideInLeft'
46
- ? slideInLeftAnimation
47
- : 'none'};
46
+ ? slideInLeftAnimation
47
+ : 'none'};
48
48
  animation-fill-mode: forwards;
49
49
  animation-duration: 0.3s;
50
50
  animation-timing-function: ease;
@@ -103,8 +103,8 @@ export function Select<T>(props: SelectProps<T>): JSX.Element {
103
103
  ? newSelectedOptions.map((o) => o.value)
104
104
  : newSelectedOptions[0].value
105
105
  : multiple
106
- ? []
107
- : ('' as T);
106
+ ? []
107
+ : ('' as T);
108
108
 
109
109
  setSelectedOptions(newSelectedOptions);
110
110
  onChange?.(newSelectedValues);
@@ -28,8 +28,8 @@ const SwitchWrapper = styled.div<{ selected: boolean; disabled: boolean }>`
28
28
  disabled
29
29
  ? 'var(--switch-bg-color-disabled)'
30
30
  : selected
31
- ? 'var(--switch-bg-color-selected)'
32
- : 'var(--switch-bg-color)'};
31
+ ? 'var(--switch-bg-color-selected)'
32
+ : 'var(--switch-bg-color)'};
33
33
  display: flex;
34
34
  align-items: center;
35
35
  padding: var(--switch-padding);
@@ -114,7 +114,9 @@ const TableOfContentMenuItem = styled.a<{ depth: number }>`
114
114
  font-size: var(--toc-item-font-size);
115
115
  padding: var(--toc-item-padding-vertical) var(--toc-item-padding-horizontal);
116
116
  padding-left: calc(var(--toc-item-nested-offset) * ${({ depth }) => depth});
117
- transition: background-color 0.3s, color 0.3s;
117
+ transition:
118
+ background-color 0.3s,
119
+ color 0.3s;
118
120
  text-decoration: none;
119
121
  word-break: break-word;
120
122
  font-family: var(--heading-font-family, var(--toc-item-font-family));
@@ -195,8 +195,7 @@ const TooltipBody = styled.span<
195
195
  box-shadow: rgb(0 0 0 / 25%) 0 2px 4px;
196
196
 
197
197
  width: ${({ width }) => width || '120px'};
198
- ${({ placement }) =>
199
- css`
200
- ${PLACEMENTS[placement]};
201
- `}
198
+ ${({ placement }) => css`
199
+ ${PLACEMENTS[placement]};
200
+ `}
202
201
  `;
@@ -21,7 +21,7 @@ export function VersionPicker(props: { versions?: Version[]; onChange: (v: Versi
21
21
  value: version,
22
22
  active: active,
23
23
  }));
24
- const value = options.find((item) => item.active)?.value;
24
+ const value = options.find((item) => item.active);
25
25
 
26
26
  if (versionPicker?.hide) {
27
27
  return null;
@@ -7,4 +7,5 @@ export enum SecurityVariablesEnvSuffix {
7
7
  Token = '_token',
8
8
  ClientId = '_client_id',
9
9
  ClientSecret = '_client_secret',
10
+ ClientAssertion = '_client_assertion',
10
11
  }
@@ -27,7 +27,6 @@ export function useCodeBlockTabsControls({ tabs, containerRef, tabRefs }: CodeBl
27
27
  isFirstTab: currentIndex === 0,
28
28
  isLastTab: currentIndex === tabs.files.length - 1,
29
29
  };
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
30
  }, [tabs]);
32
31
 
33
32
  useEffect(() => {
@@ -188,7 +188,6 @@ export type TranslationKey =
188
188
  | 'openapi.showExample'
189
189
  | 'openapi.expandAll'
190
190
  | 'openapi.collapseAll'
191
- | 'openapi.pdfFileSample'
192
191
  | 'openapi.noResponseExample'
193
192
  | 'openapi.noRequestPayload'
194
193
  | 'openapi.hidePattern'
@@ -1,9 +1,7 @@
1
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
2
1
  export function isEmptyArray(items: any): boolean {
3
2
  return Array.isArray(items) && !items?.length;
4
3
  }
5
4
 
6
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
7
5
  export function isPrimitive(arg: any): boolean {
8
6
  return ['string', 'boolean', 'number', 'undefined'].includes(typeof arg);
9
7
  }
@@ -31,7 +31,7 @@ export const mapNavbarItems = (
31
31
  hasActiveSubItem: !!navItem.items?.find((item) =>
32
32
  isItemActive(item, defaultLocale, currentLocale, locales, location),
33
33
  ),
34
- } as ItemState),
34
+ }) as ItemState,
35
35
  );
36
36
  };
37
37
 
@@ -111,7 +111,9 @@ const CardLinkIcon = styled(ChevronRightIcon)`
111
111
  height: var(--card-link-icon-height);
112
112
  margin-left: var(--spacing-xxs);
113
113
  opacity: 0;
114
- transition: opacity 0.3s, transform 0.3s;
114
+ transition:
115
+ opacity 0.3s,
116
+ transform 0.3s;
115
117
  `;
116
118
 
117
119
  const Body = styled.div<{ $lineClamp?: number }>`
@@ -3,7 +3,12 @@ import type { MarkdocSchemaWrapper } from '@redocly/theme/markdoc/tags/types';
3
3
  export const admonition: MarkdocSchemaWrapper = {
4
4
  schema: {
5
5
  attributes: {
6
- type: { type: String, required: true, default: 'info' },
6
+ type: {
7
+ type: String,
8
+ required: true,
9
+ default: 'info',
10
+ matches: ['warning', 'info', 'danger', 'success'],
11
+ },
7
12
  name: { type: String },
8
13
  },
9
14
  render: 'Admonition',