@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.
- package/lib/components/Feedback/Mood.js +3 -3
- package/lib/components/TableOfContent/TableOfContent.js +3 -1
- package/lib/components/Tooltip/Tooltip.js +2 -2
- package/lib/components/VersionPicker/VersionPicker.js +1 -2
- package/lib/core/constants/environments.d.ts +2 -1
- package/lib/core/constants/environments.js +1 -0
- package/lib/core/hooks/use-codeblock-tabs-controls.js +0 -1
- package/lib/core/types/l10n.d.ts +1 -1
- package/lib/core/utils/args-typecheck.js +0 -2
- package/lib/markdoc/components/Cards/Card.js +3 -1
- package/lib/markdoc/tags/admonition.js +6 -1
- package/package.json +2 -27
- package/src/components/Dropdown/DropdownMenu.tsx +6 -7
- package/src/components/Feedback/Mood.tsx +3 -0
- package/src/components/Footer/FooterItem.tsx +2 -2
- package/src/components/Menu/MenuContainer.tsx +2 -2
- package/src/components/Select/Select.tsx +2 -2
- package/src/components/Switch/Switch.tsx +2 -2
- package/src/components/TableOfContent/TableOfContent.tsx +3 -1
- package/src/components/Tooltip/Tooltip.tsx +3 -4
- package/src/components/VersionPicker/VersionPicker.tsx +1 -1
- package/src/core/constants/environments.ts +1 -0
- package/src/core/hooks/use-codeblock-tabs-controls.ts +0 -1
- package/src/core/types/l10n.ts +0 -1
- package/src/core/utils/args-typecheck.ts +0 -2
- package/src/core/utils/menu.ts +1 -1
- package/src/markdoc/components/Cards/Card.tsx +3 -1
- package/src/markdoc/tags/admonition.ts +6 -1
|
@@ -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:
|
|
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
|
-
|
|
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 =
|
|
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
|
}
|
|
@@ -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) {
|
package/lib/core/types/l10n.d.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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: {
|
|
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.
|
|
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
|
-
| {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
93
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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:
|
|
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
|
-
|
|
200
|
-
|
|
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)
|
|
24
|
+
const value = options.find((item) => item.active);
|
|
25
25
|
|
|
26
26
|
if (versionPicker?.hide) {
|
|
27
27
|
return null;
|
|
@@ -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(() => {
|
package/src/core/types/l10n.ts
CHANGED
|
@@ -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
|
}
|
package/src/core/utils/menu.ts
CHANGED
|
@@ -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:
|
|
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: {
|
|
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',
|