rotion 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exporter/blocks.js +4 -1
- package/dist/exporter/blocks.js.map +1 -1
- package/dist/exporter/breadcrumbs.d.ts +2 -7
- package/dist/exporter/breadcrumbs.js +91 -82
- package/dist/exporter/breadcrumbs.js.map +1 -1
- package/dist/exporter/types.d.ts +9 -1
- package/dist/ui/cjs/index.js +42 -12
- package/dist/ui/cjs/index.js.map +1 -1
- package/dist/ui/cjs/types/exporter/breadcrumbs.d.ts +2 -7
- package/dist/ui/cjs/types/exporter/types.d.ts +9 -1
- package/dist/ui/cjs/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
- package/dist/ui/cjs/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
- package/dist/ui/cjs/types/ui/components/Page/Page.d.ts +1 -1
- package/dist/ui/cjs/types/ui/components/Page/Page.types.d.ts +1 -0
- package/dist/ui/cjs/types/ui/components/Page/PageHandler.d.ts +1 -1
- package/dist/ui/cjs/types/ui/components/Page/PageHandler.types.d.ts +1 -0
- package/dist/ui/esm/index.js +42 -12
- package/dist/ui/esm/index.js.map +1 -1
- package/dist/ui/esm/types/exporter/breadcrumbs.d.ts +2 -7
- package/dist/ui/esm/types/exporter/types.d.ts +9 -1
- package/dist/ui/esm/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
- package/dist/ui/esm/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
- package/dist/ui/esm/types/ui/components/Page/Page.d.ts +1 -1
- package/dist/ui/esm/types/ui/components/Page/Page.types.d.ts +1 -0
- package/dist/ui/esm/types/ui/components/Page/PageHandler.d.ts +1 -1
- package/dist/ui/esm/types/ui/components/Page/PageHandler.types.d.ts +1 -0
- package/dist/ui/styles/page.css +27 -0
- package/dist/ui/types.d.ts +17 -5
- package/dist/ui/umd/index.js +42 -12
- package/dist/ui/umd/index.js.map +1 -1
- package/dist/ui/umd/types/exporter/breadcrumbs.d.ts +2 -7
- package/dist/ui/umd/types/exporter/types.d.ts +9 -1
- package/dist/ui/umd/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
- package/dist/ui/umd/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
- package/dist/ui/umd/types/ui/components/Page/Page.d.ts +1 -1
- package/dist/ui/umd/types/ui/components/Page/Page.types.d.ts +1 -0
- package/dist/ui/umd/types/ui/components/Page/PageHandler.d.ts +1 -1
- package/dist/ui/umd/types/ui/components/Page/PageHandler.types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Breadcrumb } from './types.js';
|
|
2
2
|
export interface FetchBreadcrumbsProps {
|
|
3
3
|
type: 'page_id' | 'database_id' | 'block_id' | 'workspace';
|
|
4
4
|
id: string;
|
|
5
5
|
limit?: number;
|
|
6
6
|
}
|
|
7
|
-
export type
|
|
8
|
-
export interface Breadcrumbs {
|
|
9
|
-
name: string;
|
|
10
|
-
icon: BreadcrumbsIcon;
|
|
11
|
-
}
|
|
12
|
-
export declare const FetchBreadcrumbs: ({ type, id, limit }: FetchBreadcrumbsProps) => Promise<Breadcrumbs[]>;
|
|
7
|
+
export declare const FetchBreadcrumbs: ({ type, id, limit }: FetchBreadcrumbsProps) => Promise<Breadcrumb[]>;
|
|
@@ -208,7 +208,15 @@ export type ParagraphBlockObjectResponseEx = ParagraphBlockObjectResponse & {
|
|
|
208
208
|
color: SelectColor;
|
|
209
209
|
};
|
|
210
210
|
};
|
|
211
|
-
export type
|
|
211
|
+
export type Breadcrumb = {
|
|
212
|
+
id: string;
|
|
213
|
+
name: string;
|
|
214
|
+
icon: MentionIcon;
|
|
215
|
+
};
|
|
216
|
+
export type BreadcrumbBlockObjectResponseEx = BreadcrumbBlockObjectResponse & {
|
|
217
|
+
list: Breadcrumb[];
|
|
218
|
+
};
|
|
219
|
+
export type BlockObjectResponse = ParagraphBlockObjectResponseEx | Heading1BlockObjectResponse | Heading2BlockObjectResponse | Heading3BlockObjectResponse | BulletedListItemBlockObjectResponseEx | NumberedListItemBlockObjectResponseEx | QuoteBlockObjectResponse | ToDoBlockObjectResponse | ToggleBlockObjectResponseEx | TemplateBlockObjectResponse | SyncedBlockBlockObjectResponse | ChildPageBlockObjectResponseEx | ChildDatabaseBlockObjectResponseEx | EquationBlockObjectResponse | CodeBlockObjectResponse | CalloutBlockObjectResponseEx | DividerBlockObjectResponse | BreadcrumbBlockObjectResponseEx | TableOfContentsBlockObjectResponse | ColumnListBlockObjectResponseEx | ColumnBlockObjectResponse | LinkToPageBlockObjectResponse | TableBlockObjectResponseEx | TableRowBlockObjectResponse | EmbedBlockObjectResponseEx | BookmarkBlockObjectResponseEx | ImageBlockObjectResponseEx | VideoBlockObjectResponseEx | PdfBlockObjectResponse | FileBlockObjectResponse | AudioBlockObjectResponse | LinkPreviewBlockObjectResponse | UnsupportedBlockObjectResponse;
|
|
212
220
|
export type ListBlockChildrenResponseEx = ListBlockChildrenResponse & {
|
|
213
221
|
results: Array<BlockObjectResponse>;
|
|
214
222
|
children?: ListBlockChildrenResponse;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { BreadcrumbBlockProps } from './BreadcrumbBlock.types';
|
|
3
|
-
declare const BreadcrumbBlock: ({ block }: BreadcrumbBlockProps) => React.JSX.Element;
|
|
3
|
+
declare const BreadcrumbBlock: ({ block, link, hrefs, query }: BreadcrumbBlockProps) => React.JSX.Element;
|
|
4
4
|
export default BreadcrumbBlock;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { ParsedUrlQueryInput } from 'node:querystring';
|
|
4
|
+
import type { Link } from '../../types';
|
|
5
|
+
import type { Breadcrumb, BreadcrumbBlockObjectResponseEx } from '../../../../exporter';
|
|
6
|
+
export interface BreadcrumbLinkProps {
|
|
7
|
+
breadcrumb: Breadcrumb;
|
|
8
|
+
link?: Link;
|
|
9
|
+
href?: string;
|
|
10
|
+
query?: ParsedUrlQueryInput;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}
|
|
2
13
|
export interface BreadcrumbBlockProps {
|
|
3
|
-
block:
|
|
14
|
+
block: BreadcrumbBlockObjectResponseEx;
|
|
15
|
+
link?: Link;
|
|
16
|
+
hrefs?: string[];
|
|
17
|
+
query?: ParsedUrlQueryInput;
|
|
4
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { PageProps } from './Page.types';
|
|
3
|
-
export declare const Page: ({ blocks, href, link, query, modules }: PageProps) => React.JSX.Element;
|
|
3
|
+
export declare const Page: ({ blocks, href, link, query, modules, breadcrumb_hrefs }: PageProps) => React.JSX.Element;
|
|
4
4
|
export default Page;
|
|
@@ -11,5 +11,5 @@ export declare const blockType: {
|
|
|
11
11
|
code: string;
|
|
12
12
|
quote: string;
|
|
13
13
|
};
|
|
14
|
-
export declare const PageHandler: ({ block, href, link, query, modules }: HandlerProps) => React.JSX.Element;
|
|
14
|
+
export declare const PageHandler: ({ block, href, link, query, modules, breadcrumb_hrefs }: HandlerProps) => React.JSX.Element;
|
|
15
15
|
export default PageHandler;
|
package/dist/ui/styles/page.css
CHANGED
|
@@ -89,6 +89,33 @@
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
/* breadcrumb */
|
|
93
|
+
.notionate-blocks-breadcrumb {
|
|
94
|
+
padding-left: .5rem;
|
|
95
|
+
}
|
|
96
|
+
.notionate-blocks-breadcrumb-a {
|
|
97
|
+
text-decoration: none;
|
|
98
|
+
color: #333;
|
|
99
|
+
font-size: .9rem;
|
|
100
|
+
padding: .2rem .3rem;
|
|
101
|
+
border-radius: 4px;
|
|
102
|
+
}
|
|
103
|
+
.notionate-blocks-breadcrumb-a:hover {
|
|
104
|
+
color: #666;
|
|
105
|
+
background-color: #fff;
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
}
|
|
108
|
+
.notionate-blocks-breadcrumb-icon {
|
|
109
|
+
vertical-align: middle;
|
|
110
|
+
padding-right: .4rem;
|
|
111
|
+
padding-bottom: .2rem;
|
|
112
|
+
}
|
|
113
|
+
.notionate-blocks-breadcrumb-slash {
|
|
114
|
+
font-size: .9rem;
|
|
115
|
+
opacity: .5;
|
|
116
|
+
padding: 0 .3rem;
|
|
117
|
+
}
|
|
118
|
+
|
|
92
119
|
/* callout */
|
|
93
120
|
.notionate-blocks-callout {
|
|
94
121
|
display: flex;
|
package/dist/ui/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
-
import { ListBlockChildrenResponse, BulletedListItemBlockObjectResponse, NumberedListItemBlockObjectResponse, TableBlockObjectResponse, ToggleBlockObjectResponse, ColumnListBlockObjectResponse, ChildPageBlockObjectResponse, ChildDatabaseBlockObjectResponse, BookmarkBlockObjectResponse, RichTextItemResponse, CalloutBlockObjectResponse, ImageBlockObjectResponse, VideoBlockObjectResponse, EmbedBlockObjectResponse, TextRichTextItemResponse, EquationRichTextItemResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, QuoteBlockObjectResponse, ToDoBlockObjectResponse, TemplateBlockObjectResponse, SyncedBlockBlockObjectResponse, EquationBlockObjectResponse, CodeBlockObjectResponse, DividerBlockObjectResponse,
|
|
2
|
+
import { ListBlockChildrenResponse, BulletedListItemBlockObjectResponse, NumberedListItemBlockObjectResponse, TableBlockObjectResponse, ToggleBlockObjectResponse, ColumnListBlockObjectResponse, ChildPageBlockObjectResponse, ChildDatabaseBlockObjectResponse, BookmarkBlockObjectResponse, RichTextItemResponse, CalloutBlockObjectResponse, ImageBlockObjectResponse, VideoBlockObjectResponse, EmbedBlockObjectResponse, TextRichTextItemResponse, EquationRichTextItemResponse, BreadcrumbBlockObjectResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, QuoteBlockObjectResponse, ToDoBlockObjectResponse, TemplateBlockObjectResponse, SyncedBlockBlockObjectResponse, EquationBlockObjectResponse, CodeBlockObjectResponse, DividerBlockObjectResponse, TableOfContentsBlockObjectResponse, ColumnBlockObjectResponse, LinkToPageBlockObjectResponse, TableRowBlockObjectResponse, PdfBlockObjectResponse, FileBlockObjectResponse, AudioBlockObjectResponse, LinkPreviewBlockObjectResponse, UnsupportedBlockObjectResponse, PageObjectResponse, GetPagePropertyResponse, DatabaseObjectResponse, QueryDatabaseResponse, MentionRichTextItemResponse, ParagraphBlockObjectResponse, GetSelfResponse, MultiSelectPropertyItemObjectResponse, NumberPropertyItemObjectResponse, RichTextPropertyItemObjectResponse, TitlePropertyItemObjectResponse, SelectPropertyItemObjectResponse } from '@notionhq/client/build/src/api-endpoints.js';
|
|
3
3
|
import { ParsedUrlQueryInput } from 'node:querystring';
|
|
4
4
|
import { UrlObject } from 'node:url';
|
|
5
5
|
|
|
@@ -174,7 +174,15 @@ type ParagraphBlockObjectResponseEx = ParagraphBlockObjectResponse & {
|
|
|
174
174
|
color: SelectColor;
|
|
175
175
|
};
|
|
176
176
|
};
|
|
177
|
-
type
|
|
177
|
+
type Breadcrumb = {
|
|
178
|
+
id: string;
|
|
179
|
+
name: string;
|
|
180
|
+
icon: MentionIcon;
|
|
181
|
+
};
|
|
182
|
+
type BreadcrumbBlockObjectResponseEx = BreadcrumbBlockObjectResponse & {
|
|
183
|
+
list: Breadcrumb[];
|
|
184
|
+
};
|
|
185
|
+
type BlockObjectResponse = ParagraphBlockObjectResponseEx | Heading1BlockObjectResponse | Heading2BlockObjectResponse | Heading3BlockObjectResponse | BulletedListItemBlockObjectResponseEx | NumberedListItemBlockObjectResponseEx | QuoteBlockObjectResponse | ToDoBlockObjectResponse | ToggleBlockObjectResponseEx | TemplateBlockObjectResponse | SyncedBlockBlockObjectResponse | ChildPageBlockObjectResponseEx | ChildDatabaseBlockObjectResponseEx | EquationBlockObjectResponse | CodeBlockObjectResponse | CalloutBlockObjectResponseEx | DividerBlockObjectResponse | BreadcrumbBlockObjectResponseEx | TableOfContentsBlockObjectResponse | ColumnListBlockObjectResponseEx | ColumnBlockObjectResponse | LinkToPageBlockObjectResponse | TableBlockObjectResponseEx | TableRowBlockObjectResponse | EmbedBlockObjectResponseEx | BookmarkBlockObjectResponseEx | ImageBlockObjectResponseEx | VideoBlockObjectResponseEx | PdfBlockObjectResponse | FileBlockObjectResponse | AudioBlockObjectResponse | LinkPreviewBlockObjectResponse | UnsupportedBlockObjectResponse;
|
|
178
186
|
type ListBlockChildrenResponseEx = ListBlockChildrenResponse & {
|
|
179
187
|
results: Array<BlockObjectResponse>;
|
|
180
188
|
children?: ListBlockChildrenResponse;
|
|
@@ -511,9 +519,10 @@ interface PageProps {
|
|
|
511
519
|
link?: Link;
|
|
512
520
|
query?: ParsedUrlQueryInput;
|
|
513
521
|
modules?: ExternalModules;
|
|
522
|
+
breadcrumb_hrefs?: string[];
|
|
514
523
|
}
|
|
515
524
|
|
|
516
|
-
declare const Page: ({ blocks, href, link, query, modules }: PageProps) => React.JSX.Element;
|
|
525
|
+
declare const Page: ({ blocks, href, link, query, modules, breadcrumb_hrefs }: PageProps) => React.JSX.Element;
|
|
517
526
|
|
|
518
527
|
interface BookmarkBlockProps {
|
|
519
528
|
block: BookmarkBlockObjectResponseEx;
|
|
@@ -522,10 +531,13 @@ interface BookmarkBlockProps {
|
|
|
522
531
|
declare const BookmarkBlock: ({ block }: BookmarkBlockProps) => React.JSX.Element;
|
|
523
532
|
|
|
524
533
|
interface BreadcrumbBlockProps {
|
|
525
|
-
block:
|
|
534
|
+
block: BreadcrumbBlockObjectResponseEx;
|
|
535
|
+
link?: Link;
|
|
536
|
+
hrefs?: string[];
|
|
537
|
+
query?: ParsedUrlQueryInput;
|
|
526
538
|
}
|
|
527
539
|
|
|
528
|
-
declare const BreadcrumbBlock: ({ block }: BreadcrumbBlockProps) => React.JSX.Element;
|
|
540
|
+
declare const BreadcrumbBlock: ({ block, link, hrefs, query }: BreadcrumbBlockProps) => React.JSX.Element;
|
|
529
541
|
|
|
530
542
|
interface BulletedListBlocksProps {
|
|
531
543
|
block: BulletedListItemBlockObjectResponseEx;
|
package/dist/ui/umd/index.js
CHANGED
|
@@ -19317,11 +19317,42 @@
|
|
|
19317
19317
|
React.createElement(TextBlock, { tag: "span", block: block.bookmark.caption }))));
|
|
19318
19318
|
};
|
|
19319
19319
|
|
|
19320
|
-
|
|
19320
|
+
function buildPathname(id, name, href) {
|
|
19321
|
+
if (href === '/') {
|
|
19322
|
+
return href;
|
|
19323
|
+
}
|
|
19324
|
+
var _a = getLinkPathAndLinkKey(href || ''), path = _a[0], slugKey = _a[1];
|
|
19325
|
+
var file = '';
|
|
19326
|
+
if (slugKey === 'id') {
|
|
19327
|
+
file = id;
|
|
19328
|
+
}
|
|
19329
|
+
else {
|
|
19330
|
+
file = encodeURIComponent(name.toLowerCase()).replace(/%20/g, '-');
|
|
19331
|
+
}
|
|
19332
|
+
return "".concat(path).concat(file);
|
|
19333
|
+
}
|
|
19334
|
+
var BreadcrumbLink = function (_a) {
|
|
19335
|
+
var breadcrumb = _a.breadcrumb, link = _a.link, href = _a.href, query = _a.query, children = _a.children;
|
|
19336
|
+
var id = breadcrumb.id, name = breadcrumb.name;
|
|
19337
|
+
var pathname = buildPathname(id, name, href);
|
|
19338
|
+
if (link && href) {
|
|
19339
|
+
var Link = link;
|
|
19340
|
+
return (React.createElement(Link, { className: "notionate-blocks-breadcrumb-a", href: { pathname: pathname, query: query } }, children));
|
|
19341
|
+
}
|
|
19342
|
+
if (href) {
|
|
19343
|
+
return (React.createElement("a", { className: "notionate-blocks-breadcrumb-a", href: "".concat(pathname).concat(queryToString(query)) }, children));
|
|
19344
|
+
}
|
|
19345
|
+
return (React.createElement("span", { className: "notionate-blocks-breadcrumb-a" }, children));
|
|
19346
|
+
};
|
|
19321
19347
|
var BreadcrumbBlock = function (_a) {
|
|
19322
|
-
var block = _a.block;
|
|
19323
|
-
var
|
|
19324
|
-
return (React.createElement("div", { className: "notionate-blocks-breadcrumb" },
|
|
19348
|
+
var block = _a.block, link = _a.link, hrefs = _a.hrefs, query = _a.query;
|
|
19349
|
+
var max = block.list.length;
|
|
19350
|
+
return (React.createElement("div", { className: "notionate-blocks-breadcrumb" }, block.list.map(function (v, i) { return (React.createElement(React.Fragment, null,
|
|
19351
|
+
React.createElement(BreadcrumbLink, { key: "crumb-".concat(i), breadcrumb: v, href: hrefs === undefined ? undefined : hrefs[i], link: link, query: query },
|
|
19352
|
+
v.icon.type === 'emoji' && React.createElement("span", { className: "notionate-blocks-breadcrumb-emoji" }, v.icon.emoji),
|
|
19353
|
+
v.icon.type !== 'emoji' && React.createElement("img", { className: "notionate-blocks-breadcrumb-icon", src: v.icon.src, width: 20, height: 20, alt: v.name }),
|
|
19354
|
+
React.createElement("span", { className: "notionate-blocks-breadcrumb-title" }, v.name)),
|
|
19355
|
+
i + 1 < max && React.createElement("span", { className: "notionate-blocks-breadcrumb-slash" }, "/"))); })));
|
|
19325
19356
|
};
|
|
19326
19357
|
|
|
19327
19358
|
var BulletedListBlocks = function (_a) {
|
|
@@ -19818,9 +19849,9 @@
|
|
|
19818
19849
|
};
|
|
19819
19850
|
|
|
19820
19851
|
var blockType = {
|
|
19821
|
-
heading_1: '
|
|
19822
|
-
heading_2: '
|
|
19823
|
-
heading_3: '
|
|
19852
|
+
heading_1: 'h2',
|
|
19853
|
+
heading_2: 'h3',
|
|
19854
|
+
heading_3: 'h4',
|
|
19824
19855
|
bulleted_list_item: 'li',
|
|
19825
19856
|
numbered_list_item: 'li',
|
|
19826
19857
|
divider: 'hr',
|
|
@@ -19830,13 +19861,12 @@
|
|
|
19830
19861
|
};
|
|
19831
19862
|
var PageHandler = function (_a) {
|
|
19832
19863
|
var _b;
|
|
19833
|
-
var block = _a.block, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules;
|
|
19864
|
+
var block = _a.block, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules, breadcrumb_hrefs = _a.breadcrumb_hrefs;
|
|
19834
19865
|
switch (block.type) {
|
|
19835
19866
|
case 'bookmark':
|
|
19836
19867
|
return React.createElement(BookmarkBlock, { block: block, key: block.id });
|
|
19837
19868
|
case 'breadcrumb':
|
|
19838
|
-
|
|
19839
|
-
return React.createElement(BreadcrumbBlock, { block: block, key: block.id });
|
|
19869
|
+
return React.createElement(BreadcrumbBlock, { block: block, hrefs: breadcrumb_hrefs, link: link, query: query, key: block.id });
|
|
19840
19870
|
case 'bulleted_list_item':
|
|
19841
19871
|
return React.createElement(BulletedListBlocks, { block: block, key: block.id });
|
|
19842
19872
|
case 'callout':
|
|
@@ -19908,7 +19938,7 @@
|
|
|
19908
19938
|
};
|
|
19909
19939
|
|
|
19910
19940
|
var Page = function (_a) {
|
|
19911
|
-
var blocks = _a.blocks, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules;
|
|
19941
|
+
var blocks = _a.blocks, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules, breadcrumb_hrefs = _a.breadcrumb_hrefs;
|
|
19912
19942
|
var results = blocks.results;
|
|
19913
19943
|
var listType = {
|
|
19914
19944
|
bulleted_list_item: 'ul',
|
|
@@ -19943,7 +19973,7 @@
|
|
|
19943
19973
|
}
|
|
19944
19974
|
}
|
|
19945
19975
|
else {
|
|
19946
|
-
var elem = PageHandler({ block: block, href: href, link: link, query: query, modules: modules });
|
|
19976
|
+
var elem = PageHandler({ block: block, href: href, link: link, query: query, modules: modules, breadcrumb_hrefs: breadcrumb_hrefs });
|
|
19947
19977
|
if (elem !== undefined) {
|
|
19948
19978
|
children.push(elem);
|
|
19949
19979
|
}
|