@makeswift/runtime 0.9.4 → 0.9.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/dist/Box.cjs.js +3 -3
- package/dist/Box.es.js +3 -3
- package/dist/Button.cjs.js +3 -3
- package/dist/Button.es.js +3 -3
- package/dist/Carousel.cjs.js +3 -3
- package/dist/Carousel.es.js +3 -3
- package/dist/Countdown.cjs.js +1 -1
- package/dist/Countdown.es.js +1 -1
- package/dist/Divider.cjs.js +3 -3
- package/dist/Divider.es.js +3 -3
- package/dist/Embed.cjs.js +1 -0
- package/dist/Embed.cjs.js.map +1 -1
- package/dist/Embed.es.js +1 -0
- package/dist/Embed.es.js.map +1 -1
- package/dist/Form.cjs.js +1 -1
- package/dist/Form.es.js +1 -1
- package/dist/Image.cjs.js +1 -1
- package/dist/Image.es.js +1 -1
- package/dist/LiveProvider.cjs.js +4 -4
- package/dist/LiveProvider.es.js +5 -5
- package/dist/Navigation.cjs.js +2 -2
- package/dist/Navigation.es.js +2 -2
- package/dist/PreviewProvider.cjs.js +8 -7
- package/dist/PreviewProvider.cjs.js.map +1 -1
- package/dist/PreviewProvider.es.js +11 -10
- package/dist/PreviewProvider.es.js.map +1 -1
- package/dist/ReadOnlyText.cjs.js +3 -2
- package/dist/ReadOnlyText.cjs.js.map +1 -1
- package/dist/ReadOnlyText.es.js +5 -4
- package/dist/ReadOnlyText.es.js.map +1 -1
- package/dist/ReadOnlyTextV2.cjs.js +12 -12
- package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
- package/dist/ReadOnlyTextV2.es.js +14 -14
- package/dist/ReadOnlyTextV2.es.js.map +1 -1
- package/dist/Root.cjs.js +1 -1
- package/dist/Root.es.js +1 -1
- package/dist/SocialLinks.cjs.js +3 -3
- package/dist/SocialLinks.es.js +3 -3
- package/dist/Text.cjs.js +1 -1
- package/dist/Text.es.js +1 -1
- package/dist/Video.cjs.js +1 -0
- package/dist/Video.cjs.js.map +1 -1
- package/dist/Video.es.js +1 -0
- package/dist/Video.es.js.map +1 -1
- package/dist/actions.cjs.js +467 -3
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +467 -4
- package/dist/actions.es.js.map +1 -1
- package/dist/api.cjs.js +20 -1
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +20 -1
- package/dist/api.es.js.map +1 -1
- package/dist/box-model.cjs.js +1 -0
- package/dist/box-model.cjs.js.map +1 -1
- package/dist/box-model.es.js +1 -0
- package/dist/box-model.es.js.map +1 -1
- package/dist/builder.cjs.js +1 -0
- package/dist/builder.cjs.js.map +1 -1
- package/dist/builder.es.js +1 -0
- package/dist/builder.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +1 -1
- package/dist/control-serialization.cjs.js +1 -0
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +1 -0
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/controls.cjs.js +1 -0
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +2 -1
- package/dist/controls.es.js.map +1 -1
- package/dist/index.cjs.js +71 -41
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs10.js +5 -4
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs2.js +1 -0
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs5.js +30 -14
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs9.js +4 -4
- package/dist/index.es.js +74 -45
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +7 -6
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es2.js +2 -1
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es5.js +32 -16
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es8.js +1 -1
- package/dist/index.es9.js +6 -6
- package/dist/main.cjs.js +1 -0
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +1 -0
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +1 -1
- package/dist/next.es.js +2 -2
- package/dist/prop-controllers.cjs.js +1 -0
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +1 -0
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react-page.cjs.js +27 -32
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +27 -14
- package/dist/react-page.es.js.map +1 -1
- package/dist/react.cjs.js +1 -1
- package/dist/react.es.js +1 -1
- package/dist/slate.cjs.js +25 -67
- package/dist/slate.cjs.js.map +1 -1
- package/dist/slate.es.js +31 -71
- package/dist/slate.es.js.map +1 -1
- package/dist/state/breakpoints.cjs.js +14 -0
- package/dist/state/breakpoints.cjs.js.map +1 -1
- package/dist/state/breakpoints.es.js +14 -1
- package/dist/state/breakpoints.es.js.map +1 -1
- package/dist/types/src/api/graphql/documents/fragments.d.ts +1 -1
- package/dist/types/src/api/graphql/documents/fragments.d.ts.map +1 -1
- package/dist/types/src/api/graphql/documents/queries.d.ts.map +1 -1
- package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -1
- package/dist/types/src/api/graphql/generated/types.d.ts +12 -0
- package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -1
- package/dist/types/src/api/react.d.ts +3 -1
- package/dist/types/src/api/react.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
- package/dist/types/src/components/page/Page.d.ts.map +1 -1
- package/dist/types/src/controls/icon-radio-group.d.ts +1 -1
- package/dist/types/src/controls/icon-radio-group.d.ts.map +1 -1
- package/dist/types/src/controls/link.d.ts +1 -1
- package/dist/types/src/controls/link.d.ts.map +1 -1
- package/dist/types/src/controls/select.d.ts +1 -1
- package/dist/types/src/controls/select.d.ts.map +1 -1
- package/dist/types/src/controls/typography.d.ts +1 -1
- package/dist/types/src/controls/typography.d.ts.map +1 -1
- package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
- package/dist/types/src/next/client.d.ts +11 -2
- package/dist/types/src/next/client.d.ts.map +1 -1
- package/dist/types/src/next/index.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/style-v2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/typography.d.ts +2 -2
- package/dist/types/src/runtimes/react/controls/typography.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/InlinePlugin/getValue.d.ts +1 -1
- package/dist/types/src/slate/InlinePlugin/getValue.d.ts.map +1 -1
- package/dist/types/src/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/src/slate/TextAlignPlugin/getValue.d.ts +4 -0
- package/dist/types/src/slate/TextAlignPlugin/getValue.d.ts.map +1 -0
- package/dist/types/src/slate/TextAlignPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/TypographyPlugin/getValue.d.ts +4 -0
- package/dist/types/src/slate/TypographyPlugin/getValue.d.ts.map +1 -0
- package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/index.d.ts +0 -1
- package/dist/types/src/slate/index.d.ts.map +1 -1
- package/dist/types/src/slate/utils/responsive.d.ts +3 -5
- package/dist/types/src/slate/utils/responsive.d.ts.map +1 -1
- package/dist/types/src/state/actions.d.ts +7 -7
- package/dist/types/src/state/actions.d.ts.map +1 -1
- package/dist/types/src/state/makeswift-api-client.d.ts +1 -1
- package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
- package/dist/types/src/state/modules/breakpoints.d.ts +2 -0
- package/dist/types/src/state/modules/breakpoints.d.ts.map +1 -1
- package/dist/types/src/state/modules/locales.d.ts +6 -7
- package/dist/types/src/state/modules/locales.d.ts.map +1 -1
- package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/src/state/react-page.d.ts +3 -1
- package/dist/types/src/state/react-page.d.ts.map +1 -1
- package/dist/types/types/locale.d.ts +9 -0
- package/dist/types/types/locale.d.ts.map +1 -0
- package/dist/types.cjs2.js +8 -11
- package/dist/types.cjs2.js.map +1 -1
- package/dist/types.es2.js +9 -12
- package/dist/types.es2.js.map +1 -1
- package/dist/typography.cjs.js.map +1 -1
- package/dist/typography.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/src/slate/ColorPlugin/index.d.ts +0 -10
- package/dist/types/src/slate/ColorPlugin/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in descendant) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in descendant) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
package/dist/ReadOnlyText.es.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { cx } from "@emotion/css";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { b5 as richTextDTOtoDAO, U as useStyle, bf as BlockType, bd as InlineType } from "./react-page.es.js";
|
|
4
4
|
import { L as Link } from "./index.es3.js";
|
|
5
|
-
import {
|
|
5
|
+
import { V as useEnhancedTypography, W as useTypographyClassName, n as useResponsiveStyle } from "./index.es.js";
|
|
6
6
|
import "slate";
|
|
7
7
|
import "./state/breakpoints.es.js";
|
|
8
|
+
import "./actions.es.js";
|
|
8
9
|
import "./types.es2.js";
|
|
9
10
|
import "is-hotkey";
|
|
10
11
|
import "slate-react";
|
|
11
12
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
12
13
|
import "redux";
|
|
13
14
|
import "redux-thunk";
|
|
14
|
-
import "./actions.es.js";
|
|
15
15
|
import "@emotion/serialize";
|
|
16
16
|
import "@emotion/utils";
|
|
17
17
|
import "scroll-into-view-if-needed";
|
|
@@ -84,6 +84,7 @@ function TextElement({
|
|
|
84
84
|
function InlineElement({
|
|
85
85
|
descendant
|
|
86
86
|
}) {
|
|
87
|
+
var _a;
|
|
87
88
|
const linkClassName = useStyle({
|
|
88
89
|
textDecoration: "none"
|
|
89
90
|
});
|
|
@@ -109,7 +110,7 @@ function InlineElement({
|
|
|
109
110
|
case InlineType.Link:
|
|
110
111
|
return /* @__PURE__ */ jsx(Link, {
|
|
111
112
|
className: linkClassName,
|
|
112
|
-
link: descendant.link,
|
|
113
|
+
link: (_a = descendant.link) != null ? _a : void 0,
|
|
113
114
|
children: /* @__PURE__ */ jsx(Descendants, {
|
|
114
115
|
descendants: descendant.children
|
|
115
116
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyText.es.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in descendant) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyText.es.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant, Text } from 'slate'\n\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { Inline, InlineType, Block, BlockType } from '../../../slate'\nimport { richTextDTOtoDAO } from '../../../controls'\nimport useEnhancedTypography, {\n useTypographyClassName,\n} from '../../../runtimes/react/controls/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? [] : richTextDTOtoDAO(text)\n const descendantsAsString = getText(descendants)\n\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {descendantsAsString === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n default:\n return null\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if ('text' in descendant) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if ('text' in descendant) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","descendantsAsString","getText","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var css = require("@emotion/css");
|
|
|
4
4
|
var React = require("react");
|
|
5
5
|
var next = require("./index.cjs.js");
|
|
6
6
|
var reactPage = require("./react-page.cjs.js");
|
|
7
|
+
require("./actions.cjs.js");
|
|
7
8
|
var index = require("./index.cjs3.js");
|
|
8
9
|
require("slate");
|
|
9
10
|
require("./state/breakpoints.cjs.js");
|
|
@@ -13,7 +14,6 @@ require("slate-react");
|
|
|
13
14
|
var jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
require("use-sync-external-store/shim/with-selector");
|
|
15
16
|
require("next/dynamic");
|
|
16
|
-
require("./actions.cjs.js");
|
|
17
17
|
require("./typography.cjs.js");
|
|
18
18
|
require("./combobox.cjs.js");
|
|
19
19
|
require("use-sync-external-store/shim");
|
|
@@ -23,8 +23,6 @@ require("./types.cjs.js");
|
|
|
23
23
|
require("./box-models.cjs.js");
|
|
24
24
|
require("css-box-model");
|
|
25
25
|
require("color");
|
|
26
|
-
require("@emotion/serialize");
|
|
27
|
-
require("@emotion/utils");
|
|
28
26
|
require("scroll-into-view-if-needed");
|
|
29
27
|
require("react-dom");
|
|
30
28
|
require("html-react-parser");
|
|
@@ -40,6 +38,8 @@ require("set-cookie-parser");
|
|
|
40
38
|
require("./constants.cjs.js");
|
|
41
39
|
require("uuid");
|
|
42
40
|
require("corporate-ipsum");
|
|
41
|
+
require("@emotion/serialize");
|
|
42
|
+
require("@emotion/utils");
|
|
43
43
|
require("next/link");
|
|
44
44
|
const ReadOnlyTextV2 = React.forwardRef(function ReadOnlyText({
|
|
45
45
|
text: descendants,
|
|
@@ -85,6 +85,7 @@ function InlineElement({
|
|
|
85
85
|
descendant,
|
|
86
86
|
mode
|
|
87
87
|
}) {
|
|
88
|
+
var _a;
|
|
88
89
|
const linkClassName = reactPage.useStyle({
|
|
89
90
|
textDecoration: "none"
|
|
90
91
|
});
|
|
@@ -113,7 +114,7 @@ function InlineElement({
|
|
|
113
114
|
case reactPage.InlineType.Link:
|
|
114
115
|
return /* @__PURE__ */ jsxRuntime.jsx(index.Link, {
|
|
115
116
|
className: linkClassName,
|
|
116
|
-
link: descendant.link,
|
|
117
|
+
link: (_a = descendant.link) != null ? _a : void 0,
|
|
117
118
|
children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
|
|
118
119
|
descendants: descendant.children,
|
|
119
120
|
mode
|
|
@@ -136,6 +137,11 @@ function BlockElement({
|
|
|
136
137
|
fontWeight: "300",
|
|
137
138
|
borderLeft: "5px solid rgba(0, 0, 0, 0.1)"
|
|
138
139
|
});
|
|
140
|
+
const listStyles = reactPage.useStyle({
|
|
141
|
+
listStylePosition: "inside",
|
|
142
|
+
paddingInlineStart: "20px",
|
|
143
|
+
listStyleType: "disc"
|
|
144
|
+
});
|
|
139
145
|
switch (descendant.type) {
|
|
140
146
|
case reactPage.BlockType.Text:
|
|
141
147
|
return /* @__PURE__ */ jsxRuntime.jsx("span", {
|
|
@@ -211,10 +217,7 @@ function BlockElement({
|
|
|
211
217
|
});
|
|
212
218
|
case reactPage.BlockType.OrderedList:
|
|
213
219
|
return /* @__PURE__ */ jsxRuntime.jsx("ol", {
|
|
214
|
-
className: css.cx(...blockStyles),
|
|
215
|
-
style: {
|
|
216
|
-
listStylePosition: "inside"
|
|
217
|
-
},
|
|
220
|
+
className: css.cx(...blockStyles, listStyles),
|
|
218
221
|
children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
|
|
219
222
|
descendants: descendant.children,
|
|
220
223
|
mode
|
|
@@ -222,10 +225,7 @@ function BlockElement({
|
|
|
222
225
|
});
|
|
223
226
|
case reactPage.BlockType.UnorderedList:
|
|
224
227
|
return /* @__PURE__ */ jsxRuntime.jsx("ul", {
|
|
225
|
-
className: css.cx(...blockStyles),
|
|
226
|
-
style: {
|
|
227
|
-
listStylePosition: "inside"
|
|
228
|
-
},
|
|
228
|
+
className: css.cx(...blockStyles, listStyles),
|
|
229
229
|
children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
|
|
230
230
|
descendants: descendant.children,
|
|
231
231
|
mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyTextV2.cjs.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { RichTextV2Control, RichTextV2ControlData, RichTextV2Mode } from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Text } from 'slate'\nimport { Link } from '../../../../components/shared/Link'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\n\ntype Props = {\n text: RichTextV2ControlData\n control: RichTextV2Control | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: descendants, control }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants)\n\n const mode = control?.descriptor.config.mode ?? RichTextV2Mode.Block\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants descendants={descendants} mode={mode} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n mode: RichTextV2Mode\n}\n\nfunction InlineElement({ descendant, mode }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} mode={mode} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} mode={mode} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} mode={mode} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link}>\n <Descendants descendants={descendant.children} mode={mode} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n mode: RichTextV2Mode\n}\n\nexport function BlockElement({ descendant, mode }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n default:\n if (mode === RichTextV2Mode.Inline)\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants, mode }: { descendants: Descendant[]; mode: RichTextV2Mode }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} mode={mode} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} mode={mode} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n case BlockType.Text:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","control","ref","descendantsAsString","getText","mode","descriptor","config","RichTextV2Mode","Block","_jsx","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","blockStyles","margin","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","cx","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","Inline","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyTextV2.cjs.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { RichTextV2Control, RichTextV2ControlData, RichTextV2Mode } from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Text } from 'slate'\nimport { Link } from '../../../../components/shared/Link'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\n\ntype Props = {\n text: RichTextV2ControlData\n control: RichTextV2Control | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: descendants, control }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants)\n\n const mode = control?.descriptor.config.mode ?? RichTextV2Mode.Block\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants descendants={descendants} mode={mode} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n mode: RichTextV2Mode\n}\n\nfunction InlineElement({ descendant, mode }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} mode={mode} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} mode={mode} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} mode={mode} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} mode={mode} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n mode: RichTextV2Mode\n}\n\nexport function BlockElement({ descendant, mode }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const listStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles, listStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles, listStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n default:\n if (mode === RichTextV2Mode.Inline)\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants, mode }: { descendants: Descendant[]; mode: RichTextV2Mode }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} mode={mode} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} mode={mode} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n case BlockType.Text:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","control","ref","descendantsAsString","getText","mode","descriptor","config","RichTextV2Mode","Block","_jsx","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","margin","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","listStyles","listStylePosition","paddingInlineStart","listStyleType","BlockType","Text","cx","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","UnorderedList","ListItem","ListItemChild","Inline","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { cx } from "@emotion/css";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { V as useEnhancedTypography, W as useTypographyClassName, n as useResponsiveStyle } from "./index.es.js";
|
|
4
|
+
import { b8 as RichTextV2Mode, U as useStyle, bf as BlockType, bd as InlineType } from "./react-page.es.js";
|
|
5
|
+
import "./actions.es.js";
|
|
5
6
|
import { L as Link } from "./index.es3.js";
|
|
6
7
|
import "slate";
|
|
7
8
|
import "./state/breakpoints.es.js";
|
|
@@ -11,7 +12,6 @@ import "slate-react";
|
|
|
11
12
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
12
13
|
import "use-sync-external-store/shim/with-selector";
|
|
13
14
|
import "next/dynamic";
|
|
14
|
-
import "./actions.es.js";
|
|
15
15
|
import "./typography.es.js";
|
|
16
16
|
import "./combobox.es.js";
|
|
17
17
|
import "use-sync-external-store/shim";
|
|
@@ -21,8 +21,6 @@ import "./types.es.js";
|
|
|
21
21
|
import "./box-models.es.js";
|
|
22
22
|
import "css-box-model";
|
|
23
23
|
import "color";
|
|
24
|
-
import "@emotion/serialize";
|
|
25
|
-
import "@emotion/utils";
|
|
26
24
|
import "scroll-into-view-if-needed";
|
|
27
25
|
import "react-dom";
|
|
28
26
|
import "html-react-parser";
|
|
@@ -38,6 +36,8 @@ import "set-cookie-parser";
|
|
|
38
36
|
import "./constants.es.js";
|
|
39
37
|
import "uuid";
|
|
40
38
|
import "corporate-ipsum";
|
|
39
|
+
import "@emotion/serialize";
|
|
40
|
+
import "@emotion/utils";
|
|
41
41
|
import "next/link";
|
|
42
42
|
const ReadOnlyTextV2 = forwardRef(function ReadOnlyText({
|
|
43
43
|
text: descendants,
|
|
@@ -83,6 +83,7 @@ function InlineElement({
|
|
|
83
83
|
descendant,
|
|
84
84
|
mode
|
|
85
85
|
}) {
|
|
86
|
+
var _a;
|
|
86
87
|
const linkClassName = useStyle({
|
|
87
88
|
textDecoration: "none"
|
|
88
89
|
});
|
|
@@ -111,7 +112,7 @@ function InlineElement({
|
|
|
111
112
|
case InlineType.Link:
|
|
112
113
|
return /* @__PURE__ */ jsx(Link, {
|
|
113
114
|
className: linkClassName,
|
|
114
|
-
link: descendant.link,
|
|
115
|
+
link: (_a = descendant.link) != null ? _a : void 0,
|
|
115
116
|
children: /* @__PURE__ */ jsx(Descendants, {
|
|
116
117
|
descendants: descendant.children,
|
|
117
118
|
mode
|
|
@@ -134,6 +135,11 @@ function BlockElement({
|
|
|
134
135
|
fontWeight: "300",
|
|
135
136
|
borderLeft: "5px solid rgba(0, 0, 0, 0.1)"
|
|
136
137
|
});
|
|
138
|
+
const listStyles = useStyle({
|
|
139
|
+
listStylePosition: "inside",
|
|
140
|
+
paddingInlineStart: "20px",
|
|
141
|
+
listStyleType: "disc"
|
|
142
|
+
});
|
|
137
143
|
switch (descendant.type) {
|
|
138
144
|
case BlockType.Text:
|
|
139
145
|
return /* @__PURE__ */ jsx("span", {
|
|
@@ -209,10 +215,7 @@ function BlockElement({
|
|
|
209
215
|
});
|
|
210
216
|
case BlockType.OrderedList:
|
|
211
217
|
return /* @__PURE__ */ jsx("ol", {
|
|
212
|
-
className: cx(...blockStyles),
|
|
213
|
-
style: {
|
|
214
|
-
listStylePosition: "inside"
|
|
215
|
-
},
|
|
218
|
+
className: cx(...blockStyles, listStyles),
|
|
216
219
|
children: /* @__PURE__ */ jsx(Descendants, {
|
|
217
220
|
descendants: descendant.children,
|
|
218
221
|
mode
|
|
@@ -220,10 +223,7 @@ function BlockElement({
|
|
|
220
223
|
});
|
|
221
224
|
case BlockType.UnorderedList:
|
|
222
225
|
return /* @__PURE__ */ jsx("ul", {
|
|
223
|
-
className: cx(...blockStyles),
|
|
224
|
-
style: {
|
|
225
|
-
listStylePosition: "inside"
|
|
226
|
-
},
|
|
226
|
+
className: cx(...blockStyles, listStyles),
|
|
227
227
|
children: /* @__PURE__ */ jsx(Descendants, {
|
|
228
228
|
descendants: descendant.children,
|
|
229
229
|
mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyTextV2.es.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { RichTextV2Control, RichTextV2ControlData, RichTextV2Mode } from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Text } from 'slate'\nimport { Link } from '../../../../components/shared/Link'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\n\ntype Props = {\n text: RichTextV2ControlData\n control: RichTextV2Control | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: descendants, control }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants)\n\n const mode = control?.descriptor.config.mode ?? RichTextV2Mode.Block\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants descendants={descendants} mode={mode} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n mode: RichTextV2Mode\n}\n\nfunction InlineElement({ descendant, mode }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} mode={mode} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} mode={mode} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} mode={mode} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link}>\n <Descendants descendants={descendant.children} mode={mode} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n mode: RichTextV2Mode\n}\n\nexport function BlockElement({ descendant, mode }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n default:\n if (mode === RichTextV2Mode.Inline)\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants, mode }: { descendants: Descendant[]; mode: RichTextV2Mode }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} mode={mode} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} mode={mode} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n case BlockType.Text:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","control","ref","descendantsAsString","getText","mode","descriptor","config","RichTextV2Mode","Block","_jsx","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","blockStyles","margin","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","BlockType","Text","cx","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","Inline","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadOnlyTextV2.es.js","sources":["../src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\nimport { RichTextV2Control, RichTextV2ControlData, RichTextV2Mode } from '../../../../controls'\nimport { useStyle } from '../../use-style'\nimport { Descendant, Text } from 'slate'\nimport { Link } from '../../../../components/shared/Link'\nimport { Inline, InlineType, Block, BlockType } from '../../../../slate'\nimport useEnhancedTypography, { useTypographyClassName } from '../typography'\n\ntype Props = {\n text: RichTextV2ControlData\n control: RichTextV2Control | null\n}\n\nconst ReadOnlyTextV2 = forwardRef(function ReadOnlyText(\n { text: descendants, control }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendantsAsString = getText(descendants)\n\n const mode = control?.descriptor.config.mode ?? RichTextV2Mode.Block\n\n return (\n <div ref={ref}>\n {descendantsAsString === '' ? (\n <Placeholder />\n ) : (\n <Descendants descendants={descendants} mode={mode} />\n )}\n </div>\n )\n})\n\nexport default ReadOnlyTextV2\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span className={typographyClassName}>\n {descendant.text === '' ? '\\uFEFF' : descendant.text}\n </span>\n )\n}\n\nexport interface InlineProps {\n descendant: Inline\n mode: RichTextV2Mode\n}\n\nfunction InlineElement({ descendant, mode }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} mode={mode} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} mode={mode} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} mode={mode} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link ?? undefined}>\n <Descendants descendants={descendant.children} mode={mode} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n mode: RichTextV2Mode\n}\n\nexport function BlockElement({ descendant, mode }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(useResponsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n const quoteStyle = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const listStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n })\n\n switch (descendant.type) {\n case BlockType.Text:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote className={cx(...blockStyles, quoteStyle)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles, listStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles, listStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n default:\n if (mode === RichTextV2Mode.Inline)\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </span>\n )\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} mode={mode} />\n </p>\n )\n }\n}\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction Descendants({ descendants, mode }: { descendants: Descendant[]; mode: RichTextV2Mode }) {\n return (\n <>\n {descendants.map((descendant, index) => {\n if (isText(descendant)) {\n return <TextElement key={index} descendant={descendant} />\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement key={index} descendant={descendant} mode={mode} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Text:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement key={index} descendant={descendant} mode={mode} />\n default:\n return null\n }\n })}\n </>\n )\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n case BlockType.Text:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return descendant.children.map(descendant => getTextByDescendant(descendant)).join('') ?? ''\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nfunction getText(descendant: Descendant[]): string {\n return descendant.map(getTextByDescendant).join('\\n')\n}\n"],"names":["ReadOnlyTextV2","forwardRef","text","descendants","control","ref","descendantsAsString","getText","mode","descriptor","config","RichTextV2Mode","Block","_jsx","useStyle","display","width","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","undefined","blockStyles","margin","useResponsiveStyle","textAlign","quoteStyle","padding","fontSize","fontWeight","borderLeft","listStyles","listStylePosition","paddingInlineStart","listStyleType","BlockType","Text","cx","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","OrderedList","UnorderedList","ListItem","ListItemChild","Inline","node","_Fragment","map","index","isText","getTextByDescendant","join","every","isBlock"],"mappings":"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"}
|
package/dist/Root.cjs.js
CHANGED
|
@@ -13,6 +13,7 @@ var utils = require("@emotion/utils");
|
|
|
13
13
|
require("redux");
|
|
14
14
|
require("redux-thunk");
|
|
15
15
|
require("./actions.cjs.js");
|
|
16
|
+
require("zod");
|
|
16
17
|
require("./state/breakpoints.cjs.js");
|
|
17
18
|
require("slate");
|
|
18
19
|
require("use-sync-external-store/shim/with-selector");
|
|
@@ -28,7 +29,6 @@ require("scroll-into-view-if-needed");
|
|
|
28
29
|
require("react-dom");
|
|
29
30
|
require("html-react-parser");
|
|
30
31
|
require("next/head");
|
|
31
|
-
require("zod");
|
|
32
32
|
require("@emotion/server/create-instance");
|
|
33
33
|
require("next/document");
|
|
34
34
|
require("cors");
|
package/dist/Root.es.js
CHANGED
|
@@ -12,6 +12,7 @@ import { insertStyles } from "@emotion/utils";
|
|
|
12
12
|
import "redux";
|
|
13
13
|
import "redux-thunk";
|
|
14
14
|
import "./actions.es.js";
|
|
15
|
+
import "zod";
|
|
15
16
|
import "./state/breakpoints.es.js";
|
|
16
17
|
import "slate";
|
|
17
18
|
import "use-sync-external-store/shim/with-selector";
|
|
@@ -27,7 +28,6 @@ import "scroll-into-view-if-needed";
|
|
|
27
28
|
import "react-dom";
|
|
28
29
|
import "html-react-parser";
|
|
29
30
|
import "next/head";
|
|
30
|
-
import "zod";
|
|
31
31
|
import "@emotion/server/create-instance";
|
|
32
32
|
import "next/document";
|
|
33
33
|
import "cors";
|
package/dist/SocialLinks.cjs.js
CHANGED
|
@@ -43,6 +43,7 @@ require("next/link");
|
|
|
43
43
|
require("use-sync-external-store/shim/with-selector");
|
|
44
44
|
require("next/dynamic");
|
|
45
45
|
require("./actions.cjs.js");
|
|
46
|
+
require("zod");
|
|
46
47
|
require("./typography.cjs.js");
|
|
47
48
|
require("./combobox.cjs.js");
|
|
48
49
|
require("slate");
|
|
@@ -54,12 +55,9 @@ require("./state/breakpoints.cjs.js");
|
|
|
54
55
|
require("./box-models.cjs.js");
|
|
55
56
|
require("css-box-model");
|
|
56
57
|
require("color");
|
|
57
|
-
require("@emotion/serialize");
|
|
58
|
-
require("@emotion/utils");
|
|
59
58
|
require("react-dom");
|
|
60
59
|
require("html-react-parser");
|
|
61
60
|
require("next/head");
|
|
62
|
-
require("zod");
|
|
63
61
|
require("@emotion/server/create-instance");
|
|
64
62
|
require("next/document");
|
|
65
63
|
require("cors");
|
|
@@ -70,6 +68,8 @@ require("set-cookie-parser");
|
|
|
70
68
|
require("./constants.cjs.js");
|
|
71
69
|
require("uuid");
|
|
72
70
|
require("corporate-ipsum");
|
|
71
|
+
require("@emotion/serialize");
|
|
72
|
+
require("@emotion/utils");
|
|
73
73
|
function _interopNamespace(e) {
|
|
74
74
|
if (e && e.__esModule)
|
|
75
75
|
return e;
|