rotion 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/exporter/blocks.js +4 -1
  2. package/dist/exporter/blocks.js.map +1 -1
  3. package/dist/exporter/breadcrumbs.d.ts +2 -7
  4. package/dist/exporter/breadcrumbs.js +94 -78
  5. package/dist/exporter/breadcrumbs.js.map +1 -1
  6. package/dist/exporter/database.d.ts +3 -1
  7. package/dist/exporter/database.js +27 -9
  8. package/dist/exporter/database.js.map +1 -1
  9. package/dist/exporter/index.d.ts +1 -0
  10. package/dist/exporter/index.js +1 -0
  11. package/dist/exporter/index.js.map +1 -1
  12. package/dist/exporter/page.d.ts +3 -1
  13. package/dist/exporter/page.js +24 -16
  14. package/dist/exporter/page.js.map +1 -1
  15. package/dist/exporter/types.d.ts +26 -1
  16. package/dist/ui/cjs/index.js +28 -12
  17. package/dist/ui/cjs/index.js.map +1 -1
  18. package/dist/ui/cjs/types/exporter/breadcrumbs.d.ts +7 -0
  19. package/dist/ui/cjs/types/exporter/database.d.ts +3 -1
  20. package/dist/ui/cjs/types/exporter/index.d.ts +1 -0
  21. package/dist/ui/cjs/types/exporter/page.d.ts +3 -1
  22. package/dist/ui/cjs/types/exporter/types.d.ts +26 -1
  23. package/dist/ui/cjs/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
  24. package/dist/ui/cjs/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
  25. package/dist/ui/cjs/types/ui/components/Page/Page.d.ts +1 -1
  26. package/dist/ui/cjs/types/ui/components/Page/Page.types.d.ts +1 -0
  27. package/dist/ui/cjs/types/ui/components/Page/PageHandler.d.ts +1 -1
  28. package/dist/ui/cjs/types/ui/components/Page/PageHandler.types.d.ts +1 -0
  29. package/dist/ui/esm/index.js +28 -12
  30. package/dist/ui/esm/index.js.map +1 -1
  31. package/dist/ui/esm/types/exporter/breadcrumbs.d.ts +7 -0
  32. package/dist/ui/esm/types/exporter/database.d.ts +3 -1
  33. package/dist/ui/esm/types/exporter/index.d.ts +1 -0
  34. package/dist/ui/esm/types/exporter/page.d.ts +3 -1
  35. package/dist/ui/esm/types/exporter/types.d.ts +26 -1
  36. package/dist/ui/esm/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
  37. package/dist/ui/esm/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
  38. package/dist/ui/esm/types/ui/components/Page/Page.d.ts +1 -1
  39. package/dist/ui/esm/types/ui/components/Page/Page.types.d.ts +1 -0
  40. package/dist/ui/esm/types/ui/components/Page/PageHandler.d.ts +1 -1
  41. package/dist/ui/esm/types/ui/components/Page/PageHandler.types.d.ts +1 -0
  42. package/dist/ui/styles/page.css +26 -0
  43. package/dist/ui/types.d.ts +34 -5
  44. package/dist/ui/umd/index.js +28 -12
  45. package/dist/ui/umd/index.js.map +1 -1
  46. package/dist/ui/umd/types/exporter/breadcrumbs.d.ts +7 -0
  47. package/dist/ui/umd/types/exporter/database.d.ts +3 -1
  48. package/dist/ui/umd/types/exporter/index.d.ts +1 -0
  49. package/dist/ui/umd/types/exporter/page.d.ts +3 -1
  50. package/dist/ui/umd/types/exporter/types.d.ts +26 -1
  51. package/dist/ui/umd/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.d.ts +1 -1
  52. package/dist/ui/umd/types/ui/components/Page/BreadcrumbBlock/BreadcrumbBlock.types.d.ts +16 -2
  53. package/dist/ui/umd/types/ui/components/Page/Page.d.ts +1 -1
  54. package/dist/ui/umd/types/ui/components/Page/Page.types.d.ts +1 -0
  55. package/dist/ui/umd/types/ui/components/Page/PageHandler.d.ts +1 -1
  56. package/dist/ui/umd/types/ui/components/Page/PageHandler.types.d.ts +1 -0
  57. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { reqAPIWithBackoff, reqAPIWithBackoffAndCache, notion, } from './api.js'
