@hjmds/design-contracts 1.29.0 → 1.31.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 (97) hide show
  1. package/dist/behaviors.d.ts +1 -0
  2. package/dist/behaviors.d.ts.map +1 -1
  3. package/dist/bottom-navigation.d.ts +24 -0
  4. package/dist/bottom-navigation.d.ts.map +1 -1
  5. package/dist/bottom-navigation.js +34 -0
  6. package/dist/bottom-navigation.js.map +1 -1
  7. package/dist/carousel.d.ts +30 -0
  8. package/dist/carousel.d.ts.map +1 -1
  9. package/dist/carousel.js +32 -0
  10. package/dist/carousel.js.map +1 -1
  11. package/dist/catalog.d.ts +382 -64
  12. package/dist/catalog.d.ts.map +1 -1
  13. package/dist/catalog.js +147 -131
  14. package/dist/catalog.js.map +1 -1
  15. package/dist/component-definitions.d.ts +21 -131
  16. package/dist/component-definitions.d.ts.map +1 -1
  17. package/dist/component-definitions.js +9 -132
  18. package/dist/component-definitions.js.map +1 -1
  19. package/dist/component-recipes.d.ts +87 -0
  20. package/dist/component-recipes.d.ts.map +1 -1
  21. package/dist/component-recipes.js +44 -1
  22. package/dist/component-recipes.js.map +1 -1
  23. package/dist/icon.d.ts +58 -1
  24. package/dist/icon.d.ts.map +1 -1
  25. package/dist/icon.js +69 -0
  26. package/dist/icon.js.map +1 -1
  27. package/dist/image-choice.d.ts +7 -0
  28. package/dist/image-choice.d.ts.map +1 -1
  29. package/dist/image-choice.js +7 -0
  30. package/dist/image-choice.js.map +1 -1
  31. package/dist/index.d.ts +4 -4
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/recipes.d.ts +1 -1
  36. package/dist/recipes.d.ts.map +1 -1
  37. package/dist/recipes.js.map +1 -1
  38. package/dist/screen-patterns.d.ts +100 -0
  39. package/dist/screen-patterns.d.ts.map +1 -1
  40. package/dist/screen-patterns.js +98 -3
  41. package/dist/screen-patterns.js.map +1 -1
  42. package/dist/showcase.d.ts.map +1 -1
  43. package/dist/showcase.js +10 -0
  44. package/dist/showcase.js.map +1 -1
  45. package/dist/steps.d.ts +16 -7
  46. package/dist/steps.d.ts.map +1 -1
  47. package/dist/steps.js +6 -1
  48. package/dist/steps.js.map +1 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/dist/version.js.map +1 -1
  52. package/docs/architecture.md +18 -0
  53. package/docs/bottom-navigation.md +10 -0
  54. package/docs/carousel.md +8 -0
  55. package/docs/dialog.md +23 -0
  56. package/docs/generated/component-maturity.md +32 -29
  57. package/docs/generated/renderer-evidence.json +1551 -1118
  58. package/docs/generated/renderer-evidence.md +243 -237
  59. package/docs/generated/showcase-manifest.json +688 -69
  60. package/docs/icon.md +9 -0
  61. package/docs/screen-patterns.md +18 -0
  62. package/docs/stable-core.md +22 -0
  63. package/docs/steps.md +4 -3
  64. package/docs/usage/README.md +28 -25
  65. package/docs/usage/SELECTION.md +1 -1
  66. package/docs/usage/components/auth-screen-layout.md +15 -5
  67. package/docs/usage/components/bottom-navigation.md +65 -2
  68. package/docs/usage/components/card.md +36 -5
  69. package/docs/usage/components/carousel.md +1 -0
  70. package/docs/usage/components/chat-date-separator.md +86 -0
  71. package/docs/usage/components/chat-message.md +10 -1
  72. package/docs/usage/components/chat-screen.md +3 -2
  73. package/docs/usage/components/comment-thread-row.md +11 -3
  74. package/docs/usage/components/comment-thread-screen.md +1 -1
  75. package/docs/usage/components/dialog.md +69 -0
  76. package/docs/usage/components/editor-screen.md +6 -2
  77. package/docs/usage/components/field.md +13 -0
  78. package/docs/usage/components/icon-button.md +1 -0
  79. package/docs/usage/components/icon-tile.md +10 -1
  80. package/docs/usage/components/icon.md +45 -6
  81. package/docs/usage/components/image-choice-group.md +3 -1
  82. package/docs/usage/components/media-selection-screen.md +17 -0
  83. package/docs/usage/components/message-composer.md +4 -1
  84. package/docs/usage/components/moderation-screen.md +88 -2
  85. package/docs/usage/components/page-indicator.md +102 -0
  86. package/docs/usage/components/profile-screen.md +9 -3
  87. package/docs/usage/components/profile-summary.md +3 -3
  88. package/docs/usage/components/screen-layout.md +9 -0
  89. package/docs/usage/components/steps.md +14 -7
  90. package/docs/usage/components/tabs.md +21 -1
  91. package/docs/usage/components/text.md +30 -1
  92. package/docs/usage/components/typing-indicator.md +89 -0
  93. package/docs/usage/screens/common-login.md +3 -1
  94. package/docs/usage/screens/common-profile.md +3 -3
  95. package/docs/usage/screens/flow-editor.md +13 -2
  96. package/docs/usage/screens/flow-moderation.md +31 -3
  97. package/package.json +2 -1
