@apify/ui-library 1.109.2 → 1.109.3-featurereact19upgrade-8b5553.119
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/badge.d.ts.map +1 -1
- package/dist/src/components/badge.js.map +1 -1
- package/dist/src/components/button.d.ts +2 -2
- package/dist/src/components/button.d.ts.map +1 -1
- package/dist/src/components/card_container.d.ts +1 -1
- package/dist/src/components/code/code_block/code_block.styled.d.ts +3 -3
- package/dist/src/components/code/code_block/code_block.styled.d.ts.map +1 -1
- package/dist/src/components/code/inline_code/inline_code.d.ts +1 -1
- package/dist/src/components/code/inline_code/inline_code.d.ts.map +1 -1
- package/dist/src/components/code/one_line_code/one_line_code.d.ts +1 -1
- package/dist/src/components/code/one_line_code/one_line_code.d.ts.map +1 -1
- package/dist/src/components/code/prism_highlighter.d.ts +19 -6
- package/dist/src/components/code/prism_highlighter.d.ts.map +1 -1
- package/dist/src/components/color_wheel_gradient.d.ts +1 -1
- package/dist/src/components/color_wheel_gradient.d.ts.map +1 -1
- package/dist/src/components/floating/floating_component_base.d.ts +1 -1
- package/dist/src/components/floating/floating_component_base.d.ts.map +1 -1
- package/dist/src/components/floating/menu_components.d.ts +3 -7
- package/dist/src/components/floating/menu_components.d.ts.map +1 -1
- package/dist/src/components/floating/tooltip.d.ts +3 -3
- package/dist/src/components/floating/tooltip.d.ts.map +1 -1
- package/dist/src/components/floating/tooltip.js.map +1 -1
- package/dist/src/components/readme_renderer/table_of_contents.d.ts +1 -1
- package/dist/src/components/readme_renderer/table_of_contents.d.ts.map +1 -1
- package/dist/src/components/readme_renderer/table_of_contents.js +1 -1
- package/dist/src/components/readme_renderer/table_of_contents.js.map +1 -1
- package/dist/src/components/readme_renderer/utils.d.ts +1 -1
- package/dist/src/components/readme_renderer/utils.d.ts.map +1 -1
- package/dist/src/components/readme_renderer/utils.js +8 -5
- package/dist/src/components/readme_renderer/utils.js.map +1 -1
- package/dist/src/components/shortcut.d.ts +2 -1
- package/dist/src/components/shortcut.d.ts.map +1 -1
- package/dist/src/components/shortcut.js.map +1 -1
- package/dist/src/components/simple_markdown/simple_markdown.d.ts +7 -3
- package/dist/src/components/simple_markdown/simple_markdown.d.ts.map +1 -1
- package/dist/src/components/simple_markdown/simple_markdown.js +25 -14
- package/dist/src/components/simple_markdown/simple_markdown.js.map +1 -1
- package/dist/src/components/simple_markdown/simple_markdown_components.d.ts +9 -11
- package/dist/src/components/simple_markdown/simple_markdown_components.d.ts.map +1 -1
- package/dist/src/components/simple_markdown/simple_markdown_components.js +5 -4
- package/dist/src/components/simple_markdown/simple_markdown_components.js.map +1 -1
- package/dist/src/components/spinner.d.ts +3 -3
- package/dist/src/components/spinner.d.ts.map +1 -1
- package/dist/src/components/tabs/tab.d.ts.map +1 -1
- package/dist/src/components/tabs/tab.js.map +1 -1
- package/dist/src/components/tabs/tabs.js +3 -3
- package/dist/src/components/tabs/tabs.js.map +1 -1
- package/dist/src/components/tag.d.ts.map +1 -1
- package/dist/src/components/tag.js.map +1 -1
- package/dist/src/components/text/text_content.js.map +1 -1
- package/dist/src/components/text/text_marketing.js.map +1 -1
- package/dist/src/components/tile/shared.d.ts +1 -1
- package/dist/src/components/tile/shared.d.ts.map +1 -1
- package/dist/src/components/to_consolidate/card.d.ts +1 -1
- package/dist/src/components/to_consolidate/card.d.ts.map +1 -1
- package/dist/src/components/to_consolidate/markdown.d.ts +2 -2
- package/dist/src/components/to_consolidate/markdown.d.ts.map +1 -1
- package/dist/src/components/to_consolidate/markdown.js +60 -50
- package/dist/src/components/to_consolidate/markdown.js.map +1 -1
- package/dist/src/utils/css_utils.d.ts +1 -1
- package/dist/src/utils/css_utils.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/type_utils.d.ts +3 -0
- package/dist/src/utils/type_utils.d.ts.map +1 -0
- package/dist/src/utils/type_utils.js +2 -0
- package/dist/src/utils/type_utils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +15 -15
- package/src/components/badge.tsx +2 -1
- package/src/components/code/one_line_code/one_line_code.tsx +1 -1
- package/src/components/floating/floating_component_base.tsx +1 -1
- package/src/components/floating/tooltip.tsx +4 -4
- package/src/components/readme_renderer/table_of_contents.tsx +1 -2
- package/src/components/readme_renderer/utils.tsx +9 -6
- package/src/components/shortcut.tsx +2 -1
- package/src/components/simple_markdown/simple_markdown.tsx +50 -28
- package/src/components/simple_markdown/simple_markdown_components.tsx +13 -7
- package/src/components/tabs/tab.tsx +1 -1
- package/src/components/tabs/tabs.tsx +4 -4
- package/src/components/tag.tsx +2 -1
- package/src/components/text/text_content.tsx +1 -1
- package/src/components/text/text_marketing.tsx +1 -1
- package/src/components/to_consolidate/markdown.tsx +91 -77
- package/src/utils/index.ts +1 -0
- package/src/utils/type_utils.ts +3 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import clsx from 'clsx';
|
|
2
2
|
import _ from 'lodash';
|
|
3
3
|
import qs from 'query-string';
|
|
4
|
-
import React, { useMemo } from 'react';
|
|
5
|
-
import type { Components } from 'react-markdown';
|
|
6
|
-
import ReactMarkdown, {
|
|
7
|
-
import type { AllowElement, Node } from 'react-markdown/lib/rehype-filter.js';
|
|
4
|
+
import React, { type ElementType, useMemo } from 'react';
|
|
5
|
+
import type { AllowElement, Components, ExtraProps as MarkdownComponentExtraProps } from 'react-markdown';
|
|
6
|
+
import ReactMarkdown, { defaultUrlTransform } from 'react-markdown';
|
|
8
7
|
import rehypeRaw from 'rehype-raw';
|
|
9
8
|
import remarkGfm from 'remark-gfm';
|
|
10
9
|
import styled from 'styled-components';
|
|
@@ -15,11 +14,13 @@ import type { UiThemeOption } from '../../design_system/theme.js';
|
|
|
15
14
|
import { theme } from '../../design_system/theme.js';
|
|
16
15
|
import { useCopyToClipboard } from '../../utils/index.js';
|
|
17
16
|
import { CodeBlock, inlineCodeStyles, OneLineCode } from '../code/index.js';
|
|
17
|
+
import { Box } from '../index.js';
|
|
18
18
|
import { Link as SharedLink, type LinkProps } from '../link.js';
|
|
19
19
|
import { cleanMarkdown, slugifyHeadingChildren } from '../readme_renderer/utils.js';
|
|
20
20
|
|
|
21
21
|
interface StyledReadmeProps {
|
|
22
22
|
$scrollMarginTopPx: number;
|
|
23
|
+
className?: string;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
const markdownClassNames = {
|
|
@@ -31,7 +32,7 @@ const markdownClassNames = {
|
|
|
31
32
|
INLINE_CODE: 'Markdown-InlineCode',
|
|
32
33
|
} as const;
|
|
33
34
|
|
|
34
|
-
const
|
|
35
|
+
const StyledMarkdownWrapper = styled(Box)<StyledReadmeProps>`
|
|
35
36
|
@font-face {
|
|
36
37
|
font-family: "ellipsis-font";
|
|
37
38
|
src: local("Courier");
|
|
@@ -313,7 +314,7 @@ const StyledMarkdown = styled(ReactMarkdown) <StyledReadmeProps>`
|
|
|
313
314
|
|
|
314
315
|
export interface HeadingRendererProps {
|
|
315
316
|
node: {
|
|
316
|
-
tagName: keyof
|
|
317
|
+
tagName: keyof React.ElementType;
|
|
317
318
|
};
|
|
318
319
|
children: React.ReactNode;
|
|
319
320
|
}
|
|
@@ -322,23 +323,24 @@ export interface HeadingRendererProps {
|
|
|
322
323
|
* Adds ids to headings
|
|
323
324
|
*/
|
|
324
325
|
const DefaultHeadingRenderer = ({ node, children }: HeadingRendererProps) => {
|
|
325
|
-
const Tag = node.tagName;
|
|
326
|
+
const Tag = node.tagName as ElementType;
|
|
326
327
|
const id = slugifyHeadingChildren(children);
|
|
327
328
|
return <Tag id={id}>{children}</Tag>;
|
|
328
329
|
};
|
|
329
330
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}
|
|
331
|
+
type CodeRendererComponentProps = {
|
|
332
|
+
className?: string,
|
|
333
|
+
children: React.ReactNode,
|
|
334
|
+
} & MarkdownComponentExtraProps;
|
|
335
335
|
|
|
336
336
|
function CodeRenderer({
|
|
337
|
-
inline,
|
|
338
337
|
className,
|
|
339
338
|
children,
|
|
339
|
+
node,
|
|
340
340
|
}: CodeRendererComponentProps) {
|
|
341
|
-
|
|
341
|
+
const isInline = node?.position?.start?.line === node?.position?.end?.line;
|
|
342
|
+
|
|
343
|
+
if (isInline) {
|
|
342
344
|
return <code className={clsx(className, markdownClassNames.INLINE_CODE)}>{children}</code>;
|
|
343
345
|
}
|
|
344
346
|
|
|
@@ -478,7 +480,7 @@ const DefaultLinkRenderer = ({ node, href, ...props }: LinkRendererProps, { host
|
|
|
478
480
|
interface ParagraphRendererProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
479
481
|
node?: {
|
|
480
482
|
children: {
|
|
481
|
-
tagName: keyof
|
|
483
|
+
tagName: keyof React.ElementType;
|
|
482
484
|
type: string;
|
|
483
485
|
value: string;
|
|
484
486
|
properties: {
|
|
@@ -505,7 +507,7 @@ const ParagraphRenderer = ({ node, ...props }: ParagraphRendererProps) => {
|
|
|
505
507
|
};
|
|
506
508
|
|
|
507
509
|
const HeadingRendererWithAnchor = ({ node, children }: HeadingRendererProps) => {
|
|
508
|
-
const Tag = node.tagName;
|
|
510
|
+
const Tag = node.tagName as ElementType;
|
|
509
511
|
const id = slugifyHeadingChildren(children);
|
|
510
512
|
|
|
511
513
|
const { isCopied, copyToClipboard } = useCopyToClipboard();
|
|
@@ -563,67 +565,79 @@ const Markdown = ({
|
|
|
563
565
|
const headingRenderer = addHeadingAnchors ? HeadingRendererWithAnchor : DefaultHeadingRenderer;
|
|
564
566
|
const cleanedMarkdown = useMemo(() => cleanMarkdown(markdown), [markdown]);
|
|
565
567
|
return (
|
|
566
|
-
<
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
568
|
+
<StyledMarkdownWrapper $scrollMarginTopPx={scrollMarginTopPx} className={className}>
|
|
569
|
+
<ReactMarkdown
|
|
570
|
+
rehypePlugins={[rehypeRaw]}
|
|
571
|
+
remarkPlugins={[remarkGfm]}
|
|
572
|
+
allowedElements={[
|
|
573
|
+
'a',
|
|
574
|
+
'b',
|
|
575
|
+
'blockquote',
|
|
576
|
+
'br',
|
|
577
|
+
'center',
|
|
578
|
+
'code',
|
|
579
|
+
'del',
|
|
580
|
+
'em',
|
|
581
|
+
'h1',
|
|
582
|
+
'h2',
|
|
583
|
+
'h3',
|
|
584
|
+
'h4',
|
|
585
|
+
'h5',
|
|
586
|
+
'hr',
|
|
587
|
+
'i',
|
|
588
|
+
'img',
|
|
589
|
+
'li',
|
|
590
|
+
'ol',
|
|
591
|
+
'p',
|
|
592
|
+
'pre',
|
|
593
|
+
'span',
|
|
594
|
+
'strong',
|
|
595
|
+
'table',
|
|
596
|
+
'tbody',
|
|
597
|
+
'td',
|
|
598
|
+
'tfoot',
|
|
599
|
+
'th',
|
|
600
|
+
'thead',
|
|
601
|
+
'tr',
|
|
602
|
+
'u',
|
|
603
|
+
'ul',
|
|
604
|
+
]}
|
|
605
|
+
allowElement={allowElement}
|
|
606
|
+
components={{
|
|
607
|
+
h1: headingRenderer,
|
|
608
|
+
h2: headingRenderer,
|
|
609
|
+
h3: headingRenderer,
|
|
610
|
+
h4: headingRenderer,
|
|
611
|
+
h5: headingRenderer,
|
|
612
|
+
a: (linkProps: LinkRendererProps) => (
|
|
613
|
+
LinkRenderer
|
|
614
|
+
? LinkRenderer(linkProps, { hostname: currentPathHostname }, isUserGeneratedContent)
|
|
615
|
+
: DefaultLinkRenderer(linkProps, { hostname: currentPathHostname }, isUserGeneratedContent)
|
|
616
|
+
),
|
|
617
|
+
code: (codeProps: CodeRendererComponentProps) => CodeRenderer(codeProps),
|
|
618
|
+
p: ParagraphRenderer,
|
|
619
|
+
img: ({ node, ...imageProps }: React.ImgHTMLAttributes<HTMLImageElement> & { node?: Node }) => (
|
|
620
|
+
<img
|
|
621
|
+
{...imageProps}
|
|
622
|
+
{...(lazyLoadImages ? { loading: 'lazy' } : {})}
|
|
623
|
+
/> // node is injected by rehype-raw plugin and causing invalid prop
|
|
624
|
+
),
|
|
625
|
+
} as unknown as Components}
|
|
626
|
+
urlTransform={(href, _children, node) => {
|
|
627
|
+
if (node.tagName === 'img') {
|
|
628
|
+
return transformImageUri ? transformImageUri(href) : href;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
if (node.tagName === 'a') {
|
|
632
|
+
return transformLinkUri ? defaultUrlTransform(transformLinkUri(href)) : defaultUrlTransform(href);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
return href;
|
|
636
|
+
}}
|
|
637
|
+
>
|
|
638
|
+
{cleanedMarkdown}
|
|
639
|
+
</ReactMarkdown>
|
|
640
|
+
</StyledMarkdownWrapper>
|
|
627
641
|
);
|
|
628
642
|
};
|
|
629
643
|
|
package/src/utils/index.ts
CHANGED