2
2
  import { cacheDir, incrementalCache, } from './variables.js';
3
3
  import { FetchPage } from './page.js';
4
4
  import { createDirWhenNotfound, saveImage, readCache, writeCache, getHtmlMeta, getVideoHtml, getEmbedHtml, isEmpty, } from './files.js';
5
+ import { FetchBreadcrumbs } from './breadcrumbs.js';
5
6
  /**
6
7
  * FetchBlocks retrieves page blocks and download images in from blocks.
7
8
  * And create cache that includes filepath of downloaded images.
@@ -48,6 +49,9 @@ export const FetchBlocks = async ({ block_id, last_edited_time }) => {
48
49
  block.children = await FetchBlocks({ block_id: block.id, last_edited_time: block.last_edited_time });
49
50
  }
50
51
  break;
52
+ case 'breadcrumb':
53
+ block.list = await FetchBreadcrumbs({ id: block_id, type: 'page_id' });
54
+ break;
51
55
  case 'callout':
52
56
  if (block.callout.icon?.type === 'external') {
53
57
  const iconUrl = block.callout.icon.external.url;
@@ -175,7 +179,6 @@ export const FetchBlocks = async ({ block_id, last_edited_time }) => {
175
179
  }
176
180
  break;
177
181
  case 'audio':
178
- case 'breadcrumb':
179
182
  case 'code':
180
183
  case 'column':
181
184
  case 'divider':
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/exporter/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,GACP,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,YAAY,CAAA;AAenB;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAmB,EAA2B,EAAE;IAC5G,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,QAAQ,gCAAgC,QAAQ,EAAE,CAAA;IAEvE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAA8B,SAAS,CAAC,CAAA;QACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAA;gBAC1F,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAe;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAA8B;QAChE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QACjC,IAAI,EAAE,EAAE,QAAQ,EAAE;QAClB,KAAK,EAAE,CAAC;KACT,CAAC,CAAA;IAEF,sEAAsE;IACtE,+EAA+E;IAC/E,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;YACtB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,UAAU;oBACb,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;oBAC3D,MAAK;gBACP,KAAK,oBAAoB;oBACvB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACvB,KAAK,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACtG,CAAC;oBACD,MAAK;gBACP,KAAK,SAAS;oBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;wBAC/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;oBACxE,CAAC;oBACD,MAAK;gBACP,KAAK,gBAAgB;oBACnB,4BAA4B;oBAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAA;oBAC5B,KAAK,CAAC,QAAQ,GAAG,MAAM,yBAAyB,CAAwB;wBACtE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;wBAC/B,IAAI,EAAE,EAAE,WAAW,EAAE;wBACrB,KAAK,EAAE,CAAC;qBACT,CAAC,CAAA;oBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAClB,IAAI;oBACJ,MAAK;gBACP,KAAK,YAAY;oBACf,KAAK,CAAC,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBAC7F,eAAe;oBACf,uEAAuE;oBACvE,MAAK;gBACP,KAAK,aAAa;oBAChB,KAAK,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACpG,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;oBAClB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACvC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;oBACrG,CAAC;oBACD,MAAK;gBACP,KAAK,OAAO;oBACV,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;oBAC5C,MAAK;gBACP,KAAK,OAAO;oBACV,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;oBAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;wBAC5E,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;oBAC5D,CAAC;oBACD,MAAK;gBACP,KAAK,oBAAoB;oBACvB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBACvB,KAAK,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACtG,CAAC;oBACD,MAAK;gBACP,KAAK,WAAW;oBACd,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;wBACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAChC,SAAQ;wBACV,CAAC;wBACD,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAC9B,KAAK,UAAU;gCACb,IAAI,CAAC;oCACH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;oCAChD,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAwB;wCAChE,IAAI,EAAE,2BAA2B;wCACjC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;wCAC/B,IAAI,EAAE,EAAE,WAAW,EAAE;wCACrB,KAAK,EAAE,CAAC;qCACT,CAAC,CAAA;oCACF,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oCACzE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;wCAC9B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;oCAC1E,CAAC;yCAAM,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;wCACpE,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;wCACvF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;wCACzD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;oCACxE,CAAC;gCACH,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,OAAO,CAAC,GAAG,CAAC,wCAAwC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;oCAC3E,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;oCACrC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;gCAChE,CAAC;gCACD,MAAK;4BACP,KAAK,MAAM;gCACT,IAAI,CAAC;oCACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;oCACxC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAoB;wCACtD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;wCAC3B,IAAI,EAAE,EAAE,OAAO,EAAE;wCACjB,KAAK,EAAE,CAAC;qCACT,CAAC,CAAA;oCACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wCAClD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4CAC1B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;4CACvE,MAAK;wCACP,CAAC;oCACH,CAAC;oCACD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;wCAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG;4CAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;4CACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;yCACvB,CAAA;oCACH,CAAC;yCAAM,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;wCACxE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;wCAC7F,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;wCACzD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG;4CAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;4CACpB,GAAG;4CACH,GAAG,EAAE,GAAG;yCACT,CAAA;oCACH,CAAC;gCACH,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;oCAClE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;oCACjC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;gCAC5D,CAAC;gCACD,MAAK;wBACT,CAAC;oBACH,CAAC;oBACD,MAAK;gBACP,KAAK,OAAO;oBACV,KAAK,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACpG,MAAK;gBACP,KAAK,QAAQ;oBACX,KAAK,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACpG,MAAK;gBACP,KAAK,OAAO;oBACV,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACpC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;oBAC9C,CAAC;oBACD,MAAK;gBACP,KAAK,OAAO,CAAC;gBACb,KAAK,YAAY,CAAC;gBAClB,KAAK,MAAM,CAAC;gBACZ,KAAK,QAAQ,CAAC;gBACd,KAAK,SAAS,CAAC;gBACf,KAAK,UAAU,CAAC;gBAChB,KAAK,MAAM,CAAC;gBACZ,KAAK,WAAW,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,cAAc,CAAC;gBACpB,KAAK,cAAc,CAAC;gBACpB,KAAK,KAAK,CAAC;gBACX,KAAK,OAAO,CAAC;gBACb,KAAK,cAAc,CAAC;gBACpB,KAAK,mBAAmB,CAAC;gBACzB,KAAK,WAAW,CAAC;gBACjB,KAAK,UAAU,CAAC;gBAChB,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBAChB,MAAK;gBACP;oBACE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;oBACzC,MAAK;YACT,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/exporter/blocks.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,7 @@
1
- import type { MentionIcon } from './types.js';
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 BreadcrumbsIcon = MentionIcon;
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[]>;
@@ -1,4 +1,6 @@
1
- import { reqAPIWithBackoff, notion } from './api.js';
1
+ import { notion, reqAPIWithBackoffAndCache } from './api.js';
2
+ import { savePageIcon } from './page.js';
3
+ import { saveDatabaseIcon } from './database.js';
2
4
  export const FetchBreadcrumbs = async ({ type, id, limit }) => {
3
5
  let breadcrumbs = [];
4
6
  const max = limit === undefined ? 5 : limit;
@@ -19,92 +21,106 @@ export const FetchBreadcrumbs = async ({ type, id, limit }) => {
19
21
  return '';
20
22
  }
21
23
  };
22
- while (count < max && isNext) {
23
- switch (nextType) {
24
- case 'block_id': {
25
- const res = await reqAPIWithBackoff({
26
- func: notion.blocks.retrieve,
27
- args: { block_id: nextID },
28
- count: 3,
29
- });
30
- if ('parent' in res) {
31
- nextType = res.parent.type;
32
- nextID = getID(res.parent);
33
- }
34
- else {
35
- isNext = false;
36
- }
37
- break;
38
- }
39
- case 'page_id': {
40
- const page = await reqAPIWithBackoff({
41
- func: notion.pages.retrieve,
42
- args: { page_id: nextID },
43
- count: 3,
44
- });
45
- nextType = page.parent.type;
46
- nextID = getID(page.parent);
47
- const name = page.properties.title.type === 'title' ? page.properties.title.title.map(v => v.plain_text).join('') : '';
48
- if (page.icon?.type === 'emoji') {
49
- breadcrumbs.unshift({
50
- name,
51
- icon: {
52
- type: page.icon.type,
53
- emoji: page.icon.emoji,
54
- }
24
+ try {
25
+ while (count < max && isNext) {
26
+ switch (nextType) {
27
+ case 'block_id': {
28
+ const res = await reqAPIWithBackoffAndCache({
29
+ name: 'notion.blocks.retrieve',
30
+ func: notion.blocks.retrieve,
31
+ args: { block_id: nextID },
32
+ count: 3,
55
33
  });
34
+ if ('parent' in res) {
35
+ nextType = res.parent.type;
36
+ nextID = getID(res.parent);
37
+ }
38
+ else {
39
+ isNext = false;
40
+ }
41
+ break;
56
42
  }
57
- else if (page.icon?.type === 'external' || page.icon?.type === 'file') {
58
- const src = page.icon.type === 'external' ? page.icon.external.url : page.icon.file.url;
59
- breadcrumbs.unshift({
60
- name,
61
- icon: {
62
- type: page.icon.type,
63
- src,
64
- url: src,
65
- }
43
+ case 'page_id': {
44
+ const page = await reqAPIWithBackoffAndCache({
45
+ name: 'notion.pages.retrieve',
46
+ func: notion.pages.retrieve,
47
+ args: { page_id: nextID },
48
+ count: 3,
66
49
  });
50
+ await savePageIcon(page);
51
+ nextType = page.parent.type;
52
+ nextID = getID(page.parent);
53
+ const name = page.properties.title.type === 'title' ? page.properties.title.title.map(v => v.plain_text).join('') : '';
54
+ if (page.icon?.type === 'emoji') {
55
+ breadcrumbs.unshift({
56
+ id: page.id,
57
+ name,
58
+ icon: {
59
+ type: page.icon.type,
60
+ emoji: page.icon.emoji,
61
+ }
62
+ });
63
+ }
64
+ else if (page.icon?.type === 'external' || page.icon?.type === 'file') {
65
+ const src = page.icon.type === 'external' ? page.icon.external.url : page.icon.file.url;
66
+ breadcrumbs.unshift({
67
+ id: page.id,
68
+ name,
69
+ icon: {
70
+ type: page.icon.type,
71
+ src,
72
+ url: src,
73
+ }
74
+ });
75
+ }
76
+ count++;
77
+ break;
67
78
  }
68
- count++;
69
- break;
70
- }
71
- case 'database_id': {
72
- const db = await reqAPIWithBackoff({
73
- func: notion.databases.retrieve,
74
- args: { database_id: nextID },
75
- count: 3,
76
- });
77
- nextType = db.parent.type;
78
- nextID = getID(db.parent);
79
- const name = db.title.map(v => v.plain_text).join('');
80
- if (db.icon?.type === 'emoji') {
81
- breadcrumbs.unshift({
82
- name,
83
- icon: {
84
- type: db.icon.type,
85
- emoji: db.icon.emoji,
86
- }
79
+ case 'database_id': {
80
+ const db = await reqAPIWithBackoffAndCache({
81
+ name: 'notion.database.retrieve',
82
+ func: notion.databases.retrieve,
83
+ args: { database_id: nextID },
84
+ count: 3,
87
85
  });
86
+ await saveDatabaseIcon(db);
87
+ nextType = db.parent.type;
88
+ nextID = getID(db.parent);
89
+ const name = db.title.map(v => v.plain_text).join('');
90
+ if (db.icon?.type === 'emoji') {
91
+ breadcrumbs.unshift({
92
+ id: db.id,
93
+ name,
94
+ icon: {
95
+ type: db.icon.type,
96
+ emoji: db.icon.emoji,
97
+ }
98
+ });
99
+ }
100
+ else if (db.icon?.type === 'external' || db.icon?.type === 'file') {
101
+ const src = db.icon.type === 'external' ? db.icon.external.url : db.icon.file.url;
102
+ breadcrumbs.unshift({
103
+ id: db.id,
104
+ name,
105
+ icon: {
106
+ type: db.icon.type,
107
+ src,
108
+ url: src,
109
+ }
110
+ });
111
+ }
112
+ count++;
113
+ break;
88
114
  }
89
- else if (db.icon?.type === 'external' || db.icon?.type === 'file') {
90
- const src = db.icon.type === 'external' ? db.icon.external.url : db.icon.file.url;
91
- breadcrumbs.unshift({
92
- name,
93
- icon: {
94
- type: db.icon.type,
95
- src,
96
- url: src,
97
- }
98
- });
99
- }
100
- count++;
101
- break;
115
+ case 'workspace':
116
+ isNext = false;
117
+ break;
102
118
  }
103
- case 'workspace':
104
- isNext = false;
105
- break;
106
119
  }
107
120
  }
121
+ catch (e) {
122
+ // console.log(`breadcrumbs error: ${e}`)
123
+ }
108
124
  return breadcrumbs;
109
125
  };
110
126
  //# sourceMappingURL=breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../src/exporter/breadcrumbs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../src/exporter/breadcrumbs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { QueryDatabaseParameters, QueryDatabaseResponseEx } from './types.js';
1
+ import type { QueryDatabaseParameters, QueryDatabaseResponseEx, GetDatabaseResponseEx } from './types.js';
2
2
  export interface FetchDatabaseArgs extends QueryDatabaseParameters {
3
3
  }
4
4
  export interface FetchDatabaseRes extends QueryDatabaseResponseEx {
@@ -8,3 +8,5 @@ export interface FetchDatabaseRes extends QueryDatabaseResponseEx {
8
8
  * And create cache that includes filepath of downloaded images.
9
9
  */
