@mui/docs 6.0.0-dev.240424162023-9968b4889d → 6.0.0

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.
Files changed (125) hide show
  1. package/Ad/Ad.d.ts +6 -0
  2. package/Ad/Ad.js +228 -0
  3. package/Ad/AdCarbon.d.ts +3 -0
  4. package/Ad/AdCarbon.js +120 -0
  5. package/Ad/AdDisplay.d.ts +16 -0
  6. package/Ad/AdDisplay.js +89 -0
  7. package/Ad/AdGuest.d.ts +10 -0
  8. package/Ad/AdGuest.js +29 -0
  9. package/Ad/AdInHouse.d.ts +5 -0
  10. package/Ad/AdInHouse.js +15 -0
  11. package/Ad/AdManager.d.ts +16 -0
  12. package/Ad/AdManager.js +36 -0
  13. package/Ad/AdProvider.d.ts +15 -0
  14. package/Ad/AdProvider.js +24 -0
  15. package/Ad/ad.styles.d.ts +4327 -0
  16. package/Ad/ad.styles.js +89 -0
  17. package/Ad/index.d.ts +5 -0
  18. package/Ad/index.js +7 -0
  19. package/Ad/package.json +6 -0
  20. package/CHANGELOG.md +1367 -22
  21. package/CodeCopy/CodeCopy.js +1 -1
  22. package/CodeCopy/CodeCopyButton.js +11 -20
  23. package/CodeCopy/index.js +3 -3
  24. package/CodeCopy/useClipboardCopy.js +1 -1
  25. package/ComponentLinkHeader/ComponentLinkHeader.d.ts +9 -0
  26. package/ComponentLinkHeader/ComponentLinkHeader.js +197 -0
  27. package/ComponentLinkHeader/index.d.ts +2 -0
  28. package/ComponentLinkHeader/index.js +2 -0
  29. package/ComponentLinkHeader/package.json +6 -0
  30. package/DocsProvider/DocsProvider.d.ts +3 -1
  31. package/DocsProvider/DocsProvider.js +10 -5
  32. package/DocsProvider/index.js +1 -1
  33. package/HighlightedCode/HighlightedCode.d.ts +3 -1
  34. package/HighlightedCode/HighlightedCode.js +50 -24
  35. package/HighlightedCode/index.js +1 -1
  36. package/HighlightedCodeWithTabs/HighlightedCodeWithTabs.d.ts +29 -0
  37. package/HighlightedCodeWithTabs/HighlightedCodeWithTabs.js +355 -0
  38. package/HighlightedCodeWithTabs/index.d.ts +2 -0
  39. package/HighlightedCodeWithTabs/index.js +2 -0
  40. package/HighlightedCodeWithTabs/package.json +6 -0
  41. package/InfoCard/InfoCard.d.ts +0 -1
  42. package/InfoCard/InfoCard.js +46 -45
  43. package/InfoCard/index.js +1 -1
  44. package/Link/Link.js +41 -41
  45. package/Link/index.js +1 -1
  46. package/MarkdownElement/MarkdownElement.d.ts +1 -0
  47. package/MarkdownElement/MarkdownElement.js +187 -165
  48. package/MarkdownElement/index.js +1 -1
  49. package/NProgressBar/NProgressBar.js +6 -7
  50. package/NProgressBar/index.js +1 -1
  51. package/README.md +2 -2
  52. package/SectionTitle/SectionTitle.d.ts +7 -0
  53. package/SectionTitle/SectionTitle.js +30 -0
  54. package/SectionTitle/index.d.ts +1 -0
  55. package/SectionTitle/index.js +1 -0
  56. package/SectionTitle/package.json +6 -0
  57. package/branding/BrandingProvider.d.ts +1 -1
  58. package/branding/BrandingProvider.js +1 -1
  59. package/branding/brandingTheme.d.ts +2 -2
  60. package/branding/brandingTheme.js +657 -369
  61. package/branding/index.js +2 -2
  62. package/i18n/i18n.d.ts +2 -1
  63. package/i18n/i18n.js +19 -9
  64. package/i18n/index.js +1 -1
  65. package/node/Ad/Ad.js +238 -0
  66. package/node/Ad/AdCarbon.js +130 -0
  67. package/node/Ad/AdDisplay.js +97 -0
  68. package/node/Ad/AdGuest.js +37 -0
  69. package/node/Ad/AdInHouse.js +24 -0
  70. package/node/Ad/AdManager.js +46 -0
  71. package/node/Ad/AdProvider.js +33 -0
  72. package/node/Ad/ad.styles.js +97 -0
  73. package/node/Ad/index.js +63 -0
  74. package/node/CodeCopy/CodeCopy.js +10 -16
  75. package/node/CodeCopy/CodeCopyButton.js +10 -19
  76. package/node/CodeCopy/useClipboardCopy.js +1 -1
  77. package/node/ComponentLinkHeader/ComponentLinkHeader.js +206 -0
  78. package/node/ComponentLinkHeader/index.js +24 -0
  79. package/node/DocsProvider/DocsProvider.js +9 -4
  80. package/node/HighlightedCode/HighlightedCode.js +48 -22
  81. package/node/HighlightedCodeWithTabs/HighlightedCodeWithTabs.js +365 -0
  82. package/node/HighlightedCodeWithTabs/index.js +24 -0
  83. package/node/InfoCard/InfoCard.js +45 -44
  84. package/node/Link/Link.js +43 -42
  85. package/node/MarkdownElement/MarkdownElement.js +642 -623
  86. package/node/NProgressBar/NProgressBar.js +6 -7
  87. package/node/SectionTitle/SectionTitle.js +38 -0
  88. package/node/SectionTitle/index.js +16 -0
  89. package/node/branding/brandingTheme.js +657 -369
  90. package/node/i18n/i18n.js +18 -8
  91. package/node/svgIcons/AdobeXDIcon.js +22 -0
  92. package/node/svgIcons/BundleSizeIcon.js +22 -0
  93. package/node/svgIcons/FigmaIcon.js +31 -0
  94. package/node/svgIcons/FileDownload.js +3 -3
  95. package/node/svgIcons/JavaScript.js +3 -3
  96. package/node/svgIcons/MaterialDesignIcon.js +27 -0
  97. package/node/svgIcons/SketchIcon.js +36 -0
  98. package/node/svgIcons/TypeScript.js +3 -3
  99. package/node/svgIcons/W3CIcon.js +24 -0
  100. package/node/translations/translations.json +9 -4
  101. package/node/utils/loadScript.js +15 -0
  102. package/package.json +12 -10
  103. package/svgIcons/AdobeXDIcon.d.ts +4 -0
  104. package/svgIcons/AdobeXDIcon.js +14 -0
  105. package/svgIcons/BundleSizeIcon.d.ts +4 -0
  106. package/svgIcons/BundleSizeIcon.js +14 -0
  107. package/svgIcons/FigmaIcon.d.ts +4 -0
  108. package/svgIcons/FigmaIcon.js +23 -0
  109. package/svgIcons/FileDownload.d.ts +7 -0
  110. package/svgIcons/FileDownload.js +3 -3
  111. package/svgIcons/JavaScript.d.ts +7 -0
  112. package/svgIcons/JavaScript.js +3 -3
  113. package/svgIcons/MaterialDesignIcon.d.ts +4 -0
  114. package/svgIcons/MaterialDesignIcon.js +19 -0
  115. package/svgIcons/SketchIcon.d.ts +4 -0
  116. package/svgIcons/SketchIcon.js +28 -0
  117. package/svgIcons/TypeScript.d.ts +7 -0
  118. package/svgIcons/TypeScript.js +3 -3
  119. package/svgIcons/W3CIcon.d.ts +4 -0
  120. package/svgIcons/W3CIcon.js +16 -0
  121. package/translations/index.js +1 -1
  122. package/translations/translations.json +9 -4
  123. package/tsconfig.build.tsbuildinfo +1 -1
  124. package/utils/loadScript.d.ts +1 -0
  125. package/utils/loadScript.js +9 -0
