@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.
Files changed (88) hide show
  1. package/dist/src/components/badge.d.ts.map +1 -1
  2. package/dist/src/components/badge.js.map +1 -1
  3. package/dist/src/components/button.d.ts +2 -2
  4. package/dist/src/components/button.d.ts.map +1 -1
  5. package/dist/src/components/card_container.d.ts +1 -1
  6. package/dist/src/components/code/code_block/code_block.styled.d.ts +3 -3
  7. package/dist/src/components/code/code_block/code_block.styled.d.ts.map +1 -1
  8. package/dist/src/components/code/inline_code/inline_code.d.ts +1 -1
  9. package/dist/src/components/code/inline_code/inline_code.d.ts.map +1 -1
  10. package/dist/src/components/code/one_line_code/one_line_code.d.ts +1 -1
  11. package/dist/src/components/code/one_line_code/one_line_code.d.ts.map +1 -1
  12. package/dist/src/components/code/prism_highlighter.d.ts +19 -6
  13. package/dist/src/components/code/prism_highlighter.d.ts.map +1 -1
  14. package/dist/src/components/color_wheel_gradient.d.ts +1 -1
  15. package/dist/src/components/color_wheel_gradient.d.ts.map +1 -1
  16. package/dist/src/components/floating/floating_component_base.d.ts +1 -1
  17. package/dist/src/components/floating/floating_component_base.d.ts.map +1 -1
  18. package/dist/src/components/floating/menu_components.d.ts +3 -7
  19. package/dist/src/components/floating/menu_components.d.ts.map +1 -1
  20. package/dist/src/components/floating/tooltip.d.ts +3 -3
  21. package/dist/src/components/floating/tooltip.d.ts.map +1 -1
  22. package/dist/src/components/floating/tooltip.js.map +1 -1
  23. package/dist/src/components/readme_renderer/table_of_contents.d.ts +1 -1
  24. package/dist/src/components/readme_renderer/table_of_contents.d.ts.map +1 -1
  25. package/dist/src/components/readme_renderer/table_of_contents.js +1 -1
  26. package/dist/src/components/readme_renderer/table_of_contents.js.map +1 -1
  27. package/dist/src/components/readme_renderer/utils.d.ts +1 -1
  28. package/dist/src/components/readme_renderer/utils.d.ts.map +1 -1
  29. package/dist/src/components/readme_renderer/utils.js +8 -5
  30. package/dist/src/components/readme_renderer/utils.js.map +1 -1
  31. package/dist/src/components/shortcut.d.ts +2 -1
  32. package/dist/src/components/shortcut.d.ts.map +1 -1
  33. package/dist/src/components/shortcut.js.map +1 -1
  34. package/dist/src/components/simple_markdown/simple_markdown.d.ts +7 -3
  35. package/dist/src/components/simple_markdown/simple_markdown.d.ts.map +1 -1
  36. package/dist/src/components/simple_markdown/simple_markdown.js +25 -14
  37. package/dist/src/components/simple_markdown/simple_markdown.js.map +1 -1
  38. package/dist/src/components/simple_markdown/simple_markdown_components.d.ts +9 -11
  39. package/dist/src/components/simple_markdown/simple_markdown_components.d.ts.map +1 -1
  40. package/dist/src/components/simple_markdown/simple_markdown_components.js +5 -4
  41. package/dist/src/components/simple_markdown/simple_markdown_components.js.map +1 -1
  42. package/dist/src/components/spinner.d.ts +3 -3
  43. package/dist/src/components/spinner.d.ts.map +1 -1
  44. package/dist/src/components/tabs/tab.d.ts.map +1 -1
  45. package/dist/src/components/tabs/tab.js.map +1 -1
  46. package/dist/src/components/tabs/tabs.js +3 -3
  47. package/dist/src/components/tabs/tabs.js.map +1 -1
  48. package/dist/src/components/tag.d.ts.map +1 -1
  49. package/dist/src/components/tag.js.map +1 -1
  50. package/dist/src/components/text/text_content.js.map +1 -1
  51. package/dist/src/components/text/text_marketing.js.map +1 -1
  52. package/dist/src/components/tile/shared.d.ts +1 -1
  53. package/dist/src/components/tile/shared.d.ts.map +1 -1
  54. package/dist/src/components/to_consolidate/card.d.ts +1 -1
  55. package/dist/src/components/to_consolidate/card.d.ts.map +1 -1
  56. package/dist/src/components/to_consolidate/markdown.d.ts +2 -2
  57. package/dist/src/components/to_consolidate/markdown.d.ts.map +1 -1
  58. package/dist/src/components/to_consolidate/markdown.js +60 -50
  59. package/dist/src/components/to_consolidate/markdown.js.map +1 -1
  60. package/dist/src/utils/css_utils.d.ts +1 -1
  61. package/dist/src/utils/css_utils.d.ts.map +1 -1
  62. package/dist/src/utils/index.d.ts +1 -0
  63. package/dist/src/utils/index.d.ts.map +1 -1
  64. package/dist/src/utils/index.js +1 -0
  65. package/dist/src/utils/index.js.map +1 -1
  66. package/dist/src/utils/type_utils.d.ts +3 -0
  67. package/dist/src/utils/type_utils.d.ts.map +1 -0
  68. package/dist/src/utils/type_utils.js +2 -0
  69. package/dist/src/utils/type_utils.js.map +1 -0
  70. package/dist/tsconfig.build.tsbuildinfo +1 -1
  71. package/package.json +15 -15
  72. package/src/components/badge.tsx +2 -1
  73. package/src/components/code/one_line_code/one_line_code.tsx +1 -1
  74. package/src/components/floating/floating_component_base.tsx +1 -1
  75. package/src/components/floating/tooltip.tsx +4 -4
  76. package/src/components/readme_renderer/table_of_contents.tsx +1 -2
  77. package/src/components/readme_renderer/utils.tsx +9 -6
  78. package/src/components/shortcut.tsx +2 -1
  79. package/src/components/simple_markdown/simple_markdown.tsx +50 -28
  80. package/src/components/simple_markdown/simple_markdown_components.tsx +13 -7
  81. package/src/components/tabs/tab.tsx +1 -1
  82. package/src/components/tabs/tabs.tsx +4 -4
  83. package/src/components/tag.tsx +2 -1
  84. package/src/components/text/text_content.tsx +1 -1
  85. package/src/components/text/text_marketing.tsx +1 -1
  86. package/src/components/to_consolidate/markdown.tsx +91 -77
  87. package/src/utils/index.ts +1 -0
  88. 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, { uriTransformer } from 'react-markdown';
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 StyledMarkdown = styled(ReactMarkdown) <StyledReadmeProps>`
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 JSX.IntrinsicElements;
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
- interface CodeRendererComponentProps {
331
- inline: boolean;
332
- className: string;
333
- children: React.ReactNode;
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
- if (inline) {
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 JSX.IntrinsicElements;
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
- <StyledMarkdown
567
- $scrollMarginTopPx={scrollMarginTopPx}
568
- className={className}
569
- rehypePlugins={[rehypeRaw]}
570
- remarkPlugins={[remarkGfm]}
571
- allowedElements={[
572
- 'a',
573
- 'b',
574
- 'blockquote',
575
- 'br',
576
- 'center',
577
- 'code',
578
- 'del',
579
- 'em',
580
- 'h1',
581
- 'h2',
582
- 'h3',
583
- 'h4',
584
- 'h5',
585
- 'hr',
586
- 'i',
587
- 'img',
588
- 'li',
589
- 'ol',
590
- 'p',
591
- 'pre',
592
- 'span',
593
- 'strong',
594
- 'table',
595
- 'tbody',
596
- 'td',
597
- 'tfoot',
598
- 'th',
599
- 'thead',
600
- 'tr',
601
- 'u',
602
- 'ul',
603
- ]}
604
- allowElement={allowElement}
605
- components={{
606
- h1: headingRenderer,
607
- h2: headingRenderer,
608
- h3: headingRenderer,
609
- h4: headingRenderer,
610
- h5: headingRenderer,
611
- a: (linkProps: LinkRendererProps) => (
612
- LinkRenderer
613
- ? LinkRenderer(linkProps, { hostname: currentPathHostname }, isUserGeneratedContent)
614
- : DefaultLinkRenderer(linkProps, { hostname: currentPathHostname }, isUserGeneratedContent)
615
- ),
616
- code: (codeProps: CodeRendererComponentProps) => CodeRenderer(codeProps),
617
- p: ParagraphRenderer,
618
- img: ({ node, ...imageProps }: React.ImgHTMLAttributes<HTMLImageElement> & { node?: Node }) => (
619
- <img {...imageProps} {...(lazyLoadImages ? { loading: 'lazy' } : {})} /> // node is injected by rehype-raw plugin and causing invalid prop
620
- ),
621
- } as unknown as Components}
622
- transformLinkUri={(href) => (transformLinkUri ? uriTransformer(transformLinkUri(href)) : uriTransformer(href))}
623
- transformImageUri={transformImageUri}
624
- >
625
- {cleanedMarkdown}
626
- </StyledMarkdown>
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
 
@@ -3,3 +3,4 @@ export * from './sanitization.js';
3
3
  export * from './image_color.js';
4
4
  export * from './resize_observer.js';
5
5
  export * from './css_utils.js';
6
+ export * from './type_utils.js';
@@ -0,0 +1,3 @@
1
+ import type { css } from 'styled-components';
2
+
3
+ export type FlattenSimpleInterpolation = ReturnType<typeof css>;