10
10
  export declare const FetchDatabase: (params: FetchDatabaseArgs) => Promise<FetchDatabaseRes>;
11
+ export declare function saveDatabaseCover(db: GetDatabaseResponseEx): Promise<void>;
12
+ export declare function saveDatabaseIcon(db: GetDatabaseResponseEx): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { reqAPIWithBackoff, reqAPIWithBackoffAndCache, notion, } from './api.js';
2
2
  import { cacheDir, incrementalCache, } from './variables.js';
3
3
  import { atoh, createDirWhenNotfound, saveImage, readCache, writeCache, isAvailableCache, isEmpty, } from './files.js';
4
+ import { savePageCover, savePageIcon, } from './page.js';
4
5
  /**
5
6
  * FetchDatabase retrieves database and download images in from blocks.
6
7
  * And create cache that includes filepath of downloaded images.
@@ -48,11 +49,8 @@ export const FetchDatabase = async (params) => {
48
49
  }
49
50
  for (const result of allres.results) {
50
51
  const page = result;
51
- // Save page cover files
52
- if ('cover' in page && page.cover != null) {
53
- const imageUrl = (page.cover.type === 'external') ? page.cover.external.url : page.cover.file.url;
54
- page.cover.src = await saveImage(imageUrl, `page-cover-${page.id}`);
55
- }
52
+ await savePageCover(page);
53
+ await savePageIcon(page);
56
54
  // Set page property items
57
55
  page.property_items = [];
58
56
  for (const [, v] of Object.entries(page.properties)) {
@@ -81,12 +79,32 @@ export const FetchDatabase = async (params) => {
81
79
  args: { database_id },
82
80
  count: 3,
83
81
  });
84
- if ('cover' in meta && meta.cover !== null) {
85
- const imageUrl = (meta.cover.type === 'external') ? meta.cover.external.url : meta.cover.file.url;
86
- meta.cover.src = await saveImage(imageUrl, `database-cover-${database_id}`);
87
- }
82
+ await saveDatabaseCover(meta);
83
+ await saveDatabaseIcon(meta);
88
84
  allres.meta = meta;
89
85
  await writeCache(cacheFile, allres);
90
86
  return allres;
91
87
  };
88
+ export async function saveDatabaseCover(db) {
89
+ if (db.cover === undefined || db.cover === null) {
90
+ return;
91
+ }
92
+ if (db.cover.type === 'external') {
93
+ db.cover.src = await saveImage(db.cover.external.url, `database-cover-${db.id}`);
94
+ }
95
+ else if (db.cover.type === 'file') {
96
+ db.cover.src = await saveImage(db.cover.file.url, `database-cover-${db.id}`);
97
+ }
98
+ }
99
+ export async function saveDatabaseIcon(db) {
100
+ if (db.icon === undefined || db.icon === null) {
101
+ return;
102
+ }
103
+ if (db.icon.type === 'external') {
104
+ db.icon.src = await saveImage(db.icon.external.url, `database-icon-${db.id}`);
105
+ }
106
+ else if (db.icon.type === 'file') {
107
+ db.icon.src = await saveImage(db.icon.file.url, `database-icon-${db.id}`);
108
+ }
109
+ }
92
110
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/exporter/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/exporter/database.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from './blocks.js';
2
2
  export * from './database.js';
3
3
  export * from './page.js';
4
4
  export * from './types.js';
5
+ export * from './breadcrumbs.js';
@@ -2,4 +2,5 @@ export * from './blocks.js';
2
2
  export * from './database.js';
3
3
  export * from './page.js';
4
4
  export * from './types.js';
5
+ export * from './breadcrumbs.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporter/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporter/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { GetPageResponseEx } from './types.js';
1
+ import type { GetPageResponseEx, PageObjectResponseEx } from './types.js';
2
2
  export interface FetchPageArgs {
3
3
  page_id: string;
4
4
  last_edited_time?: string;
@@ -11,3 +11,5 @@ export interface FetchPageRes extends GetPageResponseEx {
11
11
  * The last_edited_time of 2nd args is for ROTION_INCREMENTAL_CACHE.
12
12
  */
