@utopia-studio-design/design-system-cli 0.8.0 → 0.8.1

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 (240) hide show
  1. package/bin/utopia-ds-mcp.mjs +5 -15
  2. package/bin/utopia-ds.mjs +3 -16
  3. package/data/docs/create-a-brandbook.md +11 -1
  4. package/data/manifests/blocks.json +21 -230
  5. package/data/manifests/patterns.json +0 -330
  6. package/lib/api.mjs +6 -193
  7. package/lib/brandbook-validation.mjs +112 -0
  8. package/package.json +2 -2
  9. package/data/blocks/semantic-pattern-parts/AuthParts.tsx +0 -48
  10. package/data/blocks/semantic-pattern-parts/ChoiceCards.tsx +0 -7
  11. package/data/blocks/semantic-pattern-parts/ListFilters.tsx +0 -9
  12. package/data/blocks/semantic-pattern-parts/OutcomeNotice.tsx +0 -7
  13. package/data/blocks/semantic-pattern-parts/PatternParts.tsx +0 -7
  14. package/data/blocks/semantic-pattern-parts/ProductParts.tsx +0 -38
  15. package/data/blocks/semantic-pattern-parts/ProgressSteps.tsx +0 -6
  16. package/data/blocks/semantic-pattern-parts/ReviewList.tsx +0 -7
  17. package/data/blocks/semantic-pattern-parts/ValidatedField.tsx +0 -8
  18. package/data/blocks/semantic-pattern-parts/WorkflowParts.tsx +0 -339
  19. package/data/blocks/semantic-pattern-parts/auth-parts.css +0 -27
  20. package/data/blocks/semantic-pattern-parts/pattern-parts.css +0 -25
  21. package/data/blocks/semantic-pattern-parts/product-parts.css +0 -25
  22. package/data/blocks/semantic-pattern-parts/types.ts +0 -3
  23. package/data/blocks/semantic-pattern-parts/workflow-parts.css +0 -118
  24. package/data/blocks/ux-pattern-examples/AccessExamples.tsx +0 -46
  25. package/data/blocks/ux-pattern-examples/AccountExamples.tsx +0 -133
  26. package/data/blocks/ux-pattern-examples/OnboardingExample.tsx +0 -15
  27. package/data/blocks/ux-pattern-examples/ProductExamples.tsx +0 -79
  28. package/data/blocks/ux-pattern-examples/ReviewExample.tsx +0 -14
  29. package/data/blocks/ux-pattern-examples/SignupExample.tsx +0 -22
  30. package/data/blocks/ux-pattern-examples/WorkflowExample.tsx +0 -1761
  31. package/data/blocks/ux-pattern-examples/WorkflowExamples.tsx +0 -190
  32. package/data/blocks/ux-pattern-examples/copy.ts +0 -6
  33. package/data/blocks/ux-pattern-examples/ux-examples.css +0 -18
  34. package/data/blocks/ux-pattern-examples/workflow-copy.ts +0 -76
  35. package/data/blocks/ux-pattern-examples/workflow-definitions.ts +0 -1291
  36. package/data/docs/ui-parts-qa.md +0 -172
  37. package/data/docs/ui-parts.md +0 -105
  38. package/data/docs/ux-pattern-adaptation-qa.md +0 -38
  39. package/data/docs/ux-pattern-adaptation.md +0 -41
  40. package/data/docs/ux-pattern-migration.md +0 -111
  41. package/data/docs/ux-pattern-release-2026-09-13.md +0 -26
  42. package/data/docs/ux-source-evidence/account-auth.json +0 -41
  43. package/data/docs/ux-source-evidence/account-forgot-password.json +0 -36
  44. package/data/docs/ux-source-evidence/account-invite.json +0 -63
  45. package/data/docs/ux-source-evidence/account-locked.json +0 -63
  46. package/data/docs/ux-source-evidence/account-login.json +0 -28
  47. package/data/docs/ux-source-evidence/account-mfa.json +0 -62
  48. package/data/docs/ux-source-evidence/account-onboarding-credentials.json +0 -52
  49. package/data/docs/ux-source-evidence/account-onboarding-legal.json +0 -56
  50. package/data/docs/ux-source-evidence/account-onboarding-orientation.json +0 -66
  51. package/data/docs/ux-source-evidence/account-onboarding-profile.json +0 -50
  52. package/data/docs/ux-source-evidence/account-onboarding.json +0 -69
  53. package/data/docs/ux-source-evidence/account-reset-password.json +0 -27
  54. package/data/docs/ux-source-evidence/account-session-expired.json +0 -62
  55. package/data/docs/ux-source-evidence/account-signup.json +0 -33
  56. package/data/docs/ux-source-evidence/account-verify-email.json +0 -34
  57. package/data/docs/ux-source-evidence/account-welcome.json +0 -41
  58. package/data/docs/ux-source-evidence/admin-analytics.json +0 -54
  59. package/data/docs/ux-source-evidence/admin-audit.json +0 -31
  60. package/data/docs/ux-source-evidence/admin-broadcasts-new.json +0 -36
  61. package/data/docs/ux-source-evidence/admin-broadcasts.json +0 -41
  62. package/data/docs/ux-source-evidence/admin-closures.json +0 -52
  63. package/data/docs/ux-source-evidence/admin-devices.json +0 -51
  64. package/data/docs/ux-source-evidence/admin-escalations.json +0 -35
  65. package/data/docs/ux-source-evidence/admin-incidents.json +0 -54
  66. package/data/docs/ux-source-evidence/admin-loading.json +0 -17
  67. package/data/docs/ux-source-evidence/admin-onboarding-detail.json +0 -80
  68. package/data/docs/ux-source-evidence/admin-onboarding.json +0 -62
  69. package/data/docs/ux-source-evidence/admin-payments.json +0 -45
  70. package/data/docs/ux-source-evidence/admin-providers.json +0 -38
  71. package/data/docs/ux-source-evidence/admin-settings.json +0 -18
  72. package/data/docs/ux-source-evidence/admin-subscriptions-detail-allocate.json +0 -42
  73. package/data/docs/ux-source-evidence/admin-subscriptions-detail.json +0 -48
  74. package/data/docs/ux-source-evidence/admin-subscriptions-new.json +0 -43
  75. package/data/docs/ux-source-evidence/admin-subscriptions.json +0 -41
  76. package/data/docs/ux-source-evidence/admin-transactions.json +0 -41
  77. package/data/docs/ux-source-evidence/error.json +0 -30
  78. package/data/docs/ux-source-evidence/loading.json +0 -19
  79. package/data/docs/ux-source-evidence/marketing-blog.json +0 -48
  80. package/data/docs/ux-source-evidence/marketing-contact.json +0 -36
  81. package/data/docs/ux-source-evidence/marketing.json +0 -64
  82. package/data/docs/ux-source-evidence/not-found.json +0 -28
  83. package/data/docs/ux-source-evidence/portal-loading.json +0 -17
  84. package/data/docs/ux-source-evidence/portal-mentor-messages.json +0 -31
  85. package/data/docs/ux-source-evidence/portal-mentor-profile.json +0 -23
  86. package/data/docs/ux-source-evidence/portal-mentor-requests-detail.json +0 -54
  87. package/data/docs/ux-source-evidence/portal-mentor-sessions-detail-assess.json +0 -42
  88. package/data/docs/ux-source-evidence/portal-mentor-settings.json +0 -18
  89. package/data/docs/ux-source-evidence/portal-mentor.json +0 -38
  90. package/data/docs/ux-source-evidence/portal-sessions-detail-live.json +0 -48
  91. package/data/docs/ux-source-evidence/portal-sponsor-billing.json +0 -28
  92. package/data/docs/ux-source-evidence/portal-sponsor-profile.json +0 -22
  93. package/data/docs/ux-source-evidence/portal-sponsor-sessions.json +0 -28
  94. package/data/docs/ux-source-evidence/portal-sponsor-settings.json +0 -18
  95. package/data/docs/ux-source-evidence/portal-sponsor-trainees.json +0 -36
  96. package/data/docs/ux-source-evidence/portal-sponsor.json +0 -52
  97. package/data/docs/ux-source-evidence/portal-trainee-competency.json +0 -42
  98. package/data/docs/ux-source-evidence/portal-trainee-credits.json +0 -40
  99. package/data/docs/ux-source-evidence/portal-trainee-mentors.json +0 -48
  100. package/data/docs/ux-source-evidence/portal-trainee-messages.json +0 -32
  101. package/data/docs/ux-source-evidence/portal-trainee-notifications.json +0 -35
  102. package/data/docs/ux-source-evidence/portal-trainee-profile.json +0 -26
  103. package/data/docs/ux-source-evidence/portal-trainee-request.json +0 -54
  104. package/data/docs/ux-source-evidence/portal-trainee-sessions-detail-feedback.json +0 -36
  105. package/data/docs/ux-source-evidence/portal-trainee-sessions-detail-precheck.json +0 -42
  106. package/data/docs/ux-source-evidence/portal-trainee-sessions-detail.json +0 -55
  107. package/data/docs/ux-source-evidence/portal-trainee-sessions.json +0 -36
  108. package/data/docs/ux-source-evidence/portal-trainee-settings-notifications.json +0 -38
  109. package/data/docs/ux-source-evidence/portal-trainee-settings.json +0 -18
  110. package/data/docs/ux-source-evidence/portal-trainee.json +0 -44
  111. package/data/docs/ux-source-evidence/portal-tv-detail.json +0 -39
  112. package/data/docs/ux-source-evidence/portal-tv.json +0 -44
  113. package/data/docs/ux-source-evidence/shared-admin-admin-shell.json +0 -35
  114. package/data/docs/ux-source-evidence/shared-auth-auth-primitives.json +0 -105
  115. package/data/docs/ux-source-evidence/shared-auth-auth-shell.json +0 -25
  116. package/data/docs/ux-source-evidence/shared-auth-onboarding-primitives.json +0 -52
  117. package/data/docs/ux-source-evidence/shared-auth-onboarding-shell.json +0 -28
  118. package/data/docs/ux-source-evidence/shared-auth-status-indicator.json +0 -41
  119. package/data/docs/ux-source-evidence/shared-portal-empty-state.json +0 -24
  120. package/data/docs/ux-source-evidence/shared-portal-loading-skeleton.json +0 -27
  121. package/data/docs/ux-source-evidence/shared-portal-notifications-dropdown.json +0 -39
  122. package/data/docs/ux-source-evidence/shared-portal-portal-shell.json +0 -36
  123. package/data/docs/ux-source-evidence/shared-portal-profile-form.json +0 -32
  124. package/data/docs/ux-source-evidence/shared-portal-settings-view.json +0 -81
  125. package/data/docs/ux-source-evidence/shared-portal-usage-sparkline.json +0 -18
  126. package/data/docs/ux-source-evidence/shared-portal-user-menu.json +0 -34
  127. package/data/manifests/ui-patterns.json +0 -1029
  128. package/data/manifests/ux-examples.json +0 -2177
  129. package/data/manifests/ux-patterns.json +0 -1135
  130. package/data/manifests/ux-source-inventory.json +0 -4669
  131. package/data/ui-parts/blocks/analytics-dashboard/AnalyticsMetricBlocks.tsx +0 -87
  132. package/data/ui-parts/blocks/analytics-dashboard/analytics-dashboard.css +0 -92
  133. package/data/ui-parts/blocks/semantic-pattern-parts/AuthParts.tsx +0 -48
  134. package/data/ui-parts/blocks/semantic-pattern-parts/ChoiceCards.tsx +0 -7
  135. package/data/ui-parts/blocks/semantic-pattern-parts/ListFilters.tsx +0 -9
  136. package/data/ui-parts/blocks/semantic-pattern-parts/OutcomeNotice.tsx +0 -7
  137. package/data/ui-parts/blocks/semantic-pattern-parts/ProductParts.tsx +0 -38
  138. package/data/ui-parts/blocks/semantic-pattern-parts/ProgressSteps.tsx +0 -6
  139. package/data/ui-parts/blocks/semantic-pattern-parts/ReviewList.tsx +0 -7
  140. package/data/ui-parts/blocks/semantic-pattern-parts/ValidatedField.tsx +0 -8
  141. package/data/ui-parts/blocks/semantic-pattern-parts/WorkflowParts.tsx +0 -339
  142. package/data/ui-parts/blocks/semantic-pattern-parts/auth-parts.css +0 -27
  143. package/data/ui-parts/blocks/semantic-pattern-parts/pattern-parts.css +0 -25
  144. package/data/ui-parts/blocks/semantic-pattern-parts/product-parts.css +0 -25
  145. package/data/ui-parts/blocks/semantic-pattern-parts/types.ts +0 -3
  146. package/data/ui-parts/blocks/semantic-pattern-parts/workflow-parts.css +0 -118
  147. package/data/ui-parts/blocks/ux-pattern-examples/AccessExamples.tsx +0 -46
  148. package/data/ui-parts/blocks/ux-pattern-examples/AccountExamples.tsx +0 -133
  149. package/data/ui-parts/blocks/ux-pattern-examples/ProductExamples.tsx +0 -79
  150. package/data/ui-parts/blocks/ux-pattern-examples/WorkflowExample.tsx +0 -1761
  151. package/data/ui-parts/blocks/ux-pattern-examples/WorkflowExamples.tsx +0 -190
  152. package/data/ui-parts/blocks/ux-pattern-examples/copy.ts +0 -6
  153. package/data/ui-parts/blocks/ux-pattern-examples/ux-examples.css +0 -18
  154. package/data/ui-parts/blocks/ux-pattern-examples/workflow-copy.ts +0 -76
  155. package/data/ui-parts/blocks/ux-pattern-examples/workflow-definitions.ts +0 -1291
  156. package/data/ux-source-evidence/account-auth.json +0 -41
  157. package/data/ux-source-evidence/account-forgot-password.json +0 -36
  158. package/data/ux-source-evidence/account-invite.json +0 -63
  159. package/data/ux-source-evidence/account-locked.json +0 -63
  160. package/data/ux-source-evidence/account-login.json +0 -28
  161. package/data/ux-source-evidence/account-mfa.json +0 -62
  162. package/data/ux-source-evidence/account-onboarding-credentials.json +0 -52
  163. package/data/ux-source-evidence/account-onboarding-legal.json +0 -56
  164. package/data/ux-source-evidence/account-onboarding-orientation.json +0 -66
  165. package/data/ux-source-evidence/account-onboarding-profile.json +0 -50
  166. package/data/ux-source-evidence/account-onboarding.json +0 -69
  167. package/data/ux-source-evidence/account-reset-password.json +0 -27
  168. package/data/ux-source-evidence/account-session-expired.json +0 -62
  169. package/data/ux-source-evidence/account-signup.json +0 -33
  170. package/data/ux-source-evidence/account-verify-email.json +0 -34
  171. package/data/ux-source-evidence/account-welcome.json +0 -41
  172. package/data/ux-source-evidence/admin-analytics.json +0 -54
  173. package/data/ux-source-evidence/admin-audit.json +0 -31
  174. package/data/ux-source-evidence/admin-broadcasts-new.json +0 -36
  175. package/data/ux-source-evidence/admin-broadcasts.json +0 -41
  176. package/data/ux-source-evidence/admin-closures.json +0 -52
  177. package/data/ux-source-evidence/admin-devices.json +0 -51
  178. package/data/ux-source-evidence/admin-escalations.json +0 -35
  179. package/data/ux-source-evidence/admin-incidents.json +0 -54
  180. package/data/ux-source-evidence/admin-loading.json +0 -17
  181. package/data/ux-source-evidence/admin-onboarding-detail.json +0 -80
  182. package/data/ux-source-evidence/admin-onboarding.json +0 -62
  183. package/data/ux-source-evidence/admin-payments.json +0 -45
  184. package/data/ux-source-evidence/admin-providers.json +0 -38
  185. package/data/ux-source-evidence/admin-settings.json +0 -18
  186. package/data/ux-source-evidence/admin-subscriptions-detail-allocate.json +0 -42
  187. package/data/ux-source-evidence/admin-subscriptions-detail.json +0 -48
  188. package/data/ux-source-evidence/admin-subscriptions-new.json +0 -43
  189. package/data/ux-source-evidence/admin-subscriptions.json +0 -41
  190. package/data/ux-source-evidence/admin-transactions.json +0 -41
  191. package/data/ux-source-evidence/error.json +0 -30
  192. package/data/ux-source-evidence/loading.json +0 -19
  193. package/data/ux-source-evidence/marketing-blog.json +0 -48
  194. package/data/ux-source-evidence/marketing-contact.json +0 -36
  195. package/data/ux-source-evidence/marketing.json +0 -64
  196. package/data/ux-source-evidence/not-found.json +0 -28
  197. package/data/ux-source-evidence/portal-loading.json +0 -17
  198. package/data/ux-source-evidence/portal-mentor-messages.json +0 -31
  199. package/data/ux-source-evidence/portal-mentor-profile.json +0 -23
  200. package/data/ux-source-evidence/portal-mentor-requests-detail.json +0 -54
  201. package/data/ux-source-evidence/portal-mentor-sessions-detail-assess.json +0 -42
  202. package/data/ux-source-evidence/portal-mentor-settings.json +0 -18
  203. package/data/ux-source-evidence/portal-mentor.json +0 -38
  204. package/data/ux-source-evidence/portal-sessions-detail-live.json +0 -48
  205. package/data/ux-source-evidence/portal-sponsor-billing.json +0 -28
  206. package/data/ux-source-evidence/portal-sponsor-profile.json +0 -22
  207. package/data/ux-source-evidence/portal-sponsor-sessions.json +0 -28
  208. package/data/ux-source-evidence/portal-sponsor-settings.json +0 -18
  209. package/data/ux-source-evidence/portal-sponsor-trainees.json +0 -36
  210. package/data/ux-source-evidence/portal-sponsor.json +0 -52
  211. package/data/ux-source-evidence/portal-trainee-competency.json +0 -42
  212. package/data/ux-source-evidence/portal-trainee-credits.json +0 -40
  213. package/data/ux-source-evidence/portal-trainee-mentors.json +0 -48
  214. package/data/ux-source-evidence/portal-trainee-messages.json +0 -32
  215. package/data/ux-source-evidence/portal-trainee-notifications.json +0 -35
  216. package/data/ux-source-evidence/portal-trainee-profile.json +0 -26
  217. package/data/ux-source-evidence/portal-trainee-request.json +0 -54
  218. package/data/ux-source-evidence/portal-trainee-sessions-detail-feedback.json +0 -36
  219. package/data/ux-source-evidence/portal-trainee-sessions-detail-precheck.json +0 -42
  220. package/data/ux-source-evidence/portal-trainee-sessions-detail.json +0 -55
  221. package/data/ux-source-evidence/portal-trainee-sessions.json +0 -36
  222. package/data/ux-source-evidence/portal-trainee-settings-notifications.json +0 -38
  223. package/data/ux-source-evidence/portal-trainee-settings.json +0 -18
  224. package/data/ux-source-evidence/portal-trainee.json +0 -44
  225. package/data/ux-source-evidence/portal-tv-detail.json +0 -39
  226. package/data/ux-source-evidence/portal-tv.json +0 -44
  227. package/data/ux-source-evidence/shared-admin-admin-shell.json +0 -35
  228. package/data/ux-source-evidence/shared-auth-auth-primitives.json +0 -105
  229. package/data/ux-source-evidence/shared-auth-auth-shell.json +0 -25
  230. package/data/ux-source-evidence/shared-auth-onboarding-primitives.json +0 -52
  231. package/data/ux-source-evidence/shared-auth-onboarding-shell.json +0 -28
  232. package/data/ux-source-evidence/shared-auth-status-indicator.json +0 -41
  233. package/data/ux-source-evidence/shared-portal-empty-state.json +0 -24
  234. package/data/ux-source-evidence/shared-portal-loading-skeleton.json +0 -27
  235. package/data/ux-source-evidence/shared-portal-notifications-dropdown.json +0 -39
  236. package/data/ux-source-evidence/shared-portal-portal-shell.json +0 -36
  237. package/data/ux-source-evidence/shared-portal-profile-form.json +0 -32
  238. package/data/ux-source-evidence/shared-portal-settings-view.json +0 -81
  239. package/data/ux-source-evidence/shared-portal-usage-sparkline.json +0 -18
  240. package/data/ux-source-evidence/shared-portal-user-menu.json +0 -34
