spine-framework 0.3.124 → 0.3.126

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 (319) hide show
  1. package/.framework/cli/commands/agents.ts +35 -37
  2. package/.framework/cli/commands/auth.ts +35 -34
  3. package/.framework/cli/commands/create-app.ts +104 -40
  4. package/.framework/cli/commands/dev.ts +104 -69
  5. package/.framework/cli/commands/doctor.ts +179 -69
  6. package/.framework/cli/commands/generate.ts +83 -143
  7. package/.framework/cli/commands/init.ts +72 -34
  8. package/.framework/cli/commands/install-app.ts +260 -125
  9. package/.framework/cli/commands/items.ts +33 -44
  10. package/.framework/cli/commands/migrate.ts +122 -40
  11. package/.framework/cli/commands/migrations.ts +33 -40
  12. package/.framework/cli/commands/pipelines.ts +31 -39
  13. package/.framework/cli/commands/status.ts +47 -23
  14. package/.framework/cli/commands/system.ts +47 -37
  15. package/.framework/cli/commands/test.ts +112 -68
  16. package/.framework/cli/commands/validate-app.ts +215 -121
  17. package/.framework/cli/context.ts +112 -130
  18. package/.framework/cli/env-loader.ts +47 -18
  19. package/.framework/cli/index.ts +81 -42
  20. package/.framework/docs/runtime-types.md +1024 -0
  21. package/.framework/functions/_shared/agent-runner.ts +1296 -961
  22. package/.framework/functions/_shared/app-manifest.ts +82 -68
  23. package/.framework/functions/_shared/audit.ts +135 -83
  24. package/.framework/functions/_shared/{cil-state.ts → cil.ts} +158 -56
  25. package/.framework/functions/_shared/db.ts +80 -126
  26. package/.framework/functions/_shared/hash-api-key.ts +63 -0
  27. package/.framework/functions/_shared/index.ts +224 -335
  28. package/.framework/functions/_shared/kb.ts +319 -0
  29. package/.framework/functions/_shared/llm.ts +92 -0
  30. package/.framework/functions/_shared/logging.ts +288 -0
  31. package/.framework/functions/_shared/middleware.ts +329 -365
  32. package/.framework/functions/_shared/outcomes.ts +36 -0
  33. package/.framework/functions/_shared/permissions.ts +359 -643
  34. package/.framework/functions/_shared/pipeline-runner.ts +243 -316
  35. package/.framework/functions/_shared/principal.ts +376 -468
  36. package/.framework/functions/_shared/resolve-credentials.ts +102 -0
  37. package/.framework/functions/_shared/resolve-ids.ts +188 -16
  38. package/.framework/functions/_shared/retry-deliveries.ts +104 -0
  39. package/.framework/functions/_shared/schema-utils.ts +611 -373
  40. package/.framework/functions/_shared/testing.ts +207 -137
  41. package/.framework/functions/_shared/tracing.ts +276 -0
  42. package/.framework/functions/_shared/trigger-engine.ts +159 -211
  43. package/.framework/functions/_shared/webhook-registration.ts +95 -81
  44. package/.framework/functions/_shared/webhook-registry.ts +153 -75
  45. package/.framework/functions/account-nodes.ts +31 -53
  46. package/.framework/functions/adapters/generic-webhook-inbound.ts +56 -0
  47. package/.framework/functions/adapters/generic-webhook-outbound.ts +43 -0
  48. package/.framework/functions/adapters/openai-outbound.ts +40 -0
  49. package/.framework/functions/admin-data.ts +685 -537
  50. package/.framework/functions/admin-funnel.ts +31 -20
  51. package/.framework/functions/admin-install-funnel.ts +47 -28
  52. package/.framework/functions/admin-signals.ts +47 -29
  53. package/.framework/functions/ai-agents.ts +122 -147
  54. package/.framework/functions/ai-interactions.ts +180 -90
  55. package/.framework/functions/api-keys.ts +250 -192
  56. package/.framework/functions/apps.ts +203 -197
  57. package/.framework/functions/auth.ts +98 -91
  58. package/.framework/functions/cil-agent-ingest.ts +773 -0
  59. package/.framework/functions/cil-agent.ts +592 -0
  60. package/.framework/functions/cil-callmap.ts +1227 -0
  61. package/.framework/functions/cil-config.ts +583 -0
  62. package/.framework/functions/cil-context.ts +445 -0
  63. package/.framework/functions/cil-doc.ts +1752 -0
  64. package/.framework/functions/cil-embeddings.ts +1202 -0
  65. package/.framework/functions/cil-graph.ts +585 -0
  66. package/.framework/functions/cil-ingest.ts +2416 -0
  67. package/.framework/functions/cil-pipeline.ts +318 -0
  68. package/.framework/functions/cil-project.ts +499 -0
  69. package/.framework/functions/cil-validate.ts +469 -0
  70. package/.framework/functions/debug-auth.ts +73 -53
  71. package/.framework/functions/deliveries.ts +117 -0
  72. package/.framework/functions/embeddings.ts +528 -516
  73. package/.framework/functions/eval-harness.ts +158 -106
  74. package/.framework/functions/integration-outbound.ts +311 -0
  75. package/.framework/functions/integration-routes.ts +240 -466
  76. package/.framework/functions/integrations.ts +132 -140
  77. package/.framework/functions/invites.ts +401 -201
  78. package/.framework/functions/item-progress.ts +113 -53
  79. package/.framework/functions/kb.ts +28 -0
  80. package/.framework/functions/logs.ts +239 -222
  81. package/.framework/functions/observability.ts +308 -259
  82. package/.framework/functions/pipeline-executions.ts +179 -235
  83. package/.framework/functions/pipelines.ts +163 -205
  84. package/.framework/functions/prompt-configs.ts +109 -156
  85. package/.framework/functions/roles.ts +97 -147
  86. package/.framework/functions/system-cron.ts +132 -218
  87. package/.framework/functions/system.ts +112 -52
  88. package/.framework/functions/tests.ts +32 -28
  89. package/.framework/functions/timers.ts +162 -210
  90. package/.framework/functions/triggers.ts +282 -346
  91. package/.framework/functions/types.ts +283 -400
  92. package/.framework/migrations/001_core_schema.sql +630 -0
  93. package/.framework/migrations/002_core_rls_and_functions.sql +532 -0
  94. package/.framework/migrations/{003_system_data.sql → 003_core_system_data.sql} +26 -153
  95. package/.framework/migrations/004_core_rpc_and_broker.sql +421 -0
  96. package/.framework/migrations/005_core_observability.sql +598 -0
  97. package/.framework/migrations/006_security_hardening_rls.sql +97 -0
  98. package/.framework/migrations/007_kb_article_list.sql +237 -0
  99. package/.framework/migrations/008_items_target.sql +8 -0
  100. package/.framework/migrations/009_roles_slug_unique.sql +11 -0
  101. package/.framework/public/spine.config.json +91 -0
  102. package/.framework/scripts/app-install-cli.ts +112 -98
  103. package/.framework/src/App.tsx +67 -20
  104. package/.framework/src/apps/admin/index.tsx +97 -27
  105. package/.framework/src/components/AppWrapper.tsx +50 -11
  106. package/.framework/src/components/CustomAppLoader.tsx +131 -22
  107. package/.framework/src/components/admin/AdminListPage.tsx +75 -8
  108. package/.framework/src/components/admin/AdminSidebar.tsx +148 -36
  109. package/.framework/src/components/admin/AdminStatsCard.tsx +48 -29
  110. package/.framework/src/components/admin/PageInstructions.tsx +49 -0
  111. package/.framework/src/components/admin/SortableTableHeader.tsx +49 -2
  112. package/.framework/src/components/app-shell/GenericAppShell.tsx +69 -11
  113. package/.framework/src/components/app-shell/GenericDetailPage.tsx +55 -10
  114. package/.framework/src/components/app-shell/GenericListPage.tsx +76 -9
  115. package/.framework/src/components/app-sidebar.tsx +50 -3
  116. package/.framework/src/components/auth/ProtectedRoute.tsx +53 -45
  117. package/.framework/src/components/kb/KBArticleEditor.tsx +409 -0
  118. package/.framework/src/components/kb/KBArticleList.tsx +557 -0
  119. package/.framework/src/components/layout/AppShell.tsx +54 -16
  120. package/.framework/src/components/layout/Header.tsx +50 -38
  121. package/.framework/src/components/layout/Layout.tsx +48 -32
  122. package/.framework/src/components/layout/Sidebar.tsx +167 -16
  123. package/.framework/src/components/runtime/DataDetailHeader.tsx +33 -1
  124. package/.framework/src/components/runtime/DataDetailPage.tsx +289 -4
  125. package/.framework/src/components/runtime/DataFilters.tsx +78 -1
  126. package/.framework/src/components/runtime/DataHeader.tsx +32 -29
  127. package/.framework/src/components/runtime/DataListPage.tsx +161 -2
  128. package/.framework/src/components/runtime/DataStats.tsx +48 -1
  129. package/.framework/src/components/runtime/DataTable.tsx +153 -1
  130. package/.framework/src/components/runtime/SchemaDetailForm.tsx +77 -46
  131. package/.framework/src/components/runtime/index.ts +16 -9
  132. package/.framework/src/components/search-form.tsx +33 -1
  133. package/.framework/src/components/shared/AgentView.tsx +48 -51
  134. package/.framework/src/components/shared/FieldRenderer.tsx +84 -67
  135. package/.framework/src/components/shared/InviteManager.tsx +113 -52
  136. package/.framework/src/components/shared/MemberList.tsx +182 -0
  137. package/.framework/src/components/shared/SchemaFields.tsx +96 -78
  138. package/.framework/src/components/ui/DataTable.tsx +86 -56
  139. package/.framework/src/components/ui/Form.tsx +188 -109
  140. package/.framework/src/components/ui/ItemCard.tsx +86 -58
  141. package/.framework/src/components/ui/ItemListView.tsx +88 -61
  142. package/.framework/src/components/ui/LoadingSpinner.tsx +52 -27
  143. package/.framework/src/components/ui/Modal.tsx +81 -4
  144. package/.framework/src/components/ui/RichTextEditor.tsx +101 -9
  145. package/.framework/src/components/ui/accordion.tsx +97 -5
  146. package/.framework/src/components/ui/alert-dialog.tsx +225 -13
  147. package/.framework/src/components/ui/alert.tsx +113 -6
  148. package/.framework/src/components/ui/aspect-ratio.tsx +49 -2
  149. package/.framework/src/components/ui/avatar.tsx +129 -7
  150. package/.framework/src/components/ui/badge.tsx +65 -3
  151. package/.framework/src/components/ui/breadcrumb.tsx +145 -8
  152. package/.framework/src/components/ui/button-group.tsx +81 -4
  153. package/.framework/src/components/ui/button.tsx +49 -2
  154. package/.framework/src/components/ui/calendar.tsx +65 -3
  155. package/.framework/src/components/ui/card.tsx +145 -8
  156. package/.framework/src/components/ui/carousel.tsx +129 -7
  157. package/.framework/src/components/ui/chart.tsx +161 -10
  158. package/.framework/src/components/ui/checkbox.tsx +49 -2
  159. package/.framework/src/components/ui/collapsible.tsx +81 -5
  160. package/.framework/src/components/ui/combobox.tsx +305 -20
  161. package/.framework/src/components/ui/command.tsx +177 -11
  162. package/.framework/src/components/ui/context-menu.tsx +273 -17
  163. package/.framework/src/components/ui/dialog.tsx +209 -27
  164. package/.framework/src/components/ui/direction.tsx +64 -4
  165. package/.framework/src/components/ui/drawer.tsx +193 -12
  166. package/.framework/src/components/ui/dropdown-menu.tsx +273 -18
  167. package/.framework/src/components/ui/empty.tsx +145 -9
  168. package/.framework/src/components/ui/field.tsx +209 -14
  169. package/.framework/src/components/ui/hover-card.tsx +81 -4
  170. package/.framework/src/components/ui/input-group.tsx +162 -10
  171. package/.framework/src/components/ui/input-otp.tsx +98 -5
  172. package/.framework/src/components/ui/input.tsx +49 -2
  173. package/.framework/src/components/ui/item.tsx +225 -13
  174. package/.framework/src/components/ui/kbd.tsx +65 -3
  175. package/.framework/src/components/ui/label.tsx +49 -2
  176. package/.framework/src/components/ui/menubar.tsx +289 -17
  177. package/.framework/src/components/ui/native-select.tsx +97 -5
  178. package/.framework/src/components/ui/navigation-menu.tsx +177 -10
  179. package/.framework/src/components/ui/pagination.tsx +161 -9
  180. package/.framework/src/components/ui/popover.tsx +145 -8
  181. package/.framework/src/components/ui/progress.tsx +49 -2
  182. package/.framework/src/components/ui/radio-group.tsx +65 -3
  183. package/.framework/src/components/ui/resizable.tsx +82 -4
  184. package/.framework/src/components/ui/scroll-area.tsx +65 -3
  185. package/.framework/src/components/ui/select.tsx +193 -11
  186. package/.framework/src/components/ui/separator.tsx +49 -2
  187. package/.framework/src/components/ui/sheet.tsx +193 -11
  188. package/.framework/src/components/ui/sidebar.tsx +481 -38
  189. package/.framework/src/components/ui/skeleton.tsx +49 -2
  190. package/.framework/src/components/ui/slider.tsx +49 -2
  191. package/.framework/src/components/ui/sonner.tsx +49 -2
  192. package/.framework/src/components/ui/spinner.tsx +49 -2
  193. package/.framework/src/components/ui/switch.tsx +49 -2
  194. package/.framework/src/components/ui/table-primitives.tsx +160 -33
  195. package/.framework/src/components/ui/table.tsx +161 -9
  196. package/.framework/src/components/ui/tabs.tsx +113 -6
  197. package/.framework/src/components/ui/textarea.tsx +49 -2
  198. package/.framework/src/components/ui/toggle-group.tsx +81 -4
  199. package/.framework/src/components/ui/toggle.tsx +65 -3
  200. package/.framework/src/components/ui/tooltip.tsx +97 -5
  201. package/.framework/src/contexts/AppContext.tsx +129 -45
  202. package/.framework/src/contexts/AuthContext.tsx +187 -144
  203. package/.framework/src/hooks/use-mobile.ts +48 -2
  204. package/.framework/src/hooks/useApi.ts +208 -159
  205. package/.framework/src/hooks/useAppPath.ts +32 -23
  206. package/.framework/src/hooks/useApps.ts +51 -20
  207. package/.framework/src/hooks/useEntityList.ts +32 -78
  208. package/.framework/src/hooks/useEntityRecord.ts +35 -96
  209. package/.framework/src/hooks/useForm.ts +32 -92
  210. package/.framework/src/hooks/useListSchema.ts +49 -78
  211. package/.framework/src/hooks/useSchemaRecord.ts +114 -105
  212. package/.framework/src/lib/api.ts +195 -116
  213. package/.framework/src/lib/supabase.ts +98 -64
  214. package/.framework/src/lib/utils.ts +287 -151
  215. package/.framework/src/main.tsx +49 -3
  216. package/.framework/src/pages/DashboardPage.tsx +52 -29
  217. package/.framework/src/pages/NotFoundPage.tsx +32 -10
  218. package/.framework/src/pages/SetupPage.tsx +32 -12
  219. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +119 -10
  220. package/.framework/src/pages/admin/AIAgentsPage.tsx +48 -19
  221. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +187 -17
  222. package/.framework/src/pages/admin/APIKeysPage.tsx +98 -22
  223. package/.framework/src/pages/admin/AlertsConfigPage.tsx +113 -26
  224. package/.framework/src/pages/admin/AppDetailPage.tsx +125 -8
  225. package/.framework/src/pages/admin/AppsPage.tsx +49 -2
  226. package/.framework/src/pages/admin/DeliveriesPage.tsx +196 -0
  227. package/.framework/src/pages/admin/DesignedPage.tsx +32 -18
  228. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +215 -484
  229. package/.framework/src/pages/admin/EmbeddingsPage.tsx +116 -319
  230. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +34 -9
  231. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +34 -9
  232. package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -16
  233. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +183 -26
  234. package/.framework/src/pages/admin/IntegrationsPage.tsx +48 -19
  235. package/.framework/src/pages/admin/InvitesPage.tsx +48 -14
  236. package/.framework/src/pages/admin/LogsPage.tsx +422 -75
  237. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +34 -9
  238. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +113 -24
  239. package/.framework/src/pages/admin/PipelineDetailPage.tsx +206 -34
  240. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +50 -17
  241. package/.framework/src/pages/admin/PipelinesPage.tsx +160 -21
  242. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +378 -88
  243. package/.framework/src/pages/admin/PromptConfigsPage.tsx +125 -16
  244. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +49 -10
  245. package/.framework/src/pages/admin/RoleDetailPage.tsx +130 -10
  246. package/.framework/src/pages/admin/RolesPage.tsx +171 -18
  247. package/.framework/src/pages/admin/SelectTestPage.tsx +34 -9
  248. package/.framework/src/pages/admin/ShadcnTestPage.tsx +49 -11
  249. package/.framework/src/pages/admin/SimpleDashboard.tsx +49 -10
  250. package/.framework/src/pages/admin/TestRunDetailPage.tsx +49 -4
  251. package/.framework/src/pages/admin/TestingDashboard.tsx +98 -28
  252. package/.framework/src/pages/admin/TimerDetailPage.tsx +143 -33
  253. package/.framework/src/pages/admin/TimersPage.tsx +48 -20
  254. package/.framework/src/pages/admin/TriggerDetailPage.tsx +118 -30
  255. package/.framework/src/pages/admin/TriggersPage.tsx +64 -19
  256. package/.framework/src/pages/admin/TypeDetailPage.tsx +138 -15
  257. package/.framework/src/pages/admin/TypesPage.tsx +48 -20
  258. package/.framework/src/pages/admin/cil/CILAgentPage.tsx +465 -0
  259. package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +787 -0
  260. package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +699 -0
  261. package/.framework/src/pages/admin/cil/CILFileListPage.tsx +647 -0
  262. package/.framework/src/pages/admin/cil/CILGraphPage.tsx +616 -0
  263. package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +1402 -0
  264. package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +614 -0
  265. package/.framework/src/pages/admin/cil/CILSearchPage.tsx +571 -0
  266. package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +731 -0
  267. package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
  268. package/.framework/src/pages/auth/AuthConfirmPage.tsx +52 -51
  269. package/.framework/src/pages/auth/ForgotPasswordPage.tsx +31 -22
  270. package/.framework/src/pages/auth/LoginPage.tsx +50 -23
  271. package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -15
  272. package/.framework/src/pages/auth/RegisterPage.tsx +281 -317
  273. package/.framework/src/pages/spine-framework/APIPage.tsx +33 -0
  274. package/.framework/src/pages/spine-framework/CLIPage.tsx +33 -0
  275. package/.framework/src/types/auth.ts +128 -71
  276. package/.framework/src/types/types.ts +373 -157
  277. package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +39 -0
  278. package/custom/.devin/skills/spine-workbench-idea/SKILL.md +36 -0
  279. package/custom/.devin/skills/spine-workbench-implement/SKILL.md +46 -0
  280. package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +28 -0
  281. package/custom/.devin/skills/spine-workbench-plan/SKILL.md +38 -0
  282. package/docs/README.md +9 -130
  283. package/netlify.toml +5 -2
  284. package/package.json +13 -25
  285. package/scripts/kb-ingest-docs.ts +203 -0
  286. package/spine.config.json +65 -4
  287. package/.framework/migrations/001_schema.sql +0 -425
  288. package/.framework/migrations/002_rls_and_functions.sql +0 -763
  289. package/.framework/migrations/004_enhancements.sql +0 -43
  290. package/.framework/migrations/005_auth_user_trigger.sql +0 -105
  291. package/.framework/migrations/006_fix_current_actor_id.sql +0 -21
  292. package/.framework/migrations/016_invites.sql +0 -27
  293. package/.framework/migrations/017_fix_get_account_apps.sql +0 -78
  294. package/.framework/migrations/018_apps_required_roles.sql +0 -17
  295. package/.framework/migrations/019_triggers_unique_constraint.sql +0 -13
  296. package/.framework/migrations/020_get_account_apps_role_filter.sql +0 -117
  297. package/.framework/migrations/021_app_domains.sql +0 -112
  298. package/.framework/migrations/022_route_prefix_domain_unique.sql +0 -21
  299. package/.framework/migrations/023_match_embeddings_rpc.sql +0 -78
  300. package/.framework/migrations/024_messages_account_id.sql +0 -9
  301. package/.framework/migrations/025_retype_threads_messages.sql +0 -240
  302. package/.framework/migrations/026_fix_rls_policies.sql +0 -47
  303. package/.framework/migrations/027_embedding_lifecycle.sql +0 -176
  304. package/.framework/migrations/028_fix_message_data_permissions.sql +0 -49
  305. package/.framework/migrations/029_tighten_support_triage_prompt.sql +0 -41
  306. package/.framework/migrations/030_messages_updated_by.sql +0 -6
  307. package/.framework/migrations/031_seed_upsert_constraints.sql +0 -35
  308. package/docs/APPS.md +0 -232
  309. package/docs/ARCHITECTURE.md +0 -246
  310. package/docs/INSTALL.md +0 -155
  311. package/docs/design-schema-spec.md +0 -1837
  312. package/docs/dev-guides/01-create-an-app.md +0 -183
  313. package/docs/dev-guides/02-create-a-function.md +0 -178
  314. package/docs/dev-guides/03-create-a-component.md +0 -178
  315. package/docs/dev-guides/04-webhook-handlers.md +0 -129
  316. package/docs/dev-guides/05-testing.md +0 -168
  317. package/docs/dev-guides/README.md +0 -40
  318. package/docs/npm-packages-plan.md +0 -288
  319. package/docs/spine-core--api-reference.md +0 -822