13
13
  export declare const FetchPage: ({ page_id, last_edited_time }: FetchPageArgs) => Promise<FetchPageRes>;
14
+ export declare function savePageCover(page: GetPageResponseEx | PageObjectResponseEx): Promise<void>;
15
+ export declare function savePageIcon(page: GetPageResponseEx | PageObjectResponseEx): Promise<void>;
@@ -52,23 +52,31 @@ export const FetchPage = async ({ page_id, last_edited_time }) => {
52
52
  }
53
53
  page.meta = list;
54
54
  }
55
- if ('cover' in page && page.cover !== null) {
56
- if (page.cover.type === 'external') {
57
- page.cover.src = await saveImage(page.cover.external.url, `page-cover-${page.id}`);
58
- }
59
- else if (page.cover.type === 'file') {
60
- page.cover.src = await saveImage(page.cover.file.url, `page-cover-${page.id}`);
61
- }
62
- }
63
- if ('icon' in page && page.icon !== null) {
64
- if (page.icon.type === 'external') {
65
- page.icon.src = await saveImage(page.icon.external.url, `page-icon-${page.id}`);
66
- }
67
- else if (page.icon.type === 'file') {
68
- page.icon.src = await saveImage(page.icon.file.url, `page-icon-${page.id}`);
69
- }
70
- }
55
+ await savePageCover(page);
56
+ await savePageIcon(page);
71
57
  await writeCache(cacheFile, page);