@@ -154,7 +154,7 @@ export function CodeCopyProvider({
154
154
  }
155
155
 
156
156
  // Skip if it's not a copy keyboard event
157
- if (!((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c' && !event.shiftKey && !event.altKey)) {
157
+ if (!((event.ctrlKey || event.metaKey) && String.fromCharCode(event.keyCode) === 'C' && !event.shiftKey && !event.altKey)) {
158
158
  return;
159
159
  }
160
160
  const copyBtn = rootNode.current.querySelector('.MuiCode-copy');
@@ -1,17 +1,12 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
1
  var _span, _span2;
4
- const _excluded = ["code"];
5
2
  import * as React from 'react';
6
- import ContentCopyRoundedIcon from '@mui/icons-material/ContentCopyRounded';
7
- import LibraryAddCheckRoundedIcon from '@mui/icons-material/LibraryAddCheckRounded';
8
- import useClipboardCopy from './useClipboardCopy';
3
+ import useClipboardCopy from "./useClipboardCopy.js";
9
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
5
  export function CodeCopyButton(props) {
11
6
  const {
12
- code
13
- } = props,
14
- other = _objectWithoutPropertiesLoose(props, _excluded);
7
+ code,
8
+ ...other
9
+ } = props;
15
10
  const {
16
11
  copy,
17
12
  isCopied
@@ -21,7 +16,8 @@ export function CodeCopyButton(props) {
21
16
  const key = macOS ? '⌘' : 'Ctrl + ';
22
17
  return /*#__PURE__*/_jsx("div", {
23
18
  className: "MuiCode-copy-container",
24
- children: /*#__PURE__*/_jsxs("button", _extends({}, other, {
19
+ children: /*#__PURE__*/_jsxs("button", {
20
+ ...other,
25
21
  "aria-label": "Copy the code",
26
22
  type: "button",
27
23
  className: "MuiCode-copy",
@@ -29,22 +25,17 @@ export function CodeCopyButton(props) {
29
25
  // event.stopPropagation();
30
26
  await copy(code);
31
27
  },
32
- children: [isCopied ? /*#__PURE__*/_jsx(LibraryAddCheckRoundedIcon, {
33
- sx: {
34
- fontSize: 18
35
- }
36
- }) : /*#__PURE__*/_jsx(ContentCopyRoundedIcon, {
37
- sx: {
38
- fontSize: 18
39
- }
40
- }), /*#__PURE__*/_jsxs("span", {
28
+ children: [isCopied ? 'Copied' : 'Copy', /*#__PURE__*/_jsxs("span", {
41
29
  className: "MuiCode-copyKeypress",
30
+ style: {
31
+ opacity: isCopied ? 0 : 1
32
+ },
42
33
  children: [_span || (_span = /*#__PURE__*/_jsx("span", {
43
34
  children: "(or"
44
35
  })), " ", key, "C", _span2 || (_span2 = /*#__PURE__*/_jsx("span", {
45
36
  children: ")"
46
37
  }))]
47
38
  })]
48
- }))
39
+ })
49
40
  });
50
41
  }
package/CodeCopy/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from './CodeCopy';
2
- export * from './CodeCopyButton';
3
- export { default as useClipboardCopy } from './useClipboardCopy';
1
+ export * from "./CodeCopy.js";
2
+ export * from "./CodeCopyButton.js";
3
+ export { default as useClipboardCopy } from "./useClipboardCopy.js";
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import clipboardCopy from 'clipboard-copy';
3
3
  export default function useClipboardCopy() {
4
4
  const [isCopied, setIsCopied] = React.useState(false);
5
- const timeout = React.useRef();
5
+ const timeout = React.useRef(undefined);
6
6
  React.useEffect(() => () => {
7
7
  clearTimeout(timeout.current);
8
8
  }, []);
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { MarkdownHeaders } from '@mui/internal-markdown';
3
+ export interface ComponentLinkHeaderProps {
4
+ design?: boolean;
5
+ markdown: {
6
+ headers: MarkdownHeaders;
7
+ };
8
+ }
9
+ export declare function ComponentLinkHeader(props: ComponentLinkHeaderProps): React.JSX.Element;
@@ -0,0 +1,197 @@
1
+ var _ChatRounded, _BundleSizeIcon, _GitHubIcon, _W3CIcon, _MaterialDesignIcon, _li, _React$Fragment;
2
+ import * as React from 'react';
3
+ import Chip from '@mui/material/Chip';
4
+ import Tooltip from '@mui/material/Tooltip';
5
+ import ChatRounded from '@mui/icons-material/ChatRounded';
6
+ import GitHubIcon from '@mui/icons-material/GitHub';
7
+ import { styled } from '@mui/material/styles';
8
+ import SketchIcon from "../svgIcons/SketchIcon.js";
9
+ import FigmaIcon from "../svgIcons/FigmaIcon.js";
10
+ import AdobeXDIcon from "../svgIcons/AdobeXDIcon.js";
11
+ import BundleSizeIcon from "../svgIcons/BundleSizeIcon.js";
12
+ import W3CIcon from "../svgIcons/W3CIcon.js";
13
+ import MaterialDesignIcon from "../svgIcons/MaterialDesignIcon.js";
14
+ import { useTranslate } from "../i18n/index.js";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ const Root = styled('ul')({
17
+ margin: 0,
18
+ padding: 0,
19
+ listStyle: 'none',
20
+ display: 'flex',
21
+ flexWrap: 'wrap',
22
+ gap: 8,
23
+ '& .MuiChip-root': {
24
+ height: 26,
25
+ padding: '0 8px',
26
+ gap: 6,
27
+ '& .MuiChip-label': {
28
+ padding: 0
29
+ },
30
+ '& .MuiChip-iconSmall': {
31
+ margin: 0,
32
+ fontSize: 14
33
+ }
34
+ }
35
+ });
36
+ const defaultPackageNames = {
37
+ 'material-ui': '@mui/material',
38
+ 'joy-ui': '@mui/joy',
39
+ 'base-ui': '@mui/base',
40
+ system: '@mui/system'
41
+ };
42
+ export function ComponentLinkHeader(props) {
43
+ const {
44
+ markdown: {
45
+ headers
46
+ },
47
+ design
48
+ } = props;
49
+ const t = useTranslate();
50
+ const packageName = headers.packageName ?? defaultPackageNames[headers.productId] ?? '@mui/material';
51
+ return /*#__PURE__*/_jsxs(Root, {
52
+ children: [headers.githubLabel ? /*#__PURE__*/_jsx("li", {
53
+ children: /*#__PURE__*/_jsx(Chip, {
54
+ clickable: true,
55
+ role: undefined,
56
+ component: "a",
57
+ size: "small",
58
+ variant: "outlined",
59
+ rel: "nofollow",
60
+ href: `${process.env.SOURCE_CODE_REPO}/labels/${encodeURIComponent(headers.githubLabel)}`,
61
+ icon: _ChatRounded || (_ChatRounded = /*#__PURE__*/_jsx(ChatRounded, {
62
+ color: "primary"
63
+ })),
64
+ "data-ga-event-category": "ComponentLinkHeader",
65
+ "data-ga-event-action": "click",
66
+ "data-ga-event-label": t('githubLabel'),
67
+ "data-ga-event-split": "0.1",
68
+ label: t('githubLabel')
69
+ })
70
+ }) : null, /*#__PURE__*/_jsx("li", {
71
+ children: /*#__PURE__*/_jsx(Tooltip, {
72
+ title: t('bundleSizeTooltip'),
73
+ describeChild: true,
74
+ children: /*#__PURE__*/_jsx(Chip, {
75
+ clickable: true,
76
+ role: undefined,
77
+ component: "a",
78
+ size: "small",
79
+ variant: "outlined",
80
+ rel: "nofollow",
81
+ href: `https://bundlephobia.com/package/${packageName}@latest`,
82
+ icon: _BundleSizeIcon || (_BundleSizeIcon = /*#__PURE__*/_jsx(BundleSizeIcon, {
83
+ color: "primary"
84
+ })),
85
+ "data-ga-event-category": "ComponentLinkHeader",
86
+ "data-ga-event-action": "click",
87
+ "data-ga-event-label": t('bundleSize'),
88
+ "data-ga-event-split": "0.1",
89
+ label: t('bundleSize')
90
+ })
91
+ })
92
+ }), headers.githubSource ? /*#__PURE__*/_jsx("li", {
93
+ children: /*#__PURE__*/_jsx(Chip, {
94
+ clickable: true,
95
+ role: undefined,
96
+ component: "a",
97
+ size: "small",
98
+ variant: "outlined",
99
+ rel: "nofollow",
100
+ href: `${process.env.SOURCE_CODE_REPO}/blob/v${process.env.LIB_VERSION}/${headers.githubSource}`,
101
+ icon: _GitHubIcon || (_GitHubIcon = /*#__PURE__*/_jsx(GitHubIcon, {})),
102
+ "data-ga-event-category": "ComponentLinkHeader",
103
+ "data-ga-event-action": "click",
104
+ "data-ga-event-label": "Source",
105
+ "data-ga-event-split": "0.1",
106
+ label: "Source",
107
+ target: "_blank"
108
+ })
109
+ }) : null, headers.waiAria ? /*#__PURE__*/_jsx("li", {
110
+ children: /*#__PURE__*/_jsx(Chip, {
111
+ clickable: true,
112
+ role: undefined,
113
+ component: "a",
114
+ size: "small",
115
+ variant: "outlined",
116
+ rel: "nofollow",
117
+ href: headers.waiAria,
118
+ icon: _W3CIcon || (_W3CIcon = /*#__PURE__*/_jsx(W3CIcon, {
119
+ color: "primary"
120
+ })),
121
+ "data-ga-event-category": "ComponentLinkHeader",
122
+ "data-ga-event-action": "click",
123
+ "data-ga-event-label": "WAI-ARIA",
124
+ "data-ga-event-split": "0.1",
125
+ label: "WAI-ARIA"
126
+ })
127
+ }) : null, headers.materialDesign ? /*#__PURE__*/_jsx("li", {
128
+ children: /*#__PURE__*/_jsx(Chip, {
129
+ clickable: true,
130
+ role: undefined,
131
+ component: "a",
132
+ size: "small",
133
+ variant: "outlined",
134
+ rel: "nofollow",
135
+ href: headers.materialDesign,
136
+ icon: _MaterialDesignIcon || (_MaterialDesignIcon = /*#__PURE__*/_jsx(MaterialDesignIcon, {})),
137
+ "data-ga-event-category": "ComponentLinkHeader",
138
+ "data-ga-event-action": "click",
139
+ "data-ga-event-label": "Material Design",
140
+ "data-ga-event-split": "0.1",
141
+ label: "Material Design"
142
+ })
143
+ }) : null, design === false ? null : /*#__PURE__*/_jsxs(React.Fragment, {
144
+ children: [_li || (_li = /*#__PURE__*/_jsx("li", {
145
+ children: /*#__PURE__*/_jsx(Chip, {
146
+ clickable: true,
147
+ role: undefined,
148
+ component: "a",
149
+ size: "small",
150
+ variant: "outlined",
151
+ rel: "nofollow",
152
+ href: "https://mui.com/store/items/figma-react/?utm_source=docs&utm_medium=referral&utm_campaign=component-link-header",
153
+ icon: /*#__PURE__*/_jsx(FigmaIcon, {}),
154
+ "data-ga-event-category": "ComponentLinkHeader",
155
+ "data-ga-event-action": "click",
156
+ "data-ga-event-label": "Figma",
157
+ "data-ga-event-split": "0.1",
158
+ label: "Figma"
159
+ })
160
+ })), packageName === '@mui/joy' ? null : _React$Fragment || (_React$Fragment = /*#__PURE__*/_jsxs(React.Fragment, {
161
+ children: [/*#__PURE__*/_jsx("li", {
162
+ children: /*#__PURE__*/_jsx(Chip, {
163
+ clickable: true,
164
+ role: undefined,
165
+ component: "a",
166
+ size: "small",
167
+ variant: "outlined",
168
+ rel: "nofollow",
169
+ href: "https://mui.com/store/items/adobe-xd-react/?utm_source=docs&utm_medium=referral&utm_campaign=component-link-header",
170
+ icon: /*#__PURE__*/_jsx(AdobeXDIcon, {}),
171
+ "data-ga-event-category": "ComponentLinkHeader",
172
+ "data-ga-event-action": "click",
173
+ "data-ga-event-label": "Adobe XD",
174
+ "data-ga-event-split": "0.1",
175
+ label: "Adobe"
176
+ })
177
+ }), /*#__PURE__*/_jsx("li", {
178
+ children: /*#__PURE__*/_jsx(Chip, {
179
+ clickable: true,
180
+ role: undefined,
181
+ component: "a",
182
+ size: "small",
183
+ variant: "outlined",
184
+ rel: "nofollow",
185
+ href: "https://mui.com/store/items/sketch-react/?utm_source=docs&utm_medium=referral&utm_campaign=component-link-header",
186
+ icon: /*#__PURE__*/_jsx(SketchIcon, {}),
187
+ "data-ga-event-category": "ComponentLinkHeader",
188
+ "data-ga-event-action": "click",
189
+ "data-ga-event-label": "Sketch",
190
+ "data-ga-event-split": "0.1",
191
+ label: "Sketch"
192
+ })
193
+ })]
194
+ }))]
195
+ })]
196
+ });
197
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ComponentLinkHeader';
2
+ export { ComponentLinkHeader as default } from './ComponentLinkHeader';
@@ -0,0 +1,2 @@
1
+ export * from "./ComponentLinkHeader.js";
2
+ export { ComponentLinkHeader as default } from "./ComponentLinkHeader.js";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "../node/ComponentLinkHeader/index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Translations } from '../i18n';
3
+ import { AdConfig } from '../Ad';
3
4
  export interface DocsConfig {
4
5
  LANGUAGES: string[];
5
6
  LANGUAGES_SSR: string[];
@@ -8,9 +9,10 @@ export interface DocsConfig {
8
9
  }
9
10
  export interface DocsProviderProps {
10
11
  config: DocsConfig;
12
+ adConfig?: Partial<AdConfig>;
11
13
  defaultUserLanguage: string;
12
14
  children?: React.ReactNode;
13
15
  translations?: Translations;
14
16
  }
15
- export declare function DocsProvider({ config, defaultUserLanguage, translations, children, }: DocsProviderProps): React.JSX.Element;
17
+ export declare function DocsProvider({ config, adConfig, defaultUserLanguage, translations, children, }: DocsProviderProps): React.JSX.Element;
16
18
  export declare function useDocsConfig(): DocsConfig;
@@ -1,19 +1,24 @@
1
1
  import * as React from 'react';
2
- import { UserLanguageProvider } from '../i18n';
2
+ import { UserLanguageProvider } from "../i18n/index.js";
3
+ import { AdProvider } from "../Ad/index.js";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  const DocsConfigContext = /*#__PURE__*/React.createContext(null);
5
6
  export function DocsProvider({
6
7
  config,
8
+ adConfig,
7
9
  defaultUserLanguage,
8
10
  translations,
9
11
  children
10
12
  }) {
11
13
  return /*#__PURE__*/_jsx(DocsConfigContext.Provider, {
12
14
  value: config,
13
- children: /*#__PURE__*/_jsx(UserLanguageProvider, {
14
- defaultUserLanguage: defaultUserLanguage,
15
- translations: translations,
16
- children: children
15
+ children: /*#__PURE__*/_jsx(AdProvider, {
16
+ config: adConfig,
17
+ children: /*#__PURE__*/_jsx(UserLanguageProvider, {
18
+ defaultUserLanguage: defaultUserLanguage,
19
+ translations: translations,
20
+ children: children
21
+ })
17
22
  })
18
23
  });
19
24
  }
@@ -1 +1 @@
1
- export * from './DocsProvider';
1
+ export * from "./DocsProvider.js";
@@ -3,10 +3,12 @@ import { ButtonProps } from '@mui/material/Button';
3
3
  import { SxProps } from '@mui/material/styles';
4
4
  export interface HighlightedCodeProps {
5
5
  code: string;
6
- component?: React.ElementType;
7
6
  copyButtonHidden?: boolean;
8
7
  copyButtonProps?: ButtonProps;
9
8
  language: string;
9
+ parentComponent?: React.ElementType;
10
+ plainStyle?: boolean;
11
+ preComponent?: React.ElementType;
10
12
  sx?: SxProps;
11
13
  }
12
14
  export declare const HighlightedCode: React.ForwardRefExoticComponent<HighlightedCodeProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,36 +1,62 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["copyButtonHidden", "copyButtonProps", "code", "language", "component"];
4
1
  import * as React from 'react';
5
2
  import prism from '@mui/internal-markdown/prism';
6
3
  import { NoSsr } from '@mui/base/NoSsr';
7
- import { useCodeCopy, CodeCopyButton } from '../CodeCopy';
8
- import { MarkdownElement } from '../MarkdownElement';
4
+ import { styled } from '@mui/material/styles';
5
+ import { useCodeCopy, CodeCopyButton } from "../CodeCopy/index.js";
6
+ import { MarkdownElement } from "../MarkdownElement/index.js";
9
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const Pre = styled('pre')(({
9
+ theme
10
+ }) => ({
11
+ margin: 0,
12
+ color: 'hsl(60deg 30% 96.08%)',
13
+ // fallback color until Prism's theme is loaded
14
+ WebkitOverflowScrolling: 'touch',
15
+ // iOS momentum scrolling.
16
+ maxWidth: 'calc(100vw - 32px)',
17
+ [theme.breakpoints.up('md')]: {
18
+ maxWidth: 'calc(100vw - 32px - 16px)'
19
+ },
20
+ '& code': {
21
+ // Avoid layout jump after hydration (style injected by Prism)
22
+ ...theme.typography.caption,
23
+ fontFamily: theme.typography.fontFamilyCode,
24
+ fontWeight: 400,
25
+ WebkitFontSmoothing: 'subpixel-antialiased'
26
+ // Reset for Safari
27
+ // https://github.com/necolas/normalize.css/blob/master/normalize.css#L102
28
+ }
29
+ }));
10
30
  export const HighlightedCode = /*#__PURE__*/React.forwardRef(function HighlightedCode(props, ref) {
11
31
  const {
12
- copyButtonHidden = false,
13
- copyButtonProps,
14
- code,
15
- language,
16
- component: Component = MarkdownElement
17
- } = props,
18
- other = _objectWithoutPropertiesLoose(props, _excluded);
32
+ code,
33
+ copyButtonHidden = false,
34
+ copyButtonProps,
35
+ language,
36
+ plainStyle,
37
+ parentComponent: Component = plainStyle ? React.Fragment : MarkdownElement,
38
+ preComponent: PreComponent = plainStyle ? Pre : 'pre',
39
+ ...other
40
+ } = props;
19
41
  const renderedCode = React.useMemo(() => {
20
42
  return prism(code.trim(), language);
21
43
  }, [code, language]);
22
44
  const handlers = useCodeCopy();
23
- return /*#__PURE__*/_jsx(Component, _extends({
24
- ref: ref
25
- }, other, {
26
- children: /*#__PURE__*/_jsxs("div", _extends({
27
- className: "MuiCode-root"
28
- }, handlers, {
45
+ return /*#__PURE__*/_jsx(Component, {
46
+ ref: ref,
47
+ ...other,
48
+ children: /*#__PURE__*/_jsxs("div", {
49
+ className: "MuiCode-root",
50
+ ...handlers,
51
+ style: {
52
+ height: '100%'
53
+ },
29
54
  children: [copyButtonHidden ? null : /*#__PURE__*/_jsx(NoSsr, {
30
- children: /*#__PURE__*/_jsx(CodeCopyButton, _extends({
31
- code: code
32
- }, copyButtonProps))
33
- }), /*#__PURE__*/_jsx("pre", {
55
+ children: /*#__PURE__*/_jsx(CodeCopyButton, {
56
+ code: code,
57
+ ...copyButtonProps
58
+ })
59
+ }), /*#__PURE__*/_jsx(PreComponent, {
34
60
  children: /*#__PURE__*/_jsx("code", {
35
61
  className: `language-${language}`
36
62
  // eslint-disable-next-line react/no-danger
@@ -40,6 +66,6 @@ export const HighlightedCode = /*#__PURE__*/React.forwardRef(function Highlighte
40
66
  }
41
67
  })
42
68
  })]
43
- }))
44
- }));
69
+ })
70
+ });
45
71
  });
@@ -1 +1 @@
1
- export * from './HighlightedCode';
1
+ export * from "./HighlightedCode.js";
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ export declare const CodeTabList: import("@mui/styled-engine").StyledComponent<import("@mui/base/TabsList").TabsListOwnProps & Omit<any, keyof import("@mui/base/TabsList").TabsListOwnProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
3
+ ownerState: {
4
+ mounted: boolean;
5
+ contained?: boolean;
6
+ };
7
+ }, {}, {}>;
8
+ export declare const CodeTabPanel: import("@mui/styled-engine").StyledComponent<import("@mui/base/TabPanel").TabPanelOwnProps & Omit<any, keyof import("@mui/base/TabPanel").TabPanelOwnProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
9
+ ownerState: {
10
+ mounted: boolean;
11
+ contained?: boolean;
12
+ };
13
+ }, {}, {}>;
14
+ export declare const CodeTab: import("@mui/styled-engine").StyledComponent<import("@mui/base/Tab").TabOwnProps & Omit<any, keyof import("@mui/base/Tab").TabOwnProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
15
+ ownerState: {
16
+ mounted: boolean;
17
+ contained?: boolean;
18
+ };
19
+ }, {}, {}>;
20
+ type TabsConfig = {
21
+ code: string | ((tab: string) => string);
22
+ language: string;
23
+ tab: string;
24
+ };
25
+ export declare function HighlightedCodeWithTabs(props: {
26
+ tabs: Array<TabsConfig>;
27
+ storageKey?: string;
28
+ } & Record<string, any>): React.JSX.Element;
29
+ export {};