@roottale/cms-renderer-next 0.44.0 → 0.46.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 (48) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{chunk-4LQPZDXZ.js → chunk-6MFHA555.js} +24 -6
  3. package/dist/chunk-6MFHA555.js.map +1 -0
  4. package/dist/chunk-FZK3EXYZ.js +103 -0
  5. package/dist/chunk-FZK3EXYZ.js.map +1 -0
  6. package/dist/{chunk-75LHSTKC.js → chunk-JXRHZGRJ.js} +72 -19
  7. package/dist/chunk-JXRHZGRJ.js.map +1 -0
  8. package/dist/chunk-LEHHSI6G.js +64 -0
  9. package/dist/chunk-LEHHSI6G.js.map +1 -0
  10. package/dist/chunk-OMXEU4LS.js +414 -0
  11. package/dist/chunk-OMXEU4LS.js.map +1 -0
  12. package/dist/{chunk-6PDZSFVZ.js → chunk-UM37DOIK.js} +44 -2
  13. package/dist/chunk-UM37DOIK.js.map +1 -0
  14. package/dist/chunk-YLSQAT6B.js +59 -0
  15. package/dist/chunk-YLSQAT6B.js.map +1 -0
  16. package/dist/chunk-ZL2NA3QT.js +313 -0
  17. package/dist/chunk-ZL2NA3QT.js.map +1 -0
  18. package/dist/concerns-client.d.ts +1 -1
  19. package/dist/contact-map-client.d.ts +27 -0
  20. package/dist/contact-map-client.js +8 -0
  21. package/dist/contact-map-client.js.map +1 -0
  22. package/dist/expertise-client.d.ts +7 -1
  23. package/dist/expertise-client.js +2 -1
  24. package/dist/hero-carousel-client.d.ts +18 -2
  25. package/dist/hero-carousel-client.js +2 -1
  26. package/dist/routes.js +6 -4
  27. package/dist/routes.js.map +1 -1
  28. package/dist/server.js +8 -5
  29. package/dist/{site-config-BHcVF993.d.ts → site-config-CeByrPJF.d.ts} +55 -4
  30. package/dist/spaces-client.d.ts +1 -1
  31. package/dist/team-expanding-stage-client.d.ts +35 -0
  32. package/dist/team-expanding-stage-client.js +8 -0
  33. package/dist/team-expanding-stage-client.js.map +1 -0
  34. package/dist/templates.css +457 -5
  35. package/dist/templates.d.ts +26 -3
  36. package/dist/templates.js +13 -6
  37. package/dist/templates.js.map +1 -1
  38. package/dist/ui-react-motion-client.d.ts +4 -1
  39. package/dist/ui-react-motion-client.js +3 -1
  40. package/dist/validate.js +1 -1
  41. package/package.json +7 -4
  42. package/dist/chunk-4LQPZDXZ.js.map +0 -1
  43. package/dist/chunk-6PDZSFVZ.js.map +0 -1
  44. package/dist/chunk-75LHSTKC.js.map +0 -1
  45. package/dist/chunk-F3G6RVIR.js +0 -220
  46. package/dist/chunk-F3G6RVIR.js.map +0 -1
  47. package/dist/chunk-WWS43XCT.js +0 -206
  48. package/dist/chunk-WWS43XCT.js.map +0 -1
@@ -214,6 +214,13 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
214
214
  autoplay: z.ZodOptional<z.ZodBoolean>;
215
215
  /** `carousel` 전용, ms. 기본 6000. */
216
216
  intervalMs: z.ZodOptional<z.ZodNumber>;