@@ -1,17 +1,75 @@
1
- "use client"
2
1
 
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ // CIL[BEGIN chunk_id="dropdownmenu_module_header_1783844098" type="module_header" identity="imports" parent="none"]
19
+ // CIL[DOC-MACRO purpose="Import dependencies for dropdown menu components"]
20
+ // CIL[DOC-RESPONSIBILITY responsibility="Import React, Radix UI primitives and utilities"]
21
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
22
+ // CIL[DOC-CONTRACT inputs="none" outputs="React, Radix primitives, utilities" errors="none" side_effects="none"]
23
+ // CIL[DOC-MICRO logic_summary="Imports React, Radix DropdownMenu primitives, styling utilities and icons" notable_decisions="[]"]
24
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
25
+ // CIL[DOC-STABILITY stability="stable"]
26
+ // CIL[DOC-AUDIENCE audience="developer"]
27
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, \."]
28
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
29
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
30
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
31
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
32
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
33
+ "use client"
3
34
  import * as React from "react"
4
35
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
5
-
6
36
  import { cn } from "@/lib/utils"
7
37
  import { CheckIcon, ChevronRightIcon } from "lucide-react"
8
-
38
+ // CIL[END chunk_id="dropdownmenu_module_header_1783844098"]
39
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenu_1783844098" type="function" identity="DropdownMenu" parent="none"]
40
+ // CIL[DOC-MACRO purpose="Root dropdown menu component"]
41
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide Radix UI DropdownMenu root primitive"]
42
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
43
+ // CIL[DOC-CONTRACT inputs="none" outputs="dropdown menu root" errors="none" side_effects="renders DOM"]
44
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenu.Root with data-slot attribute" notable_decisions="[]"]
45
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
46
+ // CIL[DOC-STABILITY stability="stable"]
47
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
48
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
49
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
50
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
51
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
52
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
9
53
  function DropdownMenu({
10
54
  ...props
11
55
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
12
56
  return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />
13
57
  }
14
-
58
+ // CIL[END chunk_id="dropdownmenu_dropdownmenu_1783844098"]
59
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenuportal_1783844098" type="function" identity="DropdownMenuPortal" parent="none"]
60
+ // CIL[DOC-MACRO purpose="Portal for rendering dropdown menu outside DOM tree"]
61
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide portal for dropdown menu positioning"]
62
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
63
+ // CIL[DOC-CONTRACT inputs="none" outputs="dropdown menu portal" errors="none" side_effects="renders DOM"]
64
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenuPortal with data-slot attribute" notable_decisions="[]"]
65
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
66
+ // CIL[DOC-STABILITY stability="stable"]
67
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
68
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 2."]
69
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
70
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
71
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
72
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
15
73
  function DropdownMenuPortal({
16
74
  ...props
17
75
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
@@ -19,7 +77,21 @@ function DropdownMenuPortal({
19
77
  <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />
20
78
  )
21
79
  }
22
-
80
+ // CIL[END chunk_id="dropdownmenu_dropdownmenuportal_1783844098"]
81
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenutrigger_1783844098" type="function" identity="DropdownMenuTrigger" parent="none"]
82
+ // CIL[DOC-MACRO purpose="Dropdown menu trigger component"]
83
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide trigger element for opening dropdown menu"]
84
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
85
+ // CIL[DOC-CONTRACT inputs="none" outputs="dropdown menu trigger" errors="none" side_effects="renders DOM"]
86
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenuTrigger with data-slot attribute" notable_decisions="[]"]
87
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
88
+ // CIL[DOC-STABILITY stability="stable"]
89
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
90
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 2."]
91
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
92
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
93
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
94
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
23
95
  function DropdownMenuTrigger({
24
96
  ...props
25
97
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
@@ -30,7 +102,21 @@ function DropdownMenuTrigger({
30
102
  />
31
103
  )
32
104
  }
33
-
105
+ // CIL[END chunk_id="dropdownmenu_dropdownmenutrigger_1783844098"]
106
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenucontent_1783844098" type="function" identity="DropdownMenuContent" parent="none"]
107
+ // CIL[DOC-MACRO purpose="Main dropdown menu content container"]
108
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide styled popup container for menu items"]
109
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
110
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled popup container" errors="none" side_effects="renders DOM"]
111
+ // CIL[DOC-MICRO logic_summary="Creates popup with portal, animations and popover styling" notable_decisions="[]"]
112
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
113
+ // CIL[DOC-STABILITY stability="stable"]
114
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
115
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
116
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
117
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
118
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
119
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
34
120
  function DropdownMenuContent({
35
121
  className,
36
122
  align = "start",
@@ -49,7 +135,21 @@ function DropdownMenuContent({
49
135
  </DropdownMenuPrimitive.Portal>
50
136
  )
51
137
  }
52
-
138
+ // CIL[END chunk_id="dropdownmenu_dropdownmenucontent_1783844098"]
139
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenugroup_1783844098" type="function" identity="DropdownMenuGroup" parent="none"]
140
+ // CIL[DOC-MACRO purpose="Container for grouping dropdown menu items"]
141
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide grouping container for related menu items"]
142
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
143
+ // CIL[DOC-CONTRACT inputs="none" outputs="group container" errors="none" side_effects="renders DOM"]
144
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenuGroup with data-slot attribute" notable_decisions="[]"]
145
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
146
+ // CIL[DOC-STABILITY stability="stable"]
147
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
148
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
149
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
150
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
151
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
152
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
53
153
  function DropdownMenuGroup({
54
154
  ...props
55
155
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
@@ -57,7 +157,21 @@ function DropdownMenuGroup({
57
157
  <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />
58
158
  )
59
159
  }
60
-
160
+ // CIL[END chunk_id="dropdownmenu_dropdownmenugroup_1783844098"]
161
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenuitem_1783844098" type="function" identity="DropdownMenuItem" parent="none"]
162
+ // CIL[DOC-MACRO purpose="Individual dropdown menu item"]
163
+ // CIL[DOC-RESPONSIBILITY responsibility="Render selectable menu item with variants and inset support"]
164
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
165
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled menu item" errors="none" side_effects="renders DOM"]
166
+ // CIL[DOC-MICRO logic_summary="Creates interactive item with focus styling and destructive variant" notable_decisions="[]"]
167
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
168
+ // CIL[DOC-STABILITY stability="stable"]
169
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
170
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
171
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
172
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
173
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
174
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
61
175
  function DropdownMenuItem({
62
176
  className,
63
177
  inset,
@@ -80,7 +194,21 @@ function DropdownMenuItem({
80
194
  />
81
195
  )
82
196
  }
83
-
197
+ // CIL[END chunk_id="dropdownmenu_dropdownmenuitem_1783844098"]
198
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenucheckboxitem_1783844098" type="function" identity="DropdownMenuCheckboxItem" parent="none"]
199
+ // CIL[DOC-MACRO purpose="Checkbox item for dropdown menus"]
200
+ // CIL[DOC-RESPONSIBILITY responsibility="Render toggleable menu item with check indicator"]
201
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
202
+ // CIL[DOC-CONTRACT inputs="none" outputs="checkbox menu item" errors="none" side_effects="renders DOM"]
203
+ // CIL[DOC-MICRO logic_summary="Creates toggleable item with check indicator and inset styling" notable_decisions="[]"]
204
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
205
+ // CIL[DOC-STABILITY stability="stable"]
206
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
207
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
208
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
209
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
210
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
211
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
84
212
  function DropdownMenuCheckboxItem({
85
213
  className,
86
214
  children,
@@ -114,7 +242,21 @@ function DropdownMenuCheckboxItem({
114
242
  </DropdownMenuPrimitive.CheckboxItem>
115
243
  )
116
244
  }
117
-
245
+ // CIL[END chunk_id="dropdownmenu_dropdownmenucheckboxitem_1783844098"]
246
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenuradiogroup_1783844098" type="function" identity="DropdownMenuRadioGroup" parent="none"]
247
+ // CIL[DOC-MACRO purpose="Radio group container for dropdown menu items"]
248
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide radio button grouping for menu items"]
249
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
250
+ // CIL[DOC-CONTRACT inputs="none" outputs="radio group container" errors="none" side_effects="renders DOM"]
251
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenuRadioGroup with data-slot attribute" notable_decisions="[]"]
252
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
253
+ // CIL[DOC-STABILITY stability="stable"]
254
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
255
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
256
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
257
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
258
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
259
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
118
260
  function DropdownMenuRadioGroup({
119
261
  ...props
120
262
  }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
@@ -125,7 +267,21 @@ function DropdownMenuRadioGroup({
125
267
  />
126
268
  )
127
269
  }
128
-
270
+ // CIL[END chunk_id="dropdownmenu_dropdownmenuradiogroup_1783844098"]
271
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenuradioitem_1783844098" type="function" identity="DropdownMenuRadioItem" parent="none"]
272
+ // CIL[DOC-MACRO purpose="Radio button item for dropdown menus"]
273
+ // CIL[DOC-RESPONSIBILITY responsibility="Render selectable radio item with check indicator"]
274
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
275
+ // CIL[DOC-CONTRACT inputs="none" outputs="radio menu item" errors="none" side_effects="renders DOM"]
276
+ // CIL[DOC-MICRO logic_summary="Creates radio item with check indicator and inset styling" notable_decisions="[]"]
277
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
278
+ // CIL[DOC-STABILITY stability="stable"]
279
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
280
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
281
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
282
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
283
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
284
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
129
285
  function DropdownMenuRadioItem({
130
286
  className,
131
287
  children,
@@ -157,7 +313,21 @@ function DropdownMenuRadioItem({
157
313
  </DropdownMenuPrimitive.RadioItem>
158
314
  )
159
315
  }
160
-
316
+ // CIL[END chunk_id="dropdownmenu_dropdownmenuradioitem_1783844098"]
317
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenulabel_1783844098" type="function" identity="DropdownMenuLabel" parent="none"]
318
+ // CIL[DOC-MACRO purpose="Label text for dropdown menu sections"]
319
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled label text for menu sections"]
320
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
321
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled label" errors="none" side_effects="renders DOM"]
322
+ // CIL[DOC-MICRO logic_summary="Creates muted text label with inset styling support" notable_decisions="[]"]
323
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
324
+ // CIL[DOC-STABILITY stability="stable"]
325
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
326
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
327
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
328
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
329
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
330
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
161
331
  function DropdownMenuLabel({
162
332
  className,
163
333
  inset,
@@ -177,7 +347,21 @@ function DropdownMenuLabel({
177
347
  />
178
348
  )
179
349
  }
180
-
350
+ // CIL[END chunk_id="dropdownmenu_dropdownmenulabel_1783844098"]
351
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenuseparator_1783844098" type="function" identity="DropdownMenuSeparator" parent="none"]
352
+ // CIL[DOC-MACRO purpose="Visual separator for dropdown menu sections"]
353
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled separator between menu sections"]
354
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
355
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled separator" errors="none" side_effects="renders DOM"]
356
+ // CIL[DOC-MICRO logic_summary="Creates horizontal line with margin and border styling" notable_decisions="[]"]
357
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
358
+ // CIL[DOC-STABILITY stability="stable"]
359
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
360
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
361
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
362
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
363
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
364
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
181
365
  function DropdownMenuSeparator({
182
366
  className,
183
367
  ...props
@@ -190,7 +374,21 @@ function DropdownMenuSeparator({
190
374
  />
191
375
  )
192
376
  }
193
-
377
+ // CIL[END chunk_id="dropdownmenu_dropdownmenuseparator_1783844098"]
378
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenushortcut_1783844098" type="function" identity="DropdownMenuShortcut" parent="none"]
379
+ // CIL[DOC-MACRO purpose="Keyboard shortcut display for menu items"]
380
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled keyboard shortcut text"]
381
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
382
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled shortcut span" errors="none" side_effects="renders DOM"]
383
+ // CIL[DOC-MICRO logic_summary="Creates small tracking-widest text with focus styling" notable_decisions="[]"]
384
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
385
+ // CIL[DOC-STABILITY stability="stable"]
386
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
387
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
388
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
389
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
390
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
391
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
194
392
  function DropdownMenuShortcut({
195
393
  className,
196
394
  ...props
@@ -206,13 +404,41 @@ function DropdownMenuShortcut({
206
404
  />
207
405
  )
208
406
  }
209
-
407
+ // CIL[END chunk_id="dropdownmenu_dropdownmenushortcut_1783844098"]
408
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenusub_1783844098" type="function" identity="DropdownMenuSub" parent="none"]
409
+ // CIL[DOC-MACRO purpose="Submenu container for nested dropdown menus"]
410
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide container for nested menu items"]
411
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
412
+ // CIL[DOC-CONTRACT inputs="none" outputs="submenu container" errors="none" side_effects="renders DOM"]
413
+ // CIL[DOC-MICRO logic_summary="Wraps Radix DropdownMenuSub with data-slot attribute" notable_decisions="[]"]
414
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
415
+ // CIL[DOC-STABILITY stability="stable"]
416
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
417
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
418
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
419
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
420
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
421
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
210
422
  function DropdownMenuSub({
211
423
  ...props
212
424
  }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
213
425
  return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />
214
426
  }
215
-
427
+ // CIL[END chunk_id="dropdownmenu_dropdownmenusub_1783844098"]
428
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenusubtrigger_1783844098" type="function" identity="DropdownMenuSubTrigger" parent="none"]
429
+ // CIL[DOC-MACRO purpose="Trigger for nested dropdown menu submenus"]
430
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide trigger with chevron for submenu expansion"]
431
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
432
+ // CIL[DOC-CONTRACT inputs="none" outputs="submenu trigger" errors="none" side_effects="renders DOM"]
433
+ // CIL[DOC-MICRO logic_summary="Creates trigger with chevron icon and inset styling support" notable_decisions="[]"]
434
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
435
+ // CIL[DOC-STABILITY stability="stable"]
436
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
437
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
438
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
439
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
440
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
441
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
216
442
  function DropdownMenuSubTrigger({
217
443
  className,
218
444
  inset,
@@ -236,7 +462,21 @@ function DropdownMenuSubTrigger({
236
462
  </DropdownMenuPrimitive.SubTrigger>
237
463
  )
238
464
  }
239
-
465
+ // CIL[END chunk_id="dropdownmenu_dropdownmenusubtrigger_1783844098"]
466
+ // CIL[BEGIN chunk_id="dropdownmenu_dropdownmenusubcontent_1783844098" type="function" identity="DropdownMenuSubContent" parent="none"]
467
+ // CIL[DOC-MACRO purpose="Content container for nested submenus"]
468
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide styled popup for submenu items"]
469
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
470
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled submenu popup" errors="none" side_effects="renders DOM"]
471
+ // CIL[DOC-MICRO logic_summary="Creates popup container with animations for submenu content" notable_decisions="[]"]
472
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
473
+ // CIL[DOC-STABILITY stability="stable"]
474
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
475
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
476
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
477
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
478
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
479
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
240
480
  function DropdownMenuSubContent({
241
481
  className,
242
482
  ...props
@@ -249,7 +489,21 @@ function DropdownMenuSubContent({
249
489
  />
250
490
  )
251
491
  }
252
-
492
+ // CIL[END chunk_id="dropdownmenu_dropdownmenusubcontent_1783844098"]
493
+ // CIL[BEGIN chunk_id="dropdownmenu_exports_1783844098" type="exports" identity="exports" parent="none"]
494
+ // CIL[DOC-MACRO purpose="Export dropdown menu components"]
495
+ // CIL[DOC-RESPONSIBILITY responsibility="Make all dropdown menu components available for import"]
496
+ // CIL[DOC-CONTEXT module="dropdownmenu" layer="ui" related_files="[]"]
497
+ // CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
498
+ // CIL[DOC-MICRO logic_summary="Exports all dropdown menu components for external usage" notable_decisions="[]"]
499
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
500
+ // CIL[DOC-STABILITY stability="stable"]
501
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
502
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
503
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
504
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
505
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
506
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
253
507
  export {
254
508
  DropdownMenu,
255
509
  DropdownMenuPortal,
@@ -267,3 +521,4 @@ export {
267
521
  DropdownMenuSubTrigger,
268
522
  DropdownMenuSubContent,
269
523
  }
524
+ // CIL[END chunk_id="dropdownmenu_exports_1783844098"]
@@ -1,7 +1,44 @@
1
- import { cva, type VariantProps } from "class-variance-authority"
2
1
 
3
- import { cn } from "@/lib/utils"
4
2
 
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ // CIL[BEGIN chunk_id="empty_module_header_1783844098" type="module_header" identity="imports" parent="none"]
11
+ // CIL[DOC-MACRO purpose="Import dependencies for empty state components"]
12
+ // CIL[DOC-RESPONSIBILITY responsibility="Import styling utilities and variant system"]
13
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
14
+ // CIL[DOC-CONTRACT inputs="none" outputs="styling utilities" errors="none" side_effects="none"]
15
+ // CIL[DOC-MICRO logic_summary="Imports cva for variant styling and cn for class merging" notable_decisions="[]"]
16
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
17
+ // CIL[DOC-STABILITY stability="stable"]
18
+ // CIL[DOC-AUDIENCE audience="developer"]
19
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
20
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
21
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
22
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
23
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
24
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
25
+ import { cva, type VariantProps } from "class-variance-authority"
26
+ import { cn } from "@/lib/utils"
27
+ // CIL[END chunk_id="empty_module_header_1783844098"]
28
+ // CIL[BEGIN chunk_id="empty_empty_1783844098" type="function" identity="Empty" parent="none"]
29
+ // CIL[DOC-MACRO purpose="Main empty state container component"]
30
+ // CIL[DOC-RESPONSIBILITY responsibility="Render empty state layout with centered content"]
31
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
32
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled div container" errors="none" side_effects="renders DOM"]
33
+ // CIL[DOC-MICRO logic_summary="Creates centered flex container with dashed border for empty states" notable_decisions="[]"]
34
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
35
+ // CIL[DOC-STABILITY stability="stable"]
36
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
37
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
38
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
39
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
40
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
41
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
5
42
  function Empty({ className, ...props }: React.ComponentProps<"div">) {
6
43
  return (
7
44
  <div
@@ -14,7 +51,21 @@ function Empty({ className, ...props }: React.ComponentProps<"div">) {
14
51
  />
15
52
  )
16
53
  }
17
-
54
+ // CIL[END chunk_id="empty_empty_1783844098"]
55
+ // CIL[BEGIN chunk_id="empty_emptyheader_1783844098" type="function" identity="EmptyHeader" parent="none"]
56
+ // CIL[DOC-MACRO purpose="Header container for empty state content"]
57
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide layout container for empty state header elements"]
58
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/migrations/015_simplify_apps_table.sql\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
59
+ // CIL[DOC-CONTRACT inputs="none" outputs="header container div" errors="none" side_effects="renders DOM"]
60
+ // CIL[DOC-MICRO logic_summary="Creates flex column container with max-width constraint for headers" notable_decisions="[]"]
61
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
62
+ // CIL[DOC-STABILITY stability="stable"]
63
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/migrations/015_simplify_apps_table.sql, .framework/src/components/ui/table-primitives.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
64
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
65
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
66
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
67
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
68
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
18
69
  function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) {
19
70
  return (
20
71
  <div
@@ -24,7 +75,21 @@ function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) {
24
75
  />
25
76
  )
26
77
  }
27
-
78
+ // CIL[END chunk_id="empty_emptyheader_1783844098"]
79
+ // CIL[BEGIN chunk_id="empty_emptymediavariants_1783844098" type="const" identity="emptyMediaVariants" parent="none"]
80
+ // CIL[DOC-MACRO purpose="Style variants for empty state media component"]
81
+ // CIL[DOC-RESPONSIBILITY responsibility="Define visual variants for media/icons in empty states"]
82
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
83
+ // CIL[DOC-CONTRACT inputs="none" outputs="CSS class names" errors="none" side_effects="none"]
84
+ // CIL[DOC-MICRO logic_summary="CVA configuration for default and icon variants with styling" notable_decisions="[]"]
85
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
86
+ // CIL[DOC-STABILITY stability="stable"]
87
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
88
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
89
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
90
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
91
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
92
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
28
93
  const emptyMediaVariants = cva(
29
94
  "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
30
95
  {
@@ -39,7 +104,21 @@ const emptyMediaVariants = cva(
39
104
  },
40
105
  }
41
106
  )
42
-
107
+ // CIL[END chunk_id="empty_emptymediavariants_1783844098"]
108
+ // CIL[BEGIN chunk_id="empty_emptymedia_1783844098" type="function" identity="EmptyMedia" parent="none"]
109
+ // CIL[DOC-MACRO purpose="Media/icon container for empty states"]
110
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled container for icons or media in empty states"]
111
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
112
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled media div" errors="none" side_effects="renders DOM"]
113
+ // CIL[DOC-MICRO logic_summary="Applies variant styling for media container with icon support" notable_decisions="[]"]
114
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
115
+ // CIL[DOC-STABILITY stability="stable"]
116
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
117
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
118
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
119
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
120
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
121
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
43
122
  function EmptyMedia({
44
123
  className,
45
124
  variant = "default",
@@ -54,7 +133,21 @@ function EmptyMedia({
54
133
  />
55
134
  )
56
135
  }
57
-
136
+ // CIL[END chunk_id="empty_emptymedia_1783844098"]
137
+ // CIL[BEGIN chunk_id="empty_emptytitle_1783844098" type="function" identity="EmptyTitle" parent="none"]
138
+ // CIL[DOC-MACRO purpose="Title component for empty state"]
139
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled title text in empty states"]
140
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[]"]
141
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled title div" errors="none" side_effects="renders DOM"]
142
+ // CIL[DOC-MICRO logic_summary="Creates heading-styled text with font and spacing for titles" notable_decisions="[]"]
143
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
144
+ // CIL[DOC-STABILITY stability="stable"]
145
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
146
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
147
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
148
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
149
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
150
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
58
151
  function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) {
59
152
  return (
60
153
  <div
@@ -67,7 +160,21 @@ function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) {
67
160
  />
68
161
  )
69
162
  }
70
-
163
+ // CIL[END chunk_id="empty_emptytitle_1783844098"]
164
+ // CIL[BEGIN chunk_id="empty_emptydescription_1783844098" type="function" identity="EmptyDescription" parent="none"]
165
+ // CIL[DOC-MACRO purpose="Description text component for empty state"]
166
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled description text in empty states"]
167
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[]"]
168
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled description div" errors="none" side_effects="renders DOM"]
169
+ // CIL[DOC-MICRO logic_summary="Creates muted text styling with link support for descriptions" notable_decisions="[]"]
170
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
171
+ // CIL[DOC-STABILITY stability="stable"]
172
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
173
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
174
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
175
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
176
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
177
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
71
178
  function EmptyDescription({ className, ...props }: React.ComponentProps<"p">) {
72
179
  return (
73
180
  <div
@@ -80,7 +187,21 @@ function EmptyDescription({ className, ...props }: React.ComponentProps<"p">) {
80
187
  />
81
188
  )
82
189
  }
83
-
190
+ // CIL[END chunk_id="empty_emptydescription_1783844098"]
191
+ // CIL[BEGIN chunk_id="empty_emptycontent_1783844098" type="function" identity="EmptyContent" parent="none"]
192
+ // CIL[DOC-MACRO purpose="Content container for empty state details"]
193
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide layout container for additional empty state content"]
194
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[]"]
195
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled content div" errors="none" side_effects="renders DOM"]
196
+ // CIL[DOC-MICRO logic_summary="Creates flex column container with text styling for content" notable_decisions="[]"]
197
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
198
+ // CIL[DOC-STABILITY stability="stable"]
199
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
200
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
201
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
202
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
203
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
204
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
84
205
  function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {
85
206
  return (
86
207
  <div
@@ -93,7 +214,21 @@ function EmptyContent({ className, ...props }: React.ComponentProps<"div">) {
93
214
  />
94
215
  )
95
216
  }
96
-
217
+ // CIL[END chunk_id="empty_emptycontent_1783844098"]
218
+ // CIL[BEGIN chunk_id="empty_exports_1783844098" type="exports" identity="exports" parent="none"]
219
+ // CIL[DOC-MACRO purpose="Export empty state components"]
220
+ // CIL[DOC-RESPONSIBILITY responsibility="Make all empty state components available for import"]
221
+ // CIL[DOC-CONTEXT module="empty" layer="ui" related_files="[]"]
222
+ // CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
223
+ // CIL[DOC-MICRO logic_summary="Exports all empty state components for external usage" notable_decisions="[]"]
224
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
225
+ // CIL[DOC-STABILITY stability="stable"]
226
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
227
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
228
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
229
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
230
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
231
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
97
232
  export {
98
233
  Empty,
99
234
  EmptyHeader,
@@ -102,3 +237,4 @@ export {
102
237
  EmptyContent,
103
238
  EmptyMedia,
104
239
  }
240
+ // CIL[END chunk_id="empty_exports_1783844098"]