@@ -1,4669 +0,0 @@
1
- {
2
- "version": 1,
3
- "source": {
4
- "repository": "The-Utopia-Studio/mentix-design",
5
- "revision": "6b4b2770d04e42cc2e5453c3d80e35c282b3438f"
6
- },
7
- "categories": {
8
- "account": [
9
- "Account access",
10
- "인증과 계정"
11
- ],
12
- "onboarding": [
13
- "Guided setup",
14
- "단계별 설정"
15
- ],
16
- "directory": [
17
- "People and profiles",
18
- "사람과 프로필"
19
- ],
20
- "messaging": [
21
- "Messages and notifications",
22
- "메시지와 알림"
23
- ],
24
- "scheduling": [
25
- "Scheduling and sessions",
26
- "일정과 세션"
27
- ],
28
- "billing": [
29
- "Billing and allocation",
30
- "결제와 배분"
31
- ],
32
- "operations": [
33
- "Operations and review",
34
- "운영과 검토"
35
- ],
36
- "media": [
37
- "Broadcast and live collaboration",
38
- "방송과 실시간 협업"
39
- ],
40
- "settings": [
41
- "Settings and preferences",
42
- "설정과 환경"
43
- ],
44
- "dashboard": [
45
- "Overview and progress",
46
- "현황과 진행"
47
- ],
48
- "system": [
49
- "System feedback",
50
- "시스템 상태"
51
- ],
52
- "marketing": [
53
- "Public pages",
54
- "공개 페이지"
55
- ],
56
- "shared": [
57
- "Shared interactions",
58
- "공통 인터랙션"
59
- ]
60
- },
61
- "entries": [
62
- {
63
- "id": "account-auth",
64
- "category": "account",
65
- "title": {
66
- "en": "Account journey index",
67
- "ko": "계정 여정 목록"
68
- },
69
- "keywords": [
70
- "login",
71
- "signup",
72
- "authentication",
73
- "password",
74
- "sso",
75
- "otp",
76
- "로그인",
77
- "가입",
78
- "인증",
79
- "비밀번호",
80
- "دخول"
81
- ],
82
- "route": "/auth",
83
- "states": [
84
- {
85
- "route": "/auth",
86
- "state": "01-auth-index"
87
- }
88
- ],
89
- "sourceFile": "app/(auth)/auth/page.tsx",
90
- "evidence": "docs/design-system/ux-source-evidence/account-auth.json",
91
- "status": "source-indexed",
92
- "fragments": [
93
- {
94
- "id": "AuthIndexPage",
95
- "line": 384
96
- },
97
- {
98
- "id": "Stat",
99
- "line": 506
100
- },
101
- {
102
- "id": "Dot",
103
- "line": 511
104
- }
105
- ],
106
- "tokens": [
107
- "--color-bg-default",
108
- "--color-bg-subtle",
109
- "--color-border-default",
110
- "--color-border-muted",
111
- "--color-text-brand",
112
- "--color-text-muted",
113
- "--color-text-primary",
114
- "--color-text-secondary"
115
- ]
116
- },
117
- {
118
- "id": "account-forgot-password",
119
- "category": "account",
120
- "title": {
121
- "en": "Password recovery",
122
- "ko": "비밀번호 찾기"
123
- },
124
- "keywords": [
125
- "login",
126
- "signup",
127
- "authentication",
128
- "password",
129
- "sso",
130
- "otp",
131
- "로그인",
132
- "가입",
133
- "인증",
134
- "비밀번호",
135
- "دخول"
136
- ],
137
- "route": "/forgot-password",
138
- "states": [
139
- {
140
- "route": "/forgot-password",
141
- "state": "04-forgot-default"
142
- },
143
- {
144
- "route": "/forgot-password?state=sent",
145
- "state": "04-forgot-sent"
146
- },
147
- {
148
- "route": "/forgot-password?state=invalid",
149
- "state": "04-forgot-invalid"
150
- },
151
- {
152
- "route": "/forgot-password?state=expired",
153
- "state": "04-forgot-expired"
154
- }
155
- ],
156
- "sourceFile": "app/(auth)/forgot-password/page.tsx",
157
- "evidence": "docs/design-system/ux-source-evidence/account-forgot-password.json",
158
- "status": "source-indexed",
159
- "fragments": [
160
- {
161
- "id": "ForgotPasswordPage",
162
- "line": 13
163
- },
164
- {
165
- "id": "BackToLogin",
166
- "line": 153
167
- }
168
- ],
169
- "tokens": [
170
- "--color-bg-brand-muted",
171
- "--color-border-default",
172
- "--color-text-brand",
173
- "--color-text-muted",
174
- "--color-text-primary",
175
- "--color-text-secondary"
176
- ]
177
- },
178
- {
179
- "id": "account-invite",
180
- "category": "account",
181
- "title": {
182
- "en": "Invitation acceptance",
183
- "ko": "초대 수락"
184
- },
185
- "keywords": [
186
- "login",
187
- "signup",
188
- "authentication",
189
- "password",
190
- "sso",
191
- "otp",
192
- "로그인",
193
- "가입",
194
- "인증",
195
- "비밀번호",
196
- "دخول"
197
- ],
198
- "route": "/invite",
199
- "states": [
200
- {
201
- "route": "/invite",
202
- "state": "08-invite-new"
203
- },
204
- {
205
- "route": "/invite?state=existing-user",
206
- "state": "08-invite-existing"
207
- },
208
- {
209
- "route": "/invite?state=code-entry",
210
- "state": "08-invite-code-entry"
211
- },
212
- {
213
- "route": "/invite?state=expired",
214
- "state": "08-invite-expired"
215
- }
216
- ],
217
- "sourceFile": "app/(auth)/invite/page.tsx",
218
- "evidence": "docs/design-system/ux-source-evidence/account-invite.json",
219
- "status": "source-indexed",
220
- "fragments": [
221
- {
222
- "id": "InvitePage",
223
- "line": 24
224
- },
225
- {
226
- "id": "WorkspaceBadge",
227
- "line": 36
228
- },
229
- {
230
- "id": "NewUserView",
231
- "line": 62
232
- },
233
- {
234
- "id": "ExistingUserView",
235
- "line": 108
236
- },
237
- {
238
- "id": "CodeEntryView",
239
- "line": 141
240
- },
241
- {
242
- "id": "ExpiredView",
243
- "line": 176
244
- }
245
- ],
246
- "tokens": [
247
- "--color-bg-brand-muted",
248
- "--color-bg-subtle",
249
- "--color-border-default",
250
- "--color-border-muted",
251
- "--color-status-error-bg",
252
- "--color-status-error-border",
253
- "--color-status-error-text",
254
- "--color-text-brand",
255
- "--color-text-muted",
256
- "--color-text-primary",
257
- "--color-text-secondary",
258
- "--gray-950",
259
- "--teal-500"
260
- ]
261
- },
262
- {
263
- "id": "account-locked",
264
- "category": "account",
265
- "title": {
266
- "en": "Account protection",
267
- "ko": "계정 보호"
268
- },
269
- "keywords": [
270
- "login",
271
- "signup",
272
- "authentication",
273
- "password",
274
- "sso",
275
- "otp",
276
- "로그인",
277
- "가입",
278
- "인증",
279
- "비밀번호",
280
- "دخول"
281
- ],
282
- "route": "/locked",
283
- "states": [
284
- {
285
- "route": "/locked",
286
- "state": "09-locked-attempts"
287
- },
288
- {
289
- "route": "/locked?state=suspicious",
290
- "state": "09-locked-suspicious"
291
- },
292
- {
293
- "route": "/locked?state=device-verify",
294
- "state": "09-locked-device-verify"
295
- },
296
- {
297
- "route": "/locked?state=confirm-action",
298
- "state": "09-locked-confirm"
299
- }
300
- ],
301
- "sourceFile": "app/(auth)/locked/page.tsx",
302
- "evidence": "docs/design-system/ux-source-evidence/account-locked.json",
303
- "status": "source-indexed",
304
- "fragments": [
305
- {
306
- "id": "LockedPage",
307
- "line": 12
308
- },
309
- {
310
- "id": "TooManyAttemptsView",
311
- "line": 24
312
- },
313
- {
314
- "id": "SuspiciousLoginView",
315
- "line": 77
316
- },
317
- {
318
- "id": "DeviceVerifyView",
319
- "line": 123
320
- },
321
- {
322
- "id": "ConfirmActionView",
323
- "line": 172
324
- },
325
- {
326
- "id": "ConfirmModal",
327
- "line": 180
328
- }
329
- ],
330
- "tokens": [
331
- "--amber-500",
332
- "--color-bg-brand-muted",
333
- "--color-bg-default",
334
- "--color-bg-subtle",
335
- "--color-border-default",
336
- "--color-border-muted",
337
- "--color-status-warning-bg",
338
- "--color-status-warning-border",
339
- "--color-status-warning-text",
340
- "--color-text-brand",
341
- "--color-text-muted",
342
- "--color-text-primary",
343
- "--color-text-secondary",
344
- "--gray-950"
345
- ]
346
- },
347
- {
348
- "id": "account-login",
349
- "category": "account",
350
- "title": {
351
- "en": "Password and email-link sign in",
352
- "ko": "비밀번호·이메일 링크 로그인"
353
- },
354
- "keywords": [
355
- "login",
356
- "signup",
357
- "authentication",
358
- "password",
359
- "sso",
360
- "otp",
361
- "로그인",
362
- "가입",
363
- "인증",
364
- "비밀번호",
365
- "دخول"
366
- ],
367
- "route": "/login",
368
- "states": [
369
- {
370
- "route": "/login",
371
- "state": "02-login-default"
372
- },
373
- {
374
- "route": "/login?state=error",
375
- "state": "02-login-error"
376
- },
377
- {
378
- "route": "/login?state=suspended",
379
- "state": "02-login-suspended"
380
- },
381
- {
382
- "route": "/login?state=magic-sent",
383
- "state": "02-login-magic-sent"
384
- }
385
- ],
386
- "sourceFile": "app/(auth)/login/page.tsx",
387
- "evidence": "docs/design-system/ux-source-evidence/account-login.json",
388
- "status": "source-indexed",
389
- "fragments": [
390
- {
391
- "id": "LoginPage",
392
- "line": 16
393
- }
394
- ],
395
- "tokens": [
396
- "--color-text-brand",
397
- "--color-text-muted",
398
- "--color-text-secondary"
399
- ]
400
- },
401
- {
402
- "id": "account-mfa",
403
- "category": "account",
404
- "title": {
405
- "en": "Two-factor authentication",
406
- "ko": "2단계 인증"
407
- },
408
- "keywords": [
409
- "login",
410
- "signup",
411
- "authentication",
412
- "password",
413
- "sso",
414
- "otp",
415
- "로그인",
416
- "가입",
417
- "인증",
418
- "비밀번호",
419
- "دخول"
420
- ],
421
- "route": "/mfa",
422
- "states": [
423
- {
424
- "route": "/mfa",
425
- "state": "07-mfa-default"
426
- },
427
- {
428
- "route": "/mfa?mode=setup",
429
- "state": "07-mfa-setup"
430
- },
431
- {
432
- "route": "/mfa?mode=backup",
433
- "state": "07-mfa-backup"
434
- },
435
- {
436
- "route": "/mfa?mode=recovery",
437
- "state": "07-mfa-recovery"
438
- }
439
- ],
440
- "sourceFile": "app/(auth)/mfa/page.tsx",
441
- "evidence": "docs/design-system/ux-source-evidence/account-mfa.json",
442
- "status": "source-indexed",
443
- "fragments": [
444
- {
445
- "id": "MfaPage",
446
- "line": 14
447
- },
448
- {
449
- "id": "VerifyView",
450
- "line": 27
451
- },
452
- {
453
- "id": "SetupView",
454
- "line": 95
455
- },
456
- {
457
- "id": "BackupCodesView",
458
- "line": 171
459
- },
460
- {
461
- "id": "BackupCodesPanel",
462
- "line": 183
463
- },
464
- {
465
- "id": "RecoveryView",
466
- "line": 211
467
- },
468
- {
469
- "id": "QrPlaceholder",
470
- "line": 233
471
- }
472
- ],
473
- "tokens": [
474
- "--color-bg-subtle",
475
- "--color-border-default",
476
- "--color-border-muted",
477
- "--color-text-brand",
478
- "--color-text-muted",
479
- "--color-text-primary",
480
- "--color-text-secondary"
481
- ]
482
- },
483
- {
484
- "id": "account-onboarding-credentials",
485
- "category": "onboarding",
486
- "title": {
487
- "en": "Credential and document submission",
488
- "ko": "자격·문서 제출"
489
- },
490
- "keywords": [
491
- "onboarding",
492
- "setup",
493
- "step",
494
- "wizard",
495
- "온보딩",
496
- "설정",
497
- "단계",
498
- "시작",
499
- "إعداد"
500
- ],
501
- "route": "/onboarding/credentials",
502
- "states": [
503
- {
504
- "route": "/onboarding/credentials?role=trainee",
505
- "state": "08-credentials-trainee"
506
- },
507
- {
508
- "route": "/onboarding/credentials?role=mentor",
509
- "state": "09-credentials-mentor"
510
- },
511
- {
512
- "route": "/onboarding/credentials?role=sponsor",
513
- "state": "10-credentials-sponsor"
514
- }
515
- ],
516
- "sourceFile": "app/(auth)/onboarding/credentials/page.tsx",
517
- "evidence": "docs/design-system/ux-source-evidence/account-onboarding-credentials.json",
518
- "status": "source-indexed",
519
- "fragments": [
520
- {
521
- "id": "CredentialsPage",
522
- "line": 44
523
- },
524
- {
525
- "id": "TraineeCredentials",
526
- "line": 55
527
- },
528
- {
529
- "id": "MentorCredentials",
530
- "line": 178
531
- },
532
- {
533
- "id": "SectionHeader",
534
- "line": 296
535
- },
536
- {
537
- "id": "SponsorQuestionnaire",
538
- "line": 306
539
- }
540
- ],
541
- "tokens": [
542
- "--color-bg-brand-muted",
543
- "--color-border-brand",
544
- "--color-border-default",
545
- "--color-text-brand",
546
- "--color-text-muted",
547
- "--color-text-primary",
548
- "--color-text-secondary"
549
- ]
550
- },
551
- {
552
- "id": "account-onboarding-legal",
553
- "category": "onboarding",
554
- "title": {
555
- "en": "Agreements and signatures",
556
- "ko": "약관 동의·서명"
557
- },
558
- "keywords": [
559
- "onboarding",
560
- "setup",
561
- "step",
562
- "wizard",
563
- "온보딩",
564
- "설정",
565
- "단계",
566
- "시작",
567
- "إعداد"
568
- ],
569
- "route": "/onboarding/legal",
570
- "states": [
571
- {
572
- "route": "/onboarding/legal?role=trainee",
573
- "state": "11-legal-trainee"
574
- },
575
- {
576
- "route": "/onboarding/legal?role=mentor",
577
- "state": "12-legal-mentor"
578
- },
579
- {
580
- "route": "/onboarding/legal?role=sponsor",
581
- "state": "13-legal-sponsor"
582
- }
583
- ],
584
- "sourceFile": "app/(auth)/onboarding/legal/page.tsx",
585
- "evidence": "docs/design-system/ux-source-evidence/account-onboarding-legal.json",
586
- "status": "source-indexed",
587
- "fragments": [
588
- {
589
- "id": "LegalPage",
590
- "line": 13
591
- },
592
- {
593
- "id": "ContractRow",
594
- "line": 24
595
- },
596
- {
597
- "id": "TraineeLegal",
598
- "line": 43
599
- },
600
- {
601
- "id": "MentorLegal",
602
- "line": 77
603
- },
604
- {
605
- "id": "SponsorLegal",
606
- "line": 112
607
- },
608
- {
609
- "id": "AgreementCard",
610
- "line": 155
611
- }
612
- ],
613
- "tokens": [
614
- "--color-bg-brand-muted",
615
- "--color-bg-subtle",
616
- "--color-border-brand",
617
- "--color-border-default",
618
- "--color-text-brand",
619
- "--color-text-muted",
620
- "--color-text-secondary"
621
- ]
622
- },
623
- {
624
- "id": "account-onboarding-orientation",
625
- "category": "onboarding",
626
- "title": {
627
- "en": "Orientation checklist",
628
- "ko": "시작 안내 체크리스트"
629
- },
630
- "keywords": [
631
- "onboarding",
632
- "setup",
633
- "step",
634
- "wizard",
635
- "온보딩",
636
- "설정",
637
- "단계",
638
- "시작",
639
- "إعداد"
640
- ],
641
- "route": "/onboarding/orientation",
642
- "states": [
643
- {
644
- "route": "/onboarding/orientation?role=trainee",
645
- "state": "14-orientation-trainee"
646
- },
647
- {
648
- "route": "/onboarding/orientation?role=mentor",
649
- "state": "15-orientation-mentor"
650
- },
651
- {
652
- "route": "/onboarding/orientation?role=sponsor",
653
- "state": "16-orientation-sponsor"
654
- }
655
- ],
656
- "sourceFile": "app/(auth)/onboarding/orientation/page.tsx",
657
- "evidence": "docs/design-system/ux-source-evidence/account-onboarding-orientation.json",
658
- "status": "source-indexed",
659
- "fragments": [
660
- {
661
- "id": "OrientationPage",
662
- "line": 10
663
- },
664
- {
665
- "id": "finish",
666
- "line": 19
667
- },
668
- {
669
- "id": "TraineeOrientation",
670
- "line": 23
671
- },
672
- {
673
- "id": "MentorOrientation",
674
- "line": 56
675
- },
676
- {
677
- "id": "SponsorCreditSetup",
678
- "line": 110
679
- },
680
- {
681
- "id": "VideoCard",
682
- "line": 194
683
- },
684
- {
685
- "id": "AckCard",
686
- "line": 225
687
- }
688
- ],
689
- "tokens": [
690
- "--color-bg-brand-muted",
691
- "--color-bg-subtle",
692
- "--color-border-brand",
693
- "--color-border-default",
694
- "--color-border-muted",
695
- "--color-status-success-text",
696
- "--color-text-brand",
697
- "--color-text-muted",
698
- "--color-text-primary",
699
- "--color-text-secondary",
700
- "--gray-950",
701
- "--shadow-glow",
702
- "--teal-500"
703
- ]
704
- },
705
- {
706
- "id": "account-onboarding",
707
- "category": "onboarding",
708
- "title": {
709
- "en": "Setup progress hub",
710
- "ko": "설정 진행 현황"
711
- },
712
- "keywords": [
713
- "onboarding",
714
- "setup",
715
- "step",
716
- "wizard",
717
- "온보딩",
718
- "설정",
719
- "단계",
720
- "시작",
721
- "إعداد"
722
- ],
723
- "route": "/onboarding",
724
- "states": [
725
- {
726
- "route": "/onboarding?role=trainee",
727
- "state": "01-hub"
728
- },
729
- {
730
- "route": "/onboarding?role=trainee&demo=midway",
731
- "state": "02-hub-midway"
732
- },
733
- {
734
- "route": "/onboarding?role=trainee&demo=review",
735
- "state": "03-hub-review"
736
- },
737
- {
738
- "route": "/onboarding?role=trainee&demo=complete",
739
- "state": "04-hub-complete"
740
- }
741
- ],
742
- "sourceFile": "app/(auth)/onboarding/page.tsx",
743
- "evidence": "docs/design-system/ux-source-evidence/account-onboarding.json",
744
- "status": "source-indexed",
745
- "fragments": [
746
- {
747
- "id": "OnboardingHubPage",
748
- "line": 26
749
- },
750
- {
751
- "id": "StepCard",
752
- "line": 159
753
- },
754
- {
755
- "id": "StatusPill",
756
- "line": 241
757
- },
758
- {
759
- "id": "Pill",
760
- "line": 247
761
- },
762
- {
763
- "id": "ContinueButton",
764
- "line": 265
765
- },
766
- {
767
- "id": "RolePicker",
768
- "line": 280
769
- }
770
- ],
771
- "tokens": [
772
- "--color-bg-brand-muted",
773
- "--color-bg-subtle",
774
- "--color-border-brand",
775
- "--color-border-default",
776
- "--color-border-muted",
777
- "--color-status-info-bg",
778
- "--color-status-info-text",
779
- "--color-status-success-bg",
780
- "--color-status-success-border",
781
- "--color-status-success-text",
782
- "--color-text-brand",
783
- "--color-text-muted",
784
- "--color-text-primary",
785
- "--color-text-secondary",
786
- "--gray-950",
787
- "--green-500",
788
- "--teal-500"
789
- ]
790
- },
791
- {
792
- "id": "account-onboarding-profile",
793
- "category": "onboarding",
794
- "title": {
795
- "en": "Role-aware profile setup",
796
- "ko": "역할별 프로필 설정"
797
- },
798
- "keywords": [
799
- "onboarding",
800
- "setup",
801
- "step",
802
- "wizard",
803
- "온보딩",
804
- "설정",
805
- "단계",
806
- "시작",
807
- "إعداد"
808
- ],
809
- "route": "/onboarding/profile",
810
- "states": [
811
- {
812
- "route": "/onboarding/profile?role=trainee",
813
- "state": "05-profile-trainee"
814
- },
815
- {
816
- "route": "/onboarding/profile?role=mentor",
817
- "state": "06-profile-mentor"
818
- },
819
- {
820
- "route": "/onboarding/profile?role=sponsor",
821
- "state": "07-profile-sponsor"
822
- }
823
- ],
824
- "sourceFile": "app/(auth)/onboarding/profile/page.tsx",
825
- "evidence": "docs/design-system/ux-source-evidence/account-onboarding-profile.json",
826
- "status": "source-indexed",
827
- "fragments": [
828
- {
829
- "id": "OnboardingProfilePage",
830
- "line": 32
831
- },
832
- {
833
- "id": "PhotoUpload",
834
- "line": 44
835
- },
836
- {
837
- "id": "TraineeProfile",
838
- "line": 83
839
- },
840
- {
841
- "id": "MentorProfile",
842
- "line": 128
843
- },
844
- {
845
- "id": "SponsorProfile",
846
- "line": 186
847
- }
848
- ],
849
- "tokens": [
850
- "--color-bg-subtle",
851
- "--color-border-strong",
852
- "--color-status-error-text",
853
- "--color-text-muted",
854
- "--teal-500"
855
- ]
856
- },
857
- {
858
- "id": "account-reset-password",
859
- "category": "account",
860
- "title": {
861
- "en": "Set a new password",
862
- "ko": "새 비밀번호 설정"
863
- },
864
- "keywords": [
865
- "login",
866
- "signup",
867
- "authentication",
868
- "password",
869
- "sso",
870
- "otp",
871
- "로그인",
872
- "가입",
873
- "인증",
874
- "비밀번호",
875
- "دخول"
876
- ],
877
- "route": "/reset-password",
878
- "states": [
879
- {
880
- "route": "/reset-password",
881
- "state": "05-reset-default"
882
- },
883
- {
884
- "route": "/reset-password?state=success",
885
- "state": "05-reset-success"
886
- },
887
- {
888
- "route": "/reset-password?state=expired",
889
- "state": "05-reset-expired"
890
- }
891
- ],
892
- "sourceFile": "app/(auth)/reset-password/page.tsx",
893
- "evidence": "docs/design-system/ux-source-evidence/account-reset-password.json",
894
- "status": "source-indexed",
895
- "fragments": [
896
- {
897
- "id": "ResetPasswordPage",
898
- "line": 14
899
- }
900
- ],
901
- "tokens": [
902
- "--color-status-success-bg",
903
- "--color-status-success-text",
904
- "--color-text-secondary"
905
- ]
906
- },
907
- {
908
- "id": "account-session-expired",
909
- "category": "account",
910
- "title": {
911
- "en": "Session recovery",
912
- "ko": "세션 복구"
913
- },
914
- "keywords": [
915
- "login",
916
- "signup",
917
- "authentication",
918
- "password",
919
- "sso",
920
- "otp",
921
- "로그인",
922
- "가입",
923
- "인증",
924
- "비밀번호",
925
- "دخول"
926
- ],
927
- "route": "/session-expired",
928
- "states": [
929
- {
930
- "route": "/session-expired",
931
- "state": "10-session-modal"
932
- },
933
- {
934
- "route": "/session-expired?state=expired-full",
935
- "state": "10-session-full"
936
- },
937
- {
938
- "route": "/session-expired?state=logged-out",
939
- "state": "10-session-logout"
940
- },
941
- {
942
- "route": "/session-expired?state=concurrent",
943
- "state": "10-session-concurrent"
944
- }
945
- ],
946
- "sourceFile": "app/(auth)/session-expired/page.tsx",
947
- "evidence": "docs/design-system/ux-source-evidence/account-session-expired.json",
948
- "status": "source-indexed",
949
- "fragments": [
950
- {
951
- "id": "SessionExpiredPage",
952
- "line": 13
953
- },
954
- {
955
- "id": "ExpiredModalView",
956
- "line": 25
957
- },
958
- {
959
- "id": "FakeAppBackdrop",
960
- "line": 71
961
- },
962
- {
963
- "id": "ExpiredFullView",
964
- "line": 98
965
- },
966
- {
967
- "id": "LoggedOutView",
968
- "line": 113
969
- },
970
- {
971
- "id": "ConcurrentSessionView",
972
- "line": 144
973
- }
974
- ],
975
- "tokens": [
976
- "--color-bg-brand-muted",
977
- "--color-bg-default",
978
- "--color-bg-subtle",
979
- "--color-bg-ui",
980
- "--color-border-default",
981
- "--color-border-muted",
982
- "--color-status-error-text",
983
- "--color-text-brand",
984
- "--color-text-muted",
985
- "--color-text-primary",
986
- "--color-text-secondary",
987
- "--gray-950"
988
- ]
989
- },
990
- {
991
- "id": "account-signup",
992
- "category": "account",
993
- "title": {
994
- "en": "Role-based sign up",
995
- "ko": "역할 선택과 회원가입"
996
- },
997
- "keywords": [
998
- "login",
999
- "signup",
1000
- "authentication",
1001
- "password",
1002
- "sso",
1003
- "otp",
1004
- "로그인",
1005
- "가입",
1006
- "인증",
1007
- "비밀번호",
1008
- "دخول"
1009
- ],
1010
- "route": "/signup",
1011
- "states": [
1012
- {
1013
- "route": "/signup",
1014
- "state": "03-signup-default"
1015
- },
1016
- {
1017
- "route": "/signup?state=email-taken",
1018
- "state": "03-signup-email-taken"
1019
- },
1020
- {
1021
- "route": "/signup?state=invite-only",
1022
- "state": "03-signup-invite-only"
1023
- }
1024
- ],
1025
- "sourceFile": "app/(auth)/signup/page.tsx",
1026
- "evidence": "docs/design-system/ux-source-evidence/account-signup.json",
1027
- "status": "source-indexed",
1028
- "fragments": [
1029
- {
1030
- "id": "SignupPage",
1031
- "line": 23
1032
- }
1033
- ],
1034
- "tokens": [
1035
- "--color-bg-brand-muted",
1036
- "--color-border-brand",
1037
- "--color-border-default",
1038
- "--color-text-brand",
1039
- "--color-text-muted",
1040
- "--color-text-primary",
1041
- "--color-text-secondary",
1042
- "--teal-500"
1043
- ]
1044
- },
1045
- {
1046
- "id": "account-verify-email",
1047
- "category": "account",
1048
- "title": {
1049
- "en": "Verify email",
1050
- "ko": "이메일 인증"
1051
- },
1052
- "keywords": [
1053
- "login",
1054
- "signup",
1055
- "authentication",
1056
- "password",
1057
- "sso",
1058
- "otp",
1059
- "로그인",
1060
- "가입",
1061
- "인증",
1062
- "비밀번호",
1063
- "دخول"
1064
- ],
1065
- "route": "/verify-email",
1066
- "states": [
1067
- {
1068
- "route": "/verify-email",
1069
- "state": "06-verify-default"
1070
- },
1071
- {
1072
- "route": "/verify-email?state=success",
1073
- "state": "06-verify-success"
1074
- },
1075
- {
1076
- "route": "/verify-email?state=expired",
1077
- "state": "06-verify-expired"
1078
- }
1079
- ],
1080
- "sourceFile": "app/(auth)/verify-email/page.tsx",
1081
- "evidence": "docs/design-system/ux-source-evidence/account-verify-email.json",
1082
- "status": "source-indexed",
1083
- "fragments": [
1084
- {
1085
- "id": "VerifyEmailPage",
1086
- "line": 13
1087
- }
1088
- ],
1089
- "tokens": [
1090
- "--color-bg-brand-muted",
1091
- "--color-border-default",
1092
- "--color-border-muted",
1093
- "--color-status-success-bg",
1094
- "--color-status-success-text",
1095
- "--color-text-brand",
1096
- "--color-text-muted",
1097
- "--color-text-secondary",
1098
- "--teal-500"
1099
- ]
1100
- },
1101
- {
1102
- "id": "account-welcome",
1103
- "category": "account",
1104
- "title": {
1105
- "en": "Welcome and next steps",
1106
- "ko": "환영과 다음 단계"
1107
- },
1108
- "keywords": [
1109
- "login",
1110
- "signup",
1111
- "authentication",
1112
- "password",
1113
- "sso",
1114
- "otp",
1115
- "로그인",
1116
- "가입",
1117
- "인증",
1118
- "비밀번호",
1119
- "دخول"
1120
- ],
1121
- "route": "/welcome",
1122
- "states": [
1123
- {
1124
- "route": "/welcome",
1125
- "state": "11-welcome"
1126
- }
1127
- ],
1128
- "sourceFile": "app/(auth)/welcome/page.tsx",
1129
- "evidence": "docs/design-system/ux-source-evidence/account-welcome.json",
1130
- "status": "source-indexed",
1131
- "fragments": [
1132
- {
1133
- "id": "WelcomePage",
1134
- "line": 13
1135
- },
1136
- {
1137
- "id": "CelebrateView",
1138
- "line": 23
1139
- },
1140
- {
1141
- "id": "RedirectView",
1142
- "line": 65
1143
- }
1144
- ],
1145
- "tokens": [
1146
- "--color-bg-default",
1147
- "--color-status-success-bg",
1148
- "--color-status-success-text",
1149
- "--color-text-muted",
1150
- "--color-text-secondary",
1151
- "--teal-400",
1152
- "--teal-500"
1153
- ]
1154
- },
1155
- {
1156
- "id": "admin-analytics",
1157
- "category": "operations",
1158
- "title": {
1159
- "en": "Operational analytics",
1160
- "ko": "운영 분석"
1161
- },
1162
- "keywords": [
1163
- "review",
1164
- "approve",
1165
- "queue",
1166
- "audit",
1167
- "incident",
1168
- "device",
1169
- "검토",
1170
- "승인",
1171
- "대기열",
1172
- "감사",
1173
- "기기",
1174
- "운영",
1175
- "مراجعة"
1176
- ],
1177
- "route": "/admin/analytics",
1178
- "states": [
1179
- {
1180
- "route": "/admin/analytics",
1181
- "state": "18-analytics"
1182
- }
1183
- ],
1184
- "sourceFile": "app/admin/analytics/page.tsx",
1185
- "evidence": "docs/design-system/ux-source-evidence/admin-analytics.json",
1186
- "status": "source-indexed",
1187
- "fragments": [
1188
- {
1189
- "id": "AnalyticsPage",
1190
- "line": 36
1191
- },
1192
- {
1193
- "id": "KpiCard",
1194
- "line": 226
1195
- },
1196
- {
1197
- "id": "QualityBar",
1198
- "line": 243
1199
- },
1200
- {
1201
- "id": "Row",
1202
- "line": 258
1203
- }
1204
- ],
1205
- "tokens": [
1206
- "--amber-500",
1207
- "--color-bg-brand-muted",
1208
- "--color-bg-subtle",
1209
- "--color-border-default",
1210
- "--color-status-error-text",
1211
- "--color-status-success-text",
1212
- "--color-status-warning-text",
1213
- "--color-text-brand",
1214
- "--color-text-muted",
1215
- "--color-text-secondary",
1216
- "--red-500",
1217
- "--teal-500"
1218
- ]
1219
- },
1220
- {
1221
- "id": "admin-audit",
1222
- "category": "operations",
1223
- "title": {
1224
- "en": "Audit trail",
1225
- "ko": "변경 이력"
1226
- },
1227
- "keywords": [
1228
- "review",
1229
- "approve",
1230
- "queue",
1231
- "audit",
1232
- "incident",
1233
- "device",
1234
- "검토",
1235
- "승인",
1236
- "대기열",
1237
- "감사",
1238
- "기기",
1239
- "운영",
1240
- "مراجعة"
1241
- ],
1242
- "route": "/admin/audit",
1243
- "states": [
1244
- {
1245
- "route": "/admin/audit",
1246
- "state": "19-audit"
1247
- }
1248
- ],
1249
- "sourceFile": "app/admin/audit/page.tsx",
1250
- "evidence": "docs/design-system/ux-source-evidence/admin-audit.json",
1251
- "status": "source-indexed",
1252
- "fragments": [
1253
- {
1254
- "id": "AuditPage",
1255
- "line": 22
1256
- }
1257
- ],
1258
- "tokens": [
1259
- "--color-bg-subtle",
1260
- "--color-border-default",
1261
- "--color-border-muted",
1262
- "--color-text-muted",
1263
- "--color-text-primary",
1264
- "--color-text-secondary",
1265
- "--teal-500"
1266
- ]
1267
- },
1268
- {
1269
- "id": "admin-broadcasts-new",
1270
- "category": "media",
1271
- "title": {
1272
- "en": "Schedule a broadcast",
1273
- "ko": "방송 예약"
1274
- },
1275
- "keywords": [
1276
- "live",
1277
- "video",
1278
- "broadcast",
1279
- "stream",
1280
- "recording",
1281
- "collaboration",
1282
- "라이브",
1283
- "방송",
1284
- "영상",
1285
- "실시간",
1286
- "협업",
1287
- "بث"
1288
- ],
1289
- "route": "/admin/broadcasts/new",
1290
- "states": [
1291
- {
1292
- "route": "/admin/broadcasts/new",
1293
- "state": "11-broadcasts-new"
1294
- }
1295
- ],
1296
- "sourceFile": "app/admin/broadcasts/new/page.tsx",
1297
- "evidence": "docs/design-system/ux-source-evidence/admin-broadcasts-new.json",
1298
- "status": "source-indexed",
1299
- "fragments": [
1300
- {
1301
- "id": "NewBroadcastPage",
1302
- "line": 15
1303
- }
1304
- ],
1305
- "tokens": [
1306
- "--color-bg-brand-muted",
1307
- "--color-border-brand",
1308
- "--color-border-default",
1309
- "--color-status-success-bg",
1310
- "--color-status-success-text",
1311
- "--color-text-brand",
1312
- "--color-text-primary",
1313
- "--color-text-secondary"
1314
- ]
1315
- },
1316
- {
1317
- "id": "admin-broadcasts",
1318
- "category": "media",
1319
- "title": {
1320
- "en": "Broadcast management",
1321
- "ko": "방송 관리"
1322
- },
1323
- "keywords": [
1324
- "live",
1325
- "video",
1326
- "broadcast",
1327
- "stream",
1328
- "recording",
1329
- "collaboration",
1330
- "라이브",
1331
- "방송",
1332
- "영상",
1333
- "실시간",
1334
- "협업",
1335
- "بث"
1336
- ],
1337
- "route": "/admin/broadcasts",
1338
- "states": [
1339
- {
1340
- "route": "/admin/broadcasts",
1341
- "state": "10-broadcasts"
1342
- }
1343
- ],
1344
- "sourceFile": "app/admin/broadcasts/page.tsx",
1345
- "evidence": "docs/design-system/ux-source-evidence/admin-broadcasts.json",
1346
- "status": "source-indexed",
1347
- "fragments": [
1348
- {
1349
- "id": "AdminBroadcastsPage",
1350
- "line": 12
1351
- },
1352
- {
1353
- "id": "Metric",
1354
- "line": 100
1355
- }
1356
- ],
1357
- "tokens": [
1358
- "--color-bg-brand-muted",
1359
- "--color-bg-subtle",
1360
- "--color-status-error-bg",
1361
- "--color-status-error-text",
1362
- "--color-text-brand",
1363
- "--color-text-muted",
1364
- "--color-text-secondary",
1365
- "--gray-0",
1366
- "--gray-950",
1367
- "--red-500",
1368
- "--teal-500"
1369
- ]
1370
- },
1371
- {
1372
- "id": "admin-closures",
1373
- "category": "operations",
1374
- "title": {
1375
- "en": "Completion review",
1376
- "ko": "종료 검토"
1377
- },
1378
- "keywords": [
1379
- "review",
1380
- "approve",
1381
- "queue",
1382
- "audit",
1383
- "incident",
1384
- "device",
1385
- "검토",
1386
- "승인",
1387
- "대기열",
1388
- "감사",
1389
- "기기",
1390
- "운영",
1391
- "مراجعة"
1392
- ],
1393
- "route": "/admin/closures",
1394
- "states": [
1395
- {
1396
- "route": "/admin/closures",
1397
- "state": "06-closures"
1398
- }
1399
- ],
1400
- "sourceFile": "app/admin/closures/page.tsx",
1401
- "evidence": "docs/design-system/ux-source-evidence/admin-closures.json",
1402
- "status": "source-indexed",
1403
- "fragments": [
1404
- {
1405
- "id": "ClosuresPage",
1406
- "line": 15
1407
- },
1408
- {
1409
- "id": "Metric",
1410
- "line": 151
1411
- },
1412
- {
1413
- "id": "FilterSelect",
1414
- "line": 175
1415
- }
1416
- ],
1417
- "tokens": [
1418
- "--color-bg-brand-muted",
1419
- "--color-bg-subtle",
1420
- "--color-border-default",
1421
- "--color-status-error-bg",
1422
- "--color-status-error-text",
1423
- "--color-status-success-bg",
1424
- "--color-status-success-text",
1425
- "--color-status-warning-bg",
1426
- "--color-status-warning-text",
1427
- "--color-text-brand",
1428
- "--color-text-muted",
1429
- "--color-text-primary",
1430
- "--color-text-secondary",
1431
- "--teal-500"
1432
- ]
1433
- },
1434
- {
1435
- "id": "admin-devices",
1436
- "category": "operations",
1437
- "title": {
1438
- "en": "Device inventory",
1439
- "ko": "기기 관리"
1440
- },
1441
- "keywords": [
1442
- "review",
1443
- "approve",
1444
- "queue",
1445
- "audit",
1446
- "incident",
1447
- "device",
1448
- "검토",
1449
- "승인",
1450
- "대기열",
1451
- "감사",
1452
- "기기",
1453
- "운영",
1454
- "مراجعة"
1455
- ],
1456
- "route": "/admin/devices",
1457
- "states": [
1458
- {
1459
- "route": "/admin/devices",
1460
- "state": "08-devices"
1461
- }
1462
- ],
1463
- "sourceFile": "app/admin/devices/page.tsx",
1464
- "evidence": "docs/design-system/ux-source-evidence/admin-devices.json",
1465
- "status": "source-indexed",
1466
- "fragments": [
1467
- {
1468
- "id": "DevicesPage",
1469
- "line": 23
1470
- },
1471
- {
1472
- "id": "Stat",
1473
- "line": 134
1474
- },
1475
- {
1476
- "id": "FilterSelect",
1477
- "line": 152
1478
- }
1479
- ],
1480
- "tokens": [
1481
- "--color-bg-brand-muted",
1482
- "--color-bg-subtle",
1483
- "--color-border-default",
1484
- "--color-status-error-bg",
1485
- "--color-status-error-text",
1486
- "--color-status-success-bg",
1487
- "--color-status-success-text",
1488
- "--color-text-brand",
1489
- "--color-text-muted",
1490
- "--color-text-primary",
1491
- "--color-text-secondary",
1492
- "--red-500",
1493
- "--teal-500"
1494
- ]
1495
- },
1496
- {
1497
- "id": "admin-escalations",
1498
- "category": "operations",
1499
- "title": {
1500
- "en": "Escalation triage",
1501
- "ko": "에스컬레이션 분류"
1502
- },
1503
- "keywords": [
1504
- "review",
1505
- "approve",
1506
- "queue",
1507
- "audit",
1508
- "incident",
1509
- "device",
1510
- "검토",
1511
- "승인",
1512
- "대기열",
1513
- "감사",
1514
- "기기",
1515
- "운영",
1516
- "مراجعة"
1517
- ],
1518
- "route": "/admin/escalations",
1519
- "states": [
1520
- {
1521
- "route": "/admin/escalations",
1522
- "state": "05-escalations"
1523
- }
1524
- ],
1525
- "sourceFile": "app/admin/escalations/page.tsx",
1526
- "evidence": "docs/design-system/ux-source-evidence/admin-escalations.json",
1527
- "status": "source-indexed",
1528
- "fragments": [
1529
- {
1530
- "id": "EscalationsPage",
1531
- "line": 17
1532
- }
1533
- ],
1534
- "tokens": [
1535
- "--color-bg-subtle",
1536
- "--color-status-error-text",
1537
- "--color-status-warning-text",
1538
- "--color-text-muted",
1539
- "--color-text-secondary"
1540
- ]
1541
- },
1542
- {
1543
- "id": "admin-incidents",
1544
- "category": "operations",
1545
- "title": {
1546
- "en": "Incident tracking",
1547
- "ko": "사고 추적"
1548
- },
1549
- "keywords": [
1550
- "review",
1551
- "approve",
1552
- "queue",
1553
- "audit",
1554
- "incident",
1555
- "device",
1556
- "검토",
1557
- "승인",
1558
- "대기열",
1559
- "감사",
1560
- "기기",
1561
- "운영",
1562
- "مراجعة"
1563
- ],
1564
- "route": "/admin/incidents",
1565
- "states": [
1566
- {
1567
- "route": "/admin/incidents",
1568
- "state": "07-incidents"
1569
- }
1570
- ],
1571
- "sourceFile": "app/admin/incidents/page.tsx",
1572
- "evidence": "docs/design-system/ux-source-evidence/admin-incidents.json",
1573
- "status": "source-indexed",
1574
- "fragments": [
1575
- {
1576
- "id": "IncidentsPage",
1577
- "line": 26
1578
- },
1579
- {
1580
- "id": "Stat",
1581
- "line": 146
1582
- },
1583
- {
1584
- "id": "FilterSelect",
1585
- "line": 164
1586
- }
1587
- ],
1588
- "tokens": [
1589
- "--color-bg-brand-muted",
1590
- "--color-bg-subtle",
1591
- "--color-border-default",
1592
- "--color-status-error-bg",
1593
- "--color-status-error-text",
1594
- "--color-status-success-bg",
1595
- "--color-status-success-text",
1596
- "--color-status-warning-bg",
1597
- "--color-status-warning-text",
1598
- "--color-text-brand",
1599
- "--color-text-muted",
1600
- "--color-text-primary",
1601
- "--color-text-secondary",
1602
- "--gray-0",
1603
- "--red-500",
1604
- "--teal-500"
1605
- ]
1606
- },
1607
- {
1608
- "id": "admin-onboarding-detail",
1609
- "category": "operations",
1610
- "title": {
1611
- "en": "Application detail and decision",
1612
- "ko": "신청 상세와 심사 결정"
1613
- },
1614
- "keywords": [
1615
- "review",
1616
- "approve",
1617
- "queue",
1618
- "audit",
1619
- "incident",
1620
- "device",
1621
- "검토",
1622
- "승인",
1623
- "대기열",
1624
- "감사",
1625
- "기기",
1626
- "운영",
1627
- "مراجعة"
1628
- ],
1629
- "route": "/admin/onboarding/[id]",
1630
- "states": [
1631
- {
1632
- "route": "/admin/onboarding/app-001",
1633
- "state": "02-mentor-review"
1634
- },
1635
- {
1636
- "route": "/admin/onboarding/app-101",
1637
- "state": "03-trainee-review"
1638
- },
1639
- {
1640
- "route": "/admin/onboarding/app-104",
1641
- "state": "04-trainee-hardware"
1642
- }
1643
- ],
1644
- "sourceFile": "app/admin/onboarding/[id]/page.tsx",
1645
- "evidence": "docs/design-system/ux-source-evidence/admin-onboarding-detail.json",
1646
- "status": "source-indexed",
1647
- "fragments": [
1648
- {
1649
- "id": "ApplicationDetailPage",
1650
- "line": 26
1651
- },
1652
- {
1653
- "id": "MavChecklist",
1654
- "line": 101
1655
- },
1656
- {
1657
- "id": "ResultIcon",
1658
- "line": 216
1659
- },
1660
- {
1661
- "id": "resultColor",
1662
- "line": 223
1663
- },
1664
- {
1665
- "id": "HardwareReadinessPanel",
1666
- "line": 232
1667
- },
1668
- {
1669
- "id": "ApplicantInfoCard",
1670
- "line": 337
1671
- },
1672
- {
1673
- "id": "Row2",
1674
- "line": 358
1675
- },
1676
- {
1677
- "id": "AuditLogCard",
1678
- "line": 369
1679
- }
1680
- ],
1681
- "tokens": [
1682
- "--color-bg-subtle",
1683
- "--color-border-default",
1684
- "--color-border-muted",
1685
- "--color-status-error-bg",
1686
- "--color-status-error-text",
1687
- "--color-status-success-bg",
1688
- "--color-status-success-text",
1689
- "--color-status-warning-bg",
1690
- "--color-status-warning-text",
1691
- "--color-text-muted",
1692
- "--color-text-primary",
1693
- "--color-text-secondary",
1694
- "--gray-950",
1695
- "--teal-500"
1696
- ]
1697
- },
1698
- {
1699
- "id": "admin-onboarding",
1700
- "category": "operations",
1701
- "title": {
1702
- "en": "Application review queue",
1703
- "ko": "신청 심사 대기열"
1704
- },
1705
- "keywords": [
1706
- "review",
1707
- "approve",
1708
- "queue",
1709
- "audit",
1710
- "incident",
1711
- "device",
1712
- "검토",
1713
- "승인",
1714
- "대기열",
1715
- "감사",
1716
- "기기",
1717
- "운영",
1718
- "مراجعة"
1719
- ],
1720
- "route": "/admin/onboarding",
1721
- "states": [
1722
- {
1723
- "route": "/admin/onboarding",
1724
- "state": "01-onboarding-queue"
1725
- }
1726
- ],
1727
- "sourceFile": "app/admin/onboarding/page.tsx",
1728
- "evidence": "docs/design-system/ux-source-evidence/admin-onboarding.json",
1729
- "status": "source-indexed",
1730
- "fragments": [
1731
- {
1732
- "id": "OnboardingDashboardPage",
1733
- "line": 19
1734
- },
1735
- {
1736
- "id": "MetricCard",
1737
- "line": 147
1738
- },
1739
- {
1740
- "id": "FilterButton",
1741
- "line": 171
1742
- },
1743
- {
1744
- "id": "Row",
1745
- "line": 189
1746
- },
1747
- {
1748
- "id": "SlaCell",
1749
- "line": 223
1750
- }
1751
- ],
1752
- "tokens": [
1753
- "--color-bg-brand-muted",
1754
- "--color-bg-subtle",
1755
- "--color-border-default",
1756
- "--color-status-error-bg",
1757
- "--color-status-error-text",
1758
- "--color-status-warning-bg",
1759
- "--color-status-warning-text",
1760
- "--color-text-brand",
1761
- "--color-text-muted",
1762
- "--color-text-primary",
1763
- "--color-text-secondary",
1764
- "--teal-500"
1765
- ]
1766
- },
1767
- {
1768
- "id": "admin-payments",
1769
- "category": "billing",
1770
- "title": {
1771
- "en": "Payment runs",
1772
- "ko": "지급 처리"
1773
- },
1774
- "keywords": [
1775
- "billing",
1776
- "credit",
1777
- "payment",
1778
- "invoice",
1779
- "subscription",
1780
- "allocation",
1781
- "결제",
1782
- "구독",
1783
- "청구",
1784
- "배분",
1785
- "크레딧",
1786
- "دفع"
1787
- ],
1788
- "route": "/admin/payments",
1789
- "states": [
1790
- {
1791
- "route": "/admin/payments",
1792
- "state": "12-payments"
1793
- }
1794
- ],
1795
- "sourceFile": "app/admin/payments/page.tsx",
1796
- "evidence": "docs/design-system/ux-source-evidence/admin-payments.json",
1797
- "status": "source-indexed",
1798
- "fragments": [
1799
- {
1800
- "id": "PaymentsPage",
1801
- "line": 20
1802
- },
1803
- {
1804
- "id": "Total",
1805
- "line": 131
1806
- }
1807
- ],
1808
- "tokens": [
1809
- "--color-bg-brand-muted",
1810
- "--color-bg-subtle",
1811
- "--color-border-default",
1812
- "--color-status-info-bg",
1813
- "--color-status-info-text",
1814
- "--color-status-success-bg",
1815
- "--color-status-success-text",
1816
- "--color-status-warning-bg",
1817
- "--color-status-warning-text",
1818
- "--color-text-brand",
1819
- "--color-text-muted",
1820
- "--color-text-secondary",
1821
- "--teal-500"
1822
- ]
1823
- },
1824
- {
1825
- "id": "admin-providers",
1826
- "category": "operations",
1827
- "title": {
1828
- "en": "Integration provider status",
1829
- "ko": "연동 서비스 상태"
1830
- },
1831
- "keywords": [
1832
- "review",
1833
- "approve",
1834
- "queue",
1835
- "audit",
1836
- "incident",
1837
- "device",
1838
- "검토",
1839
- "승인",
1840
- "대기열",
1841
- "감사",
1842
- "기기",
1843
- "운영",
1844
- "مراجعة"
1845
- ],
1846
- "route": "/admin/providers",
1847
- "states": [
1848
- {
1849
- "route": "/admin/providers",
1850
- "state": "09-providers"
1851
- }
1852
- ],
1853
- "sourceFile": "app/admin/providers/page.tsx",
1854
- "evidence": "docs/design-system/ux-source-evidence/admin-providers.json",
1855
- "status": "source-indexed",
1856
- "fragments": [
1857
- {
1858
- "id": "ProvidersPage",
1859
- "line": 11
1860
- },
1861
- {
1862
- "id": "Row",
1863
- "line": 73
1864
- }
1865
- ],
1866
- "tokens": [
1867
- "--color-bg-brand-muted",
1868
- "--color-status-error-border",
1869
- "--color-status-error-text",
1870
- "--color-status-success-border",
1871
- "--color-status-success-text",
1872
- "--color-text-brand",
1873
- "--color-text-muted",
1874
- "--color-text-primary",
1875
- "--color-text-secondary"
1876
- ]
1877
- },
1878
- {
1879
- "id": "admin-settings",
1880
- "category": "settings",
1881
- "title": {
1882
- "en": "Account settings",
1883
- "ko": "계정 설정"
1884
- },
1885
- "keywords": [
1886
- "setting",
1887
- "preference",
1888
- "security",
1889
- "account",
1890
- "설정",
1891
- "환경",
1892
- "보안",
1893
- "계정",
1894
- "إعدادات"
1895
- ],
1896
- "route": "/admin/settings",
1897
- "states": [],
1898
- "sourceFile": "app/admin/settings/page.tsx",
1899
- "evidence": "docs/design-system/ux-source-evidence/admin-settings.json",
1900
- "status": "source-indexed",
1901
- "fragments": [
1902
- {
1903
- "id": "AdminSettingsPage",
1904
- "line": 4
1905
- }
1906
- ],
1907
- "tokens": []
1908
- },
1909
- {
1910
- "id": "admin-subscriptions-detail-allocate",
1911
- "category": "billing",
1912
- "title": {
1913
- "en": "Allocate subscription resources",
1914
- "ko": "구독 자원 배분"
1915
- },
1916
- "keywords": [
1917
- "billing",
1918
- "credit",
1919
- "payment",
1920
- "invoice",
1921
- "subscription",
1922
- "allocation",
1923
- "결제",
1924
- "구독",
1925
- "청구",
1926
- "배분",
1927
- "크레딧",
1928
- "دفع"
1929
- ],
1930
- "route": "/admin/subscriptions/[id]/allocate",
1931
- "states": [
1932
- {
1933
- "route": "/admin/subscriptions/sub-001/allocate",
1934
- "state": "16-subscription-allocate"
1935
- }
1936
- ],
1937
- "sourceFile": "app/admin/subscriptions/[id]/allocate/page.tsx",
1938
- "evidence": "docs/design-system/ux-source-evidence/admin-subscriptions-detail-allocate.json",
1939
- "status": "source-indexed",
1940
- "fragments": [
1941
- {
1942
- "id": "AllocatePage",
1943
- "line": 17
1944
- },
1945
- {
1946
- "id": "Stat",
1947
- "line": 177
1948
- }
1949
- ],
1950
- "tokens": [
1951
- "--color-bg-subtle",
1952
- "--color-status-error-text",
1953
- "--color-status-success-bg",
1954
- "--color-status-success-text",
1955
- "--color-text-muted",
1956
- "--color-text-primary",
1957
- "--color-text-secondary"
1958
- ]
1959
- },
1960
- {
1961
- "id": "admin-subscriptions-detail",
1962
- "category": "billing",
1963
- "title": {
1964
- "en": "Subscription detail",
1965
- "ko": "구독 상세"
1966
- },
1967
- "keywords": [
1968
- "billing",
1969
- "credit",
1970
- "payment",
1971
- "invoice",
1972
- "subscription",
1973
- "allocation",
1974
- "결제",
1975
- "구독",
1976
- "청구",
1977
- "배분",
1978
- "크레딧",
1979
- "دفع"
1980
- ],
1981
- "route": "/admin/subscriptions/[id]",
1982
- "states": [
1983
- {
1984
- "route": "/admin/subscriptions/sub-001",
1985
- "state": "14-subscription-detail"
1986
- }
1987
- ],
1988
- "sourceFile": "app/admin/subscriptions/[id]/page.tsx",
1989
- "evidence": "docs/design-system/ux-source-evidence/admin-subscriptions-detail.json",
1990
- "status": "source-indexed",
1991
- "fragments": [
1992
- {
1993
- "id": "SubscriptionDetailPage",
1994
- "line": 16
1995
- },
1996
- {
1997
- "id": "Metric",
1998
- "line": 180
1999
- },
2000
- {
2001
- "id": "DRow",
2002
- "line": 189
2003
- }
2004
- ],
2005
- "tokens": [
2006
- "--color-bg-subtle",
2007
- "--color-border-default",
2008
- "--color-status-error-text",
2009
- "--color-text-muted",
2010
- "--color-text-primary",
2011
- "--color-text-secondary",
2012
- "--gray-950",
2013
- "--teal-300",
2014
- "--teal-500"
2015
- ]
2016
- },
2017
- {
2018
- "id": "admin-subscriptions-new",
2019
- "category": "billing",
2020
- "title": {
2021
- "en": "Create a subscription",
2022
- "ko": "구독 등록"
2023
- },
2024
- "keywords": [
2025
- "billing",
2026
- "credit",
2027
- "payment",
2028
- "invoice",
2029
- "subscription",
2030
- "allocation",
2031
- "결제",
2032
- "구독",
2033
- "청구",
2034
- "배분",
2035
- "크레딧",
2036
- "دفع"
2037
- ],
2038
- "route": "/admin/subscriptions/new",
2039
- "states": [
2040
- {
2041
- "route": "/admin/subscriptions/new",
2042
- "state": "15-subscription-new"
2043
- }
2044
- ],
2045
- "sourceFile": "app/admin/subscriptions/new/page.tsx",
2046
- "evidence": "docs/design-system/ux-source-evidence/admin-subscriptions-new.json",
2047
- "status": "source-indexed",
2048
- "fragments": [
2049
- {
2050
- "id": "NewSubscriptionPage",
2051
- "line": 15
2052
- },
2053
- {
2054
- "id": "DRow",
2055
- "line": 192
2056
- }
2057
- ],
2058
- "tokens": [
2059
- "--color-bg-brand-muted",
2060
- "--color-border-brand",
2061
- "--color-border-default",
2062
- "--color-status-success-bg",
2063
- "--color-status-success-text",
2064
- "--color-text-brand",
2065
- "--color-text-muted",
2066
- "--color-text-primary",
2067
- "--color-text-secondary",
2068
- "--teal-500"
2069
- ]
2070
- },
2071
- {
2072
- "id": "admin-subscriptions",
2073
- "category": "billing",
2074
- "title": {
2075
- "en": "Subscriptions list",
2076
- "ko": "구독 목록"
2077
- },
2078
- "keywords": [
2079
- "billing",
2080
- "credit",
2081
- "payment",
2082
- "invoice",
2083
- "subscription",
2084
- "allocation",
2085
- "결제",
2086
- "구독",
2087
- "청구",
2088
- "배분",
2089
- "크레딧",
2090
- "دفع"
2091
- ],
2092
- "route": "/admin/subscriptions",
2093
- "states": [
2094
- {
2095
- "route": "/admin/subscriptions",
2096
- "state": "13-subscriptions"
2097
- }
2098
- ],
2099
- "sourceFile": "app/admin/subscriptions/page.tsx",
2100
- "evidence": "docs/design-system/ux-source-evidence/admin-subscriptions.json",
2101
- "status": "source-indexed",
2102
- "fragments": [
2103
- {
2104
- "id": "SubscriptionsListPage",
2105
- "line": 15
2106
- },
2107
- {
2108
- "id": "MetricCard",
2109
- "line": 134
2110
- }
2111
- ],
2112
- "tokens": [
2113
- "--color-bg-subtle",
2114
- "--color-border-default",
2115
- "--color-status-error-text",
2116
- "--color-status-warning-text",
2117
- "--color-text-muted",
2118
- "--color-text-primary",
2119
- "--color-text-secondary",
2120
- "--teal-500"
2121
- ]
2122
- },
2123
- {
2124
- "id": "admin-transactions",
2125
- "category": "billing",
2126
- "title": {
2127
- "en": "Transaction ledger",
2128
- "ko": "거래 원장"
2129
- },
2130
- "keywords": [
2131
- "billing",
2132
- "credit",
2133
- "payment",
2134
- "invoice",
2135
- "subscription",
2136
- "allocation",
2137
- "결제",
2138
- "구독",
2139
- "청구",
2140
- "배분",
2141
- "크레딧",
2142
- "دفع"
2143
- ],
2144
- "route": "/admin/transactions",
2145
- "states": [
2146
- {
2147
- "route": "/admin/transactions",
2148
- "state": "17-transactions"
2149
- }
2150
- ],
2151
- "sourceFile": "app/admin/transactions/page.tsx",
2152
- "evidence": "docs/design-system/ux-source-evidence/admin-transactions.json",
2153
- "status": "source-indexed",
2154
- "fragments": [
2155
- {
2156
- "id": "TransactionsPage",
2157
- "line": 23
2158
- },
2159
- {
2160
- "id": "TxnRow",
2161
- "line": 115
2162
- }
2163
- ],
2164
- "tokens": [
2165
- "--color-bg-subtle",
2166
- "--color-border-default",
2167
- "--color-status-error-text",
2168
- "--color-status-success-text",
2169
- "--color-text-muted",
2170
- "--color-text-primary",
2171
- "--color-text-secondary",
2172
- "--teal-500"
2173
- ]
2174
- },
2175
- {
2176
- "id": "marketing-blog",
2177
- "category": "marketing",
2178
- "title": {
2179
- "en": "Article listing",
2180
- "ko": "아티클 목록"
2181
- },
2182
- "keywords": [
2183
- "landing",
2184
- "contact",
2185
- "blog",
2186
- "public",
2187
- "marketing",
2188
- "랜딩",
2189
- "문의",
2190
- "블로그",
2191
- "마케팅",
2192
- "عام"
2193
- ],
2194
- "route": "/marketing/blog",
2195
- "states": [
2196
- {
2197
- "route": "/marketing/blog",
2198
- "state": "02-blog"
2199
- }
2200
- ],
2201
- "sourceFile": "app/marketing/blog/page.tsx",
2202
- "evidence": "docs/design-system/ux-source-evidence/marketing-blog.json",
2203
- "status": "source-indexed",
2204
- "fragments": [
2205
- {
2206
- "id": "CategoryBadge",
2207
- "line": 102
2208
- },
2209
- {
2210
- "id": "BlogPage",
2211
- "line": 119
2212
- }
2213
- ],
2214
- "tokens": [
2215
- "--blue-500",
2216
- "--blue-600",
2217
- "--blue-700",
2218
- "--color-bg-brand",
2219
- "--color-bg-brand-muted",
2220
- "--color-bg-default",
2221
- "--color-bg-subtle",
2222
- "--color-border-brand",
2223
- "--color-border-default",
2224
- "--color-text-brand",
2225
- "--color-text-muted",
2226
- "--color-text-on-brand",
2227
- "--color-text-primary",
2228
- "--color-text-secondary",
2229
- "--green-500",
2230
- "--green-700",
2231
- "--teal-400",
2232
- "--teal-500"
2233
- ]
2234
- },
2235
- {
2236
- "id": "marketing-contact",
2237
- "category": "marketing",
2238
- "title": {
2239
- "en": "Contact form",
2240
- "ko": "문의 양식"
2241
- },
2242
- "keywords": [
2243
- "landing",
2244
- "contact",
2245
- "blog",
2246
- "public",
2247
- "marketing",
2248
- "랜딩",
2249
- "문의",
2250
- "블로그",
2251
- "마케팅",
2252
- "عام"
2253
- ],
2254
- "route": "/marketing/contact",
2255
- "states": [
2256
- {
2257
- "route": "/marketing/contact",
2258
- "state": "03-contact"
2259
- }
2260
- ],
2261
- "sourceFile": "app/marketing/contact/page.tsx",
2262
- "evidence": "docs/design-system/ux-source-evidence/marketing-contact.json",
2263
- "status": "source-indexed",
2264
- "fragments": [
2265
- {
2266
- "id": "ContactPage",
2267
- "line": 33
2268
- }
2269
- ],
2270
- "tokens": [
2271
- "--color-bg-brand",
2272
- "--color-bg-brand-muted",
2273
- "--color-bg-default",
2274
- "--color-bg-subtle",
2275
- "--color-border-default",
2276
- "--color-text-brand",
2277
- "--color-text-muted",
2278
- "--color-text-on-brand",
2279
- "--color-text-primary",
2280
- "--color-text-secondary",
2281
- "--teal-400",
2282
- "--teal-500"
2283
- ]
2284
- },
2285
- {
2286
- "id": "marketing",
2287
- "category": "marketing",
2288
- "title": {
2289
- "en": "Landing page sections",
2290
- "ko": "랜딩 페이지 구성"
2291
- },
2292
- "keywords": [
2293
- "landing",
2294
- "contact",
2295
- "blog",
2296
- "public",
2297
- "marketing",
2298
- "랜딩",
2299
- "문의",
2300
- "블로그",
2301
- "마케팅",
2302
- "عام"
2303
- ],
2304
- "route": "/marketing",
2305
- "states": [
2306
- {
2307
- "route": "/marketing",
2308
- "state": "01-home"
2309
- }
2310
- ],
2311
- "sourceFile": "app/marketing/page.tsx",
2312
- "evidence": "docs/design-system/ux-source-evidence/marketing.json",
2313
- "status": "source-indexed",
2314
- "fragments": [
2315
- {
2316
- "id": "FAQItem",
2317
- "line": 190
2318
- },
2319
- {
2320
- "id": "PhotoCard",
2321
- "line": 234
2322
- },
2323
- {
2324
- "id": "FeatureCard",
2325
- "line": 273
2326
- },
2327
- {
2328
- "id": "MarketingPage",
2329
- "line": 319
2330
- }
2331
- ],
2332
- "tokens": [
2333
- "--color-bg-brand-muted",
2334
- "--color-bg-default",
2335
- "--color-bg-subtle",
2336
- "--color-border-brand",
2337
- "--color-border-default",
2338
- "--color-status-error-text",
2339
- "--color-status-success-text",
2340
- "--color-status-warning-text",
2341
- "--color-text-brand",
2342
- "--color-text-muted",
2343
- "--color-text-primary",
2344
- "--color-text-secondary",
2345
- "--gray-950",
2346
- "--red-500",
2347
- "--shadow-glow",
2348
- "--teal-400",
2349
- "--teal-500"
2350
- ]
2351
- },
2352
- {
2353
- "id": "portal-mentor-messages",
2354
- "category": "messaging",
2355
- "title": {
2356
- "en": "Conversation inbox",
2357
- "ko": "대화와 메시지"
2358
- },
2359
- "keywords": [
2360
- "chat",
2361
- "message",
2362
- "notification",
2363
- "inbox",
2364
- "conversation",
2365
- "채팅",
2366
- "메시지",
2367
- "대화",
2368
- "알림",
2369
- "دردشة"
2370
- ],
2371
- "route": "/portal/mentor/messages",
2372
- "states": [
2373
- {
2374
- "route": "/portal/mentor/messages",
2375
- "state": "03-messages"
2376
- }
2377
- ],
2378
- "sourceFile": "app/portal/mentor/messages/page.tsx",
2379
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor-messages.json",
2380
- "status": "source-indexed",
2381
- "fragments": [
2382
- {
2383
- "id": "MentorMessagesPage",
2384
- "line": 14
2385
- }
2386
- ],
2387
- "tokens": [
2388
- "--color-bg-brand-muted",
2389
- "--color-bg-subtle",
2390
- "--color-border-muted",
2391
- "--color-text-brand",
2392
- "--color-text-muted",
2393
- "--color-text-secondary",
2394
- "--gray-950",
2395
- "--teal-500"
2396
- ]
2397
- },
2398
- {
2399
- "id": "portal-mentor",
2400
- "category": "dashboard",
2401
- "title": {
2402
- "en": "Service provider dashboard",
2403
- "ko": "서비스 제공 현황"
2404
- },
2405
- "keywords": [
2406
- "dashboard",
2407
- "progress",
2408
- "metric",
2409
- "overview",
2410
- "대시보드",
2411
- "현황",
2412
- "진행",
2413
- "지표",
2414
- "لوحة"
2415
- ],
2416
- "route": "/portal/mentor",
2417
- "states": [
2418
- {
2419
- "route": "/portal/mentor",
2420
- "state": "01-dashboard"
2421
- }
2422
- ],
2423
- "sourceFile": "app/portal/mentor/page.tsx",
2424
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor.json",
2425
- "status": "source-indexed",
2426
- "fragments": [
2427
- {
2428
- "id": "MentorDashboardPage",
2429
- "line": 15
2430
- },
2431
- {
2432
- "id": "StatCard",
2433
- "line": 153
2434
- }
2435
- ],
2436
- "tokens": [
2437
- "--color-bg-brand-muted",
2438
- "--color-bg-subtle",
2439
- "--color-status-warning-text",
2440
- "--color-text-brand",
2441
- "--color-text-muted",
2442
- "--color-text-primary",
2443
- "--color-text-secondary"
2444
- ]
2445
- },
2446
- {
2447
- "id": "portal-mentor-profile",
2448
- "category": "directory",
2449
- "title": {
2450
- "en": "Profile editor",
2451
- "ko": "프로필 편집"
2452
- },
2453
- "keywords": [
2454
- "directory",
2455
- "people",
2456
- "profile",
2457
- "member",
2458
- "browse",
2459
- "프로필",
2460
- "구성원",
2461
- "전문가",
2462
- "검색",
2463
- "أشخاص"
2464
- ],
2465
- "route": "/portal/mentor/profile",
2466
- "states": [
2467
- {
2468
- "route": "/portal/mentor/profile",
2469
- "state": "02-profile"
2470
- }
2471
- ],
2472
- "sourceFile": "app/portal/mentor/profile/page.tsx",
2473
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor-profile.json",
2474
- "status": "source-indexed",
2475
- "fragments": [
2476
- {
2477
- "id": "MentorProfilePage",
2478
- "line": 25
2479
- }
2480
- ],
2481
- "tokens": []
2482
- },
2483
- {
2484
- "id": "portal-mentor-requests-detail",
2485
- "category": "scheduling",
2486
- "title": {
2487
- "en": "Accept, decline or propose a time",
2488
- "ko": "수락·거절·일정 제안"
2489
- },
2490
- "keywords": [
2491
- "schedule",
2492
- "session",
2493
- "booking",
2494
- "calendar",
2495
- "appointment",
2496
- "일정",
2497
- "세션",
2498
- "예약",
2499
- "평가",
2500
- "جلسة"
2501
- ],
2502
- "route": "/portal/mentor/requests/[id]",
2503
- "states": [
2504
- {
2505
- "route": "/portal/mentor/requests/req-001",
2506
- "state": "04-request-specific"
2507
- },
2508
- {
2509
- "route": "/portal/mentor/requests/req-002",
2510
- "state": "05-request-broadcast"
2511
- },
2512
- {
2513
- "route": "/portal/mentor/requests/req-003",
2514
- "state": "06-request-escalated"
2515
- }
2516
- ],
2517
- "sourceFile": "app/portal/mentor/requests/[id]/page.tsx",
2518
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor-requests-detail.json",
2519
- "status": "source-indexed",
2520
- "fragments": [
2521
- {
2522
- "id": "MentorRequestDetailPage",
2523
- "line": 18
2524
- },
2525
- {
2526
- "id": "DRow",
2527
- "line": 211
2528
- },
2529
- {
2530
- "id": "DRowSmall",
2531
- "line": 220
2532
- },
2533
- {
2534
- "id": "Stat",
2535
- "line": 229
2536
- }
2537
- ],
2538
- "tokens": [
2539
- "--color-bg-brand-muted",
2540
- "--color-bg-subtle",
2541
- "--color-border-default",
2542
- "--color-status-info-bg",
2543
- "--color-status-info-text",
2544
- "--color-status-warning-text",
2545
- "--color-text-brand",
2546
- "--color-text-muted",
2547
- "--color-text-primary",
2548
- "--color-text-secondary",
2549
- "--green-500"
2550
- ]
2551
- },
2552
- {
2553
- "id": "portal-mentor-sessions-detail-assess",
2554
- "category": "scheduling",
2555
- "title": {
2556
- "en": "Rubric-based assessment",
2557
- "ko": "항목별 평가"
2558
- },
2559
- "keywords": [
2560
- "schedule",
2561
- "session",
2562
- "booking",
2563
- "calendar",
2564
- "appointment",
2565
- "일정",
2566
- "세션",
2567
- "예약",
2568
- "평가",
2569
- "جلسة"
2570
- ],
2571
- "route": "/portal/mentor/sessions/[id]/assess",
2572
- "states": [
2573
- {
2574
- "route": "/portal/mentor/sessions/req-004/assess",
2575
- "state": "07-assess-session"
2576
- }
2577
- ],
2578
- "sourceFile": "app/portal/mentor/sessions/[id]/assess/page.tsx",
2579
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor-sessions-detail-assess.json",
2580
- "status": "source-indexed",
2581
- "fragments": [
2582
- {
2583
- "id": "AssessmentPage",
2584
- "line": 16
2585
- }
2586
- ],
2587
- "tokens": [
2588
- "--color-bg-brand-muted",
2589
- "--color-bg-subtle",
2590
- "--color-border-brand",
2591
- "--color-border-default",
2592
- "--color-status-success-bg",
2593
- "--color-status-success-text",
2594
- "--color-status-warning-text",
2595
- "--color-text-brand",
2596
- "--color-text-muted",
2597
- "--color-text-primary",
2598
- "--color-text-secondary",
2599
- "--gray-950",
2600
- "--teal-500"
2601
- ]
2602
- },
2603
- {
2604
- "id": "portal-mentor-settings",
2605
- "category": "settings",
2606
- "title": {
2607
- "en": "Account settings",
2608
- "ko": "계정 설정"
2609
- },
2610
- "keywords": [
2611
- "setting",
2612
- "preference",
2613
- "security",
2614
- "account",
2615
- "설정",
2616
- "환경",
2617
- "보안",
2618
- "계정",
2619
- "إعدادات"
2620
- ],
2621
- "route": "/portal/mentor/settings",
2622
- "states": [],
2623
- "sourceFile": "app/portal/mentor/settings/page.tsx",
2624
- "evidence": "docs/design-system/ux-source-evidence/portal-mentor-settings.json",
2625
- "status": "source-indexed",
2626
- "fragments": [
2627
- {
2628
- "id": "MentorSettingsPage",
2629
- "line": 4
2630
- }
2631
- ],
2632
- "tokens": []
2633
- },
2634
- {
2635
- "id": "portal-sessions-detail-live",
2636
- "category": "media",
2637
- "title": {
2638
- "en": "Live collaboration session",
2639
- "ko": "실시간 협업 세션"
2640
- },
2641
- "keywords": [
2642
- "live",
2643
- "video",
2644
- "broadcast",
2645
- "stream",
2646
- "recording",
2647
- "collaboration",
2648
- "라이브",
2649
- "방송",
2650
- "영상",
2651
- "실시간",
2652
- "협업",
2653
- "بث"
2654
- ],
2655
- "route": "/portal/sessions/[id]/live",
2656
- "states": [
2657
- {
2658
- "route": "/portal/sessions/req-004/live",
2659
- "state": "01-live-interface"
2660
- }
2661
- ],
2662
- "sourceFile": "app/portal/sessions/[id]/live/page.tsx",
2663
- "evidence": "docs/design-system/ux-source-evidence/portal-sessions-detail-live.json",
2664
- "status": "source-indexed",
2665
- "fragments": [
2666
- {
2667
- "id": "LiveSessionPage",
2668
- "line": 37
2669
- },
2670
- {
2671
- "id": "ParticipantTile",
2672
- "line": 291
2673
- }
2674
- ],
2675
- "tokens": [
2676
- "--amber-500",
2677
- "--color-bg-brand-muted",
2678
- "--color-bg-subtle",
2679
- "--color-status-info-bg",
2680
- "--color-status-info-text",
2681
- "--color-status-success-bg",
2682
- "--color-status-success-text",
2683
- "--color-status-warning-bg",
2684
- "--color-status-warning-text",
2685
- "--color-text-brand",
2686
- "--color-text-secondary",
2687
- "--gray-0",
2688
- "--gray-50",
2689
- "--gray-900",
2690
- "--gray-950",
2691
- "--green-500",
2692
- "--red-500"
2693
- ]
2694
- },
2695
- {
2696
- "id": "portal-sponsor-billing",
2697
- "category": "billing",
2698
- "title": {
2699
- "en": "Invoices and payment methods",
2700
- "ko": "청구서와 결제 수단"
2701
- },
2702
- "keywords": [
2703
- "billing",
2704
- "credit",
2705
- "payment",
2706
- "invoice",
2707
- "subscription",
2708
- "allocation",
2709
- "결제",
2710
- "구독",
2711
- "청구",
2712
- "배분",
2713
- "크레딧",
2714
- "دفع"
2715
- ],
2716
- "route": "/portal/sponsor/billing",
2717
- "states": [
2718
- {
2719
- "route": "/portal/sponsor/billing",
2720
- "state": "05-billing"
2721
- }
2722
- ],
2723
- "sourceFile": "app/portal/sponsor/billing/page.tsx",
2724
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor-billing.json",
2725
- "status": "source-indexed",
2726
- "fragments": [
2727
- {
2728
- "id": "SponsorBillingPage",
2729
- "line": 16
2730
- }
2731
- ],
2732
- "tokens": [
2733
- "--color-bg-subtle",
2734
- "--color-text-muted",
2735
- "--color-text-secondary"
2736
- ]
2737
- },
2738
- {
2739
- "id": "portal-sponsor",
2740
- "category": "dashboard",
2741
- "title": {
2742
- "en": "Organization overview",
2743
- "ko": "조직 현황"
2744
- },
2745
- "keywords": [
2746
- "dashboard",
2747
- "progress",
2748
- "metric",
2749
- "overview",
2750
- "대시보드",
2751
- "현황",
2752
- "진행",
2753
- "지표",
2754
- "لوحة"
2755
- ],
2756
- "route": "/portal/sponsor",
2757
- "states": [
2758
- {
2759
- "route": "/portal/sponsor",
2760
- "state": "01-overview"
2761
- }
2762
- ],
2763
- "sourceFile": "app/portal/sponsor/page.tsx",
2764
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor.json",
2765
- "status": "source-indexed",
2766
- "fragments": [
2767
- {
2768
- "id": "SponsorOverviewPage",
2769
- "line": 17
2770
- },
2771
- {
2772
- "id": "MetricBlock",
2773
- "line": 196
2774
- },
2775
- {
2776
- "id": "LegendDot",
2777
- "line": 206
2778
- },
2779
- {
2780
- "id": "Row",
2781
- "line": 215
2782
- }
2783
- ],
2784
- "tokens": [
2785
- "--color-bg-brand-muted",
2786
- "--color-bg-subtle",
2787
- "--color-border-default",
2788
- "--color-text-brand",
2789
- "--color-text-muted",
2790
- "--color-text-primary",
2791
- "--color-text-secondary",
2792
- "--teal-300",
2793
- "--teal-500"
2794
- ]
2795
- },
2796
- {
2797
- "id": "portal-sponsor-profile",
2798
- "category": "directory",
2799
- "title": {
2800
- "en": "Profile editor",
2801
- "ko": "프로필 편집"
2802
- },
2803
- "keywords": [
2804
- "directory",
2805
- "people",
2806
- "profile",
2807
- "member",
2808
- "browse",
2809
- "프로필",
2810
- "구성원",
2811
- "전문가",
2812
- "검색",
2813
- "أشخاص"
2814
- ],
2815
- "route": "/portal/sponsor/profile",
2816
- "states": [
2817
- {
2818
- "route": "/portal/sponsor/profile",
2819
- "state": "02-profile"
2820
- }
2821
- ],
2822
- "sourceFile": "app/portal/sponsor/profile/page.tsx",
2823
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor-profile.json",
2824
- "status": "source-indexed",
2825
- "fragments": [
2826
- {
2827
- "id": "SponsorProfilePage",
2828
- "line": 24
2829
- }
2830
- ],
2831
- "tokens": []
2832
- },
2833
- {
2834
- "id": "portal-sponsor-sessions",
2835
- "category": "scheduling",
2836
- "title": {
2837
- "en": "Session list and filters",
2838
- "ko": "세션 목록과 필터"
2839
- },
2840
- "keywords": [
2841
- "schedule",
2842
- "session",
2843
- "booking",
2844
- "calendar",
2845
- "appointment",
2846
- "일정",
2847
- "세션",
2848
- "예약",
2849
- "평가",
2850
- "جلسة"
2851
- ],
2852
- "route": "/portal/sponsor/sessions",
2853
- "states": [
2854
- {
2855
- "route": "/portal/sponsor/sessions",
2856
- "state": "04-sessions"
2857
- }
2858
- ],
2859
- "sourceFile": "app/portal/sponsor/sessions/page.tsx",
2860
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor-sessions.json",
2861
- "status": "source-indexed",
2862
- "fragments": [
2863
- {
2864
- "id": "SponsorSessionsPage",
2865
- "line": 18
2866
- }
2867
- ],
2868
- "tokens": [
2869
- "--color-bg-subtle",
2870
- "--color-text-muted",
2871
- "--color-text-secondary"
2872
- ]
2873
- },
2874
- {
2875
- "id": "portal-sponsor-settings",
2876
- "category": "settings",
2877
- "title": {
2878
- "en": "Account settings",
2879
- "ko": "계정 설정"
2880
- },
2881
- "keywords": [
2882
- "setting",
2883
- "preference",
2884
- "security",
2885
- "account",
2886
- "설정",
2887
- "환경",
2888
- "보안",
2889
- "계정",
2890
- "إعدادات"
2891
- ],
2892
- "route": "/portal/sponsor/settings",
2893
- "states": [],
2894
- "sourceFile": "app/portal/sponsor/settings/page.tsx",
2895
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor-settings.json",
2896
- "status": "source-indexed",
2897
- "fragments": [
2898
- {
2899
- "id": "SponsorSettingsPage",
2900
- "line": 4
2901
- }
2902
- ],
2903
- "tokens": []
2904
- },
2905
- {
2906
- "id": "portal-sponsor-trainees",
2907
- "category": "directory",
2908
- "title": {
2909
- "en": "Member resource allocation",
2910
- "ko": "구성원 자원 배분"
2911
- },
2912
- "keywords": [
2913
- "directory",
2914
- "people",
2915
- "profile",
2916
- "member",
2917
- "browse",
2918
- "프로필",
2919
- "구성원",
2920
- "전문가",
2921
- "검색",
2922
- "أشخاص"
2923
- ],
2924
- "route": "/portal/sponsor/trainees",
2925
- "states": [
2926
- {
2927
- "route": "/portal/sponsor/trainees",
2928
- "state": "03-trainees"
2929
- }
2930
- ],
2931
- "sourceFile": "app/portal/sponsor/trainees/page.tsx",
2932
- "evidence": "docs/design-system/ux-source-evidence/portal-sponsor-trainees.json",
2933
- "status": "source-indexed",
2934
- "fragments": [
2935
- {
2936
- "id": "SponsorTraineesPage",
2937
- "line": 13
2938
- }
2939
- ],
2940
- "tokens": [
2941
- "--color-bg-brand-muted",
2942
- "--color-bg-subtle",
2943
- "--color-border-default",
2944
- "--color-status-error-text",
2945
- "--color-text-brand",
2946
- "--color-text-muted",
2947
- "--color-text-primary",
2948
- "--color-text-secondary",
2949
- "--red-500",
2950
- "--teal-500"
2951
- ]
2952
- },
2953
- {
2954
- "id": "portal-trainee-competency",
2955
- "category": "dashboard",
2956
- "title": {
2957
- "en": "Skills and assessment progress",
2958
- "ko": "역량과 평가 진행"
2959
- },
2960
- "keywords": [
2961
- "dashboard",
2962
- "progress",
2963
- "metric",
2964
- "overview",
2965
- "대시보드",
2966
- "현황",
2967
- "진행",
2968
- "지표",
2969
- "لوحة"
2970
- ],
2971
- "route": "/portal/trainee/competency",
2972
- "states": [
2973
- {
2974
- "route": "/portal/trainee/competency",
2975
- "state": "12-competency"
2976
- }
2977
- ],
2978
- "sourceFile": "app/portal/trainee/competency/page.tsx",
2979
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-competency.json",
2980
- "status": "source-indexed",
2981
- "fragments": [
2982
- {
2983
- "id": "CompetencyPage",
2984
- "line": 32
2985
- },
2986
- {
2987
- "id": "StatCard",
2988
- "line": 187
2989
- }
2990
- ],
2991
- "tokens": [
2992
- "--color-bg-brand-muted",
2993
- "--color-bg-subtle",
2994
- "--color-border-default",
2995
- "--color-text-brand",
2996
- "--color-text-muted",
2997
- "--color-text-primary",
2998
- "--color-text-secondary",
2999
- "--teal-500"
3000
- ]
3001
- },
3002
- {
3003
- "id": "portal-trainee-credits",
3004
- "category": "billing",
3005
- "title": {
3006
- "en": "Credit wallet and transactions",
3007
- "ko": "크레딧 지갑과 거래"
3008
- },
3009
- "keywords": [
3010
- "billing",
3011
- "credit",
3012
- "payment",
3013
- "invoice",
3014
- "subscription",
3015
- "allocation",
3016
- "결제",
3017
- "구독",
3018
- "청구",
3019
- "배분",
3020
- "크레딧",
3021
- "دفع"
3022
- ],
3023
- "route": "/portal/trainee/credits",
3024
- "states": [
3025
- {
3026
- "route": "/portal/trainee/credits",
3027
- "state": "07-credits"
3028
- }
3029
- ],
3030
- "sourceFile": "app/portal/trainee/credits/page.tsx",
3031
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-credits.json",
3032
- "status": "source-indexed",
3033
- "fragments": [
3034
- {
3035
- "id": "TraineeCreditsPage",
3036
- "line": 24
3037
- },
3038
- {
3039
- "id": "Block",
3040
- "line": 132
3041
- }
3042
- ],
3043
- "tokens": [
3044
- "--color-bg-brand-muted",
3045
- "--color-bg-subtle",
3046
- "--color-status-error-text",
3047
- "--color-status-success-text",
3048
- "--color-text-brand",
3049
- "--color-text-muted",
3050
- "--color-text-primary",
3051
- "--color-text-secondary"
3052
- ]
3053
- },
3054
- {
3055
- "id": "portal-trainee-mentors",
3056
- "category": "directory",
3057
- "title": {
3058
- "en": "Expert directory",
3059
- "ko": "전문가 찾기"
3060
- },
3061
- "keywords": [
3062
- "directory",
3063
- "people",
3064
- "profile",
3065
- "member",
3066
- "browse",
3067
- "프로필",
3068
- "구성원",
3069
- "전문가",
3070
- "검색",
3071
- "أشخاص"
3072
- ],
3073
- "route": "/portal/trainee/mentors",
3074
- "states": [
3075
- {
3076
- "route": "/portal/trainee/mentors",
3077
- "state": "11-mentors"
3078
- }
3079
- ],
3080
- "sourceFile": "app/portal/trainee/mentors/page.tsx",
3081
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-mentors.json",
3082
- "status": "source-indexed",
3083
- "fragments": [
3084
- {
3085
- "id": "MentorDirectoryPage",
3086
- "line": 19
3087
- },
3088
- {
3089
- "id": "MentorCard",
3090
- "line": 92
3091
- },
3092
- {
3093
- "id": "FilterSelect",
3094
- "line": 144
3095
- }
3096
- ],
3097
- "tokens": [
3098
- "--amber-500",
3099
- "--color-bg-subtle",
3100
- "--color-border-default",
3101
- "--color-status-success-bg",
3102
- "--color-status-success-text",
3103
- "--color-status-warning-bg",
3104
- "--color-status-warning-text",
3105
- "--color-text-muted",
3106
- "--color-text-primary",
3107
- "--color-text-secondary",
3108
- "--gray-950",
3109
- "--teal-500"
3110
- ]
3111
- },
3112
- {
3113
- "id": "portal-trainee-messages",
3114
- "category": "messaging",
3115
- "title": {
3116
- "en": "Conversation inbox",
3117
- "ko": "대화와 메시지"
3118
- },
3119
- "keywords": [
3120
- "chat",
3121
- "message",
3122
- "notification",
3123
- "inbox",
3124
- "conversation",
3125
- "채팅",
3126
- "메시지",
3127
- "대화",
3128
- "알림",
3129
- "دردشة"
3130
- ],
3131
- "route": "/portal/trainee/messages",
3132
- "states": [
3133
- {
3134
- "route": "/portal/trainee/messages",
3135
- "state": "08-messages"
3136
- }
3137
- ],
3138
- "sourceFile": "app/portal/trainee/messages/page.tsx",
3139
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-messages.json",
3140
- "status": "source-indexed",
3141
- "fragments": [
3142
- {
3143
- "id": "TraineeMessagesPage",
3144
- "line": 16
3145
- }
3146
- ],
3147
- "tokens": [
3148
- "--color-bg-brand-muted",
3149
- "--color-bg-subtle",
3150
- "--color-border-muted",
3151
- "--color-text-brand",
3152
- "--color-text-muted",
3153
- "--color-text-secondary",
3154
- "--gray-950",
3155
- "--teal-500"
3156
- ]
3157
- },
3158
- {
3159
- "id": "portal-trainee-notifications",
3160
- "category": "messaging",
3161
- "title": {
3162
- "en": "Notification inbox and preferences",
3163
- "ko": "알림함과 수신 설정"
3164
- },
3165
- "keywords": [
3166
- "chat",
3167
- "message",
3168
- "notification",
3169
- "inbox",
3170
- "conversation",
3171
- "채팅",
3172
- "메시지",
3173
- "대화",
3174
- "알림",
3175
- "دردشة"
3176
- ],
3177
- "route": "/portal/trainee/notifications",
3178
- "states": [
3179
- {
3180
- "route": "/portal/trainee/notifications",
3181
- "state": "09-notifications"
3182
- }
3183
- ],
3184
- "sourceFile": "app/portal/trainee/notifications/page.tsx",
3185
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-notifications.json",
3186
- "status": "source-indexed",
3187
- "fragments": [
3188
- {
3189
- "id": "TraineeNotificationsPage",
3190
- "line": 17
3191
- },
3192
- {
3193
- "id": "NotifList",
3194
- "line": 50
3195
- }
3196
- ],
3197
- "tokens": [
3198
- "--color-bg-brand-muted",
3199
- "--color-bg-subtle",
3200
- "--color-border-muted",
3201
- "--color-text-brand",
3202
- "--color-text-muted",
3203
- "--color-text-secondary",
3204
- "--teal-500"
3205
- ]
3206
- },
3207
- {
3208
- "id": "portal-trainee",
3209
- "category": "dashboard",
3210
- "title": {
3211
- "en": "Personal activity dashboard",
3212
- "ko": "개인 활동 현황"
3213
- },
3214
- "keywords": [
3215
- "dashboard",
3216
- "progress",
3217
- "metric",
3218
- "overview",
3219
- "대시보드",
3220
- "현황",
3221
- "진행",
3222
- "지표",
3223
- "لوحة"
3224
- ],
3225
- "route": "/portal/trainee",
3226
- "states": [
3227
- {
3228
- "route": "/portal/trainee",
3229
- "state": "01-dashboard"
3230
- }
3231
- ],
3232
- "sourceFile": "app/portal/trainee/page.tsx",
3233
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee.json",
3234
- "status": "source-indexed",
3235
- "fragments": [
3236
- {
3237
- "id": "TraineeDashboardPage",
3238
- "line": 23
3239
- },
3240
- {
3241
- "id": "CreditMetric",
3242
- "line": 184
3243
- }
3244
- ],
3245
- "tokens": [
3246
- "--color-bg-brand-muted",
3247
- "--color-bg-subtle",
3248
- "--color-border-default",
3249
- "--color-status-error-text",
3250
- "--color-status-success-text",
3251
- "--color-text-brand",
3252
- "--color-text-muted",
3253
- "--color-text-primary",
3254
- "--color-text-secondary",
3255
- "--teal-300",
3256
- "--teal-500"
3257
- ]
3258
- },
3259
- {
3260
- "id": "portal-trainee-profile",
3261
- "category": "directory",
3262
- "title": {
3263
- "en": "Profile editor",
3264
- "ko": "프로필 편집"
3265
- },
3266
- "keywords": [
3267
- "directory",
3268
- "people",
3269
- "profile",
3270
- "member",
3271
- "browse",
3272
- "프로필",
3273
- "구성원",
3274
- "전문가",
3275
- "검색",
3276
- "أشخاص"
3277
- ],
3278
- "route": "/portal/trainee/profile",
3279
- "states": [
3280
- {
3281
- "route": "/portal/trainee/profile",
3282
- "state": "02-profile"
3283
- }
3284
- ],
3285
- "sourceFile": "app/portal/trainee/profile/page.tsx",
3286
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-profile.json",
3287
- "status": "source-indexed",
3288
- "fragments": [
3289
- {
3290
- "id": "TraineeProfilePage",
3291
- "line": 28
3292
- }
3293
- ],
3294
- "tokens": [
3295
- "--color-bg-subtle",
3296
- "--color-text-muted"
3297
- ]
3298
- },
3299
- {
3300
- "id": "portal-trainee-request",
3301
- "category": "scheduling",
3302
- "title": {
3303
- "en": "Multi-step booking request",
3304
- "ko": "단계별 예약 요청"
3305
- },
3306
- "keywords": [
3307
- "schedule",
3308
- "session",
3309
- "booking",
3310
- "calendar",
3311
- "appointment",
3312
- "일정",
3313
- "세션",
3314
- "예약",
3315
- "평가",
3316
- "جلسة"
3317
- ],
3318
- "route": "/portal/trainee/request",
3319
- "states": [
3320
- {
3321
- "route": "/portal/trainee/request",
3322
- "state": "10-request-session"
3323
- }
3324
- ],
3325
- "sourceFile": "app/portal/trainee/request/page.tsx",
3326
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-request.json",
3327
- "status": "source-indexed",
3328
- "fragments": [
3329
- {
3330
- "id": "RequestSessionPage",
3331
- "line": 21
3332
- },
3333
- {
3334
- "id": "ModeCard",
3335
- "line": 226
3336
- },
3337
- {
3338
- "id": "DRow",
3339
- "line": 251
3340
- }
3341
- ],
3342
- "tokens": [
3343
- "--color-bg-brand-muted",
3344
- "--color-bg-subtle",
3345
- "--color-border-brand",
3346
- "--color-border-default",
3347
- "--color-status-success-bg",
3348
- "--color-status-success-text",
3349
- "--color-text-brand",
3350
- "--color-text-muted",
3351
- "--color-text-primary",
3352
- "--color-text-secondary",
3353
- "--gray-950",
3354
- "--teal-500"
3355
- ]
3356
- },
3357
- {
3358
- "id": "portal-trainee-sessions-detail-feedback",
3359
- "category": "scheduling",
3360
- "title": {
3361
- "en": "Rating and feedback",
3362
- "ko": "평점·피드백"
3363
- },
3364
- "keywords": [
3365
- "schedule",
3366
- "session",
3367
- "booking",
3368
- "calendar",
3369
- "appointment",
3370
- "일정",
3371
- "세션",
3372
- "예약",
3373
- "평가",
3374
- "جلسة"
3375
- ],
3376
- "route": "/portal/trainee/sessions/[id]/feedback",
3377
- "states": [
3378
- {
3379
- "route": "/portal/trainee/sessions/req-004/feedback",
3380
- "state": "06-feedback"
3381
- }
3382
- ],
3383
- "sourceFile": "app/portal/trainee/sessions/[id]/feedback/page.tsx",
3384
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-sessions-detail-feedback.json",
3385
- "status": "source-indexed",
3386
- "fragments": [
3387
- {
3388
- "id": "FeedbackPage",
3389
- "line": 23
3390
- }
3391
- ],
3392
- "tokens": [
3393
- "--amber-500",
3394
- "--color-bg-subtle",
3395
- "--color-border-strong",
3396
- "--color-status-success-bg",
3397
- "--color-status-success-text",
3398
- "--color-text-muted",
3399
- "--color-text-primary",
3400
- "--color-text-secondary",
3401
- "--teal-500"
3402
- ]
3403
- },
3404
- {
3405
- "id": "portal-trainee-sessions-detail",
3406
- "category": "scheduling",
3407
- "title": {
3408
- "en": "[id]",
3409
- "ko": "[id]"
3410
- },
3411
- "keywords": [
3412
- "schedule",
3413
- "session",
3414
- "booking",
3415
- "calendar",
3416
- "appointment",
3417
- "일정",
3418
- "세션",
3419
- "예약",
3420
- "평가",
3421
- "جلسة"
3422
- ],
3423
- "route": "/portal/trainee/sessions/[id]",
3424
- "states": [
3425
- {
3426
- "route": "/portal/trainee/sessions/req-004",
3427
- "state": "04-session-detail"
3428
- }
3429
- ],
3430
- "sourceFile": "app/portal/trainee/sessions/[id]/page.tsx",
3431
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-sessions-detail.json",
3432
- "status": "source-indexed",
3433
- "fragments": [
3434
- {
3435
- "id": "SessionDetailPage",
3436
- "line": 21
3437
- },
3438
- {
3439
- "id": "Field",
3440
- "line": 253
3441
- },
3442
- {
3443
- "id": "DRowSmall",
3444
- "line": 262
3445
- }
3446
- ],
3447
- "tokens": [
3448
- "--color-bg-brand-muted",
3449
- "--color-bg-subtle",
3450
- "--color-border-default",
3451
- "--color-border-muted",
3452
- "--color-status-success-bg",
3453
- "--color-status-success-text",
3454
- "--color-status-warning-bg",
3455
- "--color-status-warning-text",
3456
- "--color-text-brand",
3457
- "--color-text-muted",
3458
- "--color-text-primary",
3459
- "--color-text-secondary",
3460
- "--gray-950",
3461
- "--teal-500"
3462
- ]
3463
- },
3464
- {
3465
- "id": "portal-trainee-sessions-detail-precheck",
3466
- "category": "scheduling",
3467
- "title": {
3468
- "en": "Device and connection checks",
3469
- "ko": "기기·연결 사전 점검"
3470
- },
3471
- "keywords": [
3472
- "schedule",
3473
- "session",
3474
- "booking",
3475
- "calendar",
3476
- "appointment",
3477
- "일정",
3478
- "세션",
3479
- "예약",
3480
- "평가",
3481
- "جلسة"
3482
- ],
3483
- "route": "/portal/trainee/sessions/[id]/precheck",
3484
- "states": [
3485
- {
3486
- "route": "/portal/trainee/sessions/req-004/precheck",
3487
- "state": "05-precheck"
3488
- }
3489
- ],
3490
- "sourceFile": "app/portal/trainee/sessions/[id]/precheck/page.tsx",
3491
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-sessions-detail-precheck.json",
3492
- "status": "source-indexed",
3493
- "fragments": [
3494
- {
3495
- "id": "PreCheckPage",
3496
- "line": 26
3497
- },
3498
- {
3499
- "id": "BwStat",
3500
- "line": 189
3501
- }
3502
- ],
3503
- "tokens": [
3504
- "--color-bg-subtle",
3505
- "--color-border-muted",
3506
- "--color-status-error-bg",
3507
- "--color-status-error-text",
3508
- "--color-status-success-bg",
3509
- "--color-status-success-text",
3510
- "--color-status-warning-bg",
3511
- "--color-status-warning-text",
3512
- "--color-text-muted",
3513
- "--color-text-primary",
3514
- "--color-text-secondary"
3515
- ]
3516
- },
3517
- {
3518
- "id": "portal-trainee-sessions",
3519
- "category": "scheduling",
3520
- "title": {
3521
- "en": "Session list and filters",
3522
- "ko": "세션 목록과 필터"
3523
- },
3524
- "keywords": [
3525
- "schedule",
3526
- "session",
3527
- "booking",
3528
- "calendar",
3529
- "appointment",
3530
- "일정",
3531
- "세션",
3532
- "예약",
3533
- "평가",
3534
- "جلسة"
3535
- ],
3536
- "route": "/portal/trainee/sessions",
3537
- "states": [
3538
- {
3539
- "route": "/portal/trainee/sessions",
3540
- "state": "03-sessions"
3541
- }
3542
- ],
3543
- "sourceFile": "app/portal/trainee/sessions/page.tsx",
3544
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-sessions.json",
3545
- "status": "source-indexed",
3546
- "fragments": [
3547
- {
3548
- "id": "TraineeSessionsPage",
3549
- "line": 15
3550
- },
3551
- {
3552
- "id": "SessionsTable",
3553
- "line": 76
3554
- }
3555
- ],
3556
- "tokens": [
3557
- "--color-bg-subtle",
3558
- "--color-text-muted",
3559
- "--color-text-secondary"
3560
- ]
3561
- },
3562
- {
3563
- "id": "portal-trainee-settings-notifications",
3564
- "category": "settings",
3565
- "title": {
3566
- "en": "Notification inbox and preferences",
3567
- "ko": "알림함과 수신 설정"
3568
- },
3569
- "keywords": [
3570
- "setting",
3571
- "preference",
3572
- "security",
3573
- "account",
3574
- "설정",
3575
- "환경",
3576
- "보안",
3577
- "계정",
3578
- "إعدادات"
3579
- ],
3580
- "route": "/portal/trainee/settings/notifications",
3581
- "states": [
3582
- {
3583
- "route": "/portal/trainee/settings/notifications",
3584
- "state": "13-notif-prefs"
3585
- }
3586
- ],
3587
- "sourceFile": "app/portal/trainee/settings/notifications/page.tsx",
3588
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-settings-notifications.json",
3589
- "status": "source-indexed",
3590
- "fragments": [
3591
- {
3592
- "id": "NotificationPreferencesPage",
3593
- "line": 37
3594
- }
3595
- ],
3596
- "tokens": [
3597
- "--color-bg-brand-muted",
3598
- "--color-bg-subtle",
3599
- "--color-border-brand",
3600
- "--color-border-default",
3601
- "--color-border-muted",
3602
- "--color-status-success-border",
3603
- "--color-status-success-text",
3604
- "--color-status-warning-border",
3605
- "--color-status-warning-text",
3606
- "--color-text-brand",
3607
- "--color-text-muted",
3608
- "--color-text-secondary"
3609
- ]
3610
- },
3611
- {
3612
- "id": "portal-trainee-settings",
3613
- "category": "settings",
3614
- "title": {
3615
- "en": "Account settings",
3616
- "ko": "계정 설정"
3617
- },
3618
- "keywords": [
3619
- "setting",
3620
- "preference",
3621
- "security",
3622
- "account",
3623
- "설정",
3624
- "환경",
3625
- "보안",
3626
- "계정",
3627
- "إعدادات"
3628
- ],
3629
- "route": "/portal/trainee/settings",
3630
- "states": [],
3631
- "sourceFile": "app/portal/trainee/settings/page.tsx",
3632
- "evidence": "docs/design-system/ux-source-evidence/portal-trainee-settings.json",
3633
- "status": "source-indexed",
3634
- "fragments": [
3635
- {
3636
- "id": "TraineeSettingsPage",
3637
- "line": 4
3638
- }
3639
- ],
3640
- "tokens": []
3641
- },
3642
- {
3643
- "id": "portal-tv-detail",
3644
- "category": "media",
3645
- "title": {
3646
- "en": "Broadcast viewer and lifecycle",
3647
- "ko": "방송 시청과 상태"
3648
- },
3649
- "keywords": [
3650
- "live",
3651
- "video",
3652
- "broadcast",
3653
- "stream",
3654
- "recording",
3655
- "collaboration",
3656
- "라이브",
3657
- "방송",
3658
- "영상",
3659
- "실시간",
3660
- "협업",
3661
- "بث"
3662
- ],
3663
- "route": "/portal/tv/[id]",
3664
- "states": [
3665
- {
3666
- "route": "/portal/tv/tv-001",
3667
- "state": "02-tv-live"
3668
- },
3669
- {
3670
- "route": "/portal/tv/tv-002",
3671
- "state": "03-tv-scheduled"
3672
- },
3673
- {
3674
- "route": "/portal/tv/tv-003",
3675
- "state": "04-tv-cohort"
3676
- },
3677
- {
3678
- "route": "/portal/tv/tv-004",
3679
- "state": "05-tv-ended"
3680
- }
3681
- ],
3682
- "sourceFile": "app/portal/tv/[id]/page.tsx",
3683
- "evidence": "docs/design-system/ux-source-evidence/portal-tv-detail.json",
3684
- "status": "source-indexed",
3685
- "fragments": [
3686
- {
3687
- "id": "BroadcastViewerPage",
3688
- "line": 12
3689
- },
3690
- {
3691
- "id": "DRow",
3692
- "line": 134
3693
- }
3694
- ],
3695
- "tokens": [
3696
- "--color-border-muted",
3697
- "--color-text-muted",
3698
- "--color-text-primary",
3699
- "--color-text-secondary",
3700
- "--gray-0",
3701
- "--gray-50",
3702
- "--gray-950",
3703
- "--red-500",
3704
- "--teal-500"
3705
- ]
3706
- },
3707
- {
3708
- "id": "portal-tv",
3709
- "category": "media",
3710
- "title": {
3711
- "en": "Live and recorded content",
3712
- "ko": "라이브·녹화 콘텐츠"
3713
- },
3714
- "keywords": [
3715
- "live",
3716
- "video",
3717
- "broadcast",
3718
- "stream",
3719
- "recording",
3720
- "collaboration",
3721
- "라이브",
3722
- "방송",
3723
- "영상",
3724
- "실시간",
3725
- "협업",
3726
- "بث"
3727
- ],
3728
- "route": "/portal/tv",
3729
- "states": [
3730
- {
3731
- "route": "/portal/tv",
3732
- "state": "01-tv-hub"
3733
- }
3734
- ],
3735
- "sourceFile": "app/portal/tv/page.tsx",
3736
- "evidence": "docs/design-system/ux-source-evidence/portal-tv.json",
3737
- "status": "source-indexed",
3738
- "fragments": [
3739
- {
3740
- "id": "MentixTvPage",
3741
- "line": 12
3742
- },
3743
- {
3744
- "id": "LiveHero",
3745
- "line": 71
3746
- },
3747
- {
3748
- "id": "BroadcastCard",
3749
- "line": 124
3750
- }
3751
- ],
3752
- "tokens": [
3753
- "--color-bg-default",
3754
- "--color-bg-subtle",
3755
- "--color-text-brand",
3756
- "--color-text-muted",
3757
- "--color-text-secondary",
3758
- "--gray-0",
3759
- "--gray-950",
3760
- "--red-500",
3761
- "--teal-500"
3762
- ]
3763
- },
3764
- {
3765
- "id": "shared-admin-admin-shell",
3766
- "category": "shared",
3767
- "title": {
3768
- "en": "admin shell",
3769
- "ko": "admin shell"
3770
- },
3771
- "keywords": [
3772
- "shell",
3773
- "menu",
3774
- "notification",
3775
- "profile",
3776
- "skeleton",
3777
- "empty",
3778
- "탐색",
3779
- "메뉴",
3780
- "알림",
3781
- "프로필",
3782
- "로딩",
3783
- "빈"
3784
- ],
3785
- "route": null,
3786
- "states": [],
3787
- "sourceFile": "components/admin/admin-shell.tsx",
3788
- "evidence": "docs/design-system/ux-source-evidence/shared-admin-admin-shell.json",
3789
- "status": "source-indexed",
3790
- "fragments": [
3791
- {
3792
- "id": "AdminShell",
3793
- "line": 43
3794
- }
3795
- ],
3796
- "tokens": [
3797
- "--color-bg-brand-muted",
3798
- "--color-bg-default",
3799
- "--color-bg-subtle",
3800
- "--color-border-default",
3801
- "--color-text-brand",
3802
- "--color-text-muted",
3803
- "--color-text-primary",
3804
- "--color-text-secondary",
3805
- "--gray-950"
3806
- ]
3807
- },
3808
- {
3809
- "id": "shared-auth-auth-primitives",
3810
- "category": "shared",
3811
- "title": {
3812
- "en": "auth primitives",
3813
- "ko": "auth primitives"
3814
- },
3815
- "keywords": [
3816
- "shell",
3817
- "menu",
3818
- "notification",
3819
- "profile",
3820
- "skeleton",
3821
- "empty",
3822
- "탐색",
3823
- "메뉴",
3824
- "알림",
3825
- "프로필",
3826
- "로딩",
3827
- "빈"
3828
- ],
3829
- "route": null,
3830
- "states": [],
3831
- "sourceFile": "components/auth/auth-primitives.tsx",
3832
- "evidence": "docs/design-system/ux-source-evidence/shared-auth-auth-primitives.json",
3833
- "status": "source-indexed",
3834
- "fragments": [
3835
- {
3836
- "id": "Spinner",
3837
- "line": 12
3838
- },
3839
- {
3840
- "id": "OrDivider",
3841
- "line": 18
3842
- },
3843
- {
3844
- "id": "InlineAlert",
3845
- "line": 39
3846
- },
3847
- {
3848
- "id": "Field",
3849
- "line": 60
3850
- },
3851
- {
3852
- "id": "PasswordInput",
3853
- "line": 81
3854
- },
3855
- {
3856
- "id": "passwordStrength",
3857
- "line": 111
3858
- },
3859
- {
3860
- "id": "PasswordStrength",
3861
- "line": 123
3862
- },
3863
- {
3864
- "id": "Checkbox",
3865
- "line": 150
3866
- },
3867
- {
3868
- "id": "SocialButtons",
3869
- "line": 179
3870
- },
3871
- {
3872
- "id": "GoogleIcon",
3873
- "line": 225
3874
- },
3875
- {
3876
- "id": "AppleIcon",
3877
- "line": 235
3878
- },
3879
- {
3880
- "id": "GitHubIcon",
3881
- "line": 242
3882
- },
3883
- {
3884
- "id": "OtpInput",
3885
- "line": 252
3886
- }
3887
- ],
3888
- "tokens": [
3889
- "--amber-500",
3890
- "--color-border-default",
3891
- "--color-border-strong",
3892
- "--color-status-error-bg",
3893
- "--color-status-error-border",
3894
- "--color-status-error-text",
3895
- "--color-status-info-bg",
3896
- "--color-status-info-border",
3897
- "--color-status-info-text",
3898
- "--color-status-success-bg",
3899
- "--color-status-success-border",
3900
- "--color-status-success-text",
3901
- "--color-status-warning-bg",
3902
- "--color-status-warning-border",
3903
- "--color-status-warning-text",
3904
- "--color-text-muted",
3905
- "--color-text-primary",
3906
- "--color-text-secondary",
3907
- "--gray-950",
3908
- "--green-500",
3909
- "--red-500",
3910
- "--teal-500"
3911
- ]
3912
- },
3913
- {
3914
- "id": "shared-auth-auth-shell",
3915
- "category": "shared",
3916
- "title": {
3917
- "en": "auth shell",
3918
- "ko": "auth shell"
3919
- },
3920
- "keywords": [
3921
- "shell",
3922
- "menu",
3923
- "notification",
3924
- "profile",
3925
- "skeleton",
3926
- "empty",
3927
- "탐색",
3928
- "메뉴",
3929
- "알림",
3930
- "프로필",
3931
- "로딩",
3932
- "빈"
3933
- ],
3934
- "route": null,
3935
- "states": [],
3936
- "sourceFile": "components/auth/auth-shell.tsx",
3937
- "evidence": "docs/design-system/ux-source-evidence/shared-auth-auth-shell.json",
3938
- "status": "source-indexed",
3939
- "fragments": [
3940
- {
3941
- "id": "AuthShell",
3942
- "line": 19
3943
- }
3944
- ],
3945
- "tokens": [
3946
- "--color-bg-default",
3947
- "--color-border-muted",
3948
- "--color-text-brand",
3949
- "--color-text-primary",
3950
- "--color-text-secondary"
3951
- ]
3952
- },
3953
- {
3954
- "id": "shared-auth-onboarding-primitives",
3955
- "category": "shared",
3956
- "title": {
3957
- "en": "onboarding primitives",
3958
- "ko": "onboarding primitives"
3959
- },
3960
- "keywords": [
3961
- "shell",
3962
- "menu",
3963
- "notification",
3964
- "profile",
3965
- "skeleton",
3966
- "empty",
3967
- "탐색",
3968
- "메뉴",
3969
- "알림",
3970
- "프로필",
3971
- "로딩",
3972
- "빈"
3973
- ],
3974
- "route": null,
3975
- "states": [],
3976
- "sourceFile": "components/auth/onboarding-primitives.tsx",
3977
- "evidence": "docs/design-system/ux-source-evidence/shared-auth-onboarding-primitives.json",
3978
- "status": "source-indexed",
3979
- "fragments": [
3980
- {
3981
- "id": "Select",
3982
- "line": 9
3983
- },
3984
- {
3985
- "id": "MultiSelect",
3986
- "line": 50
3987
- },
3988
- {
3989
- "id": "FileDropZone",
3990
- "line": 89
3991
- },
3992
- {
3993
- "id": "formatBytes",
3994
- "line": 170
3995
- },
3996
- {
3997
- "id": "StepProgress",
3998
- "line": 178
3999
- }
4000
- ],
4001
- "tokens": [
4002
- "--color-bg-brand-muted",
4003
- "--color-bg-subtle",
4004
- "--color-border-default",
4005
- "--color-status-success-bg",
4006
- "--color-status-success-border",
4007
- "--color-status-success-text",
4008
- "--color-text-brand",
4009
- "--color-text-muted",
4010
- "--color-text-secondary",
4011
- "--gray-950",
4012
- "--green-500",
4013
- "--teal-500"
4014
- ]
4015
- },
4016
- {
4017
- "id": "shared-auth-onboarding-shell",
4018
- "category": "shared",
4019
- "title": {
4020
- "en": "onboarding shell",
4021
- "ko": "onboarding shell"
4022
- },
4023
- "keywords": [
4024
- "shell",
4025
- "menu",
4026
- "notification",
4027
- "profile",
4028
- "skeleton",
4029
- "empty",
4030
- "탐색",
4031
- "메뉴",
4032
- "알림",
4033
- "프로필",
4034
- "로딩",
4035
- "빈"
4036
- ],
4037
- "route": null,
4038
- "states": [],
4039
- "sourceFile": "components/auth/onboarding-shell.tsx",
4040
- "evidence": "docs/design-system/ux-source-evidence/shared-auth-onboarding-shell.json",
4041
- "status": "source-indexed",
4042
- "fragments": [
4043
- {
4044
- "id": "OnboardingShell",
4045
- "line": 41
4046
- }
4047
- ],
4048
- "tokens": [
4049
- "--color-border-muted",
4050
- "--color-text-brand",
4051
- "--color-text-muted",
4052
- "--color-text-primary"
4053
- ]
4054
- },
4055
- {
4056
- "id": "shared-auth-status-indicator",
4057
- "category": "shared",
4058
- "title": {
4059
- "en": "status indicator",
4060
- "ko": "status indicator"
4061
- },
4062
- "keywords": [
4063
- "shell",
4064
- "menu",
4065
- "notification",
4066
- "profile",
4067
- "skeleton",
4068
- "empty",
4069
- "탐색",
4070
- "메뉴",
4071
- "알림",
4072
- "프로필",
4073
- "로딩",
4074
- "빈"
4075
- ],
4076
- "route": null,
4077
- "states": [],
4078
- "sourceFile": "components/auth/status-indicator.tsx",
4079
- "evidence": "docs/design-system/ux-source-evidence/shared-auth-status-indicator.json",
4080
- "status": "source-indexed",
4081
- "fragments": [
4082
- {
4083
- "id": "StatusPill",
4084
- "line": 9
4085
- },
4086
- {
4087
- "id": "StatusFlow",
4088
- "line": 35
4089
- }
4090
- ],
4091
- "tokens": [
4092
- "--color-bg-default",
4093
- "--color-bg-subtle",
4094
- "--color-border-default",
4095
- "--color-status-error-bg",
4096
- "--color-status-error-text",
4097
- "--color-status-info-bg",
4098
- "--color-status-info-text",
4099
- "--color-status-success-bg",
4100
- "--color-status-success-text",
4101
- "--color-status-warning-bg",
4102
- "--color-status-warning-text",
4103
- "--color-text-brand",
4104
- "--color-text-muted",
4105
- "--color-text-primary",
4106
- "--gray-950",
4107
- "--teal-500"
4108
- ]
4109
- },
4110
- {
4111
- "id": "shared-portal-empty-state",
4112
- "category": "shared",
4113
- "title": {
4114
- "en": "empty state",
4115
- "ko": "empty state"
4116
- },
4117
- "keywords": [
4118
- "shell",
4119
- "menu",
4120
- "notification",
4121
- "profile",
4122
- "skeleton",
4123
- "empty",
4124
- "탐색",
4125
- "메뉴",
4126
- "알림",
4127
- "프로필",
4128
- "로딩",
4129
- "빈"
4130
- ],
4131
- "route": null,
4132
- "states": [],
4133
- "sourceFile": "components/portal/empty-state.tsx",
4134
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-empty-state.json",
4135
- "status": "source-indexed",
4136
- "fragments": [
4137
- {
4138
- "id": "EmptyState",
4139
- "line": 13
4140
- }
4141
- ],
4142
- "tokens": [
4143
- "--color-bg-subtle",
4144
- "--color-border-default",
4145
- "--color-text-muted",
4146
- "--color-text-primary",
4147
- "--color-text-secondary"
4148
- ]
4149
- },
4150
- {
4151
- "id": "shared-portal-loading-skeleton",
4152
- "category": "shared",
4153
- "title": {
4154
- "en": "loading skeleton",
4155
- "ko": "loading skeleton"
4156
- },
4157
- "keywords": [
4158
- "shell",
4159
- "menu",
4160
- "notification",
4161
- "profile",
4162
- "skeleton",
4163
- "empty",
4164
- "탐색",
4165
- "메뉴",
4166
- "알림",
4167
- "프로필",
4168
- "로딩",
4169
- "빈"
4170
- ],
4171
- "route": null,
4172
- "states": [],
4173
- "sourceFile": "components/portal/loading-skeleton.tsx",
4174
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-loading-skeleton.json",
4175
- "status": "source-indexed",
4176
- "fragments": [
4177
- {
4178
- "id": "LoadingSkeleton",
4179
- "line": 5
4180
- },
4181
- {
4182
- "id": "Pulse",
4183
- "line": 43
4184
- }
4185
- ],
4186
- "tokens": [
4187
- "--color-bg-default",
4188
- "--color-bg-subtle",
4189
- "--color-bg-ui",
4190
- "--color-border-default"
4191
- ]
4192
- },
4193
- {
4194
- "id": "shared-portal-notifications-dropdown",
4195
- "category": "shared",
4196
- "title": {
4197
- "en": "notifications dropdown",
4198
- "ko": "notifications dropdown"
4199
- },
4200
- "keywords": [
4201
- "shell",
4202
- "menu",
4203
- "notification",
4204
- "profile",
4205
- "skeleton",
4206
- "empty",
4207
- "탐색",
4208
- "메뉴",
4209
- "알림",
4210
- "프로필",
4211
- "로딩",
4212
- "빈"
4213
- ],
4214
- "route": null,
4215
- "states": [],
4216
- "sourceFile": "components/portal/notifications-dropdown.tsx",
4217
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-notifications-dropdown.json",
4218
- "status": "source-indexed",
4219
- "fragments": [
4220
- {
4221
- "id": "NotificationsDropdown",
4222
- "line": 27
4223
- }
4224
- ],
4225
- "tokens": [
4226
- "--color-bg-brand-muted",
4227
- "--color-bg-default",
4228
- "--color-bg-subtle",
4229
- "--color-border-default",
4230
- "--color-border-muted",
4231
- "--color-status-info-bg",
4232
- "--color-status-info-text",
4233
- "--color-status-success-bg",
4234
- "--color-status-success-text",
4235
- "--color-status-warning-bg",
4236
- "--color-status-warning-text",
4237
- "--color-text-brand",
4238
- "--color-text-muted",
4239
- "--color-text-primary",
4240
- "--color-text-secondary",
4241
- "--gray-0",
4242
- "--red-500",
4243
- "--teal-500"
4244
- ]
4245
- },
4246
- {
4247
- "id": "shared-portal-portal-shell",
4248
- "category": "shared",
4249
- "title": {
4250
- "en": "portal shell",
4251
- "ko": "portal shell"
4252
- },
4253
- "keywords": [
4254
- "shell",
4255
- "menu",
4256
- "notification",
4257
- "profile",
4258
- "skeleton",
4259
- "empty",
4260
- "탐색",
4261
- "메뉴",
4262
- "알림",
4263
- "프로필",
4264
- "로딩",
4265
- "빈"
4266
- ],
4267
- "route": null,
4268
- "states": [],
4269
- "sourceFile": "components/portal/portal-shell.tsx",
4270
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-portal-shell.json",
4271
- "status": "source-indexed",
4272
- "fragments": [
4273
- {
4274
- "id": "PortalShell",
4275
- "line": 78
4276
- }
4277
- ],
4278
- "tokens": [
4279
- "--color-bg-brand-muted",
4280
- "--color-bg-default",
4281
- "--color-bg-subtle",
4282
- "--color-border-default",
4283
- "--color-text-brand",
4284
- "--color-text-muted",
4285
- "--color-text-primary",
4286
- "--color-text-secondary",
4287
- "--gray-950",
4288
- "--teal-500"
4289
- ]
4290
- },
4291
- {
4292
- "id": "shared-portal-profile-form",
4293
- "category": "shared",
4294
- "title": {
4295
- "en": "profile form",
4296
- "ko": "profile form"
4297
- },
4298
- "keywords": [
4299
- "shell",
4300
- "menu",
4301
- "notification",
4302
- "profile",
4303
- "skeleton",
4304
- "empty",
4305
- "탐색",
4306
- "메뉴",
4307
- "알림",
4308
- "프로필",
4309
- "로딩",
4310
- "빈"
4311
- ],
4312
- "route": null,
4313
- "states": [],
4314
- "sourceFile": "components/portal/profile-form.tsx",
4315
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-profile-form.json",
4316
- "status": "source-indexed",
4317
- "fragments": [
4318
- {
4319
- "id": "ProfileForm",
4320
- "line": 25
4321
- }
4322
- ],
4323
- "tokens": [
4324
- "--color-bg-brand-muted",
4325
- "--color-border-strong",
4326
- "--color-status-error-bg",
4327
- "--color-status-error-border",
4328
- "--color-status-error-text",
4329
- "--color-text-brand",
4330
- "--color-text-muted",
4331
- "--color-text-secondary"
4332
- ]
4333
- },
4334
- {
4335
- "id": "shared-portal-settings-view",
4336
- "category": "shared",
4337
- "title": {
4338
- "en": "settings view",
4339
- "ko": "settings view"
4340
- },
4341
- "keywords": [
4342
- "shell",
4343
- "menu",
4344
- "notification",
4345
- "profile",
4346
- "skeleton",
4347
- "empty",
4348
- "탐색",
4349
- "메뉴",
4350
- "알림",
4351
- "프로필",
4352
- "로딩",
4353
- "빈"
4354
- ],
4355
- "route": null,
4356
- "states": [],
4357
- "sourceFile": "components/portal/settings-view.tsx",
4358
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-settings-view.json",
4359
- "status": "source-indexed",
4360
- "fragments": [
4361
- {
4362
- "id": "SettingsView",
4363
- "line": 35
4364
- },
4365
- {
4366
- "id": "AccountSection",
4367
- "line": 92
4368
- },
4369
- {
4370
- "id": "NotificationsSection",
4371
- "line": 190
4372
- },
4373
- {
4374
- "id": "SecuritySection",
4375
- "line": 243
4376
- },
4377
- {
4378
- "id": "AppearanceSection",
4379
- "line": 292
4380
- },
4381
- {
4382
- "id": "DevicesSection",
4383
- "line": 366
4384
- },
4385
- {
4386
- "id": "DangerSection",
4387
- "line": 410
4388
- },
4389
- {
4390
- "id": "SettingRow",
4391
- "line": 438
4392
- },
4393
- {
4394
- "id": "ToggleRow",
4395
- "line": 455
4396
- }
4397
- ],
4398
- "tokens": [
4399
- "--color-bg-brand-muted",
4400
- "--color-bg-default",
4401
- "--color-bg-subtle",
4402
- "--color-border-brand",
4403
- "--color-border-danger",
4404
- "--color-border-default",
4405
- "--color-status-error-bg",
4406
- "--color-status-error-text",
4407
- "--color-status-success-text",
4408
- "--color-text-brand",
4409
- "--color-text-muted",
4410
- "--color-text-primary",
4411
- "--color-text-secondary"
4412
- ]
4413
- },
4414
- {
4415
- "id": "shared-portal-usage-sparkline",
4416
- "category": "shared",
4417
- "title": {
4418
- "en": "usage sparkline",
4419
- "ko": "usage sparkline"
4420
- },
4421
- "keywords": [
4422
- "shell",
4423
- "menu",
4424
- "notification",
4425
- "profile",
4426
- "skeleton",
4427
- "empty",
4428
- "탐색",
4429
- "메뉴",
4430
- "알림",
4431
- "프로필",
4432
- "로딩",
4433
- "빈"
4434
- ],
4435
- "route": null,
4436
- "states": [],
4437
- "sourceFile": "components/portal/usage-sparkline.tsx",
4438
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-usage-sparkline.json",
4439
- "status": "source-indexed",
4440
- "fragments": [
4441
- {
4442
- "id": "UsageSparkline",
4443
- "line": 5
4444
- }
4445
- ],
4446
- "tokens": [
4447
- "--color-text-muted",
4448
- "--teal-500"
4449
- ]
4450
- },
4451
- {
4452
- "id": "shared-portal-user-menu",
4453
- "category": "shared",
4454
- "title": {
4455
- "en": "user menu",
4456
- "ko": "user menu"
4457
- },
4458
- "keywords": [
4459
- "shell",
4460
- "menu",
4461
- "notification",
4462
- "profile",
4463
- "skeleton",
4464
- "empty",
4465
- "탐색",
4466
- "메뉴",
4467
- "알림",
4468
- "프로필",
4469
- "로딩",
4470
- "빈"
4471
- ],
4472
- "route": null,
4473
- "states": [],
4474
- "sourceFile": "components/portal/user-menu.tsx",
4475
- "evidence": "docs/design-system/ux-source-evidence/shared-portal-user-menu.json",
4476
- "status": "source-indexed",
4477
- "fragments": [
4478
- {
4479
- "id": "UserMenu",
4480
- "line": 18
4481
- },
4482
- {
4483
- "id": "Item",
4484
- "line": 78
4485
- }
4486
- ],
4487
- "tokens": [
4488
- "--color-bg-default",
4489
- "--color-bg-subtle",
4490
- "--color-border-default",
4491
- "--color-border-muted",
4492
- "--color-status-error-text",
4493
- "--color-text-muted",
4494
- "--color-text-primary",
4495
- "--gray-950",
4496
- "--teal-500"
4497
- ]
4498
- },
4499
- {
4500
- "id": "error",
4501
- "category": "system",
4502
- "title": {
4503
- "en": "error",
4504
- "ko": "error"
4505
- },
4506
- "keywords": [
4507
- "error",
4508
- "loading",
4509
- "empty",
4510
- "404",
4511
- "오류",
4512
- "로딩",
4513
- "빈",
4514
- "خطأ"
4515
- ],
4516
- "route": null,
4517
- "states": [],
4518
- "sourceFile": "app/error.tsx",
4519
- "evidence": "docs/design-system/ux-source-evidence/error.json",
4520
- "status": "source-indexed",
4521
- "fragments": [
4522
- {
4523
- "id": "ErrorPage",
4524
- "line": 10
4525
- }
4526
- ],
4527
- "tokens": [
4528
- "--color-bg-default",
4529
- "--color-border-muted",
4530
- "--color-status-error-bg",
4531
- "--color-status-error-text",
4532
- "--color-text-muted",
4533
- "--color-text-primary",
4534
- "--color-text-secondary"
4535
- ]
4536
- },
4537
- {
4538
- "id": "not-found",
4539
- "category": "system",
4540
- "title": {
4541
- "en": "not found",
4542
- "ko": "not found"
4543
- },
4544
- "keywords": [
4545
- "error",
4546
- "loading",
4547
- "empty",
4548
- "404",
4549
- "오류",
4550
- "로딩",
4551
- "빈",
4552
- "خطأ"
4553
- ],
4554
- "route": null,
4555
- "states": [],
4556
- "sourceFile": "app/not-found.tsx",
4557
- "evidence": "docs/design-system/ux-source-evidence/not-found.json",
4558
- "status": "source-indexed",
4559
- "fragments": [
4560
- {
4561
- "id": "NotFound",
4562
- "line": 9
4563
- }
4564
- ],
4565
- "tokens": [
4566
- "--color-bg-default",
4567
- "--color-border-muted",
4568
- "--color-border-strong",
4569
- "--color-text-muted",
4570
- "--color-text-primary",
4571
- "--color-text-secondary"
4572
- ]
4573
- },
4574
- {
4575
- "id": "loading",
4576
- "category": "system",
4577
- "title": {
4578
- "en": "loading",
4579
- "ko": "loading"
4580
- },
4581
- "keywords": [
4582
- "error",
4583
- "loading",
4584
- "empty",
4585
- "404",
4586
- "오류",
4587
- "로딩",
4588
- "빈",
4589
- "خطأ"
4590
- ],
4591
- "route": null,
4592
- "states": [],
4593
- "sourceFile": "app/loading.tsx",
4594
- "evidence": "docs/design-system/ux-source-evidence/loading.json",
4595
- "status": "source-indexed",
4596
- "fragments": [
4597
- {
4598
- "id": "Loading",
4599
- "line": 1
4600
- }
4601
- ],
4602
- "tokens": [
4603
- "--color-bg-default",
4604
- "--color-text-muted",
4605
- "--teal-500"
4606
- ]
4607
- },
4608
- {
4609
- "id": "portal-loading",
4610
- "category": "system",
4611
- "title": {
4612
- "en": "loading",
4613
- "ko": "loading"
4614
- },
4615
- "keywords": [
4616
- "error",
4617
- "loading",
4618
- "empty",
4619
- "404",
4620
- "오류",
4621
- "로딩",
4622
- "빈",
4623
- "خطأ"
4624
- ],
4625
- "route": null,
4626
- "states": [],
4627
- "sourceFile": "app/portal/loading.tsx",
4628
- "evidence": "docs/design-system/ux-source-evidence/portal-loading.json",
4629
- "status": "source-indexed",
4630
- "fragments": [
4631
- {
4632
- "id": "PortalLoading",
4633
- "line": 2
4634
- }
4635
- ],
4636
- "tokens": []
4637
- },
4638
- {
4639
- "id": "admin-loading",
4640
- "category": "system",
4641
- "title": {
4642
- "en": "loading",
4643
- "ko": "loading"
4644
- },
4645
- "keywords": [
4646
- "error",
4647
- "loading",
4648
- "empty",
4649
- "404",
4650
- "오류",
4651
- "로딩",
4652
- "빈",
4653
- "خطأ"
4654
- ],
4655
- "route": null,
4656
- "states": [],
4657
- "sourceFile": "app/admin/loading.tsx",
4658
- "evidence": "docs/design-system/ux-source-evidence/admin-loading.json",
4659
- "status": "source-indexed",
4660
- "fragments": [
4661
- {
4662
- "id": "AdminLoading",
4663
- "line": 2
4664
- }
4665
- ],
4666
- "tokens": []
4667
- }
4668
- ]
4669
- }