217
+ /**
218
+ * `carousel` 전용 배경 전환 모션(ADR-0086 P2 D3). 기본 "slide"(기존 embla
219
+ * 가로 스크롤). "curtain" = clip-path 와이프 + 신 스윕(chambarun 이식).
220
+ * variant 는 그대로 "carousel" — 신규 variant 아님("variant=구조,
221
+ * motion=인상" 규칙).
222
+ */
223
+ transition: z.ZodOptional<z.ZodEnum<["slide", "curtain"]>>;
217
224
  proofMetrics: z.ZodOptional<z.ZodObject<{
218
225
  items: z.ZodArray<z.ZodObject<{
219
226
  value: z.ZodString;
@@ -300,6 +307,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
300
307
  }[] | undefined;
301
308
  autoplay?: boolean | undefined;
302
309
  intervalMs?: number | undefined;
310
+ transition?: "slide" | "curtain" | undefined;
303
311
  proofMetrics?: {
304
312
  position: "overlay" | "inline";
305
313
  items: {
@@ -352,6 +360,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
352
360
  }[] | undefined;
353
361
  autoplay?: boolean | undefined;
354
362
  intervalMs?: number | undefined;
363
+ transition?: "slide" | "curtain" | undefined;
355
364
  proofMetrics?: {
356
365
  items: {
357
366
  value: string;
@@ -408,6 +417,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
408
417
  }[] | undefined;
409
418
  autoplay?: boolean | undefined;
410
419
  intervalMs?: number | undefined;
420
+ transition?: "slide" | "curtain" | undefined;
411
421
  proofMetrics?: {
412
422
  position: "overlay" | "inline";
413
423
  items: {
@@ -465,6 +475,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
465
475
  }[] | undefined;
466
476
  autoplay?: boolean | undefined;
467
477
  intervalMs?: number | undefined;
478
+ transition?: "slide" | "curtain" | undefined;
468
479
  proofMetrics?: {
469
480
  items: {
470
481
  value: string;
@@ -524,6 +535,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
524
535
  }[] | undefined;
525
536
  autoplay?: boolean | undefined;
526
537
  intervalMs?: number | undefined;
538
+ transition?: "slide" | "curtain" | undefined;
527
539
  proofMetrics?: {
528
540
  position: "overlay" | "inline";
529
541
  items: {
@@ -581,6 +593,7 @@ declare const HeroSectionSchema: z.ZodEffects<z.ZodObject<{
581
593
  }[] | undefined;
582
594
  autoplay?: boolean | undefined;
583
595
  intervalMs?: number | undefined;
596
+ transition?: "slide" | "curtain" | undefined;
584
597
  proofMetrics?: {
585
598
  items: {
586
599
  value: string;
@@ -2123,6 +2136,14 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2123
2136
  externalUrl: z.ZodOptional<z.ZodString>;
2124
2137
  lat: z.ZodOptional<z.ZodNumber>;
2125
2138
  lng: z.ZodOptional<z.ZodNumber>;
2139
+ /**
2140
+ * 지도 로드 모드(ADR-0086 P2 D3, chambarun `.map-facade` 클릭-투-로드 이식).
2141
+ * 기본 "lazy"(기존 동작 그대로 — 실지도면 즉시 iframe `loading="lazy"`).
2142
+ * "click" 은 정적 프리뷰(주소·지도 열기 버튼)만 먼저 그리고, 클릭 시에만
2143
+ * iframe 을 마운트한다(외부 지도 스크립트/네트워크 요청을 사용자 의도
2144
+ * 전까지 미루는 성능·프라이버시 절충 — additive, 기존 사이트는 영향 없음).
2145
+ */
2146
+ mapLoad: z.ZodOptional<z.ZodEnum<["lazy", "click"]>>;
2126
2147
  }, "strip", z.ZodTypeAny, {
2127
2148
  provider?: string | undefined;
2128
2149
  facadeImageSrc?: string | undefined;
@@ -2131,6 +2152,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2131
2152
  externalUrl?: string | undefined;
2132
2153
  lat?: number | undefined;
2133
2154
  lng?: number | undefined;
2155
+ mapLoad?: "lazy" | "click" | undefined;
2134
2156
  }, {
2135
2157
  provider?: string | undefined;
2136
2158
  facadeImageSrc?: string | undefined;
@@ -2139,6 +2161,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2139
2161
  externalUrl?: string | undefined;
2140
2162
  lat?: number | undefined;
2141
2163
  lng?: number | undefined;
2164
+ mapLoad?: "lazy" | "click" | undefined;
2142
2165
  }>>;
2143
2166
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
2144
2167
  label: z.ZodString;
@@ -2195,6 +2218,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2195
2218
  externalUrl?: string | undefined;
2196
2219
  lat?: number | undefined;
2197
2220
  lng?: number | undefined;
2221
+ mapLoad?: "lazy" | "click" | undefined;
2198
2222
  } | undefined;
2199
2223
  heading?: string | undefined;
2200
2224
  phone?: string | undefined;
@@ -2234,6 +2258,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2234
2258
  externalUrl?: string | undefined;
2235
2259
  lat?: number | undefined;
2236
2260
  lng?: number | undefined;
2261
+ mapLoad?: "lazy" | "click" | undefined;
2237
2262
  } | undefined;
2238
2263
  heading?: string | undefined;
2239
2264
  phone?: string | undefined;
@@ -2277,6 +2302,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2277
2302
  externalUrl?: string | undefined;
2278
2303
  lat?: number | undefined;
2279
2304
  lng?: number | undefined;
2305
+ mapLoad?: "lazy" | "click" | undefined;
2280
2306
  } | undefined;
2281
2307
  heading?: string | undefined;
2282
2308
  phone?: string | undefined;
@@ -2321,6 +2347,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2321
2347
  externalUrl?: string | undefined;
2322
2348
  lat?: number | undefined;
2323
2349
  lng?: number | undefined;
2350
+ mapLoad?: "lazy" | "click" | undefined;
2324
2351
  } | undefined;
2325
2352
  heading?: string | undefined;
2326
2353
  phone?: string | undefined;
@@ -2367,6 +2394,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2367
2394
  externalUrl?: string | undefined;
2368
2395
  lat?: number | undefined;
2369
2396
  lng?: number | undefined;
2397
+ mapLoad?: "lazy" | "click" | undefined;
2370
2398
  } | undefined;
2371
2399
  heading?: string | undefined;
2372
2400
  phone?: string | undefined;
@@ -2411,6 +2439,7 @@ declare const ContactSectionSchema: z.ZodEffects<z.ZodObject<{
2411
2439
  externalUrl?: string | undefined;
2412
2440
  lat?: number | undefined;
2413
2441
  lng?: number | undefined;
2442
+ mapLoad?: "lazy" | "click" | undefined;
2414
2443
  } | undefined;
2415
2444
  heading?: string | undefined;
2416
2445
  phone?: string | undefined;
@@ -3708,6 +3737,13 @@ type SectionInput = z.input<typeof HeroSectionSchema> | z.input<typeof RichTextS
3708
3737
  */
3709
3738
  declare const SectionSchema: z.ZodType<Section, z.ZodTypeDef, SectionInput>;
3710
3739
  declare const SiteConfigSchema: z.ZodObject<{
3740
+ /**
3741
+ * `SiteConfig` 계약 버전 (ADR-0086 D2) — 팩 manifest 의 `siteConfigVersion`
3742
+ * 과 비교해 팩↔renderer 호환성을 표현한다. optional — 하위 호환(기존 고객
3743
+ * `site.config.ts` 에는 이 필드가 없다). 미지정은 버전 1 로 해석한다
3744
+ * (`resolveSiteConfigSchemaVersion`).
3745
+ */
3746
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
3711
3747
  site: z.ZodObject<{
3712
3748
  /** canonical origin. 생략 시 소비측이 `SITE_URL` env 등으로 해석. */
3713
3749
  url: z.ZodOptional<z.ZodString>;
@@ -3768,10 +3804,10 @@ declare const SiteConfigSchema: z.ZodObject<{
3768
3804
  icon: z.ZodOptional<z.ZodString>;
3769
3805
  }, "strip", z.ZodTypeAny, {
3770
3806
  layout: string;
3807
+ basePath: string;
3771
3808
  categories: string[];
3772
3809
  label: string;
3773
3810
  key: string;
3774
- basePath: string;
3775
3811
  feed: boolean;
3776
3812
  archives: boolean;
3777
3813
  og: boolean;
@@ -3779,9 +3815,9 @@ declare const SiteConfigSchema: z.ZodObject<{
3779
3815
  pinning: boolean;
3780
3816
  icon?: string | undefined;
3781
3817
  }, {
3818
+ basePath: string;
3782
3819
  label: string;
3783
3820
  key: string;
3784
- basePath: string;
3785
3821
  layout?: string | undefined;
3786
3822
  icon?: string | undefined;
3787
3823
  categories?: string[] | undefined;
@@ -3793,6 +3829,17 @@ declare const SiteConfigSchema: z.ZodObject<{
3793
3829
  }>, "many">>;
3794
3830
  /** 사이트 전역 토큰 override (`--rt-*` CSS 변수 → 값). 비우면 admin /design SSoT. */
3795
3831
  theme: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3832
+ /**
3833
+ * 테마 방향(Theme Directions, `@roottale/tokens` 프리셋 id — 예: "d1-editorial").
3834
+ * root layout 이 `<html data-rt-direction="…">` 로 부여해
3835
+ * `@roottale/tokens/theme-directions.css` 의 `[data-rt-direction="…"]` 규칙을
3836
+ * 활성화한다(roottale-docs `docs/design/theme-directions.md`). 값은 문자열로만
3837
+ * 검증한다 — `@roottale/cms-renderer-next` 는 `@roottale/tokens` 를 직접
3838
+ * 의존하지 않으므로 유효 id 집합은 `@roottale/tokens/theme-directions` 의
3839
+ * `ThemeDirectionId` 를 참조해 `site.config.ts` 작성 시점에 타입으로 좁힌다.
3840
+ * 미지정 시 속성 자체가 안 붙어 완전히 무변화(기존 동작).
3841
+ */
3842
+ direction: z.ZodOptional<z.ZodString>;
3796
3843
  nav: z.ZodDefault<z.ZodArray<z.ZodObject<{
3797
3844
  label: z.ZodString;
3798
3845
  href: z.ZodString;
@@ -3826,10 +3873,10 @@ declare const SiteConfigSchema: z.ZodObject<{
3826
3873
  }, "strip", z.ZodTypeAny, {
3827
3874
  collections: {
3828
3875
  layout: string;
3876
+ basePath: string;
3829
3877
  categories: string[];
3830
3878
  label: string;
3831
3879
  key: string;
3832
- basePath: string;
3833
3880
  feed: boolean;
3834
3881
  archives: boolean;
3835
3882
  og: boolean;
@@ -3856,6 +3903,8 @@ declare const SiteConfigSchema: z.ZodObject<{
3856
3903
  } | undefined;
3857
3904
  };
3858
3905
  pages: Record<string, Section[]>;
3906
+ schemaVersion?: number | undefined;
3907
+ direction?: string | undefined;
3859
3908
  }, {
3860
3909
  site: {
3861
3910
  title: string;
@@ -3868,9 +3917,9 @@ declare const SiteConfigSchema: z.ZodObject<{
3868
3917
  };
3869
3918
  pages: Record<string, SectionInput[]>;
3870
3919
  collections?: {
3920
+ basePath: string;
3871
3921
  label: string;
3872
3922
  key: string;
3873
- basePath: string;
3874
3923
  layout?: string | undefined;
3875
3924
  icon?: string | undefined;
3876
3925
  categories?: string[] | undefined;
@@ -3889,6 +3938,8 @@ declare const SiteConfigSchema: z.ZodObject<{
3889
3938
  label: string;
3890
3939
  }[] | undefined;
3891
3940
  }[] | undefined;
3941
+ schemaVersion?: number | undefined;
3942
+ direction?: string | undefined;
3892
3943
  }>;
3893
3944
  type SiteConfig = z.output<typeof SiteConfigSchema>;
3894
3945
  /** config 작성용 (defaults 생략 가능). */
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { S as SpacesSection } from './site-config-BHcVF993.js';
2
+ import { S as SpacesSection } from './site-config-CeByrPJF.js';
3
3
  import 'zod';
4
4
 
5
5
  type SpaceItem = SpacesSection["props"]["spaces"][number];
@@ -0,0 +1,35 @@
1
+ import { ReactElement } from 'react';
2
+ import { T as TeamSection } from './site-config-CeByrPJF.js';
3
+ import 'zod';
4
+
5
+ type TeamMember = TeamSection["props"]["members"][number];
6
+ /**
7
+ * `team` `expanding-stage` variant 의 실모션 client island (D3 크래프트).
8
+ * chambarun `.staff-stage`/`.staff-panel` 스펙(mockup/assets/site.js·site.css)
9
+ * 이식 — hover/focus/tap 한 인물이 확장되며 자격 정보가 드러난다.
10
+ *
11
+ * 현재 `sections.tsx` `TemplateTeamExpandingStage` 는 이 컴포넌트를 아직
12
+ * import 하지 않는다(정적 격자만 렌더) — `sections.tsx` 는 이 작업 소유 밖이라
13
+ * 와이어링은 별도 보고 대상(README/보고 참조). 이 파일은 그 자리에 그대로
14
+ * 끼워 넣을 수 있도록 `members` 하나만 받는 독립 컴포넌트로 설계했다.
15
+ *
16
+ * 접근성(계약, DESIGN.md "Medical Staff Cards" 원칙 확장):
17
+ * - 각 패널은 `tabIndex=0` 컨테이너(hover/focus/click 시 확장) — chambarun
18
+ * 원본과 동일하게 명시적 role 은 두지 않는다(내부에 실제 CTA 링크가 있어
19
+ * `role="button"` 을 얹으면 중첩 인터랙티브 요소가 된다).
20
+ * - 자격정보·경력·CTA 는 접힌 상태에서도 DOM 에 그대로 존재한다(opacity 로만
21
+ * 가림) — 스크린리더는 hover 없이 전체 내용을 읽을 수 있다("decorative hover
22
+ * layers do not replace content").
23
+ * - CTA 링크는 비활성 패널일 때 `tabIndex=-1` — 보이지 않는 링크가 키보드
24
+ * 포커스를 가로채지 않는다(chambarun 원본에는 없던, React 상태로만 가능한
25
+ * 개선).
26
+ * - `prefers-reduced-motion: reduce` → 전환 자체가 CSS 에서 제거된다
27
+ * (templates.css, `@media (prefers-reduced-motion: no-preference)` 안에만
28
+ * transition 선언 — ADR-0073 K3 C1 과 동일 관행). `data-reduced-motion`
29
+ * 속성은 시각 회귀 테스트/QA 스크린샷 식별용.
30
+ */
31
+ declare function TeamExpandingStageClient({ members, }: {
32
+ readonly members: readonly TeamMember[];
33
+ }): ReactElement | null;
34
+
35
+ export { TeamExpandingStageClient };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import {
3
+ TeamExpandingStageClient
4
+ } from "./chunk-FZK3EXYZ.js";
5
+ export {
6
+ TeamExpandingStageClient
7
+ };
8
+ //# sourceMappingURL=team-expanding-stage-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}