72
58
  return page;
73
59
  };
60
+ export async function savePageCover(page) {
61
+ if (page.cover === undefined || page.cover === null) {
62
+ return;
63
+ }
64
+ if (page.cover.type === 'external') {
65
+ page.cover.src = await saveImage(page.cover.external.url, `page-cover-${page.id}`);
66
+ }
67
+ else if (page.cover.type === 'file') {
68
+ page.cover.src = await saveImage(page.cover.file.url, `page-cover-${page.id}`);
69
+ }
70
+ }
71
+ export async function savePageIcon(page) {
72
+ if (page.icon === undefined || page.icon === null) {
73
+ return;
74
+ }
75
+ if (page.icon.type === 'external') {
76
+ page.icon.src = await saveImage(page.icon.external.url, `page-icon-${page.id}`);
77
+ }
78
+ else if (page.icon.type === 'file') {
79
+ page.icon.src = await saveImage(page.icon.file.url, `page-icon-${page.id}`);
80
+ }
81
+ }
74
82
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/exporter/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/exporter/page.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,GACP,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,GACR,MAAM,YAAY,CAAA;AAgBnB;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAiB,EAAyB,EAAE;IACrG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,QAAQ,0BAA0B,OAAO,EAAE,CAAA;IAEhE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAoB,SAAS,CAAC,CAAA;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;gBACxF,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,EAAE,CAAC;gBACpG,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAe;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAoB;QACtD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,IAAI,EAAE,EAAE,OAAO,EAAE;QACjB,KAAK,EAAE,CAAC;KACT,CAAC,CAAA;IAEF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,IAAoD,CAAA;QACxD,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAA;YACxB,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAA0B;gBACnE,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ;gBACtC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9B,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;YACF,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,GAAG,GAAG,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA8C;IAChF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACpD,OAAM;IACR,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAA8C;IAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAClD,OAAM;IACR,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACjF,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC"}
@@ -208,7 +208,15 @@ export type ParagraphBlockObjectResponseEx = ParagraphBlockObjectResponse & {
208
208
  color: SelectColor;
209
209
  };
