@roottale/cms-renderer-next 0.52.0 → 0.53.0

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 (76) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +23 -2
  3. package/dist/{chunk-U2IM6OCQ.js → chunk-HM5VP7SR.js} +1 -1
  4. package/dist/{chunk-U2IM6OCQ.js.map → chunk-HM5VP7SR.js.map} +1 -1
  5. package/dist/chunk-KSPPYX22.js +14 -0
  6. package/dist/chunk-KSPPYX22.js.map +1 -0
  7. package/dist/cms-public.css +38 -0
  8. package/dist/routes.d.ts +9 -0
  9. package/dist/routes.js +18 -5
  10. package/dist/routes.js.map +1 -1
  11. package/dist/section-runtime.d.ts +46 -0
  12. package/dist/section-runtime.js +9 -0
  13. package/dist/server.d.ts +5 -3
  14. package/dist/server.js +1679 -34
  15. package/dist/server.js.map +1 -1
  16. package/package.json +7 -23
  17. package/dist/before-after-client.d.ts +0 -15
  18. package/dist/before-after-client.js +0 -8
  19. package/dist/chunk-27RT6B3O.js +0 -93
  20. package/dist/chunk-27RT6B3O.js.map +0 -1
  21. package/dist/chunk-2QU4JU46.js +0 -3927
  22. package/dist/chunk-2QU4JU46.js.map +0 -1
  23. package/dist/chunk-4RQ3SEDL.js +0 -106
  24. package/dist/chunk-4RQ3SEDL.js.map +0 -1
  25. package/dist/chunk-6GQCFFHU.js +0 -540
  26. package/dist/chunk-6GQCFFHU.js.map +0 -1
  27. package/dist/chunk-H46JUIHZ.js +0 -79
  28. package/dist/chunk-H46JUIHZ.js.map +0 -1
  29. package/dist/chunk-K62RR4UQ.js +0 -53
  30. package/dist/chunk-K62RR4UQ.js.map +0 -1
  31. package/dist/chunk-LEHHSI6G.js +0 -64
  32. package/dist/chunk-LEHHSI6G.js.map +0 -1
  33. package/dist/chunk-QYNEOFL7.js +0 -418
  34. package/dist/chunk-QYNEOFL7.js.map +0 -1
  35. package/dist/chunk-U5AKACPN.js +0 -113
  36. package/dist/chunk-U5AKACPN.js.map +0 -1
  37. package/dist/chunk-UM37DOIK.js +0 -961
  38. package/dist/chunk-UM37DOIK.js.map +0 -1
  39. package/dist/chunk-YLSQAT6B.js +0 -59
  40. package/dist/chunk-YLSQAT6B.js.map +0 -1
  41. package/dist/chunk-ZL2NA3QT.js +0 -313
  42. package/dist/chunk-ZL2NA3QT.js.map +0 -1
  43. package/dist/concerns-client.d.ts +0 -12
  44. package/dist/concerns-client.js +0 -8
  45. package/dist/concerns-client.js.map +0 -1
  46. package/dist/contact-map-client.d.ts +0 -27
  47. package/dist/contact-map-client.js +0 -8
  48. package/dist/contact-map-client.js.map +0 -1
  49. package/dist/expertise-client.d.ts +0 -16
  50. package/dist/expertise-client.js +0 -9
  51. package/dist/expertise-client.js.map +0 -1
  52. package/dist/hero-carousel-client.d.ts +0 -52
  53. package/dist/hero-carousel-client.js +0 -9
  54. package/dist/hero-carousel-client.js.map +0 -1
  55. package/dist/seo-checks.d.ts +0 -87
  56. package/dist/seo-checks.js +0 -27
  57. package/dist/seo-checks.js.map +0 -1
  58. package/dist/site-config-DNpvlqA5.d.ts +0 -3961
  59. package/dist/spaces-client.d.ts +0 -10
  60. package/dist/spaces-client.js +0 -8
  61. package/dist/spaces-client.js.map +0 -1
  62. package/dist/team-expanding-stage-client.d.ts +0 -35
  63. package/dist/team-expanding-stage-client.js +0 -8
  64. package/dist/team-expanding-stage-client.js.map +0 -1
  65. package/dist/templates.css +0 -4145
  66. package/dist/templates.d.ts +0 -171
  67. package/dist/templates.js +0 -291
  68. package/dist/templates.js.map +0 -1
  69. package/dist/theme-css-vars-CD3jcEkp.d.ts +0 -7
  70. package/dist/ui-react-motion-client.d.ts +0 -76
  71. package/dist/ui-react-motion-client.js +0 -16
  72. package/dist/ui-react-motion-client.js.map +0 -1
  73. package/dist/validate.d.ts +0 -104
  74. package/dist/validate.js +0 -1204
  75. package/dist/validate.js.map +0 -1
  76. /package/dist/{before-after-client.js.map → section-runtime.js.map} +0 -0