package/dist/catalog.d.ts CHANGED
@@ -33,6 +33,17 @@ export type ComponentCatalogEntry = Readonly<{
33
33
  nonVisualEvidence?: ComponentNonVisualEvidence;
34
34
  /** Why the row exists at its current maturity and what event moves it forward. */
35
35
  roadmap?: ComponentRoadmap;
36
+ /**
37
+ * Stable kebab-case id. Defaults to the kebab form of `name` (`componentIdOf`). Set it only when a row
38
+ * was renamed after its id shipped, so documentation keys and consumer catalog snapshots survive.
39
+ */
40
+ id?: string;
41
+ /** Purpose-based Korean item name used by both Storybooks (docs/STORYBOOK_NAVIGATION.md §1.3). */
42
+ label?: string;
43
+ /** Public renderer symbols that are named regions or variants of this contract, not rows of their own. */
44
+ companions?: readonly string[];
45
+ /** Optional extensions that reuse this contract without inheriting its maturity (public-component-map.md). */
46
+ extensions?: readonly string[];
36
47
  /**
37
48
  * 만들지 않기로 **확정한** 항목의 사유. `status`는 구현 성숙도 축이고 이것은
38
49
  * "만들 것인가"라는 다른 질문이라 직교 필드로 둔다.
@@ -75,6 +86,9 @@ export declare const componentCatalog: readonly [{
75
86
  readonly native: "stable";
76
87
  };
77
88
  readonly name: "Text";
89
+ readonly label: "본문 글자";
90
+ readonly companions: readonly ["StatusText"];
91
+ readonly extensions: readonly ["GravityLetters"];
78
92
  readonly category: "foundation";
79
93
  readonly platform: "shared";
80
94
  readonly status: "stable";
@@ -87,6 +101,7 @@ export declare const componentCatalog: readonly [{
87
101
  readonly native: "unsupported";
88
102
  };
89
103
  readonly name: "TextFormat";
104
+ readonly label: "글자 서식";
90
105
  readonly category: "foundation";
91
106
  readonly platform: "web";
92
107
  readonly status: "stable";
@@ -98,6 +113,7 @@ export declare const componentCatalog: readonly [{
98
113
  readonly native: "stable";
99
114
  };
100
115
  readonly name: "Heading";
116
+ readonly label: "제목";
101
117
  readonly category: "foundation";
102
118
  readonly platform: "shared";
103
119
  readonly status: "stable";
@@ -108,6 +124,7 @@ export declare const componentCatalog: readonly [{
108
124
  readonly native: "stable";
109
125
  };
110
126
  readonly name: "Icon";
127
+ readonly label: "아이콘";
111
128
  readonly category: "foundation";
112
129
  readonly platform: "shared";
113
130
  readonly status: "stable";
@@ -118,6 +135,7 @@ export declare const componentCatalog: readonly [{
118
135
  readonly native: "stable";
119
136
  };
120
137
  readonly name: "Surface";
138
+ readonly label: "배경 영역";
121
139
  readonly category: "layout";
122
140
  readonly platform: "shared";
123
141
  readonly status: "stable";
@@ -128,6 +146,7 @@ export declare const componentCatalog: readonly [{
128
146
  readonly native: "stable";
129
147
  };
130
148
  readonly name: "Divider";
149
+ readonly label: "구분선";
131
150
  readonly category: "layout";
132
151
  readonly platform: "shared";
133
152
  readonly status: "stable";
@@ -138,6 +157,7 @@ export declare const componentCatalog: readonly [{
138
157
  readonly native: "stable";
139
158
  };
140
159
  readonly name: "Section";
160
+ readonly label: "섹션";
141
161
  readonly category: "layout";
142
162
  readonly platform: "shared";
143
163
  readonly status: "stable";
@@ -149,6 +169,7 @@ export declare const componentCatalog: readonly [{
149
169
  readonly native: "stable";
150
170
  };
151
171
  readonly name: "Stack";
172
+ readonly label: "가로·세로 배치";
152
173
  readonly category: "layout";
153
174
  readonly platform: "shared";
154
175
  readonly status: "stable";
@@ -159,6 +180,7 @@ export declare const componentCatalog: readonly [{
159
180
  readonly native: "stable";
160
181
  };
161
182
  readonly name: "Container";
183
+ readonly label: "컨테이너";
162
184
  readonly category: "layout";
163
185
  readonly platform: "shared";
164
186
  readonly status: "stable";
@@ -173,6 +195,7 @@ export declare const componentCatalog: readonly [{
173
195
  readonly native: "stable";
174
196
  };
175
197
  readonly name: "AspectRatio";
198
+ readonly label: "화면 비율";
176
199
  readonly category: "layout";
177
200
  readonly platform: "shared";
178
201
  readonly status: "stable";
@@ -187,6 +210,7 @@ export declare const componentCatalog: readonly [{
187
210
  readonly native: "stable";
188
211
  };
189
212
  readonly name: "Grid";
213
+ readonly label: "격자";
190
214
  readonly category: "layout";
191
215
  readonly platform: "adaptive";
192
216
  readonly status: "stable";
@@ -203,6 +227,7 @@ export declare const componentCatalog: readonly [{
203
227
  readonly native: "stable";
204
228
  };
205
229
  readonly name: "Layout";
230
+ readonly label: "화면 기본 구조";
206
231
  readonly category: "layout";
207
232
  readonly platform: "adaptive";
208
233
  readonly status: "stable";
@@ -214,6 +239,7 @@ export declare const componentCatalog: readonly [{
214
239
  readonly native: "stable";
215
240
  };
216
241
  readonly name: "Top";
242
+ readonly label: "화면 제목과 설명";
217
243
  readonly category: "layout";
218
244
  readonly platform: "adaptive";
219
245
  readonly status: "stable";
@@ -224,6 +250,7 @@ export declare const componentCatalog: readonly [{
224
250
  readonly native: "stable";
225
251
  };
226
252
  readonly name: "Masonry";
253
+ readonly label: "높이가 다른 카드 배치";
227
254
  readonly category: "layout";
228
255
  readonly platform: "adaptive";
229
256
  readonly status: "stable";
@@ -240,6 +267,7 @@ export declare const componentCatalog: readonly [{
240
267
  readonly native: "unsupported";
241
268
  };
242
269
  readonly name: "Splitter";
270
+ readonly label: "분할 영역 조절";
243
271
  readonly category: "layout";
244
272
  readonly platform: "web";
245
273
  readonly status: "stable";
@@ -250,6 +278,9 @@ export declare const componentCatalog: readonly [{
250
278
  readonly native: "stable";
251
279
  };
252
280
  readonly name: "Button";
281
+ readonly label: "버튼";
282
+ readonly companions: readonly ["ClipboardButton"];
283
+ readonly extensions: readonly ["ReactionPicker", "InlineConfirm"];
253
284
  readonly category: "action";
254
285
  readonly platform: "shared";
255
286
  readonly status: "stable";
@@ -260,6 +291,9 @@ export declare const componentCatalog: readonly [{
260
291
  readonly native: "stable";
261
292
  };
262
293
  readonly name: "IconButton";
294
+ readonly label: "아이콘 버튼";
295
+ readonly companions: readonly ["ClipboardIconButton"];
296
+ readonly extensions: readonly ["NotificationBell"];
263
297
  readonly category: "action";
264
298
  readonly platform: "shared";
265
299
  readonly status: "stable";
@@ -271,6 +305,7 @@ export declare const componentCatalog: readonly [{
271
305
  readonly native: "stable";
272
306
  };
273
307
  readonly name: "Link";
308
+ readonly label: "링크";
274
309
  readonly category: "action";
275
310
  readonly platform: "adaptive";
276
311
  readonly status: "stable";
@@ -281,6 +316,7 @@ export declare const componentCatalog: readonly [{
281
316
  readonly native: "stable";
282
317
  };
283
318
  readonly name: "BottomCTA";
319
+ readonly label: "하단 실행 버튼";
284
320
  readonly category: "action";
285
321
  readonly platform: "adaptive";
286
322
  readonly status: "stable";
@@ -297,6 +333,7 @@ export declare const componentCatalog: readonly [{
297
333
  readonly native: "stable";
298
334
  };
299
335
  readonly name: "FloatingActionButton";
336
+ readonly label: "플로팅 실행 버튼";
300
337
  readonly category: "action";
301
338
  readonly platform: "adaptive";
302
339
  readonly status: "stable";
@@ -313,6 +350,9 @@ export declare const componentCatalog: readonly [{
313
350
  readonly native: "stable";
314
351
  };
315
352
  readonly name: "AuthScreenLayout";
353
+ readonly label: "로그인 화면";
354
+ readonly id: "auth-screen";
355
+ readonly companions: readonly ["AuthScreenHero", "AuthScreenFooter"];
316
356
  readonly category: "layout";
317
357
  readonly platform: "adaptive";
318
358
  readonly status: "stable";
@@ -329,6 +369,7 @@ export declare const componentCatalog: readonly [{
329
369
  readonly native: "stable";
330
370
  };
331
371
  readonly name: "AuthProviderButton";
372
+ readonly label: "소셜 로그인 버튼";
332
373
  readonly category: "action";
333
374
  readonly platform: "adaptive";
334
375
  readonly status: "stable";
@@ -340,6 +381,9 @@ export declare const componentCatalog: readonly [{
340
381
  readonly native: "stable";
341
382
  };
342
383
  readonly name: "Field";
384
+ readonly label: "입력 필드";
385
+ readonly companions: readonly ["TextField"];
386
+ readonly extensions: readonly ["FieldGroup", "DateEntry", "GestureSheetInput"];
343
387
  readonly category: "input";
344
388
  readonly platform: "shared";
345
389
  readonly status: "stable";
@@ -351,6 +395,7 @@ export declare const componentCatalog: readonly [{
351
395
  readonly native: "stable";
352
396
  };
353
397
  readonly name: "SearchField";
398
+ readonly label: "검색 입력";
354
399
  readonly category: "input";
355
400
  readonly platform: "shared";
356
401
  readonly status: "stable";
@@ -361,6 +406,7 @@ export declare const componentCatalog: readonly [{
361
406
  readonly native: "stable";
362
407
  };
363
408
  readonly name: "TextArea";
409
+ readonly label: "여러 줄 입력";
364
410
  readonly category: "input";
365
411
  readonly platform: "shared";
366
412
  readonly status: "stable";
@@ -373,6 +419,7 @@ export declare const componentCatalog: readonly [{
373
419
  readonly native: "stable";
374
420
  };
375
421
  readonly name: "PasswordField";
422
+ readonly label: "비밀번호 입력";
376
423
  readonly category: "input";
377
424
  readonly platform: "adaptive";
378
425
  readonly status: "stable";
@@ -385,6 +432,7 @@ export declare const componentCatalog: readonly [{
385
432
  readonly native: "stable";
386
433
  };
387
434
  readonly name: "OtpField";
435
+ readonly label: "인증번호 입력";
388
436
  readonly category: "input";
389
437
  readonly platform: "adaptive";
390
438
  readonly status: "stable";
@@ -396,6 +444,7 @@ export declare const componentCatalog: readonly [{
396
444
  readonly native: "stable";
397
445
  };
398
446
  readonly name: "Checkbox";
447
+ readonly label: "체크박스";
399
448
  readonly category: "input";
400
449
  readonly platform: "shared";
401
450
  readonly status: "stable";
@@ -406,6 +455,7 @@ export declare const componentCatalog: readonly [{
406
455
  readonly native: "stable";
407
456
  };
408
457
  readonly name: "Radio";
458
+ readonly label: "라디오 버튼";
409
459
  readonly category: "input";
410
460
  readonly platform: "shared";
411
461
  readonly status: "stable";
@@ -417,6 +467,7 @@ export declare const componentCatalog: readonly [{
417
467
  readonly native: "stable";
418
468
  };
419
469
  readonly name: "CheckboxGroup";
470
+ readonly label: "체크박스 그룹";
420
471
  readonly category: "input";
421
472
  readonly platform: "shared";
422
473
  readonly status: "stable";
@@ -428,6 +479,7 @@ export declare const componentCatalog: readonly [{
428
479
  readonly native: "stable";
429
480
  };
430
481
  readonly name: "RadioGroup";
482
+ readonly label: "라디오 버튼 그룹";
431
483
  readonly category: "input";
432
484
  readonly platform: "shared";
433
485
  readonly status: "stable";
@@ -439,6 +491,7 @@ export declare const componentCatalog: readonly [{
439
491
  readonly native: "stable";
440
492
  };
441
493
  readonly name: "Switch";
494
+ readonly label: "스위치";
442
495
  readonly category: "input";
443
496
  readonly platform: "shared";
444
497
  readonly status: "stable";
@@ -450,6 +503,7 @@ export declare const componentCatalog: readonly [{
450
503
  readonly native: "stable";
451
504
  };
452
505
  readonly name: "Chip";
506
+ readonly label: "선택 칩";
453
507
  readonly category: "input";
454
508
  readonly platform: "shared";
455
509
  readonly status: "stable";
@@ -460,6 +514,7 @@ export declare const componentCatalog: readonly [{
460
514
  readonly native: "beta";
461
515
  };
462
516
  readonly name: "ImageChoiceGroup";
517
+ readonly label: "이미지 선택";
463
518
  readonly category: "input";
464
519
  readonly platform: "shared";
465
520
  readonly status: "beta";
@@ -471,6 +526,7 @@ export declare const componentCatalog: readonly [{
471
526
  readonly native: "stable";
472
527
  };
473
528
  readonly name: "SegmentedControl";
529
+ readonly label: "버튼형 선택";
474
530
  readonly category: "input";
475
531
  readonly platform: "shared";
476
532
  readonly status: "stable";
@@ -486,6 +542,7 @@ export declare const componentCatalog: readonly [{
486
542
  readonly native: "stable";
487
543
  };
488
544
  readonly name: "ToggleGroup";
545
+ readonly label: "토글 그룹";
489
546
  readonly category: "input";
490
547
  readonly platform: "adaptive";
491
548
  readonly status: "stable";
@@ -502,6 +559,7 @@ export declare const componentCatalog: readonly [{
502
559
  readonly native: "stable";
503
560
  };
504
561
  readonly name: "TagsInput";
562
+ readonly label: "태그 입력";
505
563
  readonly category: "input";
506
564
  readonly platform: "adaptive";
507
565
  readonly status: "stable";
@@ -517,6 +575,7 @@ export declare const componentCatalog: readonly [{
517
575
  readonly native: "stable";
518
576
  };
519
577
  readonly name: "Slider";
578
+ readonly label: "슬라이더";
520
579
  readonly category: "input";
521
580
  readonly platform: "shared";
522
581
  readonly status: "stable";
@@ -528,6 +587,8 @@ export declare const componentCatalog: readonly [{
528
587
  readonly native: "stable";
529
588
  };
530
589
  readonly name: "NumberField";
590
+ readonly label: "숫자 입력";
591
+ readonly extensions: readonly ["DurationField"];
531
592
  readonly category: "input";
532
593
  readonly platform: "shared";
533
594
  readonly status: "stable";
@@ -539,6 +600,8 @@ export declare const componentCatalog: readonly [{
539
600
  readonly native: "stable";
540
601
  };
541
602
  readonly name: "Select";
603
+ readonly label: "목록에서 선택";
604
+ readonly companions: readonly ["NativeSelect"];
542
605
  readonly category: "input";
543
606
  readonly platform: "adaptive";
544
607
  readonly status: "stable";
@@ -554,6 +617,7 @@ export declare const componentCatalog: readonly [{
554
617
  readonly native: "stable";
555
618
  };
556
619
  readonly name: "Combobox";
620
+ readonly label: "검색형 선택";
557
621
  readonly category: "input";
558
622
  readonly platform: "adaptive";
559
623
  readonly status: "stable";
@@ -565,6 +629,7 @@ export declare const componentCatalog: readonly [{
565
629
  readonly native: "stable";
566
630
  };
567
631
  readonly name: "DatePicker";
632
+ readonly label: "날짜 선택";
568
633
  readonly category: "input";
569
634
  readonly platform: "adaptive";
570
635
  readonly status: "stable";
@@ -577,6 +642,7 @@ export declare const componentCatalog: readonly [{
577
642
  readonly native: "stable";
578
643
  };
579
644
  readonly name: "DateRangePicker";
645
+ readonly label: "기간 선택";
580
646
  readonly category: "input";
581
647
  readonly platform: "adaptive";
582
648
  readonly status: "stable";
@@ -587,6 +653,7 @@ export declare const componentCatalog: readonly [{
587
653
  readonly native: "unsupported";
588
654
  };
589
655
  readonly name: "ColorPicker";
656
+ readonly label: "색상 선택기";
590
657
  readonly category: "input";
591
658
  readonly platform: "web";
592
659
  readonly status: "stable";
@@ -603,6 +670,7 @@ export declare const componentCatalog: readonly [{
603
670
  readonly native: "stable";
604
671
  };
605
672
  readonly name: "FilePicker";
673
+ readonly label: "파일 선택";
606
674
  readonly category: "input";
607
675
  readonly platform: "adaptive";
608
676
  readonly status: "stable";
@@ -614,6 +682,7 @@ export declare const componentCatalog: readonly [{
614
682
  readonly native: "stable";
615
683
  };
616
684
  readonly name: "Form";
685
+ readonly label: "입력 양식";
617
686
  readonly category: "input";
618
687
  readonly platform: "shared";
619
688
  readonly status: "stable";
@@ -629,6 +698,7 @@ export declare const componentCatalog: readonly [{
629
698
  readonly native: "stable";
630
699
  };
631
700
  readonly name: "Agreement";
701
+ readonly label: "약관 동의";
632
702
  readonly category: "input";
633
703
  readonly platform: "adaptive";
634
704
  readonly status: "stable";
@@ -640,6 +710,7 @@ export declare const componentCatalog: readonly [{
640
710
  readonly native: "stable";
641
711
  };
642
712
  readonly name: "Mentions";
713
+ readonly label: "사용자 언급";
643
714
  readonly category: "input";
644
715
  readonly platform: "adaptive";
645
716
  readonly status: "stable";
@@ -652,6 +723,7 @@ export declare const componentCatalog: readonly [{
652
723
  readonly native: "stable";
653
724
  };
654
725
  readonly name: "TransferList";
726
+ readonly label: "목록 간 항목 이동";
655
727
  readonly category: "input";
656
728
  readonly platform: "adaptive";
657
729
  readonly status: "stable";
@@ -663,6 +735,7 @@ export declare const componentCatalog: readonly [{
663
735
  readonly native: "stable";
664
736
  };
665
737
  readonly name: "UploadItem";
738
+ readonly label: "업로드 항목";
666
739
  readonly category: "data-display";
667
740
  readonly platform: "shared";
668
741
  readonly status: "stable";
@@ -678,6 +751,8 @@ export declare const componentCatalog: readonly [{
678
751
  readonly native: "stable";
679
752
  };
680
753
  readonly name: "Tabs";
754
+ readonly label: "탭";
755
+ readonly companions: readonly ["TabPanel"];
681
756
  readonly category: "navigation";
682
757
  readonly platform: "shared";
683
758
  readonly status: "stable";
@@ -688,6 +763,8 @@ export declare const componentCatalog: readonly [{
688
763
  readonly native: "stable";
689
764
  };
690
765
  readonly name: "TopBar";
766
+ readonly label: "상단 탐색 막대";
767
+ readonly companions: readonly ["NavigationBar", "TopBarAction"];
691
768
  readonly category: "navigation";
692
769
  readonly platform: "adaptive";
693
770
  readonly status: "stable";
@@ -700,6 +777,7 @@ export declare const componentCatalog: readonly [{
700
777
  readonly native: "unsupported";
701
778
  };
702
779
  readonly name: "Sidebar";
780
+ readonly label: "사이드바";
703
781
  readonly category: "navigation";
704
782
  readonly platform: "web";
705
783
  readonly status: "stable";
@@ -715,6 +793,8 @@ export declare const componentCatalog: readonly [{
715
793
  readonly native: "stable";
716
794
  };
717
795
  readonly name: "BottomNavigation";
796
+ readonly label: "하단 탐색";
797
+ readonly companions: readonly ["BottomNavigationInsetProvider"];
718
798
  readonly category: "navigation";
719
799
  readonly platform: "adaptive";
720
800
  readonly status: "stable";
@@ -726,9 +806,21 @@ export declare const componentCatalog: readonly [{
726
806
  readonly native: "unsupported";
727
807
  };
728
808
  readonly name: "Breadcrumb";
809
+ readonly label: "이동 경로";
729
810
  readonly category: "navigation";
730
811
  readonly platform: "web";
731
812
  readonly status: "stable";
813
+ }, {
814
+ readonly recipe: "carouselRecipe";
815
+ readonly surfaceStatus: {
816
+ readonly web: "beta";
817
+ readonly native: "beta";
818
+ };
819
+ readonly name: "PageIndicator";
820
+ readonly label: "페이지 위치 표시";
821
+ readonly category: "navigation";
822
+ readonly platform: "shared";
823
+ readonly status: "beta";
732
824
  }, {
733
825
  readonly recipe: "paginationRecipe";
734
826
  readonly behavior: "pagination";
@@ -737,6 +829,7 @@ export declare const componentCatalog: readonly [{
737
829
  readonly native: "beta";
738
830
  };
739
831
  readonly name: "Pagination";
832
+ readonly label: "페이지 이동";
740
833
  readonly category: "navigation";
741
834
  readonly platform: "shared";
742
835
  readonly status: "stable";
@@ -752,6 +845,7 @@ export declare const componentCatalog: readonly [{
752
845
  readonly native: "stable";
753
846
  };
754
847
  readonly name: "LoadMore";
848
+ readonly label: "더 보기";
755
849
  readonly category: "navigation";
756
850
  readonly platform: "shared";
757
851
  readonly status: "stable";
@@ -766,6 +860,8 @@ export declare const componentCatalog: readonly [{
766
860
  readonly native: "stable";
767
861
  };
768
862
  readonly name: "Steps";
863
+ readonly label: "단계 탐색";
864
+ readonly extensions: readonly ["StepPlayer"];
769
865
  readonly category: "navigation";
770
866
  readonly platform: "shared";
771
867
  readonly status: "stable";
@@ -777,6 +873,7 @@ export declare const componentCatalog: readonly [{
777
873
  readonly native: "unsupported";
778
874
  };
779
875
  readonly name: "Menubar";
876
+ readonly label: "메뉴 막대";
780
877
  readonly category: "navigation";
781
878
  readonly platform: "web";
782
879
  readonly status: "stable";
@@ -788,6 +885,8 @@ export declare const componentCatalog: readonly [{
788
885
  readonly native: "unsupported";
789
886
  };
790
887
  readonly name: "ContextMenu";
888
+ readonly label: "상황별 메뉴";
889
+ readonly extensions: readonly ["NativeContextMenu"];
791
890
  readonly category: "navigation";
792
891
  readonly platform: "web";
793
892
  readonly status: "stable";
@@ -800,6 +899,8 @@ export declare const componentCatalog: readonly [{
800
899
  readonly native: "stable";
801
900
  };
802
901
  readonly name: "Menu";
902
+ readonly label: "메뉴";
903
+ readonly extensions: readonly ["MorphingMenu"];
803
904
  readonly category: "navigation";
804
905
  readonly platform: "adaptive";
805
906
  readonly status: "stable";
@@ -811,6 +912,7 @@ export declare const componentCatalog: readonly [{
811
912
  readonly native: "unsupported";
812
913
  };
813
914
  readonly name: "Anchor";
915
+ readonly label: "문서 내 바로가기";
814
916
  readonly category: "navigation";
815
917
  readonly platform: "web";
816
918
  readonly status: "stable";
@@ -821,6 +923,8 @@ export declare const componentCatalog: readonly [{
821
923
  readonly native: "stable";
822
924
  };
823
925
  readonly name: "Avatar";
926
+ readonly label: "아바타";
927
+ readonly companions: readonly ["AvatarGroup"];
824
928
  readonly category: "data-display";
825
929
  readonly platform: "shared";
826
930
  readonly status: "stable";
@@ -837,6 +941,9 @@ export declare const componentCatalog: readonly [{
837
941
  readonly native: "stable";
838
942
  };
839
943
  readonly name: "Asset";
944
+ readonly label: "이미지·영상 표시";
945
+ readonly companions: readonly ["AssetGroup"];
946
+ readonly extensions: readonly ["VoiceNote"];
840
947
  readonly category: "data-display";
841
948
  readonly platform: "adaptive";
842
949
  readonly status: "stable";
@@ -847,6 +954,7 @@ export declare const componentCatalog: readonly [{
847
954
  readonly native: "stable";
848
955
  };
849
956
  readonly name: "Badge";
957
+ readonly label: "배지";
850
958
  readonly category: "data-display";
851
959
  readonly platform: "shared";
852
960
  readonly status: "stable";
@@ -857,6 +965,7 @@ export declare const componentCatalog: readonly [{
857
965
  readonly native: "stable";
858
966
  };
859
967
  readonly name: "CounterBadge";
968
+ readonly label: "숫자 배지";
860
969
  readonly category: "data-display";
861
970
  readonly platform: "shared";
862
971
  readonly status: "stable";
@@ -867,6 +976,8 @@ export declare const componentCatalog: readonly [{
867
976
  readonly native: "stable";
868
977
  };
869
978
  readonly name: "Card";
979
+ readonly label: "카드";
980
+ readonly extensions: readonly ["DocumentResource"];
870
981
  readonly category: "data-display";
871
982
  readonly platform: "shared";
872
983
  readonly status: "stable";
@@ -877,6 +988,9 @@ export declare const componentCatalog: readonly [{
877
988
  readonly native: "stable";
878
989
  };
879
990
  readonly name: "List";
991
+ readonly label: "목록";
992
+ readonly companions: readonly ["CollectionRail"];
993
+ readonly extensions: readonly ["TaskList"];
880
994
  readonly category: "data-display";
881
995
  readonly platform: "shared";
882
996
  readonly status: "stable";
@@ -887,6 +1001,7 @@ export declare const componentCatalog: readonly [{
887
1001
  readonly native: "stable";
888
1002
  };
889
1003
  readonly name: "ListRow";
1004
+ readonly label: "목록 행";
890
1005
  readonly category: "data-display";
891
1006
  readonly platform: "shared";
892
1007
  readonly status: "stable";
@@ -898,6 +1013,7 @@ export declare const componentCatalog: readonly [{
898
1013
  readonly native: "stable";
899
1014
  };
900
1015
  readonly name: "VirtualList";
1016
+ readonly label: "가상 목록";
901
1017
  readonly category: "data-display";
902
1018
  readonly platform: "adaptive";
903
1019
  readonly status: "stable";
@@ -910,6 +1026,9 @@ export declare const componentCatalog: readonly [{
910
1026
  readonly native: "stable";
911
1027
  };
912
1028
  readonly name: "Collapsible";
1029
+ readonly label: "접기와 펼치기";
1030
+ readonly companions: readonly ["CollapsibleMarker"];
1031
+ readonly extensions: readonly ["FolderPreview"];
913
1032
  readonly category: "data-display";
914
1033
  readonly platform: "adaptive";
915
1034
  readonly status: "stable";
@@ -925,6 +1044,7 @@ export declare const componentCatalog: readonly [{
925
1044
  readonly native: "stable";
926
1045
  };
927
1046
  readonly name: "Accordion";
1047
+ readonly label: "아코디언";
928
1048
  readonly category: "data-display";
929
1049
  readonly platform: "shared";
930
1050
  readonly status: "stable";
@@ -935,6 +1055,9 @@ export declare const componentCatalog: readonly [{
935
1055
  readonly native: "stable";
936
1056
  };
937
1057
  readonly name: "Statistic";
1058
+ readonly label: "수치 표시";
1059
+ readonly companions: readonly ["StatisticGroup"];
1060
+ readonly extensions: readonly ["AnimatedStatistic"];
938
1061
  readonly category: "data-display";
939
1062
  readonly platform: "shared";
940
1063
  readonly status: "stable";
@@ -949,6 +1072,7 @@ export declare const componentCatalog: readonly [{
949
1072
  readonly native: "stable";
950
1073
  };
951
1074
  readonly name: "Timeline";
1075
+ readonly label: "타임라인";
952
1076
  readonly category: "data-display";
953
1077
  readonly platform: "shared";
954
1078
  readonly status: "stable";
@@ -960,6 +1084,8 @@ export declare const componentCatalog: readonly [{
960
1084
  readonly native: "beta";
961
1085
  };
962
1086
  readonly name: "DataTable";
1087
+ readonly label: "데이터 표";
1088
+ readonly companions: readonly ["Table", "LineScore", "MatrixTable", "ComparisonTable"];
963
1089
  readonly category: "data-display";
964
1090
  readonly platform: "shared";
965
1091
  readonly status: "stable";
@@ -971,6 +1097,8 @@ export declare const componentCatalog: readonly [{
971
1097
  readonly native: "beta";
972
1098
  };
973
1099
  readonly name: "Chart";
1100
+ readonly label: "차트";
1101
+ readonly companions: readonly ["LineChart", "BarChart", "PieChart", "RadarChart", "ScatterChart", "Sparkline", "ChartLegend"];
974
1102
  readonly category: "data-display";
975
1103
  readonly platform: "shared";
976
1104
  readonly status: "beta";
@@ -982,6 +1110,7 @@ export declare const componentCatalog: readonly [{
982
1110
  readonly native: "unsupported";
983
1111
  };
984
1112
  readonly name: "Tree";
1113
+ readonly label: "트리 목록";
985
1114
  readonly category: "data-display";
986
1115
  readonly platform: "web";
987
1116
  readonly status: "stable";
@@ -993,6 +1122,7 @@ export declare const componentCatalog: readonly [{
993
1122
  readonly native: "stable";
994
1123
  };
995
1124
  readonly name: "Calendar";
1125
+ readonly label: "달력";
996
1126
  readonly category: "data-display";
997
1127
  readonly platform: "shared";
998
1128
  readonly status: "stable";
@@ -1004,6 +1134,8 @@ export declare const componentCatalog: readonly [{
1004
1134
  readonly native: "stable";
1005
1135
  };
1006
1136
  readonly name: "Carousel";
1137
+ readonly label: "캐러셀";
1138
+ readonly extensions: readonly ["CarouselMotion"];
1007
1139
  readonly category: "data-display";
1008
1140
  readonly platform: "adaptive";
1009
1141
  readonly status: "stable";
@@ -1015,6 +1147,7 @@ export declare const componentCatalog: readonly [{
1015
1147
  readonly native: "stable";
1016
1148
  };
1017
1149
  readonly name: "DescriptionList";
1150
+ readonly label: "설명 목록";
1018
1151
  readonly category: "data-display";
1019
1152
  readonly platform: "shared";
1020
1153
  readonly status: "stable";
@@ -1029,6 +1162,8 @@ export declare const componentCatalog: readonly [{
1029
1162
  readonly native: "stable";
1030
1163
  };
1031
1164
  readonly name: "Image";
1165
+ readonly label: "이미지";
1166
+ readonly extensions: readonly ["GridReveal", "ImageViewer"];
1032
1167
  readonly category: "data-display";
1033
1168
  readonly platform: "shared";
1034
1169
  readonly status: "stable";
@@ -1039,6 +1174,7 @@ export declare const componentCatalog: readonly [{
1039
1174
  readonly native: "stable";
1040
1175
  };
1041
1176
  readonly name: "QRCode";
1177
+ readonly label: "큐알 코드";
1042
1178
  readonly category: "data-display";
1043
1179
  readonly platform: "shared";
1044
1180
  readonly status: "stable";
@@ -1049,6 +1185,7 @@ export declare const componentCatalog: readonly [{
1049
1185
  readonly native: "stable";
1050
1186
  };
1051
1187
  readonly name: "Tag";
1188
+ readonly label: "태그";
1052
1189
  readonly category: "data-display";
1053
1190
  readonly platform: "shared";
1054
1191
  readonly status: "stable";
@@ -1061,6 +1198,7 @@ export declare const componentCatalog: readonly [{
1061
1198
  readonly native: "unsupported";
1062
1199
  };
1063
1200
  readonly name: "Tour";
1201
+ readonly label: "사용 안내 둘러보기";
1064
1202
  readonly category: "overlay";
1065
1203
  readonly platform: "web";
1066
1204
  readonly status: "stable";
@@ -1071,6 +1209,7 @@ export declare const componentCatalog: readonly [{
1071
1209
  readonly native: "stable";
1072
1210
  };
1073
1211
  readonly name: "EmptyState";
1212
+ readonly label: "빈 상태";
1074
1213
  readonly category: "feedback";
1075
1214
  readonly platform: "shared";
1076
1215
  readonly status: "stable";
@@ -1081,6 +1220,7 @@ export declare const componentCatalog: readonly [{
1081
1220
  readonly native: "stable";
1082
1221
  };
1083
1222
  readonly name: "Notice";
1223
+ readonly label: "안내 메시지";
1084
1224
  readonly category: "feedback";
1085
1225
  readonly platform: "shared";
1086
1226
  readonly status: "stable";
@@ -1091,6 +1231,8 @@ export declare const componentCatalog: readonly [{
1091
1231
  readonly native: "stable";
1092
1232
  };
1093
1233
  readonly name: "Progress";
1234
+ readonly label: "진행 표시";
1235
+ readonly extensions: readonly ["ScrollProgress"];
1094
1236
  readonly category: "feedback";
1095
1237
  readonly platform: "shared";
1096
1238
  readonly status: "stable";
@@ -1101,6 +1243,7 @@ export declare const componentCatalog: readonly [{
1101
1243
  readonly native: "stable";
1102
1244
  };
1103
1245
  readonly name: "ThinkingOrb";
1246
+ readonly label: "생각 중 표시";
1104
1247
  readonly category: "feedback";
1105
1248
  readonly platform: "shared";
1106
1249
  readonly status: "stable";
@@ -1111,6 +1254,7 @@ export declare const componentCatalog: readonly [{
1111
1254
  readonly native: "stable";
1112
1255
  };
1113
1256
  readonly name: "Spinner";
1257
+ readonly label: "로딩 표시";
1114
1258
  readonly category: "feedback";
1115
1259
  readonly platform: "shared";
1116
1260
  readonly status: "stable";
@@ -1121,6 +1265,7 @@ export declare const componentCatalog: readonly [{
1121
1265
  readonly native: "stable";
1122
1266
  };
1123
1267
  readonly name: "Skeleton";
1268
+ readonly label: "스켈레톤";
1124
1269
  readonly category: "feedback";
1125
1270
  readonly platform: "shared";
1126
1271
  readonly status: "stable";
@@ -1131,6 +1276,7 @@ export declare const componentCatalog: readonly [{
1131
1276
  readonly native: "stable";
1132
1277
  };
1133
1278
  readonly name: "Result";
1279
+ readonly label: "결과 안내";
1134
1280
  readonly category: "feedback";
1135
1281
  readonly platform: "shared";
1136
1282
  readonly status: "stable";
@@ -1146,6 +1292,7 @@ export declare const componentCatalog: readonly [{
1146
1292
  readonly native: "stable";
1147
1293
  };
1148
1294
  readonly name: "BottomInfo";
1295
+ readonly label: "하단 안내";
1149
1296
  readonly category: "feedback";
1150
1297
  readonly platform: "adaptive";
1151
1298
  readonly status: "stable";
@@ -1158,6 +1305,8 @@ export declare const componentCatalog: readonly [{
1158
1305
  readonly native: "stable";
1159
1306
  };
1160
1307
  readonly name: "Toast";
1308
+ readonly label: "토스트";
1309
+ readonly companions: readonly ["ToastProvider", "ToastRegion"];
1161
1310
  readonly category: "feedback";
1162
1311
  readonly platform: "adaptive";
1163
1312
  readonly status: "stable";
@@ -1168,6 +1317,7 @@ export declare const componentCatalog: readonly [{
1168
1317
  readonly native: "unsupported";
1169
1318
  };
1170
1319
  readonly name: "Watermark";
1320
+ readonly label: "워터마크";
1171
1321
  readonly category: "feedback";
1172
1322
  readonly platform: "web";
1173
1323
  readonly status: "stable";
@@ -1179,6 +1329,8 @@ export declare const componentCatalog: readonly [{
1179
1329
  readonly native: "stable";
1180
1330
  };
1181
1331
  readonly name: "Dialog";
1332
+ readonly label: "대화상자";
1333
+ readonly companions: readonly ["OverlayStackProvider", "ImmersiveOverlay"];
1182
1334
  readonly category: "overlay";
1183
1335
  readonly platform: "adaptive";
1184
1336
  readonly status: "stable";
@@ -1190,6 +1342,7 @@ export declare const componentCatalog: readonly [{
1190
1342
  readonly native: "stable";
1191
1343
  };
1192
1344
  readonly name: "AlertDialog";
1345
+ readonly label: "확인 대화상자";
1193
1346
  readonly category: "overlay";
1194
1347
  readonly platform: "adaptive";
1195
1348
  readonly status: "stable";
@@ -1201,6 +1354,8 @@ export declare const componentCatalog: readonly [{
1201
1354
  readonly native: "stable";
1202
1355
  };
1203
1356
  readonly name: "Sheet";
1357
+ readonly label: "시트";
1358
+ readonly extensions: readonly ["GestureSheet", "GestureSheetProvider"];
1204
1359
  readonly category: "overlay";
1205
1360
  readonly platform: "adaptive";
1206
1361
  readonly status: "stable";
@@ -1212,6 +1367,7 @@ export declare const componentCatalog: readonly [{
1212
1367
  readonly native: "unsupported";
1213
1368
  };
1214
1369
  readonly name: "SidePanel";
1370
+ readonly label: "측면 패널";
1215
1371
  readonly category: "overlay";
1216
1372
  readonly platform: "web";
1217
1373
  readonly status: "stable";
@@ -1223,6 +1379,7 @@ export declare const componentCatalog: readonly [{
1223
1379
  readonly native: "unsupported";
1224
1380
  };
1225
1381
  readonly name: "Popover";
1382
+ readonly label: "팝오버";
1226
1383
  readonly category: "overlay";
1227
1384
  readonly platform: "web";
1228
1385
  readonly status: "stable";
@@ -1234,6 +1391,7 @@ export declare const componentCatalog: readonly [{
1234
1391
  readonly native: "unsupported";
1235
1392
  };
1236
1393
  readonly name: "Tooltip";
1394
+ readonly label: "툴팁";
1237
1395
  readonly category: "overlay";
1238
1396
  readonly platform: "web";
1239
1397
  readonly status: "stable";
@@ -1245,6 +1403,7 @@ export declare const componentCatalog: readonly [{
1245
1403
  readonly native: "unsupported";
1246
1404
  };
1247
1405
  readonly name: "CommandPalette";
1406
+ readonly label: "명령 검색";
1248
1407
  readonly category: "overlay";
1249
1408
  readonly platform: "web";
1250
1409
  readonly status: "stable";
@@ -1255,6 +1414,7 @@ export declare const componentCatalog: readonly [{
1255
1414
  readonly native: "unsupported";
1256
1415
  };
1257
1416
  readonly name: "Affix";
1417
+ readonly label: "고정 배치";
1258
1418
  readonly category: "utility";
1259
1419
  readonly platform: "web";
1260
1420
  readonly status: "stable";
@@ -1266,6 +1426,7 @@ export declare const componentCatalog: readonly [{
1266
1426
  readonly native: "stable";
1267
1427
  };
1268
1428
  readonly name: "DesignSystemProvider";
1429
+ readonly label: "디자인 시스템 설정";
1269
1430
  readonly category: "provider";
1270
1431
  readonly platform: "shared";
1271
1432
  readonly status: "stable";
@@ -1278,6 +1439,7 @@ export declare const componentCatalog: readonly [{
1278
1439
  readonly native: "unsupported";
1279
1440
  };
1280
1441
  readonly name: "SkipNav";
1442
+ readonly label: "본문 바로가기";
1281
1443
  readonly category: "utility";
1282
1444
  readonly platform: "web";
1283
1445
  readonly status: "stable";
@@ -1293,231 +1455,283 @@ export declare const componentCatalog: readonly [{
1293
1455
  readonly native: "unsupported";
1294
1456
  };
1295
1457
  readonly name: "VisuallyHidden";
1458
+ readonly label: "화면 읽기 도구용 글자";
1296
1459
  readonly category: "utility";
1297
1460
  readonly platform: "web";
1298
1461
  readonly status: "stable";
1299
1462
  }, {
1300
1463
  readonly recipe: "screenPatternRecipe";
1301
1464
  readonly surfaceStatus: {
1302
- readonly web: "beta";
1303
- readonly native: "beta";
1465
+ readonly web: "stable";
1466
+ readonly native: "stable";
1304
1467
  };
1305
1468
  readonly name: "ScreenLayout";
1469
+ readonly label: "화면 골격";
1306
1470
  readonly category: "layout";
1307
1471
  readonly platform: "adaptive";
1308
- readonly status: "beta";
1472
+ readonly status: "stable";
1309
1473
  }, {
1310
1474
  readonly recipe: "screenPatternRecipe";
1311
1475
  readonly surfaceStatus: {
1312
- readonly web: "beta";
1313
- readonly native: "beta";
1476
+ readonly web: "stable";
1477
+ readonly native: "stable";
1314
1478
  };
1315
1479
  readonly name: "CompositionLayout";
1480
+ readonly label: "구성 골격";
1316
1481
  readonly category: "layout";
1317
1482
  readonly platform: "adaptive";
1318
- readonly status: "beta";
1483
+ readonly status: "stable";
1319
1484
  }, {
1320
1485
  readonly recipe: "screenPatternRecipe";
1321
1486
  readonly surfaceStatus: {
1322
- readonly web: "beta";
1323
- readonly native: "beta";
1487
+ readonly web: "stable";
1488
+ readonly native: "stable";
1324
1489
  };
1325
1490
  readonly name: "SettingsScreen";
1491
+ readonly label: "설정 화면";
1326
1492
  readonly category: "layout";
1327
1493
  readonly platform: "adaptive";
1328
- readonly status: "beta";
1494
+ readonly status: "stable";
1329
1495
  }, {
1330
1496
  readonly recipe: "searchScreenRecipe";
1331
1497
  readonly surfaceStatus: {
1332
- readonly web: "beta";
1333
- readonly native: "beta";
1498
+ readonly web: "stable";
1499
+ readonly native: "stable";
1334
1500
  };
1335
1501
  readonly name: "SearchScreen";
1502
+ readonly label: "검색 화면";
1336
1503
  readonly category: "layout";
1337
1504
  readonly platform: "adaptive";
1338
- readonly status: "beta";
1505
+ readonly status: "stable";
1339
1506
  }, {
1340
1507
  readonly recipe: "screenPatternRecipe";
1341
1508
  readonly surfaceStatus: {
1342
- readonly web: "beta";
1343
- readonly native: "beta";
1509
+ readonly web: "stable";
1510
+ readonly native: "stable";
1344
1511
  };
1345
1512
  readonly name: "EditorScreen";
1513
+ readonly label: "편집 화면";
1346
1514
  readonly category: "layout";
1347
1515
  readonly platform: "adaptive";
1348
- readonly status: "beta";
1516
+ readonly status: "stable";
1349
1517
  }, {
1350
1518
  readonly recipe: "screenPatternRecipe";
1351
1519
  readonly surfaceStatus: {
1352
- readonly web: "beta";
1353
- readonly native: "beta";
1520
+ readonly web: "stable";
1521
+ readonly native: "stable";
1354
1522
  };
1355
1523
  readonly name: "PermissionScreen";
1524
+ readonly label: "권한 화면";
1356
1525
  readonly category: "layout";
1357
1526
  readonly platform: "adaptive";
1358
- readonly status: "beta";
1527
+ readonly status: "stable";
1359
1528
  }, {
1360
1529
  readonly recipe: "screenPatternRecipe";
1361
1530
  readonly surfaceStatus: {
1362
- readonly web: "beta";
1363
- readonly native: "beta";
1531
+ readonly web: "stable";
1532
+ readonly native: "stable";
1364
1533
  };
1365
1534
  readonly name: "OnboardingScreen";
1535
+ readonly label: "온보딩 화면";
1366
1536
  readonly category: "layout";
1367
1537
  readonly platform: "adaptive";
1368
- readonly status: "beta";
1538
+ readonly status: "stable";
1369
1539
  }, {
1370
1540
  readonly recipe: "screenPatternRecipe";
1371
1541
  readonly surfaceStatus: {
1372
- readonly web: "beta";
1373
- readonly native: "beta";
1542
+ readonly web: "stable";
1543
+ readonly native: "stable";
1374
1544
  };
1375
1545
  readonly name: "ModerationScreen";
1546
+ readonly label: "신고 화면";
1547
+ readonly companions: readonly ["ModerationForm"];
1376
1548
  readonly category: "layout";
1377
1549
  readonly platform: "adaptive";
1378
- readonly status: "beta";
1550
+ readonly status: "stable";
1379
1551
  }, {
1380
1552
  readonly recipe: "screenPatternRecipe";
1381
1553
  readonly surfaceStatus: {
1382
- readonly web: "beta";
1383
- readonly native: "beta";
1554
+ readonly web: "stable";
1555
+ readonly native: "stable";
1384
1556
  };
1385
1557
  readonly name: "ChatScreen";
1558
+ readonly label: "채팅 화면";
1386
1559
  readonly category: "layout";
1387
1560
  readonly platform: "adaptive";
1388
- readonly status: "beta";
1561
+ readonly status: "stable";
1389
1562
  }, {
1390
1563
  readonly recipe: "screenPatternRecipe";
1391
1564
  readonly surfaceStatus: {
1392
- readonly web: "beta";
1393
- readonly native: "beta";
1565
+ readonly web: "stable";
1566
+ readonly native: "stable";
1394
1567
  };
1395
1568
  readonly name: "NotificationInboxScreen";
1569
+ readonly label: "알림함 화면";
1396
1570
  readonly category: "layout";
1397
1571
  readonly platform: "adaptive";
1398
- readonly status: "beta";
1572
+ readonly status: "stable";
1399
1573
  }, {
1400
1574
  readonly recipe: "commentThreadRecipe";
1401
1575
  readonly surfaceStatus: {
1402
- readonly web: "beta";
1403
- readonly native: "beta";
1576
+ readonly web: "stable";
1577
+ readonly native: "stable";
1404
1578
  };
1405
1579
  readonly name: "CommentThreadScreen";
1580
+ readonly label: "댓글 화면";
1406
1581
  readonly category: "layout";
1407
1582
  readonly platform: "adaptive";
1408
- readonly status: "beta";
1583
+ readonly status: "stable";
1409
1584
  }, {
1410
1585
  readonly recipe: "screenPatternRecipe";
1411
1586
  readonly surfaceStatus: {
1412
- readonly web: "beta";
1413
- readonly native: "beta";
1587
+ readonly web: "stable";
1588
+ readonly native: "stable";
1414
1589
  };
1415
1590
  readonly name: "ListDetailScreen";
1591
+ readonly label: "목록 상세 화면";
1416
1592
  readonly category: "layout";
1417
1593
  readonly platform: "adaptive";
1418
- readonly status: "beta";
1594
+ readonly status: "stable";
1419
1595
  }, {
1420
1596
  readonly recipe: "screenPatternRecipe";
1421
1597
  readonly surfaceStatus: {
1422
- readonly web: "beta";
1423
- readonly native: "beta";
1598
+ readonly web: "stable";
1599
+ readonly native: "stable";
1424
1600
  };
1425
1601
  readonly name: "MediaSelectionScreen";
1602
+ readonly label: "미디어 선택 화면";
1603
+ readonly companions: readonly ["MediaSelectionCell"];
1426
1604
  readonly category: "layout";
1427
1605
  readonly platform: "adaptive";
1428
- readonly status: "beta";
1606
+ readonly status: "stable";
1429
1607
  }, {
1430
1608
  readonly recipe: "screenPatternRecipe";
1431
1609
  readonly surfaceStatus: {
1432
- readonly web: "beta";
1433
- readonly native: "beta";
1610
+ readonly web: "stable";
1611
+ readonly native: "stable";
1434
1612
  };
1435
1613
  readonly name: "ProfileScreen";
1614
+ readonly label: "프로필 화면";
1436
1615
  readonly category: "layout";
1437
1616
  readonly platform: "adaptive";
1438
- readonly status: "beta";
1617
+ readonly status: "stable";
1439
1618
  }, {
1440
1619
  readonly recipe: "chatMessageRecipe";
1441
1620
  readonly surfaceStatus: {
1442
- readonly web: "beta";
1443
- readonly native: "beta";
1621
+ readonly web: "stable";
1622
+ readonly native: "stable";
1444
1623
  };
1445
1624
  readonly name: "ChatMessage";
1625
+ readonly label: "채팅 말풍선";
1446
1626
  readonly category: "data-display";
1447
1627
  readonly platform: "adaptive";
1628
+ readonly status: "stable";
1629
+ }, {
1630
+ readonly recipe: "typingIndicatorRecipe";
1631
+ readonly surfaceStatus: {
1632
+ readonly web: "beta";
1633
+ readonly native: "beta";
1634
+ };
1635
+ readonly name: "TypingIndicator";
1636
+ readonly label: "입력 중 표시";
1637
+ readonly category: "feedback";
1638
+ readonly platform: "adaptive";
1448
1639
  readonly status: "beta";
1449
1640
  }, {
1450
- readonly recipe: "notificationRowRecipe";
1641
+ readonly recipe: "chatDateSeparatorRecipe";
1451
1642
  readonly surfaceStatus: {
1452
1643
  readonly web: "beta";
1453
1644
  readonly native: "beta";
1454
1645
  };
1455
- readonly name: "NotificationRow";
1646
+ readonly name: "ChatDateSeparator";
1647
+ readonly label: "대화 날짜 구분";
1456
1648
  readonly category: "data-display";
1457
1649
  readonly platform: "adaptive";
1458
1650
  readonly status: "beta";
1651
+ }, {
1652
+ readonly recipe: "notificationRowRecipe";
1653
+ readonly surfaceStatus: {
1654
+ readonly web: "stable";
1655
+ readonly native: "stable";
1656
+ };
1657
+ readonly name: "NotificationRow";
1658
+ readonly label: "알림 미리보기 행";
1659
+ readonly category: "data-display";
1660
+ readonly platform: "adaptive";
1661
+ readonly status: "stable";
1459
1662
  }, {
1460
1663
  readonly recipe: "listRowRecipe";
1461
1664
  readonly surfaceStatus: {
1462
- readonly web: "beta";
1463
- readonly native: "beta";
1665
+ readonly web: "stable";
1666
+ readonly native: "stable";
1464
1667
  };
1465
1668
  readonly name: "NotificationItem";
1669
+ readonly label: "알림 목록 항목";
1466
1670
  readonly category: "data-display";
1467
1671
  readonly platform: "adaptive";
1468
- readonly status: "beta";
1672
+ readonly status: "stable";
1469
1673
  }, {
1470
1674
  readonly recipe: "commentThreadRecipe";
1471
1675
  readonly surfaceStatus: {
1472
- readonly web: "beta";
1473
- readonly native: "beta";
1676
+ readonly web: "stable";
1677
+ readonly native: "stable";
1474
1678
  };
1475
1679
  readonly name: "CommentThreadRow";
1680
+ readonly label: "댓글 행";
1476
1681
  readonly category: "data-display";
1477
1682
  readonly platform: "adaptive";
1478
- readonly status: "beta";
1683
+ readonly status: "stable";
1479
1684
  }, {
1480
1685
  readonly recipe: "profileSummaryRecipe";
1481
1686
  readonly surfaceStatus: {
1482
- readonly web: "beta";
1483
- readonly native: "beta";
1687
+ readonly web: "stable";
1688
+ readonly native: "stable";
1484
1689
  };
1485
1690
  readonly name: "ProfileSummary";
1691
+ readonly label: "프로필 요약";
1486
1692
  readonly category: "data-display";
1487
1693
  readonly platform: "adaptive";
1488
- readonly status: "beta";
1694
+ readonly status: "stable";
1489
1695
  }, {
1490
1696
  readonly recipe: "iconTileRecipe";
1491
1697
  readonly surfaceStatus: {
1492
- readonly web: "beta";
1493
- readonly native: "beta";
1698
+ readonly web: "stable";
1699
+ readonly native: "stable";
1494
1700
  };
1495
1701
  readonly name: "IconTile";
1702
+ readonly label: "아이콘 타일";
1496
1703
  readonly category: "data-display";
1497
1704
  readonly platform: "adaptive";
1498
- readonly status: "beta";
1705
+ readonly status: "stable";
1499
1706
  }, {
1500
1707
  readonly recipe: "composerQuickInsertRecipe";
1501
1708
  readonly surfaceStatus: {
1502
- readonly web: "beta";
1503
- readonly native: "beta";
1709
+ readonly web: "stable";
1710
+ readonly native: "stable";
1504
1711
  };
1505
1712
  readonly name: "MessageComposer";
1713
+ readonly label: "메시지 작성창";
1506
1714
  readonly category: "input";
1507
1715
  readonly platform: "adaptive";
1508
- readonly status: "beta";
1716
+ readonly status: "stable";
1509
1717
  }, {
1510
1718
  readonly recipe: "sheetRecipe";
1511
1719
  readonly surfaceStatus: {
1512
- readonly web: "beta";
1513
- readonly native: "beta";
1720
+ readonly web: "stable";
1721
+ readonly native: "stable";
1514
1722
  };
1515
1723
  readonly name: "PhotoSourceSheet";
1724
+ readonly label: "사진 출처 시트";
1516
1725
  readonly category: "overlay";
1517
1726
  readonly platform: "adaptive";
1518
- readonly status: "beta";
1727
+ readonly status: "stable";
1519
1728
  }];
1520
1729
  export type ComponentName = (typeof componentCatalog)[number]["name"];
1730
+ /**
1731
+ * Kebab id of a catalog row: the explicit `id` override, else the kebab form of `name`
1732
+ * (QRCode → qr-code, BottomCTA → bottom-cta). `component-definitions.ts` mirrors this at the type level.
1733
+ */
1734
+ export declare function componentIdOf(entry: Pick<ComponentCatalogEntry, "name" | "id">): string;
1521
1735
  export declare function summarizeComponentRoadmap(entries?: readonly ComponentCatalogEntry[]): Readonly<Record<ComponentRoadmapState, number>>;
1522
1736
  /** One typed registry prevents catalog recipe names from drifting into strings. */
1523
1737
  export declare const recipeRegistry: {
@@ -1528,6 +1742,9 @@ export declare const recipeRegistry: {
1528
1742
  readonly ringWidth: 2;
1529
1743
  readonly ringOffset: 2;
1530
1744
  readonly checkSize: 20;
1745
+ readonly itemLabelGap: 4;
1746
+ readonly itemLabelVariant: "caption";
1747
+ readonly itemLabelLines: 1;
1531
1748
  };
1532
1749
  readonly affixRecipe: {
1533
1750
  readonly edge: "top";
@@ -2131,6 +2348,30 @@ export declare const recipeRegistry: {
2131
2348
  alpha?: number;
2132
2349
  }>;
2133
2350
  };
2351
+ readonly prominentDestination: {
2352
+ readonly diameter: number;
2353
+ readonly icon: "lg";
2354
+ readonly background: Readonly<{
2355
+ source: "theme";
2356
+ key: "primary";
2357
+ alpha?: number;
2358
+ }>;
2359
+ readonly content: Readonly<{
2360
+ source: "theme";
2361
+ key: "onPrimary";
2362
+ alpha?: number;
2363
+ }>;
2364
+ readonly shadow: {
2365
+ readonly color: "#000000";
2366
+ readonly opacity: 0.12;
2367
+ readonly radius: 12;
2368
+ readonly offsetY: 4;
2369
+ };
2370
+ };
2371
+ readonly iconSizes: {
2372
+ readonly large: 44;
2373
+ readonly xlarge: 52;
2374
+ };
2134
2375
  readonly adaptive: {
2135
2376
  readonly web: "fixed-compact-viewport";
2136
2377
  readonly native: "navigator-tab-bar";
@@ -4117,6 +4358,20 @@ export declare const recipeRegistry: {
4117
4358
  readonly reducedMotion: "instant";
4118
4359
  };
4119
4360
  };
4361
+ readonly immersive: {
4362
+ readonly background: Readonly<{
4363
+ source: "theme";
4364
+ key: "bg";
4365
+ alpha?: number;
4366
+ }>;
4367
+ readonly controls: {
4368
+ readonly padding: 16;
4369
+ readonly gap: 8;
4370
+ readonly actionGap: 12;
4371
+ };
4372
+ readonly orientations: readonly ["portrait", "landscape-left", "landscape-right"];
4373
+ readonly statusBarHidden: true;
4374
+ };
4120
4375
  };
4121
4376
  readonly dataTableRecipe: {
4122
4377
  readonly slots: readonly ["root", "header", "headerCell", "sortButton", "sortIcon", "row", "cell", "selectionCell", "emptyState", "errorState"];
@@ -7831,6 +8086,9 @@ export declare const recipeRegistry: {
7831
8086
  alpha?: number;
7832
8087
  }>;
7833
8088
  };
8089
+ readonly press: {
8090
+ readonly minTouchTarget: 44;
8091
+ };
7834
8092
  };