210
210
  };
211
- export type BlockObjectResponse = ParagraphBlockObjectResponseEx | Heading1BlockObjectResponse | Heading2BlockObjectResponse | Heading3BlockObjectResponse | BulletedListItemBlockObjectResponseEx | NumberedListItemBlockObjectResponseEx | QuoteBlockObjectResponse | ToDoBlockObjectResponse | ToggleBlockObjectResponseEx | TemplateBlockObjectResponse | SyncedBlockBlockObjectResponse | ChildPageBlockObjectResponseEx | ChildDatabaseBlockObjectResponseEx | EquationBlockObjectResponse | CodeBlockObjectResponse | CalloutBlockObjectResponseEx | DividerBlockObjectResponse | BreadcrumbBlockObjectResponse | TableOfContentsBlockObjectResponse | ColumnListBlockObjectResponseEx | ColumnBlockObjectResponse | LinkToPageBlockObjectResponse | TableBlockObjectResponseEx | TableRowBlockObjectResponse | EmbedBlockObjectResponseEx | BookmarkBlockObjectResponseEx | ImageBlockObjectResponseEx | VideoBlockObjectResponseEx | PdfBlockObjectResponse | FileBlockObjectResponse | AudioBlockObjectResponse | LinkPreviewBlockObjectResponse | UnsupportedBlockObjectResponse;
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;
@@ -450,6 +458,23 @@ export type PageObjectResponseEx = PageObjectResponse & {
450
458
  expiry_time: string;
451
459
  };
