@texonom/nreact 1.4.7 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/_commonjsHelpers-bAxELxBV.js +9 -0
- package/build/_commonjsHelpers-bAxELxBV.js.map +1 -0
- package/build/asset-wrapper-CmbIDPIw.js +921 -0
- package/build/asset-wrapper-CmbIDPIw.js.map +1 -0
- package/build/block.d.ts +20 -20
- package/build/collection-column-title-l4hmVo49.js +99 -0
- package/build/collection-column-title-l4hmVo49.js.map +1 -0
- package/build/components/asset-wrapper.d.ts +6 -6
- package/build/components/asset.d.ts +7 -7
- package/build/components/audio.d.ts +6 -6
- package/build/components/checkbox.d.ts +5 -5
- package/build/components/eoi.d.ts +7 -7
- package/build/components/file.d.ts +6 -6
- package/build/components/google-drive.d.ts +6 -6
- package/build/components/graceful-image.d.ts +3 -3
- package/build/components/header.d.ts +15 -15
- package/build/components/lazy-image.d.ts +13 -13
- package/build/components/lite-youtube-embed.d.ts +13 -13
- package/build/components/page-aside.d.ts +11 -11
- package/build/components/page-icon.d.ts +16 -16
- package/build/components/page-title.d.ts +12 -12
- package/build/components/search-dialog.d.ts +26 -26
- package/build/components/search-dialog.d.ts.map +1 -1
- package/build/components/sync-pointer-block.d.ts +6 -6
- package/build/components/text.d.ts +19 -19
- package/build/context.d.ts +64 -64
- package/build/context.d.ts.map +1 -1
- package/build/icons/check.d.ts +3 -3
- package/build/icons/chevron-down-icon.d.ts +2 -2
- package/build/icons/clear-icon.d.ts +2 -2
- package/build/icons/collection-view-board.d.ts +3 -3
- package/build/icons/collection-view-calendar.d.ts +3 -3
- package/build/icons/collection-view-gallery.d.ts +3 -3
- package/build/icons/collection-view-icon.d.ts +8 -8
- package/build/icons/collection-view-list.d.ts +3 -3
- package/build/icons/collection-view-table.d.ts +3 -3
- package/build/icons/copy.d.ts +3 -3
- package/build/icons/default-page-icon.d.ts +2 -2
- package/build/icons/empty-icon.d.ts +2 -2
- package/build/icons/file-icon.d.ts +2 -2
- package/build/icons/link-icon.d.ts +2 -2
- package/build/icons/loading-icon.d.ts +2 -2
- package/build/icons/property-icon.d.ts +44 -44
- package/build/icons/search-icon.d.ts +2 -2
- package/build/icons/type-checkbox.d.ts +3 -3
- package/build/icons/type-date.d.ts +3 -3
- package/build/icons/type-email.d.ts +3 -3
- package/build/icons/type-file.d.ts +3 -3
- package/build/icons/type-formula.d.ts +3 -3
- package/build/icons/type-github.d.ts +3 -3
- package/build/icons/type-multi-select.d.ts +3 -3
- package/build/icons/type-number.d.ts +3 -3
- package/build/icons/type-person-2.d.ts +3 -3
- package/build/icons/type-person.d.ts +3 -3
- package/build/icons/type-phone-number.d.ts +3 -3
- package/build/icons/type-relation.d.ts +3 -3
- package/build/icons/type-select.d.ts +3 -3
- package/build/icons/type-text.d.ts +3 -3
- package/build/icons/type-timestamp.d.ts +3 -3
- package/build/icons/type-title.d.ts +3 -3
- package/build/icons/type-url.d.ts +3 -3
- package/build/index.d.ts +24 -24
- package/build/index.js +478 -691
- package/build/index.js.map +1 -0
- package/build/next.d.ts +1 -1
- package/build/renderer.d.ts +50 -50
- package/build/third-party/code.d.ts +7 -16
- package/build/third-party/code.js +174 -114
- package/build/third-party/code.js.map +1 -0
- package/build/third-party/collection-card.d.ts +3 -3
- package/build/third-party/collection-card.d.ts.map +1 -1
- package/build/third-party/collection-column-title.d.ts +5 -5
- package/build/third-party/collection-group.d.ts +3 -3
- package/build/third-party/collection-row.d.ts +7 -7
- package/build/third-party/collection-utils.d.ts +2 -2
- package/build/third-party/collection-view-board.d.ts +3 -3
- package/build/third-party/collection-view-gallery.d.ts +3 -3
- package/build/third-party/collection-view-list.d.ts +3 -3
- package/build/third-party/collection-view-table.d.ts +3 -3
- package/build/third-party/collection-view.d.ts +4 -4
- package/build/third-party/collection.d.ts +14 -14
- package/build/third-party/collection.js +2295 -3321
- package/build/third-party/collection.js.map +1 -0
- package/build/third-party/equation.d.ts +8 -8
- package/build/third-party/equation.js +35 -25
- package/build/third-party/equation.js.map +1 -0
- package/build/third-party/eval-formula.d.ts +20 -20
- package/build/third-party/modal.d.ts +2 -2
- package/build/third-party/modal.js +3 -5
- package/build/third-party/modal.js.map +1 -0
- package/build/third-party/pdf.d.ts +4 -4
- package/build/third-party/property.d.ts +21 -21
- package/build/types.d.ts +93 -93
- package/build/utils.d.ts +6 -6
- package/package.json +13 -13
- package/readme.md +59 -0
- package/LICENSE +0 -21
- package/README.md +0 -19
- package/build/.tsbuildinfo +0 -1
- package/build/chunk-2U7I3XVC.js +0 -157
- package/build/chunk-72RHNPWF.js +0 -1307
- package/build/chunk-C6BUIPAM.js +0 -83
- package/build/chunk-FCO7MUK6.js +0 -83
- package/build/chunk-H4QYS6CQ.js +0 -1185
- package/build/chunk-IMWLLIUB.js +0 -1182
- package/build/chunk-P7HX4BAT.js +0 -156
- package/build/chunk-VP33CFNB.js +0 -1358
- package/build/chunk-YMM43AZ3.js +0 -1207
- package/build/dev/chunk-64UJZ76E.js +0 -1308
- package/build/dev/chunk-64UJZ76E.js.map +0 -1
- package/build/dev/chunk-ABDRHJEI.js +0 -157
- package/build/dev/chunk-ABDRHJEI.js.map +0 -1
- package/build/dev/chunk-N6EDMIQD.js +0 -1359
- package/build/dev/chunk-N6EDMIQD.js.map +0 -1
- package/build/dev/chunk-OAIRL2FN.js +0 -84
- package/build/dev/chunk-OAIRL2FN.js.map +0 -1
- package/build/dev/chunk-P3V5A3W4.js +0 -1183
- package/build/dev/chunk-P3V5A3W4.js.map +0 -1
- package/build/dev/chunk-PM5CWL6O.js +0 -158
- package/build/dev/chunk-PM5CWL6O.js.map +0 -1
- package/build/dev/chunk-Q4G2SZRD.js +0 -84
- package/build/dev/chunk-Q4G2SZRD.js.map +0 -1
- package/build/dev/chunk-SEA7YL2O.js +0 -1308
- package/build/dev/chunk-SEA7YL2O.js.map +0 -1
- package/build/dev/chunk-SVHGWLRK.js +0 -1208
- package/build/dev/chunk-SVHGWLRK.js.map +0 -1
- package/build/dev/chunk-ZJAJPWJX.js +0 -1186
- package/build/dev/chunk-ZJAJPWJX.js.map +0 -1
- package/build/dev/index.js +0 -890
- package/build/dev/index.js.map +0 -1
- package/build/dev/third-party/code.js +0 -140
- package/build/dev/third-party/code.js.map +0 -1
- package/build/dev/third-party/collection.js +0 -4382
- package/build/dev/third-party/collection.js.map +0 -1
- package/build/dev/third-party/equation.js +0 -35
- package/build/dev/third-party/equation.js.map +0 -1
- package/build/dev/third-party/modal.js +0 -8
- package/build/dev/third-party/modal.js.map +0 -1
- package/build/dev/third-party/pdf.js +0 -21
- package/build/dev/third-party/pdf.js.map +0 -1
- package/build/third-party/pdf.js +0 -20
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/checkbox.tsx","../../src/icons/check.tsx","../../src/utils.ts","../../src/components/page-icon.tsx","../../src/context.tsx","../../src/components/asset-wrapper.tsx","../../src/components/asset.tsx","../../src/components/lazy-image.tsx","../../src/components/lite-youtube-embed.tsx","../../src/components/text.tsx","../../src/components/eoi.tsx","../../src/icons/type-github.tsx","../../src/components/graceful-image.tsx","../../src/components/page-title.tsx","../../src/components/header.tsx","../../src/icons/search-icon.tsx","../../src/components/search-dialog.tsx","../../src/icons/clear-icon.tsx","../../src/icons/loading-icon.tsx","../../src/next.tsx","../../src/icons/default-page-icon.tsx"],"sourcesContent":["import React from 'react'\n\nimport CheckIcon from '../icons/check'\n\nexport const Checkbox: React.FC<{\n isChecked: boolean\n blockId: string | undefined\n}> = ({ isChecked }) => {\n let content = null\n\n if (isChecked)\n content = (\n <div className='notion-property-checkbox-checked'>\n <CheckIcon />\n </div>\n )\n else content = <div className='notion-property-checkbox-unchecked' />\n\n return <span className='notion-property notion-property-checkbox'>{content}</span>\n}\n","import React from 'react'\n\nfunction SvgCheck(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z' />\n </svg>\n )\n}\n\nexport default SvgCheck\n","import { BlockMap } from '@texonom/ntypes'\n\nexport { isUrl, formatDate, formatNotionDateTime } from '@texonom/nutils'\n\nconst groupBlockContent = (blockMap: BlockMap): string[][] => {\n const output: string[][] = []\n\n let lastType: string | undefined = undefined\n let index = -1\n\n Object.keys(blockMap).forEach(id => {\n const blockValue = blockMap[id]?.value\n\n if (blockValue)\n blockValue.content?.forEach(blockId => {\n const blockType = blockMap[blockId]?.value?.type\n\n if (blockType && blockType !== lastType) {\n index++\n lastType = blockType\n output[index] = []\n }\n\n if (index > -1) output[index].push(blockId)\n })\n\n lastType = undefined\n })\n\n return output\n}\n\nexport const getListNumber = (blockId: string, blockMap: BlockMap) => {\n const groups = groupBlockContent(blockMap)\n const group = groups.find(g => g.includes(blockId))\n\n if (!group) return\n\n return group.indexOf(blockId) + 1\n}\n\nexport const getHashFragmentValue = (url: string) => {\n return url.includes('#') ? url.replace(/^.+(#.+)$/, '$1') : ''\n}\n\nexport const isBrowser = typeof window !== 'undefined'\n\nconst youtubeDomains = new Set([\n 'youtu.be',\n 'youtube.com',\n 'www.youtube.com',\n 'youtube-nocookie.com',\n 'www.youtube-nocookie.com'\n])\n\nexport const getYoutubeId = (url: string): string | null => {\n try {\n const { hostname } = new URL(url)\n if (!youtubeDomains.has(hostname)) return null\n\n const regExp = /^.*(youtu\\.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/i\n\n const match = url.match(regExp)\n if (match && match[2].length == 11) return match[2]\n } catch {\n // ignore invalid urls\n }\n\n return null\n}\n","import React from 'react'\n\nimport { Block, CalloutBlock, PageBlock } from '@texonom/ntypes'\nimport { getBlockIcon, getBlockTitle } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\nimport { DefaultPageIcon } from '../icons/default-page-icon'\nimport { isUrl } from '../utils'\nimport { LazyImage } from './lazy-image'\n\nconst isIconBlock = (value: Block): value is PageBlock | CalloutBlock => {\n return (\n value.type === 'page' ||\n value.type === 'callout' ||\n value.type === 'collection_view' ||\n value.type === 'collection_view_page'\n )\n}\n\nexport const PageIconImpl: React.FC<{\n block: Block\n className?: string\n inline?: boolean\n hideDefaultIcon?: boolean\n defaultIcon?: string\n}> = ({ block, className, inline = true, hideDefaultIcon = false, defaultIcon }) => {\n const { mapImageUrl, recordMap, darkMode } = useNotionContext()\n let isImage = false\n let content: React.ReactNode = null\n\n if (isIconBlock(block)) {\n const icon = getBlockIcon(block, recordMap)?.trim() || defaultIcon\n const title = getBlockTitle(block, recordMap)\n\n if (icon && isUrl(icon)) {\n const url = mapImageUrl(icon, block)\n isImage = true\n\n content = <LazyImage src={url} alt={title || 'page icon'} className={`${className || ''} notion-page-icon`} />\n } else if (icon && icon.startsWith('/icons/')) {\n const url = 'https://www.notion.so' + icon + '?mode=' + (darkMode ? 'dark' : 'light')\n\n content = <LazyImage src={url} alt={title || 'page icon'} className={`${className || ''} notion-page-icon`} />\n } else if (!icon) {\n if (!hideDefaultIcon) {\n isImage = true\n content = <DefaultPageIcon className={`${className || ''} notion-page-icon`} alt={title ? title : 'page icon'} />\n }\n } else {\n isImage = false\n content = (\n <span className={`${className || ''} notion-page-icon`} role='img' aria-label={icon}>\n {icon}\n </span>\n )\n }\n }\n\n if (!content) return null\n\n return (\n <div\n className={`\n ${inline ? 'notion-page-icon-inline' : 'notion-page-icon-hero'}\n ${isImage ? 'notion-page-icon-image' : 'notion-page-icon-span'}\n `}>\n {content}\n </div>\n )\n}\n\nexport const PageIcon = React.memo(PageIconImpl)\n","import React from 'react'\n\nimport { defaultMapImageUrl, defaultMapPageUrl } from '@texonom/nutils'\n\nimport { AssetWrapper } from './components/asset-wrapper'\nimport { Checkbox as DefaultCheckbox } from './components/checkbox'\nimport { Header } from './components/header'\nimport { wrapNextImage, wrapNextLink } from './next'\nimport { MapImageUrlFn, MapPageUrlFn, NotionComponents, SearchNotionFn } from './types'\n\nimport type { ExtendedRecordMap } from '@texonom/ntypes'\nexport interface NotionContext {\n recordMap: ExtendedRecordMap\n components: NotionComponents\n\n mapPageUrl: MapPageUrlFn\n mapImageUrl: MapImageUrlFn\n searchNotion?: SearchNotionFn\n isShowingSearch?: boolean\n onHideSearch?: () => void\n\n rootPageId?: string\n rootDomain?: string\n rootSpaceId?: string\n\n fullPage: boolean\n darkMode: boolean\n previewImages: boolean\n forceCustomImages: boolean\n showCollectionViewDropdown: boolean\n showTableOfContents: boolean\n minTableOfContentsItems: number\n linkTableTitleProperties: boolean\n isLinkCollectionToUrlProperty: boolean\n\n defaultPageIcon?: string\n defaultPageCover?: string\n defaultPageCoverPosition?: number\n\n zoom: any\n}\n\nexport interface PartialNotionContext {\n children?: React.ReactNode\n recordMap?: ExtendedRecordMap\n components?: Partial<NotionComponents>\n\n mapPageUrl?: MapPageUrlFn\n mapImageUrl?: MapImageUrlFn\n searchNotion?: SearchNotionFn\n isShowingSearch?: boolean\n onHideSearch?: () => void\n\n rootPageId?: string\n rootDomain?: string\n\n fullPage?: boolean\n darkMode?: boolean\n previewImages?: boolean\n forceCustomImages?: boolean\n showCollectionViewDropdown?: boolean\n linkTableTitleProperties?: boolean\n isLinkCollectionToUrlProperty?: boolean\n\n showTableOfContents?: boolean\n minTableOfContentsItems?: number\n\n defaultPageIcon?: string\n defaultPageCover?: string\n defaultPageCoverPosition?: number\n\n zoom?: any\n}\n\nconst DefaultLink: React.FC = props => <a target='_blank' rel='noopener noreferrer' {...props} />\nconst DefaultLinkMemo = React.memo(DefaultLink)\nconst DefaultPageLink: React.FC = props => <a {...props} />\nconst DefaultPageLinkMemo = React.memo(DefaultPageLink)\n\nconst DefaultEmbed = props => <AssetWrapper {...props} />\nconst DefaultHeader = Header\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\nexport const dummyLink = ({ href, rel, target, title, ...rest }) => <span {...rest} />\n\nconst dummyComponent = (name: string) => () => {\n console.warn(`Warning: using empty component \"${name}\" (you should override this in NotionRenderer.components)`)\n\n return null\n}\n\n// TODO: should we use React.memo here?\n// https://reactjs.org/docs/react-api.html#reactmemo\nconst dummyOverrideFn = (_: unknown, defaultValueFn: () => React.ReactNode) => defaultValueFn()\n\nconst defaultComponents: NotionComponents = {\n Image: null, // disable custom images by default\n Link: DefaultLinkMemo,\n PageLink: DefaultPageLinkMemo,\n Checkbox: DefaultCheckbox,\n Callout: undefined, // use the built-in callout rendering by default\n\n Code: dummyComponent('Code'),\n Equation: dummyComponent('Equation'),\n\n Collection: dummyComponent('Collection'),\n Property: undefined, // use the built-in property rendering by default\n\n propertyTextValue: dummyOverrideFn,\n propertySelectValue: dummyOverrideFn,\n propertyRelationValue: dummyOverrideFn,\n propertyFormulaValue: dummyOverrideFn,\n propertyTitleValue: dummyOverrideFn,\n propertyPersonValue: dummyOverrideFn,\n propertyFileValue: dummyOverrideFn,\n propertyCheckboxValue: dummyOverrideFn,\n propertyUrlValue: dummyOverrideFn,\n propertyEmailValue: dummyOverrideFn,\n propertyPhoneNumberValue: dummyOverrideFn,\n propertyNumberValue: dummyOverrideFn,\n propertyLastEditedTimeValue: dummyOverrideFn,\n propertyCreatedTimeValue: dummyOverrideFn,\n propertyDateValue: dummyOverrideFn,\n\n Pdf: dummyComponent('Pdf'),\n Tweet: dummyComponent('Tweet'),\n Modal: dummyComponent('Modal'),\n\n Header: DefaultHeader,\n Embed: DefaultEmbed\n}\n\nconst defaultNotionContext: NotionContext = {\n recordMap: {\n block: {},\n collection: {},\n collection_view: {},\n collection_query: {},\n notion_user: {},\n signed_urls: {}\n },\n\n components: defaultComponents,\n\n mapPageUrl: defaultMapPageUrl(),\n mapImageUrl: defaultMapImageUrl,\n searchNotion: null,\n isShowingSearch: false,\n onHideSearch: null,\n\n fullPage: false,\n darkMode: false,\n previewImages: false,\n forceCustomImages: false,\n showCollectionViewDropdown: true,\n linkTableTitleProperties: true,\n isLinkCollectionToUrlProperty: false,\n\n showTableOfContents: false,\n minTableOfContentsItems: 3,\n\n defaultPageIcon: null,\n defaultPageCover: null,\n defaultPageCoverPosition: 0.5,\n\n zoom: null\n}\n\nconst ctx = React.createContext<NotionContext>(defaultNotionContext)\n\nexport const NotionContextProvider: React.FC<PartialNotionContext> = ({\n components: themeComponents = {},\n children,\n mapPageUrl,\n mapImageUrl,\n rootPageId,\n ...rest\n}) => {\n for (const key of Object.keys(rest)) if (rest[key] === undefined) delete rest[key]\n\n const wrappedThemeComponents = React.useMemo(() => {\n const components = { ...themeComponents }\n\n if (components.nextImage) components.Image = wrapNextImage(components.nextImage)\n\n if (components.nextLink) {\n const nextLink = wrapNextLink(components.nextLink)\n components.nextLink = nextLink\n\n if (!components.PageLink) components.PageLink = nextLink\n if (!components.Link) components.Link = nextLink\n }\n\n // ensure the user can't override default components with falsy values\n // since it would result in very difficult-to-debug react errors\n for (const key of Object.keys(components)) if (!components[key]) delete components[key]\n\n return components\n }, [themeComponents])\n\n const value = React.useMemo(\n () => ({\n ...defaultNotionContext,\n ...rest,\n rootPageId,\n mapPageUrl: mapPageUrl ?? defaultMapPageUrl(rootPageId),\n mapImageUrl: mapImageUrl ?? defaultMapImageUrl,\n components: { ...defaultComponents, ...wrappedThemeComponents }\n }),\n [mapImageUrl, mapPageUrl, wrappedThemeComponents, rootPageId, rest]\n )\n\n return <ctx.Provider value={value}>{children}</ctx.Provider>\n}\n\nexport const NotionContextConsumer = ctx.Consumer\n\nexport const useNotionContext = (): NotionContext => {\n return React.useContext(ctx)\n}\n","import React from 'react'\n\nimport { BaseContentBlock, Block } from '@texonom/ntypes'\nimport { parsePageId } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\nimport { Asset } from './asset'\nimport { Text } from './text'\n\nconst urlStyle = { width: '100%' }\n\nexport const AssetWrapper: React.FC<{\n blockId: string\n block: Block\n}> = ({ blockId, block }) => {\n const value = block as BaseContentBlock\n const { components, mapPageUrl, rootDomain, zoom } = useNotionContext()\n\n let isURL = false\n if (block.type === 'image') {\n const caption: string = value?.properties?.caption?.[0]?.[0]\n if (caption) {\n const id = parsePageId(caption, { uuid: true })\n\n const isPage = caption.charAt(0) === '/' && id\n if (isPage || isValidURL(caption)) isURL = true\n }\n }\n\n const figure = (\n <figure\n className={`notion-asset-wrapper\n notion-asset-wrapper-${block.type}\n ${value.format?.block_full_width ? 'notion-asset-wrapper-full' : ''}\n ${blockId}`}>\n <Asset block={value} zoomable={zoom && !isURL}>\n {value?.properties?.caption && !isURL && (\n <figcaption className='notion-asset-caption'>\n <Text value={value.properties.caption} block={block} />\n </figcaption>\n )}\n </Asset>\n </figure>\n )\n\n // allows for an image to be a link\n if (isURL) {\n const caption: string = value?.properties?.caption[0][0]\n const id = parsePageId(caption, { uuid: true })\n const isPage = caption.charAt(0) === '/' && id\n const captionHostname = extractHostname(caption)\n\n return (\n <components.PageLink\n style={urlStyle}\n href={isPage ? mapPageUrl(id) : caption}\n target={captionHostname && captionHostname !== rootDomain && !caption.startsWith('/') ? 'blank_' : null}>\n {figure}\n </components.PageLink>\n )\n }\n\n return figure\n}\n\nfunction isValidURL(str: string) {\n // TODO: replace this with a more well-tested package\n const pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$',\n 'i'\n )\n return !!pattern.test(str)\n}\n\nfunction extractHostname(url: string) {\n try {\n const hostname = new URL(url).hostname\n return hostname\n } catch (err) {\n return ''\n }\n}\n","import React from 'react'\n\nimport { BaseContentBlock, Block } from '@texonom/ntypes'\nimport { getTextContent } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\nimport { getYoutubeId } from '../utils'\nimport { LazyImage } from './lazy-image'\nimport { LiteYouTubeEmbed } from './lite-youtube-embed'\n\nconst isServer = typeof window === 'undefined'\n\nconst supportedAssetTypes = [\n 'video',\n 'image',\n 'embed',\n 'figma',\n 'typeform',\n 'excalidraw',\n 'maps',\n 'tweet',\n 'pdf',\n 'gist',\n 'codepen',\n 'drive'\n]\n\nexport const Asset: React.FC<{\n block: BaseContentBlock\n children: any\n zoomable?: boolean\n}> = ({ block, zoomable = true, children }) => {\n const { recordMap, mapImageUrl, components } = useNotionContext()\n\n if (!block || !supportedAssetTypes.includes(block.type)) return null\n\n const style: React.CSSProperties = {\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignSelf: 'center',\n width: '100%',\n maxWidth: '100%',\n flexDirection: 'column'\n }\n\n const assetStyle: React.CSSProperties = {}\n\n if (block.format) {\n const { block_aspect_ratio, block_height, block_width, block_full_width, block_page_width, block_preserve_scale } =\n block.format\n\n if (block_full_width || block_page_width) {\n if (block_full_width) style.width = '100vw'\n else style.width = '100%'\n\n if (block.type === 'video') {\n if (block_height) style.height = block_height\n else if (block_aspect_ratio) style.paddingBottom = `${block_aspect_ratio * 100}%`\n else if (block_preserve_scale) style.objectFit = 'contain'\n } else if (block_aspect_ratio && block.type !== 'image') {\n style.paddingBottom = `${block_aspect_ratio * 100}%`\n } else if (block_height) {\n style.height = block_height\n } else if (block_preserve_scale) {\n if (block.type === 'image') {\n style.height = '100%'\n } else {\n // TODO: this is just a guess\n style.paddingBottom = '75%'\n style.minHeight = 100\n }\n }\n } else {\n switch (block.format?.block_alignment) {\n case 'center': {\n style.alignSelf = 'center'\n break\n }\n case 'left': {\n style.alignSelf = 'start'\n break\n }\n case 'right': {\n style.alignSelf = 'end'\n break\n }\n }\n\n if (block_width) style.width = block_width\n\n if (block_preserve_scale && block.type !== 'image') {\n style.paddingBottom = '50%'\n style.minHeight = 100\n } else {\n if (block_height && block.type !== 'image') style.height = block_height\n }\n }\n\n if (block.type === 'image') assetStyle.objectFit = 'cover'\n else if (block_preserve_scale) assetStyle.objectFit = 'contain'\n }\n\n let source = recordMap.signed_urls?.[block.id] || block.properties?.source?.[0]?.[0]\n let content = null\n\n if (!source) return null\n\n if (block.type === 'tweet') {\n const src = source\n if (!src) return null\n\n const id = src.split('?')[0].split('/').pop()\n if (!id) return null\n\n content = (\n <div\n style={{\n ...assetStyle,\n maxWidth: 420,\n width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto'\n }}>\n <components.Tweet id={id} />\n </div>\n )\n } else if (block.type === 'pdf') {\n style.overflow = 'auto'\n style.background = 'rgb(226, 226, 226)'\n style.display = 'block'\n\n if (!style.padding) style.padding = '8px 16px'\n\n if (!isServer) content = <components.Pdf file={source} />\n } else if (\n block.type === 'embed' ||\n block.type === 'video' ||\n block.type === 'figma' ||\n block.type === 'typeform' ||\n block.type === 'gist' ||\n block.type === 'maps' ||\n block.type === 'excalidraw' ||\n block.type === 'codepen' ||\n block.type === 'drive'\n ) {\n if (\n block.type === 'video' &&\n source &&\n source.indexOf('youtube') < 0 &&\n source.indexOf('youtu.be') < 0 &&\n source.indexOf('vimeo') < 0 &&\n source.indexOf('wistia') < 0 &&\n source.indexOf('loom') < 0 &&\n source.indexOf('videoask') < 0 &&\n source.indexOf('getcloudapp') < 0\n ) {\n style.paddingBottom = undefined\n\n content = <video playsInline controls preload='metadata' style={assetStyle} src={source} title={block.type} />\n } else {\n let src = block.format?.display_source || source\n\n if (src) {\n const youtubeVideoId: string | null = block.type === 'video' ? getYoutubeId(src) : null\n\n if (youtubeVideoId) {\n content = <LiteYouTubeEmbed id={youtubeVideoId} style={assetStyle} className='notion-asset-object-fit' />\n } else if (block.type === 'gist') {\n if (!src.endsWith('.pibb')) src = `${src}.pibb`\n\n assetStyle.width = '100%'\n style.paddingBottom = '50%'\n\n // TODO: GitHub gists do not resize their height properly\n content = (\n <iframe\n style={assetStyle}\n className='notion-asset-object-fit'\n src={src}\n title='GitHub Gist'\n frameBorder='0'\n // TODO: is this sandbox necessary?\n // sandbox='allow-scripts allow-popups allow-top-navigation-by-user-activation allow-forms allow-same-origin'\n // this is important for perf but react's TS definitions don't seem to like it\n loading='lazy'\n scrolling='auto'\n />\n )\n } else {\n content = (\n <iframe\n className='notion-asset-object-fit'\n style={assetStyle}\n src={src}\n title={`iframe ${block.type}`}\n frameBorder='0'\n // TODO: is this sandbox necessary?\n // sandbox='allow-scripts allow-popups allow-top-navigation-by-user-activation allow-forms allow-same-origin'\n allowFullScreen\n // this is important for perf but react's TS definitions don't seem to like it\n loading='lazy'\n scrolling='auto'\n />\n )\n }\n }\n }\n } else if (block.type === 'image') {\n // kind of a hack for now. New file.notion.so images aren't signed correctly\n if (source.includes('file.notion.so')) source = block.properties?.source?.[0]?.[0]\n\n const src = mapImageUrl(source, block as Block)\n const caption = getTextContent(block.properties?.caption)\n const alt = caption || 'notion image'\n\n content = <LazyImage src={src} alt={alt} zoomable={zoomable} height={style.height as number} style={assetStyle} />\n }\n\n return (\n <>\n <div style={style}>\n {content}\n {block.type === 'image' && children}\n </div>\n\n {block.type !== 'image' && children}\n </>\n )\n}\n","import React from 'react'\n\nimport { normalizeUrl } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\n\n/**\n * Progressive, lazy images modeled after Medium's LQIP technique.\n */\nexport const LazyImage: React.FC<{\n src?: string\n alt?: string\n className?: string\n style?: React.CSSProperties\n height?: number\n zoomable?: boolean\n priority?: boolean\n}> = ({ src, alt, className, style, zoomable = false, priority = false, height, ...rest }) => {\n const { recordMap, zoom, previewImages, forceCustomImages, components } = useNotionContext()\n\n const zoomRef = React.useRef(zoom ? zoom.clone() : null)\n const previewImage = previewImages\n ? (recordMap?.preview_images?.[src] ?? recordMap?.preview_images?.[normalizeUrl(src)])\n : null\n\n const onLoad = React.useCallback(\n (e: React.BaseSyntheticEvent<React.SyntheticEvent, HTMLImageElement, HTMLImageElement>) => {\n if (zoomable && (e.target.src || e.target.srcset)) if (zoomRef.current) zoomRef.current.attach(e.target)\n },\n [zoomRef, zoomable]\n )\n\n const attachZoom = React.useCallback(\n (image: unknown) => {\n if (zoomRef.current && image) (zoomRef.current as any).attach(image)\n },\n [zoomRef]\n )\n\n const attachZoomRef = React.useMemo(() => (zoomable ? attachZoom : undefined), [zoomable, attachZoom])\n\n if (previewImage && components.Image) {\n // TODO: could try using next/image onLoadComplete to replace LazyImageFull\n // while retaining our blur implementation\n return (\n <components.Image\n src={src}\n alt={alt}\n style={style}\n className={className}\n width={previewImage.originalWidth}\n height={previewImage.originalHeight}\n blurDataURL={previewImage.dataURIBase64}\n placeholder='blur'\n priority={priority}\n onLoad={onLoad}\n />\n )\n } else {\n // TODO: GracefulImage doesn't seem to support refs, but we'd like to prevent\n // invalid images from loading as error states\n\n /*\n NOTE: Using next/image without a pre-defined width/height is a huge pain in\n the ass. If we have a preview image, then this works fine since we know the\n dimensions ahead of time, but if we don't, then next/image won't display\n anything.\n \n Since next/image is the most common use case for using custom images, and this \n is likely to trip people up, we're disabling non-preview custom images for now.\n\n If you have a use case that is affected by this, please open an issue on github.\n */\n if (components.Image && forceCustomImages)\n return (\n <components.Image\n src={src}\n alt={alt}\n className={className}\n style={style}\n width={null}\n height={height || null}\n priority={priority}\n onLoad={onLoad}\n />\n )\n\n // Default image element\n return (\n <img\n className={className}\n style={style}\n src={src}\n alt={alt}\n ref={attachZoomRef}\n loading='lazy'\n decoding='async'\n {...rest}\n />\n )\n }\n}\n","import React from 'react'\n\nconst qs = (params: Record<string, string>) => {\n return Object.keys(params)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)\n .join('&')\n}\n\nexport const LiteYouTubeEmbed: React.FC<{\n id: string\n defaultPlay?: boolean\n mute?: boolean\n lazyImage?: boolean\n iframeTitle?: string\n alt?: string\n params?: Record<string, string>\n adLinksPreconnect?: boolean\n style?: React.CSSProperties\n className?: string\n}> = ({\n id,\n defaultPlay = false,\n mute = false,\n lazyImage = false,\n iframeTitle = 'YouTube video',\n alt = 'Video preview',\n params = {},\n adLinksPreconnect = true,\n style,\n className\n}) => {\n const muteParam = mute || defaultPlay ? '1' : '0' // Default play must be muted\n const queryString = React.useMemo(() => qs({ autoplay: '1', mute: muteParam, ...params }), [muteParam, params])\n // const mobileResolution = 'hqdefault'\n // const desktopResolution = 'maxresdefault'\n const resolution = 'hqdefault'\n const posterUrl = `https://i.ytimg.com/vi/${id}/${resolution}.jpg`\n const ytUrl = 'https://www.youtube-nocookie.com'\n const iframeSrc = `${ytUrl}/embed/${id}?${queryString}`\n\n const [isPreconnected, setIsPreconnected] = React.useState(false)\n const [iframeInitialized, setIframeInitialized] = React.useState(defaultPlay)\n const [isIframeLoaded, setIsIframeLoaded] = React.useState(false)\n\n const warmConnections = React.useCallback(() => {\n if (isPreconnected) return\n setIsPreconnected(true)\n }, [isPreconnected])\n\n const onLoadIframe = React.useCallback(() => {\n if (iframeInitialized) return\n setIframeInitialized(true)\n }, [iframeInitialized])\n\n const onIframeLoaded = React.useCallback(() => {\n setIsIframeLoaded(true)\n }, [])\n\n return (\n <>\n <link rel='preload' href={posterUrl} as='image' />\n\n {isPreconnected && (\n <>\n {/* The iframe document and most of its subresources come from youtube.com */}\n <link rel='preconnect' href={ytUrl} />\n\n {/* The botguard script is fetched off from google.com */}\n <link rel='preconnect' href='https://www.google.com' />\n </>\n )}\n\n {isPreconnected && adLinksPreconnect && (\n <>\n {/* Not certain if these ad related domains are in the critical path. Could verify with domain-specific throttling. */}\n <link rel='preconnect' href='https://static.doubleclick.net' />\n <link rel='preconnect' href='https://googleads.g.doubleclick.net' />\n </>\n )}\n\n <div\n onClick={onLoadIframe}\n onPointerOver={warmConnections}\n className={`notion-yt-lite\n ${isIframeLoaded && 'notion-yt-loaded'}\n ${iframeInitialized && 'notion-yt-initialized'}\n ${className || ''}`}\n style={style}>\n <img src={posterUrl} className='notion-yt-thumbnail' loading={lazyImage ? 'lazy' : undefined} alt={alt} />\n\n <div className='notion-yt-playbtn' />\n\n {iframeInitialized && (\n <iframe\n width='560'\n height='315'\n frameBorder='0'\n allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'\n allowFullScreen\n title={iframeTitle}\n src={iframeSrc}\n onLoad={onIframeLoaded}\n />\n )}\n </div>\n </>\n )\n}\n","import React from 'react'\n\nimport { parsePageId } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\nimport { formatDate, getHashFragmentValue } from '../utils'\nimport { EOI } from './eoi'\nimport { GracefulImage } from './graceful-image'\nimport { PageTitle } from './page-title'\n\nimport type { Block, Decoration, ExternalObjectInstance } from '@texonom/ntypes'\n\n/**\n * Renders a single piece of Notion text, including basic rich text formatting.\n *\n * These represent the innermost leaf nodes of a Notion subtree.\n *\n * TODO: I think this implementation would be more correct if the reduce just added\n * attributes to the final element's style.\n */\nexport const Text: React.FC<{\n value: Decoration[]\n block: Block\n linkProps?: { [key: string]: unknown }\n linkProtocol?: string\n inline?: boolean // TODO: currently unused\n}> = ({ value, block, linkProps, linkProtocol }) => {\n const { components, recordMap, mapPageUrl, mapImageUrl, rootDomain } = useNotionContext()\n\n return (\n <React.Fragment>\n {value?.map((deco, index) => {\n const [text, decorations] = deco\n if (!decorations)\n if (text === ',') return <span key={index} style={{ padding: '0.5em' }} />\n else return <React.Fragment key={index}>{text}</React.Fragment>\n\n const formatted = decorations.reduce(\n (element: React.ReactNode, decorator) => {\n switch (decorator[0]) {\n case 'p': {\n // link to an internal block (within the current workspace)\n const blockId = decorator[1]\n const linkedBlock = recordMap.block[blockId]?.value\n if (!linkedBlock) {\n console.debug('\"p\" missing block', blockId)\n return null\n }\n return (\n <components.PageLink className='notion-link' href={mapPageUrl(blockId)}>\n <PageTitle block={linkedBlock} />\n </components.PageLink>\n )\n }\n\n case '‣': {\n // link to an external block (outside of the current workspace)\n const linkType = decorator[1][0]\n const id = decorator[1][1]\n\n switch (linkType) {\n case 'u': {\n const user = recordMap.notion_user[id]?.value\n if (!user) {\n console.debug('\"‣\" missing user', id)\n return null\n }\n const name = [user.given_name, user.family_name].filter(Boolean).join(' ')\n const email = user.email\n\n return (\n <components.Link className='notion-link' href={`mailto:${email}`} {...linkProps}>\n <GracefulImage\n className='notion-user'\n src={mapImageUrl(user.profile_photo, block)}\n alt={name}\n style={{ display: 'inline', marginRight: '0.3em', marginBottom: '0.3em' }}\n />\n {name}\n </components.Link>\n )\n }\n\n default: {\n const linkedBlock = recordMap.block[id]?.value\n\n if (!linkedBlock) {\n console.debug('\"‣\" missing block', linkType, id)\n return null\n }\n\n return (\n <components.PageLink\n className='notion-link'\n href={mapPageUrl(id)}\n {...linkProps}\n target='_blank'\n rel='noopener noreferrer'>\n <PageTitle block={linkedBlock} />\n </components.PageLink>\n )\n }\n }\n }\n\n case 'h':\n return <span className={`notion-${decorator[1]}`}>{element}</span>\n\n case 'c':\n return <code className='notion-inline-code'>{element}</code>\n\n case 'b':\n return <b>{element}</b>\n\n case 'i':\n return <em>{element}</em>\n\n case 's':\n return <s>{element}</s>\n\n case '_':\n return <span className='notion-inline-underscore'>{element}</span>\n\n case 'e':\n return <components.Equation math={decorator[1]} inline />\n\n case 'm':\n // comment / discussion\n return element //still need to return the base element\n\n case 'a': {\n const v = decorator[1]\n const pathname = v.substring(1)\n const id = parsePageId(pathname, { uuid: true })\n\n if ((v[0] === '/' || v.includes(rootDomain)) && id) {\n const href = v.includes(rootDomain) ? v : `${mapPageUrl(id)}${getHashFragmentValue(v)}`\n\n return (\n <components.PageLink className='notion-link' href={href} {...linkProps}>\n {element}\n </components.PageLink>\n )\n } else {\n return (\n <components.Link\n className='notion-link'\n href={linkProtocol ? `${linkProtocol}:${decorator[1]}` : decorator[1]}\n {...linkProps}>\n {element}\n </components.Link>\n )\n }\n }\n\n // Date\n case 'd': {\n const v = decorator[1]\n const type = v?.type\n if (type === 'date') {\n const startDate = v.start_date\n return formatDate(startDate)\n } else if (type === 'daterange') {\n const startDate = v.start_date\n const endDate = v.end_date\n\n return `${formatDate(startDate)} → ${formatDate(endDate)}`\n } else {\n return element\n }\n }\n\n // User\n case 'u': {\n const userId = decorator[1]\n const user = recordMap.notion_user[userId]?.value\n if (!user) {\n console.debug('missing user', userId)\n return null\n }\n const name = user.name\n const email = user.email\n return (\n <components.Link className='notion-link' href={`mailto:${email}`} {...linkProps}>\n <GracefulImage\n className='notion-user'\n src={mapImageUrl(user.profile_photo, block)}\n alt={name}\n style={{ display: 'inline', marginRight: '0.3em', marginBottom: '0.3em' }}\n />\n {name}\n </components.Link>\n )\n }\n\n case 'eoi': {\n const blockId = decorator[1]\n const externalObjectInstance = recordMap.block[blockId]?.value as ExternalObjectInstance\n return <EOI block={externalObjectInstance} inline={true} />\n }\n\n default:\n if (process.env.NODE_ENV !== 'production') console.debug('unsupported text format', decorator)\n\n return element\n }\n },\n <>{text}</>\n )\n\n return <React.Fragment key={index}>{formatted}</React.Fragment>\n })}\n </React.Fragment>\n )\n}\n","import React from 'react'\n\nimport { Block } from '@texonom/ntypes'\n\nimport { useNotionContext } from '../context'\nimport SvgTypeGitHub from '../icons/type-github'\nimport { formatNotionDateTime } from '../utils'\n\n// External Object Instance\nexport const EOI: React.FC<{\n block: Block\n inline?: boolean\n className?: string\n}> = ({ block, inline, className }) => {\n const { components } = useNotionContext()\n const { original_url, attributes, domain } = block?.format || {}\n if (!original_url || !attributes) return null\n\n const title = attributes.find(attr => attr.id === 'title')?.values[0]\n let owner = attributes.find(attr => attr.id === 'owner')?.values[0]\n const lastUpdatedAt = attributes.find(attr => attr.id === 'updated_at')?.values[0]\n const lastUpdated = lastUpdatedAt ? formatNotionDateTime(lastUpdatedAt) : null\n let externalImage: React.ReactNode\n\n switch (domain) {\n case 'github.com':\n externalImage = <SvgTypeGitHub />\n if (owner) {\n const parts = owner.split('/')\n owner = parts[parts.length - 1]\n }\n break\n\n default:\n if (process.env.NODE_ENV !== 'production')\n console.debug(`Unsupported external_object_instance domain \"${domain}\"`, JSON.stringify(block, null, 2))\n\n return null\n }\n\n return (\n <components.Link\n target='_blank'\n rel='noopener noreferrer'\n href={original_url}\n className={`notion-external ${inline ? 'notion-external-mention' : 'notion-external-block notion-row'} ${\n className || ''\n }`}>\n {externalImage && <div className='notion-external-image'>{externalImage}</div>}\n\n <div className='notion-external-description'>\n <div className='notion-external-title'>{title}</div>\n\n {(owner || lastUpdated) && (\n <div className='notion-external-subtitle'>\n {owner && <span>{owner}</span>}\n {owner && lastUpdated && <span> • </span>}\n {lastUpdated && <span>Updated {lastUpdated}</span>}\n </div>\n )}\n </div>\n </components.Link>\n )\n}\n","import React from 'react'\n\nfunction SvgTypeGitHub(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 260 260' {...props}>\n <g>\n <path\n d='M128.00106,0 C57.3172926,0 0,57.3066942 0,128.00106 C0,184.555281 36.6761997,232.535542 87.534937,249.460899 C93.9320223,250.645779 96.280588,246.684165 96.280588,243.303333 C96.280588,240.251045 96.1618878,230.167899 96.106777,219.472176 C60.4967585,227.215235 52.9826207,204.369712 52.9826207,204.369712 C47.1599584,189.574598 38.770408,185.640538 38.770408,185.640538 C27.1568785,177.696113 39.6458206,177.859325 39.6458206,177.859325 C52.4993419,178.762293 59.267365,191.04987 59.267365,191.04987 C70.6837675,210.618423 89.2115753,204.961093 96.5158685,201.690482 C97.6647155,193.417512 100.981959,187.77078 104.642583,184.574357 C76.211799,181.33766 46.324819,170.362144 46.324819,121.315702 C46.324819,107.340889 51.3250588,95.9223682 59.5132437,86.9583937 C58.1842268,83.7344152 53.8029229,70.715562 60.7532354,53.0843636 C60.7532354,53.0843636 71.5019501,49.6441813 95.9626412,66.2049595 C106.172967,63.368876 117.123047,61.9465949 128.00106,61.8978432 C138.879073,61.9465949 149.837632,63.368876 160.067033,66.2049595 C184.49805,49.6441813 195.231926,53.0843636 195.231926,53.0843636 C202.199197,70.715562 197.815773,83.7344152 196.486756,86.9583937 C204.694018,95.9223682 209.660343,107.340889 209.660343,121.315702 C209.660343,170.478725 179.716133,181.303747 151.213281,184.472614 C155.80443,188.444828 159.895342,196.234518 159.895342,208.176593 C159.895342,225.303317 159.746968,239.087361 159.746968,243.303333 C159.746968,246.709601 162.05102,250.70089 168.53925,249.443941 C219.370432,232.499507 256,184.536204 256,128.00106 C256,57.3066942 198.691187,0 128.00106,0 Z M47.9405593,182.340212 C47.6586465,182.976105 46.6581745,183.166873 45.7467277,182.730227 C44.8183235,182.312656 44.2968914,181.445722 44.5978808,180.80771 C44.8734344,180.152739 45.876026,179.97045 46.8023103,180.409216 C47.7328342,180.826786 48.2627451,181.702199 47.9405593,182.340212 Z M54.2367892,187.958254 C53.6263318,188.524199 52.4329723,188.261363 51.6232682,187.366874 C50.7860088,186.474504 50.6291553,185.281144 51.2480912,184.70672 C51.8776254,184.140775 53.0349512,184.405731 53.8743302,185.298101 C54.7115892,186.201069 54.8748019,187.38595 54.2367892,187.958254 Z M58.5562413,195.146347 C57.7719732,195.691096 56.4895886,195.180261 55.6968417,194.042013 C54.9125733,192.903764 54.9125733,191.538713 55.713799,190.991845 C56.5086651,190.444977 57.7719732,190.936735 58.5753181,192.066505 C59.3574669,193.22383 59.3574669,194.58888 58.5562413,195.146347 Z M65.8613592,203.471174 C65.1597571,204.244846 63.6654083,204.03712 62.5716717,202.981538 C61.4524999,201.94927 61.1409122,200.484596 61.8446341,199.710926 C62.5547146,198.935137 64.0575422,199.15346 65.1597571,200.200564 C66.2704506,201.230712 66.6095936,202.705984 65.8613592,203.471174 Z M75.3025151,206.281542 C74.9930474,207.284134 73.553809,207.739857 72.1039724,207.313809 C70.6562556,206.875043 69.7087748,205.700761 70.0012857,204.687571 C70.302275,203.678621 71.7478721,203.20382 73.2083069,203.659543 C74.6539041,204.09619 75.6035048,205.261994 75.3025151,206.281542 Z M86.046947,207.473627 C86.0829806,208.529209 84.8535871,209.404622 83.3316829,209.4237 C81.8013,209.457614 80.563428,208.603398 80.5464708,207.564772 C80.5464708,206.498591 81.7483088,205.631657 83.2786917,205.606221 C84.8005962,205.576546 86.046947,206.424403 86.046947,207.473627 Z M96.6021471,207.069023 C96.7844366,208.099171 95.7267341,209.156872 94.215428,209.438785 C92.7295577,209.710099 91.3539086,209.074206 91.1652603,208.052538 C90.9808515,206.996955 92.0576306,205.939253 93.5413813,205.66582 C95.054807,205.402984 96.4092596,206.021919 96.6021471,207.069023 Z'\n fill='#161614'></path>\n </g>\n </svg>\n )\n}\n\nexport default SvgTypeGitHub\n","import React from 'react'\n\nimport { Img, ImgProps } from 'react-image'\n\nimport { isBrowser } from '../utils'\n\nexport const GracefulImage = (props: ImgProps) => {\n if (isBrowser) return <Img {...props} />\n // @ts-expect-error (must use the appropriate subset of props for <img> if using SSR)\n else return <img {...props} />\n}\n","import React from 'react'\n\nimport { Block, Decoration } from '@texonom/ntypes'\nimport { getBlockTitle } from '@texonom/nutils'\n\nimport { useNotionContext } from '../context'\nimport { PageIcon } from './page-icon'\nimport { Text } from './text'\n\nexport const PageTitleImpl: React.FC<{\n block: Block\n className?: string\n defaultIcon?: string\n}> = ({ block, className, defaultIcon, ...rest }) => {\n const { recordMap } = useNotionContext()\n\n if (!block) return null\n\n if (block.type === 'collection_view_page' || block.type === 'collection_view') {\n const title = getBlockTitle(block, recordMap)\n if (!title) return null\n\n const titleDecoration: Decoration[] = [[title]]\n\n return (\n <span className={`notion-page-title ${className || ''}`} {...rest}>\n <PageIcon block={block} defaultIcon={defaultIcon} className='notion-page-title-icon' />\n\n <span className='notion-page-title-text'>\n <Text value={titleDecoration} block={block} />\n </span>\n </span>\n )\n }\n\n if (!block.properties?.title) return null\n\n return (\n <span className={`notion-page-title ${className || ''}`} {...rest}>\n <PageIcon block={block} defaultIcon={defaultIcon} className='notion-page-title-icon' />\n\n <span className='notion-page-title-text'>\n <Text value={block.properties?.title} block={block} />\n </span>\n </span>\n )\n}\n\nexport const PageTitle = React.memo(PageTitleImpl)\n","import React from 'react'\n\nimport { getPageBreadcrumbs } from '@texonom/nutils'\nimport { useHotkeys } from 'react-hotkeys-hook'\n\nimport { useNotionContext } from '../context'\nimport { SearchIcon } from '../icons/search-icon'\nimport { SearchNotionFn } from '../types'\nimport { PageIcon } from './page-icon'\nimport { SearchDialog } from './search-dialog'\n\nimport type { Block, PageBlock, CollectionViewPageBlock } from '@texonom/ntypes'\n\nexport const Header: React.FC<{\n block: CollectionViewPageBlock | PageBlock\n}> = ({ block }) => {\n return (\n <header className='notion-header'>\n <div className='notion-nav-header'>\n <Breadcrumbs block={block} />\n <Search block={block} />\n </div>\n </header>\n )\n}\n\nexport const Breadcrumbs: React.FC<{\n block: Block\n rootOnly?: boolean\n}> = ({ block, rootOnly = false }) => {\n const { recordMap, mapPageUrl, components } = useNotionContext()\n\n const breadcrumbs = React.useMemo(() => {\n const breadcrumbs = getPageBreadcrumbs(recordMap, block.id)\n if (rootOnly) return [breadcrumbs[0]].filter(Boolean)\n\n return breadcrumbs\n }, [recordMap, block.id, rootOnly])\n\n return (\n <div className='breadcrumbs' key='breadcrumbs'>\n {breadcrumbs.map((breadcrumb, index: number) => {\n if (!breadcrumb) return null\n\n const pageLinkProps: any = {}\n const componentMap = {\n pageLink: components.PageLink\n }\n\n if (breadcrumb.active) componentMap.pageLink = props => <div {...props} />\n else pageLinkProps.href = mapPageUrl(breadcrumb.pageId)\n\n return (\n <React.Fragment key={breadcrumb.pageId}>\n <componentMap.pageLink className={`breadcrumb ${breadcrumb.active && 'active'}`} {...pageLinkProps}>\n {breadcrumb.icon && <PageIcon className='icon' block={breadcrumb.block} />}\n\n {breadcrumb.title && <span className='title'>{breadcrumb.title}</span>}\n </componentMap.pageLink>\n\n {index < breadcrumbs.length - 1 && <span className='spacer'>/</span>}\n </React.Fragment>\n )\n })}\n </div>\n )\n}\n\nexport const Search: React.FC<{\n block: Block\n search?: SearchNotionFn\n title?: React.ReactNode\n}> = ({ block, search, title = 'Search' }) => {\n const { searchNotion, rootPageId, isShowingSearch, onHideSearch, rootSpaceId } = useNotionContext()\n const onSearchNotion = search || searchNotion\n\n const [isSearchOpen, setIsSearchOpen] = React.useState(isShowingSearch)\n React.useEffect(() => {\n setIsSearchOpen(isShowingSearch)\n }, [isShowingSearch])\n\n const onOpenSearch = React.useCallback(() => {\n setIsSearchOpen(true)\n }, [])\n\n const onCloseSearch = React.useCallback(() => {\n setIsSearchOpen(false)\n if (onHideSearch) onHideSearch()\n }, [onHideSearch])\n\n useHotkeys('cmd+p', event => {\n onOpenSearch()\n event.preventDefault()\n event.stopPropagation()\n })\n\n useHotkeys('cmd+k', event => {\n onOpenSearch()\n event.preventDefault()\n event.stopPropagation()\n })\n\n const hasSearch = !!onSearchNotion\n\n return (\n <>\n {hasSearch && (\n <div role='button' className={`breadcrumb button notion-search-button`} onClick={onOpenSearch}>\n <SearchIcon className='searchIcon' />\n\n {title && <span className='title'>{title}</span>}\n </div>\n )}\n\n {isSearchOpen && hasSearch && (\n <SearchDialog\n isOpen={isSearchOpen}\n rootBlockId={rootPageId || block?.id}\n rootSpaceId={rootSpaceId}\n onClose={onCloseSearch}\n searchNotion={onSearchNotion}\n />\n )}\n </>\n )\n}\n","import React from 'react'\n\nexport const SearchIcon = props => {\n const { className, ...rest } = props\n return (\n <svg className={`notion-icon ${className || ''}`} viewBox='0 0 17 17' {...rest}>\n <path d='M6.78027 13.6729C8.24805 13.6729 9.60156 13.1982 10.709 12.4072L14.875 16.5732C15.0684 16.7666 15.3232 16.8633 15.5957 16.8633C16.167 16.8633 16.5713 16.4238 16.5713 15.8613C16.5713 15.5977 16.4834 15.3516 16.29 15.1582L12.1504 11.0098C13.0205 9.86719 13.5391 8.45215 13.5391 6.91406C13.5391 3.19629 10.498 0.155273 6.78027 0.155273C3.0625 0.155273 0.0214844 3.19629 0.0214844 6.91406C0.0214844 10.6318 3.0625 13.6729 6.78027 13.6729ZM6.78027 12.2139C3.87988 12.2139 1.48047 9.81445 1.48047 6.91406C1.48047 4.01367 3.87988 1.61426 6.78027 1.61426C9.68066 1.61426 12.0801 4.01367 12.0801 6.91406C12.0801 9.81445 9.68066 12.2139 6.78027 12.2139Z'></path>\n </svg>\n )\n}\n","import React from 'react'\nimport { getBlockParentPage, getBlockTitle } from '@texonom/nutils'\n\nimport { NotionContextConsumer, NotionContextProvider } from '../context'\nimport { ClearIcon } from '../icons/clear-icon'\nimport { LoadingIcon } from '../icons/loading-icon'\nimport { SearchIcon } from '../icons/search-icon'\nimport { PageTitle } from './page-title'\n\nimport type { SearchParams, SearchResults, APIError } from '@texonom/ntypes'\n// TODO: modal.default.setAppElement('.notion-viewport')\n\n// simple debounce utility so we only search after the user stops typing\nconst debounce = (func: (...args: any[]) => void, wait: number) => {\n let timeout: ReturnType<typeof setTimeout> | undefined\n return (...args: any[]) => {\n if (timeout) clearTimeout(timeout)\n timeout = setTimeout(() => func(...args), wait)\n }\n}\n\nexport class SearchDialog extends React.Component<{\n isOpen: boolean\n rootBlockId: string\n rootSpaceId: string\n onClose: () => void\n searchNotion: (params: SearchParams) => Promise<SearchResults>\n}> {\n constructor(props) {\n super(props)\n this._inputRef = React.createRef()\n }\n\n state = {\n isLoading: false,\n query: '',\n searchResult: null,\n searchError: null\n }\n\n _inputRef: any\n _search: any\n\n componentDidMount() {\n // debounce search calls so the expensive query only runs after typing stops\n this._search = debounce(this._searchImpl.bind(this), 500)\n this._warmupSearch()\n }\n\n render() {\n const { isOpen, onClose } = this.props\n const { isLoading, query, searchResult, searchError } = this.state\n\n const hasQuery = !!query.trim()\n\n return (\n <NotionContextConsumer>\n {ctx => {\n const { components, defaultPageIcon, mapPageUrl } = ctx\n\n return (\n <components.Modal\n isOpen={isOpen}\n contentLabel='Search'\n className='notion-search'\n overlayClassName='notion-search-overlay'\n onRequestClose={onClose}\n onAfterOpen={this._onAfterOpen}>\n <div className='quickFindMenu'>\n <div className='searchBar'>\n <div className='inlineIcon'>{isLoading ? <LoadingIcon className='loadingIcon' /> : <SearchIcon />}</div>\n\n <input\n className='searchInput'\n placeholder='Search'\n value={query}\n ref={this._inputRef}\n onInput={this._onChangeQuery}\n />\n\n {query && (\n <div role='button' className='clearButton' onClick={this._onClearQuery}>\n <ClearIcon className='clearIcon' />\n </div>\n )}\n </div>\n\n {hasQuery && searchResult && (\n <>\n {searchResult.results.length ? (\n <NotionContextProvider {...ctx} recordMap={searchResult.recordMap}>\n <div className='resultsPane'>\n {searchResult.results.map(result => (\n <components.PageLink\n key={result.id}\n className={`result notion-page-link`}\n href={mapPageUrl(result.page.id, searchResult.recordMap)}>\n <PageTitle block={result.page} defaultIcon={defaultPageIcon} />\n\n {result.highlight?.html && (\n <div\n className='notion-search-result-highlight'\n dangerouslySetInnerHTML={{\n __html: result.highlight.html\n }}\n />\n )}\n </components.PageLink>\n ))}\n </div>\n\n <footer className='resultsFooter'>\n <div>\n <span className='resultsCount'>{searchResult.total}</span>\n\n {searchResult.total === 1 ? ' result' : ' results'}\n </div>\n </footer>\n </NotionContextProvider>\n ) : (\n <div className='noResultsPane'>\n <div className='noResults'>No results</div>\n <div className='noResultsDetail'>Try different search terms</div>\n </div>\n )}\n </>\n )}\n\n {hasQuery && !searchResult && searchError && (\n <div className='noResultsPane'>\n <div className='noResults'>Search error</div>\n </div>\n )}\n </div>\n </components.Modal>\n )\n }}\n </NotionContextConsumer>\n )\n }\n\n _onAfterOpen = () => {\n if (this._inputRef.current) this._inputRef.current.focus()\n }\n\n _onChangeQuery = e => {\n const query = e.target.value\n this.setState({ query })\n\n if (!query.trim()) {\n this.setState({ isLoading: false, searchResult: null, searchError: null })\n return\n } else {\n this._search()\n }\n }\n\n _onClearQuery = () => {\n this._onChangeQuery({ target: { value: '' } })\n }\n\n _warmupSearch = async () => {\n const { searchNotion, rootBlockId, rootSpaceId } = this.props\n\n // search is generally implemented as a serverless function wrapping the notion\n // private API, upon opening the search dialog, so we eagerly invoke an empty\n // search in order to warm up the serverless lambda\n await searchNotion({\n query: '',\n spaceId: rootSpaceId,\n filters: {\n ancestors: [rootBlockId],\n isDeletedOnly: false,\n excludeTemplates: true,\n navigableBlockContentOnly: true,\n requireEditPermissions: false\n }\n })\n }\n\n _searchImpl = async () => {\n const { searchNotion, rootBlockId, rootSpaceId } = this.props\n const { query } = this.state\n\n if (!query.trim()) {\n this.setState({ isLoading: false, searchResult: null, searchError: null })\n return\n }\n\n this.setState({ isLoading: true })\n const result: any = await searchNotion({\n query,\n spaceId: rootSpaceId,\n filters: {\n ancestors: [rootBlockId],\n isDeletedOnly: false,\n excludeTemplates: true,\n navigableBlockContentOnly: true,\n requireEditPermissions: false\n }\n })\n\n console.debug('search', query, result)\n\n let searchResult: any = null // TODO\n let searchError: APIError = null\n\n if (result.error || result.errorId) {\n searchError = result\n } else {\n searchResult = { ...result }\n\n const results = searchResult.results\n .map((result: any) => {\n const block = searchResult.recordMap.block[result.id]?.value\n if (!block) return\n\n const title = getBlockTitle(block, searchResult.recordMap)\n if (!title) return\n\n result.title = title\n result.block = block\n result.recordMap = searchResult.recordMap\n result.page =\n getBlockParentPage(block, searchResult.recordMap, {\n inclusive: true\n }) || block\n\n if (!result.page.id) return\n\n if (result.highlight?.text)\n result.highlight.html = result.highlight.text.replace(/<gzkNfoUU>/gi, '<b>').replace(/<\\/gzkNfoUU>/gi, '</b>')\n\n return result\n })\n .filter(Boolean)\n\n // dedupe results by page id\n const searchResultsMap = results.reduce(\n (map, result) => ({\n ...map,\n [result.page.id]: result\n }),\n {}\n )\n searchResult.results = Object.values(searchResultsMap)\n }\n\n if (this.state.query === query) this.setState({ isLoading: false, searchResult, searchError })\n }\n}\n","import React from 'react'\n\nexport const ClearIcon = props => {\n const { className, ...rest } = props\n return (\n <svg className={`notion-icon ${className || ''}`} {...rest} viewBox='0 0 30 30'>\n <path d='M15,0C6.716,0,0,6.716,0,15s6.716,15,15,15s15-6.716,15-15S23.284,0,15,0z M22,20.6L20.6,22L15,16.4L9.4,22L8,20.6l5.6-5.6 L8,9.4L9.4,8l5.6,5.6L20.6,8L22,9.4L16.4,15L22,20.6z'></path>\n </svg>\n )\n}\n","import React from 'react'\n\nexport const LoadingIcon = props => {\n const { className, ...rest } = props\n return (\n <svg className={`notion-icon ${className || ''}`} {...rest} viewBox='0 0 24 24'>\n <defs>\n <linearGradient x1='28.1542969%' y1='63.7402344%' x2='74.6289062%' y2='17.7832031%' id='linearGradient-1'>\n <stop stopColor='rgba(164, 164, 164, 1)' offset='0%' />\n <stop stopColor='rgba(164, 164, 164, 0)' stopOpacity='0' offset='100%' />\n </linearGradient>\n </defs>\n\n <g id='Page-1' stroke='none' strokeWidth='1' fill='none'>\n <g transform='translate(-236.000000, -286.000000)'>\n <g transform='translate(238.000000, 286.000000)'>\n <circle id='Oval-2' stroke='url(#linearGradient-1)' strokeWidth='4' cx='10' cy='12' r='10' />\n <path d='M10,2 C4.4771525,2 0,6.4771525 0,12' id='Oval-2' stroke='rgba(164, 164, 164, 1)' strokeWidth='4' />\n <rect id='Rectangle-1' fill='rgba(164, 164, 164, 1)' x='8' y='0' width='4' height='4' rx='8' />\n </g>\n </g>\n </g>\n </svg>\n )\n}\n","import React from 'react'\n\nimport isEqual from 'react-fast-compare'\n\nexport const wrapNextImage = (NextImage: any): React.FC<any> => {\n return React.memo(function ReactNotionXNextImage({\n src,\n alt,\n\n width,\n height,\n\n className,\n style,\n\n layout,\n\n ...rest\n }) {\n if (!layout) layout = width && height ? 'intrinsic' : 'fill'\n\n return (\n <NextImage\n className={className}\n src={src}\n alt={alt}\n width={layout === 'intrinsic' && width}\n height={layout === 'intrinsic' && height}\n objectFit={style?.objectFit}\n objectPosition={style?.objectPosition}\n layout={layout}\n {...rest}\n />\n )\n }, isEqual)\n}\n\nexport const wrapNextLink = (NextLink: any): React.FC<any> =>\n function ReactNotionXNextLink({ href, as, passHref, prefetch, replace, scroll, shallow, locale, ...linkProps }) {\n return (\n <NextLink\n href={href}\n as={as}\n passHref={passHref}\n prefetch={prefetch}\n replace={replace}\n scroll={scroll}\n shallow={shallow}\n locale={locale}>\n <a {...linkProps} />\n </NextLink>\n )\n }\n","import React from 'react'\n\nexport const DefaultPageIcon = props => {\n const { className, ...rest } = props\n return (\n <svg className={className} {...rest} viewBox='0 0 30 30' width='16'>\n <path d='M16,1H4v28h22V11L16,1z M16,3.828L23.172,11H16V3.828z M24,27H6V3h8v10h10V27z M8,17h14v-2H8V17z M8,21h14v-2H8V21z M8,25h14v-2H8V25z'></path>\n </svg>\n )\n}\n"],"mappings":"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","names":["React","React","_a","_b","React","getBlockTitle","React","React","parsePageId","React","React","_a","_b","React","React","React","React","React","React","React","React","React","React","React","React","_a","_b","React","React","parsePageId","React","React","React","React","React","getBlockTitle","React","React","React","React","React","result","getBlockTitle","ctx","React","breadcrumbs","React","React","React","React","React","getBlockTitle","React"]}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__objRest,
|
|
3
|
-
__spreadValues
|
|
4
|
-
} from "./chunk-Q4G2SZRD.js";
|
|
5
|
-
|
|
6
|
-
// src/icons/type-checkbox.tsx
|
|
7
|
-
import React from "react";
|
|
8
|
-
function SvgTypeCheckbox(props) {
|
|
9
|
-
return /* @__PURE__ */ React.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React.createElement("path", { d: "M0 3a3 3 0 013-3h8a3 3 0 013 3v8a3 3 0 01-3 3H3a3 3 0 01-3-3V3zm3-1.5A1.5 1.5 0 001.5 3v8A1.5 1.5 0 003 12.5h8a1.5 1.5 0 001.5-1.5V3A1.5 1.5 0 0011 1.5H3zm-.167 5.316l.566-.542.177-.17.347-.332.346.334.176.17 1.139 1.098 3.699-3.563.177-.17.347-.335.347.334.177.17.563.543.177.171.372.36-.372.36-.177.17-4.786 4.615-.177.171-.347.334-.347-.334-.177-.17-2.23-2.15-.177-.172-.375-.361.376-.36.179-.17z" }));
|
|
10
|
-
}
|
|
11
|
-
var type_checkbox_default = SvgTypeCheckbox;
|
|
12
|
-
|
|
13
|
-
// src/icons/type-date.tsx
|
|
14
|
-
import React2 from "react";
|
|
15
|
-
function SvgTypeDate(props) {
|
|
16
|
-
return /* @__PURE__ */ React2.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React2.createElement("path", { d: "M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z" }));
|
|
17
|
-
}
|
|
18
|
-
var type_date_default = SvgTypeDate;
|
|
19
|
-
|
|
20
|
-
// src/icons/type-email.tsx
|
|
21
|
-
import React3 from "react";
|
|
22
|
-
function SvgTypeEmail(props) {
|
|
23
|
-
return /* @__PURE__ */ React3.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React3.createElement("path", { d: "M14 6.225c0 .822-.133 1.574-.4 2.256-.267.683-.644 1.218-1.13 1.606-.488.388-.946.6-1.494.6-.429 0-.808-.102-1.139-.305a1.753 1.753 0 01-.713-.8c-.613.736-1.563 1.104-2.531 1.104-1.027 0-1.835-.304-2.427-.912-.591-.608-.887-1.44-.887-2.496 0-1.204.389-2.175 1.166-2.911.776-.736 1.791-1.105 3.044-1.105.498 0 2.032.212 2.252.268.51.13.86.593.835 1.112l-.156 3.287c0 .794.22 1.19.66 1.19.372 0 .668-.267.888-.8.22-.534.33-1.232.33-2.094 0-.919-.194-1.731-.582-2.436a3.924 3.924 0 00-1.64-1.614c-.704-.371-1.509-.557-2.413-.557-1.172 0-2.19.237-3.053.711a4.785 4.785 0 00-1.988 2.05c-.46.894-.691 1.926-.691 3.096 0 1.576.428 2.784 1.283 3.627.855.841 2.094 1.262 3.718 1.262.615 0 1.29-.067 2.027-.2.225-.042.518-.108.877-.2a.863.863 0 011.025.527.76.76 0 01-.502.993c-1.052.316-2.17.488-3.357.516-2.204 0-3.922-.57-5.154-1.713C.616 11.146 0 9.56 0 7.527c0-1.41.315-2.69.944-3.84A6.792 6.792 0 013.63.98C4.794.327 6.131 0 7.645 0c1.276 0 2.514.29 3.418.77.905.481 1.574 1.228 2.12 2.176.544.947.817 2.04.817 3.28zm-8.615 1.01c0 1.208.488 1.811 1.466 1.811.511 0 .9-.181 1.168-.545.267-.363.429-.954.486-1.772l.11-1.896a4.638 4.638 0 00-.98-.095c-.71 0-1.263.224-1.658.67-.395.446-.592 1.055-.592 1.828z" }));
|
|
24
|
-
}
|
|
25
|
-
var type_email_default = SvgTypeEmail;
|
|
26
|
-
|
|
27
|
-
// src/icons/type-file.tsx
|
|
28
|
-
import React4 from "react";
|
|
29
|
-
function SvgTypeFile(props) {
|
|
30
|
-
return /* @__PURE__ */ React4.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React4.createElement("path", { d: "M5.946 14a4.975 4.975 0 01-3.497-1.415A4.731 4.731 0 011 9.174c0-1.288.515-2.5 1.449-3.41L7.456.986c1.345-1.313 3.722-1.318 5.08.007a3.453 3.453 0 010 4.961L8.03 10.241c-.867.847-2.293.848-3.17-.006a2.158 2.158 0 010-3.102l1.744-1.701 1.272 1.24-1.744 1.701a.43.43 0 000 .621c.23.223.405.223.636 0l4.503-4.288a1.723 1.723 0 00-.007-2.473c-.68-.663-1.864-.663-2.543 0L3.713 7.011a3.006 3.006 0 00-.915 2.163c0 .82.328 1.591.922 2.17 1.19 1.162 3.262 1.162 4.451 0l2.248-2.192 1.272 1.24-2.248 2.193A4.978 4.978 0 015.946 14z" }));
|
|
31
|
-
}
|
|
32
|
-
var type_file_default = SvgTypeFile;
|
|
33
|
-
|
|
34
|
-
// src/icons/type-formula.tsx
|
|
35
|
-
import React5 from "react";
|
|
36
|
-
function SvgTypeFormula(props) {
|
|
37
|
-
return /* @__PURE__ */ React5.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React5.createElement("path", { d: "M7.779 7.063l-3.157 4.224a.49.49 0 00-.072.218.35.35 0 00.346.357h6.242c.476 0 .862.398.862.889v.36c0 .491-.386.889-.862.889H1.862A.876.876 0 011 13.111v-.425a.82.82 0 01.177-.54L4.393 7.8a1.367 1.367 0 00-.006-1.625L1.4 2.194a.822.822 0 01-.18-.544V.89C1.22.398 1.604 0 2.08 0h8.838c.476 0 .861.398.861.889v.36c0 .491-.385.89-.86.89H5.135c-.19 0-.345.159-.345.356a.489.489 0 00.07.216l2.92 3.975c.049.062.063.107.06.188a.246.246 0 01-.062.189z" }));
|
|
38
|
-
}
|
|
39
|
-
var type_formula_default = SvgTypeFormula;
|
|
40
|
-
|
|
41
|
-
// src/icons/type-multi-select.tsx
|
|
42
|
-
import React6 from "react";
|
|
43
|
-
function SvgTypeMultiSelect(props) {
|
|
44
|
-
return /* @__PURE__ */ React6.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React6.createElement("path", { d: "M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z" }));
|
|
45
|
-
}
|
|
46
|
-
var type_multi_select_default = SvgTypeMultiSelect;
|
|
47
|
-
|
|
48
|
-
// src/icons/type-number.tsx
|
|
49
|
-
import React7 from "react";
|
|
50
|
-
function SvgTypeNumber(props) {
|
|
51
|
-
return /* @__PURE__ */ React7.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React7.createElement("path", { d: "M4.462 0c-.595 0-1.078.482-1.078 1.078v2.306H1.078a1.078 1.078 0 100 2.155h2.306v2.922H1.078a1.078 1.078 0 100 2.155h2.306v2.306a1.078 1.078 0 002.155 0v-2.306H8.46v2.306a1.078 1.078 0 002.156 0v-2.306h2.306a1.078 1.078 0 100-2.155h-2.306V5.539h2.306a1.078 1.078 0 100-2.155h-2.306V1.078a1.078 1.078 0 00-2.156 0v2.306H5.54V1.078C5.54.482 5.056 0 4.461 0zm1.077 8.46V5.54H8.46v2.92H5.54z" }));
|
|
52
|
-
}
|
|
53
|
-
var type_number_default = SvgTypeNumber;
|
|
54
|
-
|
|
55
|
-
// src/icons/type-person.tsx
|
|
56
|
-
import React8 from "react";
|
|
57
|
-
function SvgTypePerson(props) {
|
|
58
|
-
return /* @__PURE__ */ React8.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React8.createElement("path", { d: "M9.625 10.847C8.912 10.289 8.121 9.926 7 9.26v-.54a3.33 3.33 0 00.538-.888c.408-.1.774-.498.774-.832 0-.482-.202-.673-.44-.829 0-.015.003-.03.003-.046 0-.711-.438-2.625-2.625-2.625-2.188 0-2.625 1.915-2.625 2.625 0 .017.003.03.003.046-.238.156-.44.347-.44.829 0 .334.366.731.774.833.146.343.326.643.538.886v.541c-1.12.665-1.912 1.028-2.625 1.587C.041 11.498 0 12.469 0 14h10.5c0-1.531-.041-2.502-.875-3.153zm3.5-3.5c-.713-.558-1.504-.921-2.625-1.587v-.54c.212-.244.392-.544.538-.888.408-.1.774-.498.774-.832 0-.482-.202-.673-.44-.829 0-.015.003-.03.003-.046C11.375 1.914 10.937 0 8.75 0 6.562 0 6.125 1.915 6.125 2.625c0 .017.003.03.003.046-.016.012-.03.025-.047.036 1.751.359 2.516 1.841 2.647 3.04.248.262.46.65.46 1.253 0 .603-.417 1.203-1.004 1.515-.057.109-.117.214-.181.315l.437.245c.64.357 1.194.666 1.724 1.081.138.108.256.224.365.343H14c0-1.53-.041-2.5-.875-3.153z" }));
|
|
59
|
-
}
|
|
60
|
-
var type_person_default = SvgTypePerson;
|
|
61
|
-
|
|
62
|
-
// src/icons/type-person-2.tsx
|
|
63
|
-
import React9 from "react";
|
|
64
|
-
function SvgTypePerson2(props) {
|
|
65
|
-
return /* @__PURE__ */ React9.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React9.createElement("path", { d: "M13.125 10.035c-.571-.55-2.324-1.504-3.5-2.16v-.834c.224-.322.42-.671.566-1.055.394-.242.746-.702.746-1.173 0-.458-.005-.87-.47-1.208C10.305 1.558 9.436 0 7 0S3.695 1.558 3.533 3.605c-.465.338-.47.75-.47 1.208 0 .471.352.93.746 1.173.146.384.342.733.566 1.055v.834c-1.176.656-2.929 1.61-3.5 2.16C.165 10.72 0 11.812 0 14h14c0-2.188-.164-3.281-.875-3.965z" }));
|
|
66
|
-
}
|
|
67
|
-
var type_person_2_default = SvgTypePerson2;
|
|
68
|
-
|
|
69
|
-
// src/icons/type-phone-number.tsx
|
|
70
|
-
import React10 from "react";
|
|
71
|
-
function SvgTypePhoneNumber(props) {
|
|
72
|
-
return /* @__PURE__ */ React10.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React10.createElement("path", { d: "M2.207.013a.487.487 0 00-.29.02C.87.438.213 1.93.058 2.955c-.484 3.33 2.15 6.215 4.57 8.113 2.149 1.684 6.273 4.453 8.713 1.781.31-.329.678-.813.658-1.297-.058-.813-.813-1.394-1.394-1.84-.445-.329-1.375-1.239-1.956-1.22-.522.02-.851.562-1.18.891l-.582.581c-.096.097-1.336-.716-1.471-.813a9.881 9.881 0 01-1.414-1.104A9.13 9.13 0 014.86 6.732c-.097-.136-.89-1.317-.813-1.414 0 0 .677-.736.871-1.026.407-.62.717-1.104.252-1.84-.174-.27-.387-.484-.62-.716-.406-.387-.813-.794-1.278-1.123-.251-.194-.677-.542-1.065-.6z" }));
|
|
73
|
-
}
|
|
74
|
-
var type_phone_number_default = SvgTypePhoneNumber;
|
|
75
|
-
|
|
76
|
-
// src/icons/type-relation.tsx
|
|
77
|
-
import React11 from "react";
|
|
78
|
-
function SvgTypeRelation(props) {
|
|
79
|
-
return /* @__PURE__ */ React11.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React11.createElement("path", { d: "M4.5 1v2h5.086L1 11.586 2.414 13 11 4.414V9.5h2V1z" }));
|
|
80
|
-
}
|
|
81
|
-
var type_relation_default = SvgTypeRelation;
|
|
82
|
-
|
|
83
|
-
// src/icons/type-select.tsx
|
|
84
|
-
import React12 from "react";
|
|
85
|
-
function SvgTypeSelect(props) {
|
|
86
|
-
return /* @__PURE__ */ React12.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React12.createElement("path", { d: "M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z" }));
|
|
87
|
-
}
|
|
88
|
-
var type_select_default = SvgTypeSelect;
|
|
89
|
-
|
|
90
|
-
// src/icons/type-text.tsx
|
|
91
|
-
import React13 from "react";
|
|
92
|
-
function SvgTypeText(props) {
|
|
93
|
-
return /* @__PURE__ */ React13.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React13.createElement("path", { d: "M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z" }));
|
|
94
|
-
}
|
|
95
|
-
var type_text_default = SvgTypeText;
|
|
96
|
-
|
|
97
|
-
// src/icons/type-timestamp.tsx
|
|
98
|
-
import React14 from "react";
|
|
99
|
-
function SvgTypeTimestamp(props) {
|
|
100
|
-
return /* @__PURE__ */ React14.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React14.createElement("path", { d: "M6.986 14c-1.79 0-3.582-.69-4.944-2.068-2.723-2.72-2.723-7.172 0-9.892 2.725-2.72 7.182-2.72 9.906 0A6.972 6.972 0 0114 6.996c0 1.88-.728 3.633-2.052 4.955A7.058 7.058 0 016.986 14zm3.285-6.99v1.645H5.526v-5.47h1.841v3.63h2.904v.194zm1.89-.014c0-1.379-.542-2.67-1.522-3.648-2.006-2.005-5.287-2.007-7.297-.009l-.009.009a5.168 5.168 0 000 7.295c2.01 2.007 5.297 2.007 7.306 0a5.119 5.119 0 001.521-3.647z" }));
|
|
101
|
-
}
|
|
102
|
-
var type_timestamp_default = SvgTypeTimestamp;
|
|
103
|
-
|
|
104
|
-
// src/icons/type-title.tsx
|
|
105
|
-
import React15 from "react";
|
|
106
|
-
function SvgTypeTitle(props) {
|
|
107
|
-
return /* @__PURE__ */ React15.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React15.createElement("path", { d: "M7.74 8.697a.81.81 0 01.073.308.894.894 0 01-.9.888.867.867 0 01-.825-.592l-.333-.961H2.058l-.333.961a.882.882 0 01-.838.592A.884.884 0 010 9.005c0-.11.025-.222.062-.308l2.403-6.211c.222-.58.776-.986 1.442-.986.653 0 1.22.407 1.442.986l2.39 6.211zM2.6 6.824h2.613L3.907 3.102 2.6 6.824zm8.8-3.118c1.355 0 2.6.542 2.6 2.255V9.08a.8.8 0 01-.789.814.797.797 0 01-.788-.703c-.395.468-1.097.764-1.874.764-.949 0-2.07-.64-2.07-1.972 0-1.392 1.121-1.897 2.07-1.897.789 0 1.491.246 1.886.727v-.826c0-.604-.518-.998-1.306-.998-.469 0-.888.123-1.32.394a.64.64 0 01-.307.086.602.602 0 01-.592-.604c0-.221.123-.419.284-.517a3.963 3.963 0 012.206-.641zm-.222 5.188c.505 0 .998-.172 1.257-.517v-.74c-.259-.345-.752-.517-1.257-.517-.616 0-1.122.332-1.122.9 0 .554.506.874 1.122.874zM.656 11.125h12.688a.656.656 0 110 1.313H.656a.656.656 0 110-1.313z" }));
|
|
108
|
-
}
|
|
109
|
-
var type_title_default = SvgTypeTitle;
|
|
110
|
-
|
|
111
|
-
// src/icons/type-url.tsx
|
|
112
|
-
import React16 from "react";
|
|
113
|
-
function SvgTypeUrl(props) {
|
|
114
|
-
return /* @__PURE__ */ React16.createElement("svg", __spreadValues({ viewBox: "0 0 14 14" }, props), /* @__PURE__ */ React16.createElement("path", { d: "M3.733 3.867h3.734c1.03 0 1.866.837 1.866 1.866 0 1.03-.837 1.867-1.866 1.867h-.934a.934.934 0 000 1.867h.934a3.734 3.734 0 000-7.467H3.733A3.73 3.73 0 001.89 8.977a4.637 4.637 0 01.314-2.18 1.854 1.854 0 01-.336-1.064c0-1.03.837-1.866 1.866-1.866zm8.377 1.422a4.6 4.6 0 01-.316 2.176c.212.303.34.67.34 1.068 0 1.03-.838 1.867-1.867 1.867H6.533a1.869 1.869 0 01-1.866-1.867c0-1.03.837-1.866 1.866-1.866h.934a.934.934 0 000-1.867h-.934a3.733 3.733 0 000 7.467h3.734a3.73 3.73 0 001.843-6.978z" }));
|
|
115
|
-
}
|
|
116
|
-
var type_url_default = SvgTypeUrl;
|
|
117
|
-
|
|
118
|
-
// src/icons/property-icon.tsx
|
|
119
|
-
var iconMap = {
|
|
120
|
-
title: type_title_default,
|
|
121
|
-
text: type_text_default,
|
|
122
|
-
number: type_number_default,
|
|
123
|
-
select: type_select_default,
|
|
124
|
-
multi_select: type_multi_select_default,
|
|
125
|
-
date: type_date_default,
|
|
126
|
-
person: type_person_default,
|
|
127
|
-
file: type_file_default,
|
|
128
|
-
checkbox: type_checkbox_default,
|
|
129
|
-
url: type_url_default,
|
|
130
|
-
email: type_email_default,
|
|
131
|
-
phone_number: type_phone_number_default,
|
|
132
|
-
formula: type_formula_default,
|
|
133
|
-
relation: type_relation_default,
|
|
134
|
-
created_time: type_timestamp_default,
|
|
135
|
-
last_edited_time: type_timestamp_default,
|
|
136
|
-
created_by: type_person_2_default,
|
|
137
|
-
last_edited_by: type_person_2_default
|
|
138
|
-
};
|
|
139
|
-
var PropertyIcon = (_a) => {
|
|
140
|
-
var _b = _a, { type } = _b, rest = __objRest(_b, ["type"]);
|
|
141
|
-
const icon = iconMap[type];
|
|
142
|
-
if (!icon)
|
|
143
|
-
return null;
|
|
144
|
-
return icon(rest);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
// src/third-party/collection-column-title.tsx
|
|
148
|
-
import React17 from "react";
|
|
149
|
-
var CollectionColumnTitle = ({ schema }) => {
|
|
150
|
-
return /* @__PURE__ */ React17.createElement("div", { className: "notion-collection-column-title" }, /* @__PURE__ */ React17.createElement(PropertyIcon, { className: "notion-collection-column-title-icon", type: schema.type }), /* @__PURE__ */ React17.createElement("div", { className: "notion-collection-column-title-body" }, schema.name));
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export {
|
|
154
|
-
iconMap,
|
|
155
|
-
PropertyIcon,
|
|
156
|
-
CollectionColumnTitle
|
|
157
|
-
};
|
|
158
|
-
//# sourceMappingURL=chunk-PM5CWL6O.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/icons/type-checkbox.tsx","../../src/icons/type-date.tsx","../../src/icons/type-email.tsx","../../src/icons/type-file.tsx","../../src/icons/type-formula.tsx","../../src/icons/type-multi-select.tsx","../../src/icons/type-number.tsx","../../src/icons/type-person.tsx","../../src/icons/type-person-2.tsx","../../src/icons/type-phone-number.tsx","../../src/icons/type-relation.tsx","../../src/icons/type-select.tsx","../../src/icons/type-text.tsx","../../src/icons/type-timestamp.tsx","../../src/icons/type-title.tsx","../../src/icons/type-url.tsx","../../src/icons/property-icon.tsx","../../src/third-party/collection-column-title.tsx"],"sourcesContent":["import React from 'react'\n\nfunction SvgTypeCheckbox(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M0 3a3 3 0 013-3h8a3 3 0 013 3v8a3 3 0 01-3 3H3a3 3 0 01-3-3V3zm3-1.5A1.5 1.5 0 001.5 3v8A1.5 1.5 0 003 12.5h8a1.5 1.5 0 001.5-1.5V3A1.5 1.5 0 0011 1.5H3zm-.167 5.316l.566-.542.177-.17.347-.332.346.334.176.17 1.139 1.098 3.699-3.563.177-.17.347-.335.347.334.177.17.563.543.177.171.372.36-.372.36-.177.17-4.786 4.615-.177.171-.347.334-.347-.334-.177-.17-2.23-2.15-.177-.172-.375-.361.376-.36.179-.17z' />\n </svg>\n )\n}\n\nexport default SvgTypeCheckbox\n","import React from 'react'\n\nfunction SvgTypeDate(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M10.889 5.5H3.11v1.556h7.778V5.5zm1.555-4.444h-.777V0H10.11v1.056H3.89V0H2.333v1.056h-.777c-.864 0-1.548.7-1.548 1.555L0 12.5c0 .856.692 1.5 1.556 1.5h10.888C13.3 14 14 13.356 14 12.5V2.611c0-.855-.7-1.555-1.556-1.555zm0 11.444H1.556V3.944h10.888V12.5zM8.556 8.611H3.11v1.556h5.445V8.61z' />\n </svg>\n )\n}\n\nexport default SvgTypeDate\n","import React from 'react'\n\nfunction SvgTypeEmail(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M14 6.225c0 .822-.133 1.574-.4 2.256-.267.683-.644 1.218-1.13 1.606-.488.388-.946.6-1.494.6-.429 0-.808-.102-1.139-.305a1.753 1.753 0 01-.713-.8c-.613.736-1.563 1.104-2.531 1.104-1.027 0-1.835-.304-2.427-.912-.591-.608-.887-1.44-.887-2.496 0-1.204.389-2.175 1.166-2.911.776-.736 1.791-1.105 3.044-1.105.498 0 2.032.212 2.252.268.51.13.86.593.835 1.112l-.156 3.287c0 .794.22 1.19.66 1.19.372 0 .668-.267.888-.8.22-.534.33-1.232.33-2.094 0-.919-.194-1.731-.582-2.436a3.924 3.924 0 00-1.64-1.614c-.704-.371-1.509-.557-2.413-.557-1.172 0-2.19.237-3.053.711a4.785 4.785 0 00-1.988 2.05c-.46.894-.691 1.926-.691 3.096 0 1.576.428 2.784 1.283 3.627.855.841 2.094 1.262 3.718 1.262.615 0 1.29-.067 2.027-.2.225-.042.518-.108.877-.2a.863.863 0 011.025.527.76.76 0 01-.502.993c-1.052.316-2.17.488-3.357.516-2.204 0-3.922-.57-5.154-1.713C.616 11.146 0 9.56 0 7.527c0-1.41.315-2.69.944-3.84A6.792 6.792 0 013.63.98C4.794.327 6.131 0 7.645 0c1.276 0 2.514.29 3.418.77.905.481 1.574 1.228 2.12 2.176.544.947.817 2.04.817 3.28zm-8.615 1.01c0 1.208.488 1.811 1.466 1.811.511 0 .9-.181 1.168-.545.267-.363.429-.954.486-1.772l.11-1.896a4.638 4.638 0 00-.98-.095c-.71 0-1.263.224-1.658.67-.395.446-.592 1.055-.592 1.828z' />\n </svg>\n )\n}\n\nexport default SvgTypeEmail\n","import React from 'react'\n\nfunction SvgTypeFile(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M5.946 14a4.975 4.975 0 01-3.497-1.415A4.731 4.731 0 011 9.174c0-1.288.515-2.5 1.449-3.41L7.456.986c1.345-1.313 3.722-1.318 5.08.007a3.453 3.453 0 010 4.961L8.03 10.241c-.867.847-2.293.848-3.17-.006a2.158 2.158 0 010-3.102l1.744-1.701 1.272 1.24-1.744 1.701a.43.43 0 000 .621c.23.223.405.223.636 0l4.503-4.288a1.723 1.723 0 00-.007-2.473c-.68-.663-1.864-.663-2.543 0L3.713 7.011a3.006 3.006 0 00-.915 2.163c0 .82.328 1.591.922 2.17 1.19 1.162 3.262 1.162 4.451 0l2.248-2.192 1.272 1.24-2.248 2.193A4.978 4.978 0 015.946 14z' />\n </svg>\n )\n}\n\nexport default SvgTypeFile\n","import React from 'react'\n\nfunction SvgTypeFormula(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M7.779 7.063l-3.157 4.224a.49.49 0 00-.072.218.35.35 0 00.346.357h6.242c.476 0 .862.398.862.889v.36c0 .491-.386.889-.862.889H1.862A.876.876 0 011 13.111v-.425a.82.82 0 01.177-.54L4.393 7.8a1.367 1.367 0 00-.006-1.625L1.4 2.194a.822.822 0 01-.18-.544V.89C1.22.398 1.604 0 2.08 0h8.838c.476 0 .861.398.861.889v.36c0 .491-.385.89-.86.89H5.135c-.19 0-.345.159-.345.356a.489.489 0 00.07.216l2.92 3.975c.049.062.063.107.06.188a.246.246 0 01-.062.189z' />\n </svg>\n )\n}\n\nexport default SvgTypeFormula\n","import React from 'react'\n\nfunction SvgTypeMultiSelect(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M4 3a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zm0 4a1 1 0 011-1h7a1 1 0 110 2H5a1 1 0 01-1-1zM2 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2zm0 4a1 1 0 110-2 1 1 0 010 2z' />\n </svg>\n )\n}\n\nexport default SvgTypeMultiSelect\n","import React from 'react'\n\nfunction SvgTypeNumber(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M4.462 0c-.595 0-1.078.482-1.078 1.078v2.306H1.078a1.078 1.078 0 100 2.155h2.306v2.922H1.078a1.078 1.078 0 100 2.155h2.306v2.306a1.078 1.078 0 002.155 0v-2.306H8.46v2.306a1.078 1.078 0 002.156 0v-2.306h2.306a1.078 1.078 0 100-2.155h-2.306V5.539h2.306a1.078 1.078 0 100-2.155h-2.306V1.078a1.078 1.078 0 00-2.156 0v2.306H5.54V1.078C5.54.482 5.056 0 4.461 0zm1.077 8.46V5.54H8.46v2.92H5.54z' />\n </svg>\n )\n}\n\nexport default SvgTypeNumber\n","import React from 'react'\n\nfunction SvgTypePerson(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M9.625 10.847C8.912 10.289 8.121 9.926 7 9.26v-.54a3.33 3.33 0 00.538-.888c.408-.1.774-.498.774-.832 0-.482-.202-.673-.44-.829 0-.015.003-.03.003-.046 0-.711-.438-2.625-2.625-2.625-2.188 0-2.625 1.915-2.625 2.625 0 .017.003.03.003.046-.238.156-.44.347-.44.829 0 .334.366.731.774.833.146.343.326.643.538.886v.541c-1.12.665-1.912 1.028-2.625 1.587C.041 11.498 0 12.469 0 14h10.5c0-1.531-.041-2.502-.875-3.153zm3.5-3.5c-.713-.558-1.504-.921-2.625-1.587v-.54c.212-.244.392-.544.538-.888.408-.1.774-.498.774-.832 0-.482-.202-.673-.44-.829 0-.015.003-.03.003-.046C11.375 1.914 10.937 0 8.75 0 6.562 0 6.125 1.915 6.125 2.625c0 .017.003.03.003.046-.016.012-.03.025-.047.036 1.751.359 2.516 1.841 2.647 3.04.248.262.46.65.46 1.253 0 .603-.417 1.203-1.004 1.515-.057.109-.117.214-.181.315l.437.245c.64.357 1.194.666 1.724 1.081.138.108.256.224.365.343H14c0-1.53-.041-2.5-.875-3.153z' />\n </svg>\n )\n}\n\nexport default SvgTypePerson\n","import React from 'react'\n\nfunction SvgTypePerson2(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M13.125 10.035c-.571-.55-2.324-1.504-3.5-2.16v-.834c.224-.322.42-.671.566-1.055.394-.242.746-.702.746-1.173 0-.458-.005-.87-.47-1.208C10.305 1.558 9.436 0 7 0S3.695 1.558 3.533 3.605c-.465.338-.47.75-.47 1.208 0 .471.352.93.746 1.173.146.384.342.733.566 1.055v.834c-1.176.656-2.929 1.61-3.5 2.16C.165 10.72 0 11.812 0 14h14c0-2.188-.164-3.281-.875-3.965z' />\n </svg>\n )\n}\n\nexport default SvgTypePerson2\n","import React from 'react'\n\nfunction SvgTypePhoneNumber(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M2.207.013a.487.487 0 00-.29.02C.87.438.213 1.93.058 2.955c-.484 3.33 2.15 6.215 4.57 8.113 2.149 1.684 6.273 4.453 8.713 1.781.31-.329.678-.813.658-1.297-.058-.813-.813-1.394-1.394-1.84-.445-.329-1.375-1.239-1.956-1.22-.522.02-.851.562-1.18.891l-.582.581c-.096.097-1.336-.716-1.471-.813a9.881 9.881 0 01-1.414-1.104A9.13 9.13 0 014.86 6.732c-.097-.136-.89-1.317-.813-1.414 0 0 .677-.736.871-1.026.407-.62.717-1.104.252-1.84-.174-.27-.387-.484-.62-.716-.406-.387-.813-.794-1.278-1.123-.251-.194-.677-.542-1.065-.6z' />\n </svg>\n )\n}\n\nexport default SvgTypePhoneNumber\n","import React from 'react'\n\nfunction SvgTypeRelation(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M4.5 1v2h5.086L1 11.586 2.414 13 11 4.414V9.5h2V1z' />\n </svg>\n )\n}\n\nexport default SvgTypeRelation\n","import React from 'react'\n\nfunction SvgTypeSelect(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M7 13A6 6 0 107 1a6 6 0 000 12zM3.751 5.323A.2.2 0 013.909 5h6.182a.2.2 0 01.158.323L7.158 9.297a.2.2 0 01-.316 0L3.751 5.323z' />\n </svg>\n )\n}\n\nexport default SvgTypeSelect\n","import React from 'react'\n\nfunction SvgTypeText(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M7 4.568a.5.5 0 00-.5-.5h-6a.5.5 0 00-.5.5v1.046a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V4.568zM.5 1a.5.5 0 00-.5.5v1.045a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V1.5a.5.5 0 00-.5-.5H.5zM0 8.682a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V7.636a.5.5 0 00-.5-.5H.5a.5.5 0 00-.5.5v1.046zm0 3.068a.5.5 0 00.5.5h9a.5.5 0 00.5-.5v-1.045a.5.5 0 00-.5-.5h-9a.5.5 0 00-.5.5v1.045z' />\n </svg>\n )\n}\n\nexport default SvgTypeText\n","import React from 'react'\n\nfunction SvgTypeTimestamp(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M6.986 14c-1.79 0-3.582-.69-4.944-2.068-2.723-2.72-2.723-7.172 0-9.892 2.725-2.72 7.182-2.72 9.906 0A6.972 6.972 0 0114 6.996c0 1.88-.728 3.633-2.052 4.955A7.058 7.058 0 016.986 14zm3.285-6.99v1.645H5.526v-5.47h1.841v3.63h2.904v.194zm1.89-.014c0-1.379-.542-2.67-1.522-3.648-2.006-2.005-5.287-2.007-7.297-.009l-.009.009a5.168 5.168 0 000 7.295c2.01 2.007 5.297 2.007 7.306 0a5.119 5.119 0 001.521-3.647z' />\n </svg>\n )\n}\n\nexport default SvgTypeTimestamp\n","import React from 'react'\n\nfunction SvgTypeTitle(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M7.74 8.697a.81.81 0 01.073.308.894.894 0 01-.9.888.867.867 0 01-.825-.592l-.333-.961H2.058l-.333.961a.882.882 0 01-.838.592A.884.884 0 010 9.005c0-.11.025-.222.062-.308l2.403-6.211c.222-.58.776-.986 1.442-.986.653 0 1.22.407 1.442.986l2.39 6.211zM2.6 6.824h2.613L3.907 3.102 2.6 6.824zm8.8-3.118c1.355 0 2.6.542 2.6 2.255V9.08a.8.8 0 01-.789.814.797.797 0 01-.788-.703c-.395.468-1.097.764-1.874.764-.949 0-2.07-.64-2.07-1.972 0-1.392 1.121-1.897 2.07-1.897.789 0 1.491.246 1.886.727v-.826c0-.604-.518-.998-1.306-.998-.469 0-.888.123-1.32.394a.64.64 0 01-.307.086.602.602 0 01-.592-.604c0-.221.123-.419.284-.517a3.963 3.963 0 012.206-.641zm-.222 5.188c.505 0 .998-.172 1.257-.517v-.74c-.259-.345-.752-.517-1.257-.517-.616 0-1.122.332-1.122.9 0 .554.506.874 1.122.874zM.656 11.125h12.688a.656.656 0 110 1.313H.656a.656.656 0 110-1.313z' />\n </svg>\n )\n}\n\nexport default SvgTypeTitle\n","import React from 'react'\n\nfunction SvgTypeUrl(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox='0 0 14 14' {...props}>\n <path d='M3.733 3.867h3.734c1.03 0 1.866.837 1.866 1.866 0 1.03-.837 1.867-1.866 1.867h-.934a.934.934 0 000 1.867h.934a3.734 3.734 0 000-7.467H3.733A3.73 3.73 0 001.89 8.977a4.637 4.637 0 01.314-2.18 1.854 1.854 0 01-.336-1.064c0-1.03.837-1.866 1.866-1.866zm8.377 1.422a4.6 4.6 0 01-.316 2.176c.212.303.34.67.34 1.068 0 1.03-.838 1.867-1.867 1.867H6.533a1.869 1.869 0 01-1.866-1.867c0-1.03.837-1.866 1.866-1.866h.934a.934.934 0 000-1.867h-.934a3.733 3.733 0 000 7.467h3.734a3.73 3.73 0 001.843-6.978z' />\n </svg>\n )\n}\n\nexport default SvgTypeUrl\n","import React from 'react'\n\nimport { PropertyType } from '@texonom/ntypes'\n\nimport CheckboxIcon from './type-checkbox'\nimport DateIcon from './type-date'\nimport EmailIcon from './type-email'\nimport FileIcon from './type-file'\nimport FormulaIcon from './type-formula'\nimport MultiSelectIcon from './type-multi-select'\nimport NumberIcon from './type-number'\nimport PersonIcon from './type-person'\nimport Person2Icon from './type-person-2'\nimport PhoneNumberIcon from './type-phone-number'\nimport RelationIcon from './type-relation'\nimport SelectIcon from './type-select'\nimport TextIcon from './type-text'\nimport TimestampIcon from './type-timestamp'\nimport TitleIcon from './type-title'\nimport UrlIcon from './type-url'\n\ninterface PropertyIconProps {\n className?: string\n type: PropertyType\n}\n\nexport const iconMap = {\n title: TitleIcon,\n text: TextIcon,\n number: NumberIcon,\n select: SelectIcon,\n multi_select: MultiSelectIcon,\n date: DateIcon,\n person: PersonIcon,\n file: FileIcon,\n checkbox: CheckboxIcon,\n url: UrlIcon,\n email: EmailIcon,\n phone_number: PhoneNumberIcon,\n formula: FormulaIcon,\n relation: RelationIcon,\n created_time: TimestampIcon,\n last_edited_time: TimestampIcon,\n created_by: Person2Icon,\n last_edited_by: Person2Icon\n}\n\nexport const PropertyIcon: React.FC<PropertyIconProps> = ({ type, ...rest }) => {\n const icon = iconMap[type] as (...args: unknown[]) => React.JSX.Element\n\n if (!icon) return null\n\n return icon(rest)\n}\n","import React from 'react'\n\nimport { CollectionPropertySchema } from '@texonom/ntypes'\n\nimport { PropertyIcon } from '../icons/property-icon'\n\nexport const CollectionColumnTitle: React.FC<{\n schema: CollectionPropertySchema\n}> = ({ schema }) => {\n return (\n <div className='notion-collection-column-title'>\n <PropertyIcon className='notion-collection-column-title-icon' type={schema.type} />\n\n <div className='notion-collection-column-title-body'>{schema.name}</div>\n </div>\n )\n}\n"],"mappings":"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","names":["React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React","React"]}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
-
var __spreadValues = (a, b) => {
|
|
13
|
-
for (var prop in b || (b = {}))
|
|
14
|
-
if (__hasOwnProp.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
if (__getOwnPropSymbols)
|
|
17
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
-
if (__propIsEnum.call(b, prop))
|
|
19
|
-
__defNormalProp(a, prop, b[prop]);
|
|
20
|
-
}
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
-
var __objRest = (source, exclude) => {
|
|
25
|
-
var target = {};
|
|
26
|
-
for (var prop in source)
|
|
27
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
if (source != null && __getOwnPropSymbols)
|
|
30
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
-
target[prop] = source[prop];
|
|
33
|
-
}
|
|
34
|
-
return target;
|
|
35
|
-
};
|
|
36
|
-
var __commonJS = (cb, mod) => (function __require() {
|
|
37
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
38
|
-
});
|
|
39
|
-
var __copyProps = (to, from, except, desc) => {
|
|
40
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
41
|
-
for (let key of __getOwnPropNames(from))
|
|
42
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
43
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
44
|
-
}
|
|
45
|
-
return to;
|
|
46
|
-
};
|
|
47
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
48
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
49
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
50
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
51
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
52
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
53
|
-
mod
|
|
54
|
-
));
|
|
55
|
-
var __async = (__this, __arguments, generator) => {
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
var fulfilled = (value) => {
|
|
58
|
-
try {
|
|
59
|
-
step(generator.next(value));
|
|
60
|
-
} catch (e) {
|
|
61
|
-
reject(e);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
var rejected = (value) => {
|
|
65
|
-
try {
|
|
66
|
-
step(generator.throw(value));
|
|
67
|
-
} catch (e) {
|
|
68
|
-
reject(e);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
72
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
export {
|
|
77
|
-
__spreadValues,
|
|
78
|
-
__spreadProps,
|
|
79
|
-
__objRest,
|
|
80
|
-
__commonJS,
|
|
81
|
-
__toESM,
|
|
82
|
-
__async
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=chunk-Q4G2SZRD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|