@redocly/theme 0.61.0-next.3 → 0.61.1

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.
@@ -39,15 +39,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Admonition = Admonition;
40
40
  const react_1 = __importDefault(require("react"));
41
41
  const styled_components_1 = __importStar(require("styled-components"));
42
- const WarningFilledIcon_1 = require("../../icons/WarningFilledIcon/WarningFilledIcon");
43
- const CheckmarkFilledIcon_1 = require("../../icons/CheckmarkFilledIcon/CheckmarkFilledIcon");
44
- const CloseFilledIcon_1 = require("../../icons/CloseFilledIcon/CloseFilledIcon");
45
- const InformationFilledIcon_1 = require("../../icons/InformationFilledIcon/InformationFilledIcon");
42
+ const WarningCycleIcon_1 = require("../../icons/WarningCycleIcon/WarningCycleIcon");
43
+ const CheckmarkOutlineIcon_1 = require("../../icons/CheckmarkOutlineIcon/CheckmarkOutlineIcon");
44
+ const ErrorIcon_1 = require("../../icons/ErrorIcon/ErrorIcon");
45
+ const InformationIcon_1 = require("../../icons/InformationIcon/InformationIcon");
46
46
  const IconsMap = {
47
- warning: WarningFilledIcon_1.WarningFilledIcon,
48
- success: CheckmarkFilledIcon_1.CheckmarkFilledIcon,
49
- danger: CloseFilledIcon_1.CloseFilledIcon,
50
- info: InformationFilledIcon_1.InformationFilledIcon,
47
+ warning: WarningCycleIcon_1.WarningCycleIcon,
48
+ success: CheckmarkOutlineIcon_1.CheckmarkOutlineIcon,
49
+ danger: ErrorIcon_1.ErrorIcon,
50
+ info: InformationIcon_1.InformationIcon,
51
51
  };