452
460
  } | null;
461
+ icon: {
462
+ type: 'emoji';
463
+ emoji: EmojiRequest;
464
+ } | {
465
+ src: string;
466
+ type: 'external';
467
+ external: {
468
+ url: TextRequest;
469
+ };
470
+ } | {
471
+ src: string;
472
+ type: 'file';
473
+ file: {
474
+ url: string;
475
+ expiry_time: string;
476
+ };
477
+ } | null;
453
478
  };
454
479
  export type GetDatabaseResponseEx = DatabaseObjectResponse & {
455
480
  icon: {
@@ -19315,11 +19315,28 @@ var BookmarkBlock = function (_a) {
19315
19315
  React.createElement(TextBlock, { tag: "span", block: block.bookmark.caption }))));
19316
19316
  };
19317
19317
 
19318
- // TODO: Iimplement and design
19318
+ var BreadcrumbLink = function (_a) {
19319
+ var breadcrumb = _a.breadcrumb, link = _a.link, href = _a.href, query = _a.query, children = _a.children;
19320
+ var id = breadcrumb.id, name = breadcrumb.name;
19321
+ var _b = getLinkPathAndLinkKey(href || ''), path = _b[0], slugKey = _b[1];
19322
+ var file = slugKey === 'id' ? id : encodeURIComponent(name.toLowerCase()).replace(/%20/g, '-');
19323
+ if (link && href) {
19324
+ var Link = link;
19325
+ return (React.createElement(Link, { className: "notionate-blocks-breadcrumb-a", href: { pathname: "".concat(path).concat(file), query: query } }, children));
19326
+ }
19327
+ if (href) {
19328
+ return (React.createElement("a", { className: "notionate-blocks-breadcrumb-a", href: "".concat(path).concat(file).concat(queryToString(query)) }, children));
19329
+ }
19330
+ return (React.createElement("span", { className: "notionate-blocks-breadcrumb-a" }, children));
19331
+ };
19319
19332
  var BreadcrumbBlock = function (_a) {
19320
- var block = _a.block;
19321
- var parent = block.parent;
19322
- return (React.createElement("div", { className: "notionate-blocks-breadcrumb" }, parent.type));
19333
+ var block = _a.block, link = _a.link, hrefs = _a.hrefs, query = _a.query;
19334
+ var max = block.list.length;
19335
+ return (React.createElement("div", { className: "notionate-blocks-breadcrumb" }, block.list.map(function (v, i) { return (React.createElement(BreadcrumbLink, { key: "crumb-".concat(i), breadcrumb: v, href: hrefs === undefined ? undefined : hrefs[i], link: link, query: query },
19336
+ v.icon.type === 'emoji' && React.createElement("span", { className: "notionate-blocks-breadcrumb-emoji" }, v.icon.emoji),
19337
+ v.icon.type !== 'emoji' && React.createElement("img", { className: "notionate-blocks-breadcrumb-icon", src: v.icon.src, width: 20, height: 20, alt: v.name }),
19338
+ React.createElement("span", { className: "notionate-blocks-breadcrumb-title" }, v.name),
19339
+ i + 1 < max && React.createElement("span", { className: "notionate-blocks-breadcrumb-slash" }, "/"))); })));
19323
19340
  };