@@ -0,0 +1,46 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ import { CmsPostContent } from '@roottale/cms-client/server';
3
+
4
+ /**
5
+ * 섹션 렌더러 주입 지점 — ADR-0040 P2 단방향 계약(코어 ◄ site-sections).
6
+ *
7
+ * 본문(tiptap) 안의 `section` 노드는 비공개 `site-sections` 컴포넌트로 그리지만,
8
+ * 공개 코어가 비공개 패키지를 직접 import 하면 순환·번들
9
+ * 오염이 된다(dependency-cruiser `no-renderer-core-to-templates`). 그래서 코어는
10
+ * "섹션을 그리는 함수" 의 자리만 비워두고, private
11
+ * `@roottale/site-sections`를 import 하는 내부 제작 경로에서만 채운다.
12
+ *
13
+ * 등록 없이 `section` 노드를 만나면 dev 경고 후 skip — 미지 섹션 타입을 만났을
14
+ * 때와 같은 fail-soft 동작이다.
15
+ */
16
+
17
+ /** 발행 API 호출에 필요한 최소 컨텍스트(공개 키 + 베이스 URL). */
18
+ type CmsBoundContext = {
19
+ apiKey: string;
20
+ baseUrl?: string;
21
+ };
22
+ type BlogListProps = {
23
+ apiKey: string;
24
+ baseUrl?: string;
25
+ limit?: number;
26
+ emptyMessage?: string;
27
+ postHref?: (post: CmsPostContent) => string;
28
+ };
29
+ type SectionRenderContext = {
30
+ cms: CmsBoundContext | null;
31
+ renderBlogList: (props: BlogListProps) => ReactNode;
32
+ isDev: () => boolean;
33
+ };
34
+ /** `section` 노드 하나를 그리는 함수 — templates 쪽 구현이 주입된다. */
35
+ type SectionNodeRenderer = (node: {
36
+ type?: string;
37
+ attrs?: Record<string, unknown>;
38
+ }, key: number, context: SectionRenderContext) => ReactElement | null;
39
+ /**
40
+ * private 섹션 공장이 로드되며 호출한다. 공개 CMS runtime만 쓰는 고객 FRONT는
41
+ * 이 함수를 호출하지 않으며 `section` 노드를 마케팅 페이지 구조로 사용하지 않는다.
42
+ */
43
+ declare function setSectionNodeRenderer(renderer: SectionNodeRenderer): void;
44
+ declare function getSectionNodeRenderer(): SectionNodeRenderer | null;
45
+
46
+ export { type BlogListProps, type CmsBoundContext, type SectionNodeRenderer, type SectionRenderContext, getSectionNodeRenderer, setSectionNodeRenderer };
@@ -0,0 +1,9 @@
1
+ import {
2
+ getSectionNodeRenderer,
3
+ setSectionNodeRenderer
4
+ } from "./chunk-KSPPYX22.js";
5
+ export {
6
+ getSectionNodeRenderer,
7
+ setSectionNodeRenderer
8
+ };
9
+ //# sourceMappingURL=section-runtime.js.map
package/dist/server.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { ReactElement, ReactNode } from 'react';
2
2
  import { CmsPostContent, RootTaleTheme, CmsPostType } from '@roottale/cms-client/server';
3
3
  export { RootTaleTheme } from '@roottale/cms-client/server';
4
- export { R as RootTaleCssVars, t as themeToCssVars } from './theme-css-vars-CD3jcEkp.js';
4
+ import { RootTaleThemeStyle } from '@roottale/ui-react/theme';
5
5
  import { Block, BindingResolver, RouteCollection } from '@roottale/cms-core';
6
6
  export { a as BlogCategory, B as BlogCategoryWithCount, c as collectCategories, b as collectCategoriesWithCounts, d as defaultCategoryHref, f as filterPostsByCategory } from './blog-filter-BKCGM0qd.js';
7
- import '@roottale/ui-react/theme';
8
7
 
9
8
  /**
10
9
  * `<RootTalePostCard>` — server-only summary card for a single CmsPostContent.
@@ -81,6 +80,9 @@ interface RootTaleTableOfContentsProps {
81
80
  }
82
81
  declare function RootTaleTableOfContents(props: RootTaleTableOfContentsProps): ReactElement | null;
83
82
 
83
+ type RootTaleCssVars = RootTaleThemeStyle;
84
+ declare function themeToCssVars(theme: RootTaleTheme | null): RootTaleCssVars | null;
85
+
84
86
  /**
85
87
  * `<RootTaleFloatingCta>` — fixed-position call-to-action stack.
86
88
  *
@@ -286,4 +288,4 @@ type RenderTiptapProps = {
286
288
  };
287
289
  declare function RenderTiptap({ doc, fields, apiKey, baseUrl, }: RenderTiptapProps): ReactElement;
288
290
 
289
- export { type BlogPostBreadcrumbOptions, type CtaButton, type CtaButtonType, type FloatingCtaPosition, type LeadFormVertical, RenderTiptap, RootTaleBlogCategories, type RootTaleBlogCategoriesProps, RootTaleBlogList, type RootTaleBlogListProps, RootTaleBlogPost, type RootTaleBlogPostProps, RootTaleFaqJsonLd, RootTaleFloatingCta, type RootTaleFloatingCtaProps, RootTaleLeadForm, type RootTaleLeadFormProps, RootTalePage, type RootTalePageProps, RootTalePostCard, type RootTalePostCardProps, RootTaleTableOfContents, type RootTaleTableOfContentsProps, type RootTaleThemeInput, RootTaleThemeProvider, type TocEntry, attachHeadingIds, extractToc, headingToId, renderBlock, renderBlocks, renderBoundBlocks };
291
+ export { type BlogPostBreadcrumbOptions, type CtaButton, type CtaButtonType, type FloatingCtaPosition, type LeadFormVertical, RenderTiptap, RootTaleBlogCategories, type RootTaleBlogCategoriesProps, RootTaleBlogList, type RootTaleBlogListProps, RootTaleBlogPost, type RootTaleBlogPostProps, type RootTaleCssVars, RootTaleFaqJsonLd, RootTaleFloatingCta, type RootTaleFloatingCtaProps, RootTaleLeadForm, type RootTaleLeadFormProps, RootTalePage, type RootTalePageProps, RootTalePostCard, type RootTalePostCardProps, RootTaleTableOfContents, type RootTaleTableOfContentsProps, type RootTaleThemeInput, RootTaleThemeProvider, type TocEntry, attachHeadingIds, extractToc, headingToId, renderBlock, renderBlocks, renderBoundBlocks, themeToCssVars };