7835
8093
  readonly surfaceRecipe: {
7836
8094
  readonly default: {
@@ -7980,6 +8238,33 @@ export declare const recipeRegistry: {
7980
8238
  readonly size: "medium";
7981
8239
  readonly layout: "content";
7982
8240
  readonly overflow: "scroll";
8241
+ readonly indicator: "underline";
8242
+ };
8243
+ readonly indicators: {
8244
+ readonly underline: {
8245
+ readonly listDivider: true;
8246
+ readonly background: null;
8247
+ readonly selectedContent: Readonly<{
8248
+ source: "theme";
8249
+ key: "text";
8250
+ alpha?: number;
8251
+ }>;
8252
+ readonly radius: null;
8253
+ };
8254
+ readonly filled: {
8255
+ readonly listDivider: false;
8256
+ readonly background: Readonly<{
8257
+ source: "theme";
8258
+ key: "surfaceAccent";
8259
+ alpha?: number;
8260
+ }>;
8261
+ readonly selectedContent: Readonly<{
8262
+ source: "theme";
8263
+ key: "contentBrand";
8264
+ alpha?: number;
8265
+ }>;
8266
+ readonly radius: "full";
8267
+ };
7983
8268
  };
7984
8269
  readonly sizes: {
7985
8270
  readonly small: {
@@ -8915,6 +9200,13 @@ export declare const recipeRegistry: {
8915
9200
  readonly timelineInset: 10;
8916
9201
  readonly mediaWidth: 210;
8917
9202
  readonly mediaGap: 2;
9203
+ readonly reactionSummary: {
9204
+ readonly minHeight: 24;
9205
+ readonly paddingInline: 8;
9206
+ readonly itemGap: 4;
9207
+ readonly emojiGap: 2;
9208
+ readonly minCount: 2;
9209
+ };
8918
9210
  };
8919
9211
  readonly commentThreadRecipe: {
8920
9212
  readonly avatarSize: 32;
@@ -8926,6 +9218,7 @@ export declare const recipeRegistry: {
8926
9218
  readonly likeColumnWidth: 44;
8927
9219
  readonly mediaMaxWidth: 160;
8928
9220
  readonly mediaRadius: 12;
9221
+ readonly panelGap: 8;
8929
9222
  readonly menuGlyphSize: 20;
8930
9223
  readonly actionAnchor: {
8931
9224
  readonly authorTextVariant: "caption";
@@ -8945,6 +9238,10 @@ export declare const recipeRegistry: {
8945
9238
  };
8946
9239
  readonly profileSummaryRecipe: Readonly<{
8947
9240
  avatarSize: 72;
9241
+ editAction: Readonly<{
9242
+ readonly tone: "secondary";
9243
+ readonly size: "small";
9244
+ }>;
8948
9245
  }>;
8949
9246
  readonly iconTileRecipe: Readonly<{
8950
9247
  iconSize: 64;
@@ -8954,12 +9251,33 @@ export declare const recipeRegistry: {
8954
9251
  ghostOpacity: 0.55;
8955
9252
  gap: 6;
8956
9253
  iconRadius: "22%";
9254
+ shapes: Readonly<Record<import("./screen-patterns.js").IconTileShape, number>>;
9255
+ fillMinSize: 48;
9256
+ fillMaxSize: 68;
9257
+ defaults: Readonly<{
9258
+ frame: import("./screen-patterns.js").IconTileFrame;
9259
+ shape: import("./screen-patterns.js").IconTileShape;
9260
+ size: import("./screen-patterns.js").IconTileSize;
9261
+ }>;
8957
9262
  }>;
8958
9263
  readonly composerQuickInsertRecipe: {
8959
9264
  readonly itemSize: 44;
8960
9265
  readonly emojiSize: 26;
8961
9266
  readonly gap: 8;
8962
9267
  };
9268
+ readonly typingIndicatorRecipe: {
9269
+ readonly dotSize: 6;
9270
+ readonly dotGap: 4;
9271
+ readonly cycleMs: 1200;
9272
+ readonly staggerMs: 160;
9273
+ readonly restOpacity: 0.35;
9274
+ };
9275
+ readonly chatDateSeparatorRecipe: {
9276
+ readonly paddingTop: 12;
9277
+ readonly paddingBottom: 4;
9278
+ readonly textVariant: "caption";
9279
+ readonly tone: "muted";
9280
+ };
8963
9281
  };
8964
9282
  export type RecipeName = keyof typeof recipeRegistry;
8965
9283
  //# sourceMappingURL=catalog.d.ts.map