19324
19341
 
19325
19342
  var BulletedListBlocks = function (_a) {
@@ -19816,9 +19833,9 @@ var VideoBlock = function (_a) {
19816
19833
  };
19817
19834
 
19818
19835
  var blockType = {
19819
- heading_1: 'h1',
19820
- heading_2: 'h2',
19821
- heading_3: 'h3',
19836
+ heading_1: 'h2',
19837
+ heading_2: 'h3',
19838
+ heading_3: 'h4',
19822
19839
  bulleted_list_item: 'li',
19823
19840
  numbered_list_item: 'li',
19824
19841
  divider: 'hr',
@@ -19828,13 +19845,12 @@ var blockType = {
19828
19845
  };
19829
19846
  var PageHandler = function (_a) {
19830
19847
  var _b;
19831
- var block = _a.block, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules;
19848
+ var block = _a.block, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules, breadcrumb_hrefs = _a.breadcrumb_hrefs;
19832
19849
  switch (block.type) {
19833
19850
  case 'bookmark':
19834
19851
  return React.createElement(BookmarkBlock, { block: block, key: block.id });
19835
19852
  case 'breadcrumb':
19836
- console.log("still a not supported component: ".concat(block.type));
19837
- return React.createElement(BreadcrumbBlock, { block: block, key: block.id });
19853
+ return React.createElement(BreadcrumbBlock, { block: block, hrefs: breadcrumb_hrefs, link: link, query: query, key: block.id });
19838
19854
  case 'bulleted_list_item':
19839
19855
  return React.createElement(BulletedListBlocks, { block: block, key: block.id });
19840
19856
  case 'callout':
@@ -19906,7 +19922,7 @@ var ListBlock = function (_a) {
19906
19922
  };
19907
19923
 
19908
19924
  var Page = function (_a) {
19909
- var blocks = _a.blocks, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules;
19925
+ var blocks = _a.blocks, href = _a.href, link = _a.link, query = _a.query, modules = _a.modules, breadcrumb_hrefs = _a.breadcrumb_hrefs;
19910
19926
  var results = blocks.results;
19911
19927
  var listType = {
19912
19928
  bulleted_list_item: 'ul',
@@ -19941,7 +19957,7 @@ var Page = function (_a) {
19941
19957
  }
19942
19958
  }
19943
19959
  else {
19944
- var elem = PageHandler({ block: block, href: href, link: link, query: query, modules: modules });
19960
+ var elem = PageHandler({ block: block, href: href, link: link, query: query, modules: modules, breadcrumb_hrefs: breadcrumb_hrefs });
19945
19961
  if (elem !== undefined) {
19946
19962
  children.push(elem);
19947
19963
  }