52
52
  function Admonition({ type = 'info', name, children, className, 'data-source': dataSource, 'data-hash': dataHash, }) {
53
53
  const Icon = IconsMap[type] || IconsMap['info'];
@@ -69,9 +69,9 @@ const Content = styled_components_1.default.div `
69
69
  const AdmonitionWrapper = styled_components_1.default.div `
70
70
  display: flex;
71
71
  flex-direction: row;
72
- gap: var(--spacing-base);
73
- margin: var(--admonition-margin-vertical) var(--admonition-margin-horizontal);
74
- padding: var(--admonition-padding-vertical-xs) var(--admonition-padding-horizontal);
72
+ gap: var(--admonition-gap);
73
+ margin: var(--admonition-margin);
74
+ padding: var(--admonition-padding);
75
75
  border-radius: var(--admonition-border-radius);
76
76
  font-size: var(--admonition-font-size);
77
77
  font-weight: var(--admonition-font-weight);
@@ -83,17 +83,12 @@ const AdmonitionWrapper = styled_components_1.default.div `
83
83
  ${({ type }) => (0, styled_components_1.css) `
84
84
  background-color: var(--admonition-${type}-bg-color);
85
85
  color: var(--admonition-${type}-text-color);
86
- border-left: var(--admonition-${type}-border);
86
+ border: var(--admonition-${type}-border);
87
87
  `};
88
88
 
89
- &:has(${Content}) {
90
- padding: var(--admonition-padding-vertical-md) var(--admonition-padding-horizontal);
91
- }
92
-
93
89
  &:not(:has(${Content})) {
94
90
  --admonition-heading-font-size: var(--admonition-font-size);
95
91
  --admonition-heading-line-height: var(--admonition-line-height);
96
- --admonition-icon-size: 16px;
97
92
 
98
93
  align-items: center;
99
94
  gap: calc(var(--spacing-xxs) * 1.5);
@@ -103,6 +98,7 @@ const AdmonitionWrapper = styled_components_1.default.div `
103
98
  width: var(--admonition-icon-size);
104
99
  height: var(--admonition-icon-size);
105
100
  flex-shrink: 0;
101
+ margin: var(--admonition-icon-margin);
106
102
 
107
103
  fill: ${({ type }) => `var(--admonition-${type}-icon-color)`};
108
104
 
@@ -115,7 +111,7 @@ const AdmonitionWrapper = styled_components_1.default.div `
115
111
  const TextContainer = styled_components_1.default.div `
116
112
  display: flex;
117
113
  flex-direction: column;
118
- gap: var(--spacing-unit);
114
+ gap: var(--admonition-text-gap);
119
115
  width: 100%;
120
116
  `;
121
117
  const Heading = styled_components_1.default.div `
@@ -0,0 +1 @@
1
+ export declare const admonitionDarkMode: import("styled-components").FlattenSimpleInterpolation;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.admonitionDarkMode = void 0;
4
+ const styled_components_1 = require("styled-components");
5
+ exports.admonitionDarkMode = (0, styled_components_1.css) `
6
+ --admonition-info-bg-color: color-mix(in srgb, var(--color-blue-1) 40%, transparent); // @presenter Color
7
+ --admonition-info-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-blue-3) 40%, transparent); // @presenter Border
8
+
9
+ --admonition-warning-bg-color: color-mix(in srgb, var(--color-carrot-1) 40%, transparent); // @presenter Color
10
+ --admonition-warning-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-carrot-3) 40%, transparent); // @presenter Border
11
+
12
+ --admonition-danger-bg-color: color-mix(in srgb, var(--color-raspberry-1) 40%, transparent); // @presenter Color
13
+ --admonition-danger-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-raspberry-3) 40%, transparent); // @presenter Border
14
+
15
+ --admonition-success-bg-color: color-mix(in srgb, var(--color-green-1) 40%, transparent); // @presenter Color
16
+ --admonition-success-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-green-3) 40%, transparent); // @presenter Border
17
+ `;
18
+ //# sourceMappingURL=variables.dark.js.map
@@ -12,23 +12,23 @@ exports.admonition = (0, styled_components_1.css) `
12
12
  --admonition-font-size: var(--font-size-base); // @presenter FontSize
13
13
  --admonition-font-weight: var(--font-weight-regular); // @presenter FontWeight
14
14
  --admonition-line-height: var(--line-height-base); // @presenter LineHeight
15
- --admonition-heading-font-size: var(--font-size-lg); // @presenter FontSize
16
- --admonition-heading-font-weight: var(--font-weight-regular); // @presenter FontWeight
17
- --admonition-heading-line-height: var(--line-height-lg); // @presenter LineHeight
18
- --admonition-heading-letter-spacing: 0.3px; // @presenter LetterSpacing
15
+ --admonition-heading-font-size: var(--font-size-base); // @presenter FontSize
16
+ --admonition-heading-font-weight: var(--font-weight-semibold); // @presenter FontWeight
17
+ --admonition-heading-line-height: var(--line-height-base); // @presenter LineHeight
18
+ --admonition-heading-letter-spacing: 0; // @presenter LetterSpacing
19
19
  --admonition-heading-transform: none;
20
-
20
+ --admonition-heading-text-color: var(--color-warm-grey-11); // @presenter Color
21
21
  /**
22
22
  * @tokens Admonition spacing
23
23
  * @presenter Spacing
24
24
  */
25
25
 
26
- --admonition-margin-horizontal: 0;
27
- --admonition-margin-vertical: var(--spacing-lg);
28
- --admonition-padding-horizontal: var(--spacing-base);
29
- --admonition-padding-vertical-xs: var(--spacing-xs);
30
- --admonition-padding-vertical-md: var(--spacing-md);
31
- --admonition-icon-size: 24px;
26
+ --admonition-gap: var(--spacing-sm); // @presenter Spacing
27
+ --admonition-text-gap: var(--spacing-xxs); // @presenter Spacing
28
+ --admonition-margin: var(--spacing-base) 0 var(--spacing-md) 0; // @presenter Spacing
29
+ --admonition-padding: var(--spacing-sm) var(--spacing-base); // @presenter Spacing
30
+ --admonition-icon-margin: calc(var(--spacing-unit) / 2) 0; // @presenter Spacing
31
+ --admonition-icon-size: 18px; // @presenter Spacing
32
32
 
33
33
  /**
34
34
  * @tokens Admonition border
@@ -36,21 +36,20 @@ exports.admonition = (0, styled_components_1.css) `
36
36
 
37
37
  --admonition-border-radius: var(--border-radius-lg); // @presenter BorderRadius
38
38
  --admonition-border-style: var(--border-style);
39
- --admonition-border-width: calc(var(--border-width) * 4);
39
+ --admonition-border-width: 1px;
40
40
 
41
41
  /**
42
42
  * @tokens Admonition type info
43
43
  */
44
44
 
45
45
  --admonition-info-bg-color: var(--color-info-bg); // @presenter Color
46
- --admonition-info-heading-text-color: var(--text-color-primary); // @presenter Color
47
- --admonition-info-text-color: var(--text-color-secondary); // @presenter Color
48
- --admonition-info-icon-color: var(--color-info-base); // @presenter Color
46
+ --admonition-info-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
47
+ --admonition-info-text-color: var(--admonition-heading-text-color); // @presenter Color
48
+ --admonition-info-icon-color: var(--color-info-active); // @presenter Color
49
49
  --admonition-info-border-color: var(--color-info-border); // @presenter Color
50
50
  --admonition-info-border-style: var(--admonition-border-style);
51
51
  --admonition-info-border-width: var(--admonition-border-width);
52
52
  --admonition-info-border: var(--admonition-info-border-width) var(--admonition-info-border-style) var(--admonition-info-border-color); // @presenter Border
53
- --admonition-info-icon: none;
54
53
 
55
54
  /**
56
55
  * @tokens Admonition type warning
@@ -58,42 +57,39 @@ exports.admonition = (0, styled_components_1.css) `
58
57
 
59
58
  /* warning */
60
59
  --admonition-warning-bg-color: var(--color-warning-bg); // @presenter Color
61
- --admonition-warning-text-color: var(--text-color-secondary); // @presenter Color
62
- --admonition-warning-heading-text-color: var(--text-color-primary); // @presenter Color
63
- --admonition-warning-icon-color: var(--color-warning-base); // @presenter Color
60
+ --admonition-warning-text-color: var(--admonition-heading-text-color); // @presenter Color
61
+ --admonition-warning-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
62
+ --admonition-warning-icon-color: var(--color-warning-active); // @presenter Color
64
63
  --admonition-warning-border-color: var(--color-warning-border); // @presenter Color
65
64
  --admonition-warning-border-style: var(--admonition-border-style); // @presenter Color
66
65
  --admonition-warning-border-width: var(--admonition-border-width); // @presenter Color
67
66
  --admonition-warning-border: var(--admonition-warning-border-width) var(--admonition-warning-border-style) var(--admonition-warning-border-color); // @presenter Border
68
- --admonition-warning-icon: none;
69
67
 
70
68
  /**
71
69
  * @tokens Admonition type danger
72
70
  */
73
71
 
74
72
  --admonition-danger-bg-color: var(--color-error-bg); // @presenter Color
75
- --admonition-danger-text-color: var(--text-color-secondary); // @presenter Color
76
- --admonition-danger-heading-text-color: var(--text-color-primary); // @presenter Color
77
- --admonition-danger-icon-color: var(--color-error-base); // @presenter Color
73
+ --admonition-danger-text-color: var(--admonition-heading-text-color); // @presenter Color
74
+ --admonition-danger-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
75
+ --admonition-danger-icon-color: var(--color-error-active); // @presenter Color
78
76
  --admonition-danger-border-color: var(--color-error-border); // @presenter Color
79
77
  --admonition-danger-border-style: var(--admonition-border-style); // @presenter Color
80
78
  --admonition-danger-border-width: var(--admonition-border-width); // @presenter Color
81
79
  --admonition-danger-border: var(--admonition-danger-border-width) var(--admonition-danger-border-style) var(--admonition-danger-border-color); // @presenter Border
82
- --admonition-danger-icon: none;
83
80
 
84
81
  /**
85
82
  * @tokens Admonition type success
86
83
  */
87
84
 
88
85
  --admonition-success-bg-color: var(--color-success-bg); // @presenter Color
89
- --admonition-success-text-color: var(--text-color-secondary); // @presenter Color
90
- --admonition-success-heading-text-color: var(--text-color-primary); // @presenter Color
91
- --admonition-success-icon-color: var(--color-success-base); // @presenter Color
86
+ --admonition-success-text-color: var(--admonition-heading-text-color); // @presenter Color
87
+ --admonition-success-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
88
+ --admonition-success-icon-color: var(--color-success-active); // @presenter Color
92
89
  --admonition-success-border-color: var(--color-success-border); // @presenter Color
93
90
  --admonition-success-border-style: var(--admonition-border-style); // @presenter Color
94
91
  --admonition-success-border-width: var(--admonition-border-width); // @presenter Color
95
92
  --admonition-success-border: var(--admonition-success-border-width) var(--admonition-success-border-style) var(--admonition-success-border-color); // @presenter Border
96
- --admonition-success-icon: none;
97
93
 
98
94
  // @tokens End
99
95
  `;
@@ -44,6 +44,7 @@ const CloseIcon_1 = require("../../../../icons/CloseIcon/CloseIcon");
44
44
  const hooks_1 = require("../../../../core/hooks");
45
45
  const MenuContainer_1 = require("../../../../components/Menu/MenuContainer");
46
46
  const utils_1 = require("../../../../core/utils");
47
+ const constants_1 = require("../../../../core/constants");
47
48
  const CatalogEntityVersionItem_1 = require("./CatalogEntityVersionItem");
48
49
  function CatalogEntityHistorySidebar({ entityKey, revision, version, className, }) {
49
50
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
@@ -53,12 +54,13 @@ function CatalogEntityHistorySidebar({ entityKey, revision, version, className,
53
54
  const { translate } = useTranslate();
54
55
  const { currentLocale } = useL10nConfig();
55
56
  const { items: revisions } = useFetchCatalogEntityRevisions({ entityKey });
57
+ const normalizedLocale = currentLocale && currentLocale !== constants_1.DEFAULT_LOCALE_PLACEHOLDER ? currentLocale : 'en-US';
56
58
  const versionHistoryItems = (0, react_1.useMemo)(() => (0, utils_1.transformRevisionsToVersionHistory)({
57
59
  revisions,
58
60
  currentRevisionDate: revision,
59
61
  currentVersion: version,
60
- locale: currentLocale,
61
- }), [revisions, revision, version, currentLocale]);
62
+ locale: normalizedLocale,
63
+ }), [revisions, revision, version, normalizedLocale]);
62
64
  const activeRevisionLabel = (0, react_1.useMemo)(() => {
63
65
  var _a;
64
66
  const itemWithActiveRevision = versionHistoryItems.find((item) => { var _a; return (_a = item.revisions) === null || _a === void 0 ? void 0 : _a.some((revision) => revision.isActive); });
@@ -1,4 +1,5 @@
1
1
  export declare const useColorSwitcher: () => {
2
+ initActiveColorMode: () => void;
2
3
  isSwitcherHidden: boolean | undefined;
3
4
  switchColorMode: (mode?: string) => void;
4
5
  activeColorMode: string;
@@ -38,7 +38,12 @@ const useColorSwitcher = () => {
38
38
  telemetry.sendColorModeSwitchedMessage({ from: activeColorMode, to: newMode });
39
39
  setActiveColorMode(newMode);
40
40
  };
41
+ /**
42
+ * @deprecated color mode is automatically initialized when the hook is mounted
43
+ */
44
+ const initActiveColorMode = (0, react_1.useCallback)(() => { }, []);
41
45
  return {
46
+ initActiveColorMode,
42
47
  isSwitcherHidden: themeColorMode === null || themeColorMode === void 0 ? void 0 : themeColorMode.hide,
43
48
  switchColorMode,
44
49
  activeColorMode,
@@ -17,6 +17,7 @@ const variables_dark_12 = require("../../components/Catalog/variables.dark");
17
17
  const variables_dark_13 = require("../../components/PageActions/variables.dark");
18
18
  const variables_dark_14 = require("../../components/Tooltip/variables.dark");
19
19
  const variables_dark_15 = require("../../components/Banner/variables.dark");
20
+ const variables_dark_16 = require("../../components/Admonition/variables.dark");
20
21
  const replayDarkMode = (0, styled_components_1.css) `
21
22
  /**
22
23
  * @tokens Replay Colors
@@ -329,6 +330,7 @@ exports.darkMode = (0, styled_components_1.css) `
329
330
  ${variables_dark_13.pageActionsDarkMode}
330
331
  ${variables_dark_14.tooltipDarkMode}
331
332
  ${variables_dark_15.bannerDarkMode}
333
+ ${variables_dark_16.admonitionDarkMode}
332
334
 
333
335
  /**
334
336
  * @tokens Dark Theme Scrollbar Config
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { IconProps } from '../../icons/types';
3
+ export declare const WarningCycleIcon: import("styled-components").StyledComponent<(props: IconProps) => React.JSX.Element, any, {
4
+ 'data-component-name': string;
5
+ } & {
6
+ color?: string;
7
+ size?: string;
8
+ className?: string;
9
+ } & React.SVGProps<SVGSVGElement>, "data-component-name">;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WarningCycleIcon = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const utils_1 = require("../../core/utils");
10
+ const Icon = (props) => (react_1.default.createElement("svg", Object.assign({ width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
11
+ react_1.default.createElement("path", { d: "M9 1.125C7.44248 1.125 5.91992 1.58686 4.62489 2.45218C3.32985 3.31749 2.32049 4.5474 1.72445 5.98637C1.12841 7.42534 0.972461 9.00874 1.27632 10.5363C1.58018 12.0639 2.3302 13.4671 3.43154 14.5685C4.53288 15.6698 5.93607 16.4198 7.46367 16.7237C8.99127 17.0275 10.5747 16.8716 12.0136 16.2756C13.4526 15.6795 14.6825 14.6702 15.5478 13.3751C16.4131 12.0801 16.875 10.5575 16.875 9C16.875 6.91142 16.0453 4.90838 14.5685 3.43153C13.0916 1.95469 11.0886 1.125 9 1.125ZM9 15.75C7.66498 15.75 6.35994 15.3541 5.2499 14.6124C4.13987 13.8707 3.27471 12.8165 2.76382 11.5831C2.25293 10.3497 2.11925 8.99251 2.3797 7.68314C2.64015 6.37377 3.28303 5.17103 4.22703 4.22703C5.17104 3.28302 6.37377 2.64015 7.68314 2.3797C8.99252 2.11925 10.3497 2.25292 11.5831 2.76381C12.8165 3.2747 13.8707 4.13987 14.6124 5.2499C15.3541 6.35993 15.75 7.66498 15.75 9C15.75 10.7902 15.0388 12.5071 13.773 13.773C12.5071 15.0388 10.7902 15.75 9 15.75Z" }),
12
+ react_1.default.createElement("path", { d: "M9.5625 4.5H8.4375V10.6875H9.5625V4.5Z" }),
13
+ react_1.default.createElement("path", { d: "M9 12.375C8.83313 12.375 8.67 12.4245 8.53124 12.5172C8.39249 12.6099 8.28434 12.7417 8.22048 12.8959C8.15662 13.05 8.13991 13.2197 8.17247 13.3834C8.20502 13.547 8.28538 13.6974 8.40338 13.8154C8.52138 13.9334 8.67172 14.0137 8.8354 14.0463C8.99907 14.0788 9.16872 14.0621 9.32289 13.9983C9.47707 13.9344 9.60884 13.8263 9.70156 13.6875C9.79427 13.5488 9.84375 13.3856 9.84375 13.2188C9.84375 12.995 9.75486 12.7804 9.59662 12.6221C9.43839 12.4639 9.22378 12.375 9 12.375Z" })));
14
+ exports.WarningCycleIcon = (0, styled_components_1.default)(Icon).attrs(() => ({
15
+ 'data-component-name': 'icons/WarningCycleIcon/WarningCycleIcon',
16
+ })) `
17
+ path {
18
+ fill: ${({ color }) => (0, utils_1.getCssColorVariable)(color)};
19
+ }
20
+
21
+ height: ${({ size }) => size || '16px'};
22
+ width: ${({ size }) => size || '16px'};
23
+ `;
24
+ //# sourceMappingURL=WarningCycleIcon.js.map
package/lib/index.d.ts CHANGED
@@ -194,6 +194,7 @@ export * from './icons/ViewOffIcon/ViewOffIcon';
194
194
  export * from './icons/CircleDashIcon/CircleDashIcon';
195
195
  export * from './icons/RestartIcon/RestartIcon';
196
196
  export * from './icons/WarningFilledIcon/WarningFilledIcon';
197
+ export * from './icons/WarningCycleIcon/WarningCycleIcon';
197
198
  export * from './icons/CheckmarkFilledIcon/CheckmarkFilledIcon';
198
199
  export * from './icons/InformationFilledIcon/InformationFilledIcon';
199
200
  export * from './icons/BareMetalServerIcon/BareMetalServerIcon';
package/lib/index.js CHANGED
@@ -257,6 +257,7 @@ __exportStar(require("./icons/ViewOffIcon/ViewOffIcon"), exports);
257
257
  __exportStar(require("./icons/CircleDashIcon/CircleDashIcon"), exports);
258
258
  __exportStar(require("./icons/RestartIcon/RestartIcon"), exports);
259
259
  __exportStar(require("./icons/WarningFilledIcon/WarningFilledIcon"), exports);
260
+ __exportStar(require("./icons/WarningCycleIcon/WarningCycleIcon"), exports);
260
261
  __exportStar(require("./icons/CheckmarkFilledIcon/CheckmarkFilledIcon"), exports);
261
262
  __exportStar(require("./icons/InformationFilledIcon/InformationFilledIcon"), exports);
262
263
  __exportStar(require("./icons/BareMetalServerIcon/BareMetalServerIcon"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/theme",
3
- "version": "0.61.0-next.3",
3
+ "version": "0.61.1",
4
4
  "description": "Shared UI components lib",
5
5
  "keywords": [
6
6
  "theme",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@markdoc/markdoc": "0.5.2",
39
- "@shikijs/types": "1.24.2",
39
+ "@shikijs/types": "3.21.0",
40
40
  "@testing-library/react": "16.3.0",
41
41
  "@testing-library/user-event": "14.6.1",
42
42
  "@types/file-saver": "2.0.7",
@@ -63,7 +63,7 @@
63
63
  "vitest": "4.0.10",
64
64
  "vitest-when": "0.6.2",
65
65
  "webpack": "5.94.0",
66
- "@redocly/realm-asyncapi-sdk": "0.7.0-next.1"
66
+ "@redocly/realm-asyncapi-sdk": "0.7.0"
67
67
  },
68
68
  "dependencies": {
69
69
  "@tanstack/react-query": "5.62.3",
@@ -81,7 +81,7 @@
81
81
  "openapi-sampler": "1.6.2",
82
82
  "react-calendar": "5.1.0",
83
83
  "react-date-picker": "11.0.0",
84
- "@redocly/config": "0.41.1"
84
+ "@redocly/config": "0.41.2"
85
85
  },
86
86
  "scripts": {
87
87
  "watch": "tsc -p tsconfig.build.json && (concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\")",
@@ -3,10 +3,10 @@ import styled, { css } from 'styled-components';
3
3
 
4
4
  import type { FC, JSX } from 'react';
5
5
 
6
- import { WarningFilledIcon } from '@redocly/theme/icons/WarningFilledIcon/WarningFilledIcon';
7
- import { CheckmarkFilledIcon } from '@redocly/theme/icons/CheckmarkFilledIcon/CheckmarkFilledIcon';
8
- import { CloseFilledIcon } from '@redocly/theme/icons/CloseFilledIcon/CloseFilledIcon';
9
- import { InformationFilledIcon } from '@redocly/theme/icons/InformationFilledIcon/InformationFilledIcon';
6
+ import { WarningCycleIcon } from '@redocly/theme/icons/WarningCycleIcon/WarningCycleIcon';
7
+ import { CheckmarkOutlineIcon } from '@redocly/theme/icons/CheckmarkOutlineIcon/CheckmarkOutlineIcon';
8
+ import { ErrorIcon } from '@redocly/theme/icons/ErrorIcon/ErrorIcon';
9
+ import { InformationIcon } from '@redocly/theme/icons/InformationIcon/InformationIcon';
10
10
 
11
11
  type AdmonitionTypeProps = {
12
12
  type: 'warning' | 'success' | 'danger' | 'info';
@@ -20,10 +20,10 @@ export type AdmonitionProps = Partial<AdmonitionTypeProps> & {
20
20
  };
21
21
 
22
22
  const IconsMap: Record<AdmonitionTypeProps['type'], FC<{ color?: string }>> = {
23
- warning: WarningFilledIcon,
24
- success: CheckmarkFilledIcon,
25
- danger: CloseFilledIcon,
26
- info: InformationFilledIcon,
23
+ warning: WarningCycleIcon,
24
+ success: CheckmarkOutlineIcon,
25
+ danger: ErrorIcon,
26
+ info: InformationIcon,
27
27
  };
28
28
 
29
29
  export function Admonition({
@@ -65,9 +65,9 @@ const Content = styled.div`
65
65
  const AdmonitionWrapper = styled.div<AdmonitionTypeProps>`
66
66
  display: flex;
67
67
  flex-direction: row;
68
- gap: var(--spacing-base);
69
- margin: var(--admonition-margin-vertical) var(--admonition-margin-horizontal);
70
- padding: var(--admonition-padding-vertical-xs) var(--admonition-padding-horizontal);
68
+ gap: var(--admonition-gap);
69
+ margin: var(--admonition-margin);
70
+ padding: var(--admonition-padding);
71
71
  border-radius: var(--admonition-border-radius);
72
72
  font-size: var(--admonition-font-size);
73
73
  font-weight: var(--admonition-font-weight);
@@ -79,17 +79,12 @@ const AdmonitionWrapper = styled.div<AdmonitionTypeProps>`
79
79
  ${({ type }) => css`
80
80
  background-color: var(--admonition-${type}-bg-color);
81
81
  color: var(--admonition-${type}-text-color);
82
- border-left: var(--admonition-${type}-border);
82
+ border: var(--admonition-${type}-border);
83
83
  `};
84
84
 
85
- &:has(${Content}) {
86
- padding: var(--admonition-padding-vertical-md) var(--admonition-padding-horizontal);
87
- }
88
-
89
85
  &:not(:has(${Content})) {
90
86
  --admonition-heading-font-size: var(--admonition-font-size);
91
87
  --admonition-heading-line-height: var(--admonition-line-height);
92
- --admonition-icon-size: 16px;
93
88
 
94
89
  align-items: center;
95
90
  gap: calc(var(--spacing-xxs) * 1.5);
@@ -99,6 +94,7 @@ const AdmonitionWrapper = styled.div<AdmonitionTypeProps>`
99
94
  width: var(--admonition-icon-size);
100
95
  height: var(--admonition-icon-size);
101
96
  flex-shrink: 0;
97
+ margin: var(--admonition-icon-margin);
102
98
 
103
99
  fill: ${({ type }) => `var(--admonition-${type}-icon-color)`};
104
100
 
@@ -112,7 +108,7 @@ const AdmonitionWrapper = styled.div<AdmonitionTypeProps>`
112
108
  const TextContainer = styled.div`
113
109
  display: flex;
114
110
  flex-direction: column;
115
- gap: var(--spacing-unit);
111
+ gap: var(--admonition-text-gap);
116
112
  width: 100%;
117
113
  `;
118
114
 
@@ -0,0 +1,15 @@
1
+ import { css } from "styled-components";
2
+
3
+ export const admonitionDarkMode = css`
4
+ --admonition-info-bg-color: color-mix(in srgb, var(--color-blue-1) 40%, transparent); // @presenter Color
5
+ --admonition-info-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-blue-3) 40%, transparent); // @presenter Border
6
+
7
+ --admonition-warning-bg-color: color-mix(in srgb, var(--color-carrot-1) 40%, transparent); // @presenter Color
8
+ --admonition-warning-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-carrot-3) 40%, transparent); // @presenter Border
9
+
10
+ --admonition-danger-bg-color: color-mix(in srgb, var(--color-raspberry-1) 40%, transparent); // @presenter Color
11
+ --admonition-danger-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-raspberry-3) 40%, transparent); // @presenter Border
12
+
13
+ --admonition-success-bg-color: color-mix(in srgb, var(--color-green-1) 40%, transparent); // @presenter Color
14
+ --admonition-success-border: var(--admonition-border-width) var(--admonition-border-style) color-mix(in srgb, var(--color-green-3) 40%, transparent); // @presenter Border
15
+ `;
@@ -10,23 +10,23 @@ export const admonition = css`
10
10
  --admonition-font-size: var(--font-size-base); // @presenter FontSize
11
11
  --admonition-font-weight: var(--font-weight-regular); // @presenter FontWeight
12
12
  --admonition-line-height: var(--line-height-base); // @presenter LineHeight
13
- --admonition-heading-font-size: var(--font-size-lg); // @presenter FontSize
14
- --admonition-heading-font-weight: var(--font-weight-regular); // @presenter FontWeight
15
- --admonition-heading-line-height: var(--line-height-lg); // @presenter LineHeight
16
- --admonition-heading-letter-spacing: 0.3px; // @presenter LetterSpacing
13
+ --admonition-heading-font-size: var(--font-size-base); // @presenter FontSize
14
+ --admonition-heading-font-weight: var(--font-weight-semibold); // @presenter FontWeight
15
+ --admonition-heading-line-height: var(--line-height-base); // @presenter LineHeight
16
+ --admonition-heading-letter-spacing: 0; // @presenter LetterSpacing
17
17
  --admonition-heading-transform: none;
18
-
18
+ --admonition-heading-text-color: var(--color-warm-grey-11); // @presenter Color
19
19
  /**
20
20
  * @tokens Admonition spacing
21
21
  * @presenter Spacing
22
22
  */
23
23
 
24
- --admonition-margin-horizontal: 0;
25
- --admonition-margin-vertical: var(--spacing-lg);
26
- --admonition-padding-horizontal: var(--spacing-base);
27
- --admonition-padding-vertical-xs: var(--spacing-xs);
28
- --admonition-padding-vertical-md: var(--spacing-md);
29
- --admonition-icon-size: 24px;
24
+ --admonition-gap: var(--spacing-sm); // @presenter Spacing
25
+ --admonition-text-gap: var(--spacing-xxs); // @presenter Spacing
26
+ --admonition-margin: var(--spacing-base) 0 var(--spacing-md) 0; // @presenter Spacing
27
+ --admonition-padding: var(--spacing-sm) var(--spacing-base); // @presenter Spacing
28
+ --admonition-icon-margin: calc(var(--spacing-unit) / 2) 0; // @presenter Spacing
29
+ --admonition-icon-size: 18px; // @presenter Spacing
30
30
 
31
31
  /**
32
32
  * @tokens Admonition border
@@ -34,21 +34,20 @@ export const admonition = css`
34
34
 
35
35
  --admonition-border-radius: var(--border-radius-lg); // @presenter BorderRadius
36
36
  --admonition-border-style: var(--border-style);
37
- --admonition-border-width: calc(var(--border-width) * 4);
37
+ --admonition-border-width: 1px;
38
38
 
39
39
  /**
40
40
  * @tokens Admonition type info
41
41
  */
42
42
 
43
43
  --admonition-info-bg-color: var(--color-info-bg); // @presenter Color
44
- --admonition-info-heading-text-color: var(--text-color-primary); // @presenter Color
45
- --admonition-info-text-color: var(--text-color-secondary); // @presenter Color
46
- --admonition-info-icon-color: var(--color-info-base); // @presenter Color
44
+ --admonition-info-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
45
+ --admonition-info-text-color: var(--admonition-heading-text-color); // @presenter Color
46
+ --admonition-info-icon-color: var(--color-info-active); // @presenter Color
47
47
  --admonition-info-border-color: var(--color-info-border); // @presenter Color
48
48
  --admonition-info-border-style: var(--admonition-border-style);
49
49
  --admonition-info-border-width: var(--admonition-border-width);
50
50
  --admonition-info-border: var(--admonition-info-border-width) var(--admonition-info-border-style) var(--admonition-info-border-color); // @presenter Border
51
- --admonition-info-icon: none;
52
51
 
53
52
  /**
54
53
  * @tokens Admonition type warning
@@ -56,42 +55,39 @@ export const admonition = css`
56
55
 
57
56
  /* warning */
58
57
  --admonition-warning-bg-color: var(--color-warning-bg); // @presenter Color
59
- --admonition-warning-text-color: var(--text-color-secondary); // @presenter Color
60
- --admonition-warning-heading-text-color: var(--text-color-primary); // @presenter Color
61
- --admonition-warning-icon-color: var(--color-warning-base); // @presenter Color
58
+ --admonition-warning-text-color: var(--admonition-heading-text-color); // @presenter Color
59
+ --admonition-warning-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
60
+ --admonition-warning-icon-color: var(--color-warning-active); // @presenter Color
62
61
  --admonition-warning-border-color: var(--color-warning-border); // @presenter Color
63
62
  --admonition-warning-border-style: var(--admonition-border-style); // @presenter Color
64
63
  --admonition-warning-border-width: var(--admonition-border-width); // @presenter Color
65
64
  --admonition-warning-border: var(--admonition-warning-border-width) var(--admonition-warning-border-style) var(--admonition-warning-border-color); // @presenter Border
66
- --admonition-warning-icon: none;
67
65
 
68
66
  /**
69
67
  * @tokens Admonition type danger
70
68
  */
71
69
 
72
70
  --admonition-danger-bg-color: var(--color-error-bg); // @presenter Color
73
- --admonition-danger-text-color: var(--text-color-secondary); // @presenter Color
74
- --admonition-danger-heading-text-color: var(--text-color-primary); // @presenter Color
75
- --admonition-danger-icon-color: var(--color-error-base); // @presenter Color
71
+ --admonition-danger-text-color: var(--admonition-heading-text-color); // @presenter Color
72
+ --admonition-danger-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
73
+ --admonition-danger-icon-color: var(--color-error-active); // @presenter Color
76
74
  --admonition-danger-border-color: var(--color-error-border); // @presenter Color
77
75
  --admonition-danger-border-style: var(--admonition-border-style); // @presenter Color
78
76
  --admonition-danger-border-width: var(--admonition-border-width); // @presenter Color
79
77
  --admonition-danger-border: var(--admonition-danger-border-width) var(--admonition-danger-border-style) var(--admonition-danger-border-color); // @presenter Border
80
- --admonition-danger-icon: none;
81
78
 
82
79
  /**
83
80
  * @tokens Admonition type success
84
81
  */
85
82
 
86
83
  --admonition-success-bg-color: var(--color-success-bg); // @presenter Color
87
- --admonition-success-text-color: var(--text-color-secondary); // @presenter Color
88
- --admonition-success-heading-text-color: var(--text-color-primary); // @presenter Color
89
- --admonition-success-icon-color: var(--color-success-base); // @presenter Color
84
+ --admonition-success-text-color: var(--admonition-heading-text-color); // @presenter Color
85
+ --admonition-success-heading-text-color: var(--admonition-heading-text-color); // @presenter Color
86
+ --admonition-success-icon-color: var(--color-success-active); // @presenter Color
90
87
  --admonition-success-border-color: var(--color-success-border); // @presenter Color
91
88
  --admonition-success-border-style: var(--admonition-border-style); // @presenter Color
92
89
  --admonition-success-border-width: var(--admonition-border-width); // @presenter Color
93
90
  --admonition-success-border: var(--admonition-success-border-width) var(--admonition-success-border-style) var(--admonition-success-border-color); // @presenter Border
94
- --admonition-success-icon: none;
95
91
 
96
92
  // @tokens End
97
93
  `;
@@ -6,6 +6,7 @@ import { CloseIcon } from '@redocly/theme/icons/CloseIcon/CloseIcon';
6
6
  import { useThemeHooks } from '@redocly/theme/core/hooks';
7
7
  import { MenuContainer } from '@redocly/theme/components/Menu/MenuContainer';
8
8
  import { transformRevisionsToVersionHistory } from '@redocly/theme/core/utils';
9
+ import { DEFAULT_LOCALE_PLACEHOLDER } from '@redocly/theme/core/constants';
9
10
 
10
11
  import { CatalogEntityVersionItem } from './CatalogEntityVersionItem';
11
12
 
@@ -31,15 +32,18 @@ export function CatalogEntityHistorySidebar({
31
32
 
32
33
  const { items: revisions } = useFetchCatalogEntityRevisions({ entityKey });
33
34
 
35
+ const normalizedLocale =
36
+ currentLocale && currentLocale !== DEFAULT_LOCALE_PLACEHOLDER ? currentLocale : 'en-US';
37
+
34
38
  const versionHistoryItems = useMemo(
35
39
  () =>
36
40
  transformRevisionsToVersionHistory({
37
41
  revisions,
38
42
  currentRevisionDate: revision,
39
43
  currentVersion: version,
40
- locale: currentLocale,
44
+ locale: normalizedLocale,
41
45
  }),
42
- [revisions, revision, version, currentLocale],
46
+ [revisions, revision, version, normalizedLocale],
43
47
  );
44
48
  const activeRevisionLabel = useMemo(() => {
45
49
  const itemWithActiveRevision = versionHistoryItems.find((item) =>
@@ -1,4 +1,4 @@
1
- import { useMemo } from 'react';
1
+ import { useMemo, useCallback } from 'react';
2
2
 
3
3
  import { useMount } from '@redocly/theme/core/hooks';
4
4
 
@@ -54,7 +54,13 @@ export const useColorSwitcher = () => {
54
54
  setActiveColorMode(newMode);
55
55
  };
56
56
 
57
+ /**
58
+ * @deprecated color mode is automatically initialized when the hook is mounted
59
+ */
60
+ const initActiveColorMode = useCallback(() => {}, []);
61
+
57
62
  return {
63
+ initActiveColorMode,
58
64
  isSwitcherHidden: themeColorMode?.hide,
59
65
  switchColorMode,
60
66
  activeColorMode,
@@ -15,6 +15,7 @@ import { catalogDarkMode } from '@redocly/theme/components/Catalog/variables.dar
15
15
  import { pageActionsDarkMode } from '@redocly/theme/components/PageActions/variables.dark';
16
16
  import { tooltipDarkMode } from '@redocly/theme/components/Tooltip/variables.dark';
17
17
  import { bannerDarkMode } from '@redocly/theme/components/Banner/variables.dark';
18
+ import { admonitionDarkMode } from '@redocly/theme/components/Admonition/variables.dark';
18
19
 
19
20
  const replayDarkMode = css`
20
21
  /**
@@ -330,6 +331,7 @@ export const darkMode = css`
330
331
  ${pageActionsDarkMode}
331
332
  ${tooltipDarkMode}
332
333
  ${bannerDarkMode}
334
+ ${admonitionDarkMode}
333
335
 
334
336
  /**
335
337
  * @tokens Dark Theme Scrollbar Config
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+
4
+ import type { IconProps } from '@redocly/theme/icons/types';
5
+
6
+ import { getCssColorVariable } from '@redocly/theme/core/utils';
7
+
8
+ const Icon = (props: IconProps) => (
9
+ <svg
10
+ width="18"
11
+ height="18"
12
+ viewBox="0 0 18 18"
13
+ fill="none"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ {...props}
16
+ >
17
+ <path d="M9 1.125C7.44248 1.125 5.91992 1.58686 4.62489 2.45218C3.32985 3.31749 2.32049 4.5474 1.72445 5.98637C1.12841 7.42534 0.972461 9.00874 1.27632 10.5363C1.58018 12.0639 2.3302 13.4671 3.43154 14.5685C4.53288 15.6698 5.93607 16.4198 7.46367 16.7237C8.99127 17.0275 10.5747 16.8716 12.0136 16.2756C13.4526 15.6795 14.6825 14.6702 15.5478 13.3751C16.4131 12.0801 16.875 10.5575 16.875 9C16.875 6.91142 16.0453 4.90838 14.5685 3.43153C13.0916 1.95469 11.0886 1.125 9 1.125ZM9 15.75C7.66498 15.75 6.35994 15.3541 5.2499 14.6124C4.13987 13.8707 3.27471 12.8165 2.76382 11.5831C2.25293 10.3497 2.11925 8.99251 2.3797 7.68314C2.64015 6.37377 3.28303 5.17103 4.22703 4.22703C5.17104 3.28302 6.37377 2.64015 7.68314 2.3797C8.99252 2.11925 10.3497 2.25292 11.5831 2.76381C12.8165 3.2747 13.8707 4.13987 14.6124 5.2499C15.3541 6.35993 15.75 7.66498 15.75 9C15.75 10.7902 15.0388 12.5071 13.773 13.773C12.5071 15.0388 10.7902 15.75 9 15.75Z" />
18
+ <path d="M9.5625 4.5H8.4375V10.6875H9.5625V4.5Z" />
19
+ <path d="M9 12.375C8.83313 12.375 8.67 12.4245 8.53124 12.5172C8.39249 12.6099 8.28434 12.7417 8.22048 12.8959C8.15662 13.05 8.13991 13.2197 8.17247 13.3834C8.20502 13.547 8.28538 13.6974 8.40338 13.8154C8.52138 13.9334 8.67172 14.0137 8.8354 14.0463C8.99907 14.0788 9.16872 14.0621 9.32289 13.9983C9.47707 13.9344 9.60884 13.8263 9.70156 13.6875C9.79427 13.5488 9.84375 13.3856 9.84375 13.2188C9.84375 12.995 9.75486 12.7804 9.59662 12.6221C9.43839 12.4639 9.22378 12.375 9 12.375Z" />
20
+ </svg>
21
+ );
22
+
23
+ export const WarningCycleIcon = styled(Icon).attrs(() => ({
24
+ 'data-component-name': 'icons/WarningCycleIcon/WarningCycleIcon',
25
+ }))<IconProps>`
26
+ path {
27
+ fill: ${({ color }) => getCssColorVariable(color)};
28
+ }
29
+
30
+ height: ${({ size }) => size || '16px'};
31
+ width: ${({ size }) => size || '16px'};
32
+ `;
package/src/index.ts CHANGED
@@ -221,6 +221,7 @@ export * from '@redocly/theme/icons/ViewOffIcon/ViewOffIcon';
221
221
  export * from '@redocly/theme/icons/CircleDashIcon/CircleDashIcon';
222
222
  export * from '@redocly/theme/icons/RestartIcon/RestartIcon';
223
223
  export * from '@redocly/theme/icons/WarningFilledIcon/WarningFilledIcon';
224
+ export * from '@redocly/theme/icons/WarningCycleIcon/WarningCycleIcon';
224
225
  export * from '@redocly/theme/icons/CheckmarkFilledIcon/CheckmarkFilledIcon';
225
226
  export * from '@redocly/theme/icons/InformationFilledIcon/InformationFilledIcon';
226
227
  export * from '@redocly/theme/icons/BareMetalServerIcon/BareMetalServerIcon';