@elevasis/ui 2.25.6 → 2.26.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 (105) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/app/index.css +15 -5
  3. package/dist/app/index.d.ts +61 -14
  4. package/dist/app/index.js +6 -6
  5. package/dist/charts/index.js +6 -5
  6. package/dist/chunk-3MEXPLWT.js +265 -0
  7. package/dist/{chunk-BDKM56TP.js → chunk-4KTLOK7K.js} +1 -1
  8. package/dist/{chunk-KMAXFJPH.js → chunk-CW3UNAF2.js} +5 -409
  9. package/dist/{chunk-HKBEURCV.js → chunk-G26INIF3.js} +1 -1
  10. package/dist/{chunk-7F3IQMLI.js → chunk-G66QFZXD.js} +11 -214
  11. package/dist/{chunk-QIW6OCEI.js → chunk-HLFFKKT3.js} +27 -373
  12. package/dist/chunk-JDNEWB5F.js +10 -0
  13. package/dist/{chunk-L7D6KNHV.js → chunk-JKBGDFX2.js} +890 -749
  14. package/dist/{chunk-YRKQNPK2.js → chunk-JPGX3533.js} +4 -3
  15. package/dist/chunk-KEFWANZY.js +155 -0
  16. package/dist/chunk-LH4GPYDX.js +448 -0
  17. package/dist/{chunk-JXSBOG2R.js → chunk-LWKZ3BCC.js} +5 -4
  18. package/dist/chunk-MYEOTM7D.js +92 -0
  19. package/dist/chunk-OGXKOMUT.js +412 -0
  20. package/dist/chunk-OHXU5WWK.js +3731 -0
  21. package/dist/chunk-ONFKASZI.js +2004 -0
  22. package/dist/{chunk-U36X6NZM.js → chunk-RIFTUOPE.js} +2 -14
  23. package/dist/{chunk-T6INEVX6.js → chunk-SGS4CQ2B.js} +1 -1
  24. package/dist/{chunk-C7IBFI5B.js → chunk-UPMX5GJI.js} +5 -5
  25. package/dist/{chunk-ARJPZ66V.js → chunk-UY5I2KOZ.js} +208 -3124
  26. package/dist/chunk-W2ZTLH7Y.js +662 -0
  27. package/dist/{chunk-KNISO652.js → chunk-WUVR4QY6.js} +9 -9
  28. package/dist/{chunk-Q5BEODAT.js → chunk-X2SUMO3P.js} +2 -1
  29. package/dist/{chunk-SNHGSCKH.js → chunk-XBMCDGHA.js} +1 -1
  30. package/dist/{chunk-N55DVMAG.js → chunk-XQQEKWTL.js} +2 -6
  31. package/dist/{chunk-SBQ4MYQV.js → chunk-XZSEPJZQ.js} +5 -6
  32. package/dist/{chunk-CPAJXBTL.js → chunk-YHBPR67D.js} +490 -676
  33. package/dist/{chunk-QARSVM7Q.js → chunk-YO2YORW4.js} +4 -4
  34. package/dist/{chunk-TAIX4NO3.js → chunk-ZFLM2YVW.js} +2 -2
  35. package/dist/components/index.css +15 -5
  36. package/dist/components/index.d.ts +202 -383
  37. package/dist/components/index.js +43 -429
  38. package/dist/components/navigation/index.css +25 -15
  39. package/dist/execution/index.d.ts +0 -73
  40. package/dist/features/auth/index.css +25 -15
  41. package/dist/features/crm/index.css +25 -15
  42. package/dist/features/crm/index.d.ts +49 -49
  43. package/dist/features/crm/index.js +14 -15
  44. package/dist/features/dashboard/index.css +25 -15
  45. package/dist/features/dashboard/index.js +18 -16
  46. package/dist/features/delivery/index.css +15 -5
  47. package/dist/features/delivery/index.js +14 -15
  48. package/dist/features/knowledge/index.css +611 -0
  49. package/dist/features/knowledge/index.js +375 -72
  50. package/dist/features/lead-gen/index.css +25 -15
  51. package/dist/features/lead-gen/index.d.ts +60 -21
  52. package/dist/features/lead-gen/index.js +16 -16
  53. package/dist/features/monitoring/index.css +15 -5
  54. package/dist/features/monitoring/index.js +17 -17
  55. package/dist/features/monitoring/requests/index.css +25 -15
  56. package/dist/features/monitoring/requests/index.js +13 -14
  57. package/dist/features/operations/index.css +25 -15
  58. package/dist/features/operations/index.d.ts +16 -98
  59. package/dist/features/operations/index.js +26 -22
  60. package/dist/features/settings/index.css +25 -15
  61. package/dist/features/settings/index.d.ts +1 -0
  62. package/dist/features/settings/index.js +15 -16
  63. package/dist/hooks/delivery/index.css +25 -15
  64. package/dist/hooks/delivery/index.js +2 -2
  65. package/dist/hooks/index.css +15 -5
  66. package/dist/hooks/index.d.ts +172 -380
  67. package/dist/hooks/index.js +13 -14
  68. package/dist/hooks/published.css +15 -5
  69. package/dist/hooks/published.d.ts +172 -380
  70. package/dist/hooks/published.js +13 -14
  71. package/dist/index.css +15 -5
  72. package/dist/index.d.ts +988 -403
  73. package/dist/index.js +15 -15
  74. package/dist/initialization/index.d.ts +1 -0
  75. package/dist/knowledge/index.d.ts +981 -41
  76. package/dist/knowledge/index.js +5449 -294
  77. package/dist/layout/index.d.ts +2 -0
  78. package/dist/layout/index.js +3 -2
  79. package/dist/organization/index.css +25 -15
  80. package/dist/organization/index.d.ts +1 -0
  81. package/dist/provider/index.css +25 -15
  82. package/dist/provider/index.d.ts +818 -26
  83. package/dist/provider/index.js +11 -11
  84. package/dist/provider/published.css +25 -15
  85. package/dist/provider/published.d.ts +817 -25
  86. package/dist/provider/published.js +8 -9
  87. package/dist/test-utils/index.js +2 -2
  88. package/dist/test-utils/setup.js +1 -1
  89. package/dist/theme/index.js +3 -2
  90. package/dist/theme/presets/index.d.ts +97 -0
  91. package/dist/theme/presets/index.js +3 -0
  92. package/dist/types/index.d.ts +71 -126
  93. package/dist/utils/index.js +1 -1
  94. package/dist/vite/index.d.ts +7 -0
  95. package/dist/vite/index.js +10 -0
  96. package/dist/vite-plugin-knowledge/index.d.ts +1 -33
  97. package/dist/vite-plugin-knowledge/index.js +1 -66
  98. package/package.json +16 -3
  99. package/src/knowledge/README.md +8 -8
  100. package/src/theme/presets/README.md +19 -0
  101. package/dist/chunk-5RLYII6P.js +0 -314
  102. package/dist/chunk-6U7AIIHF.js +0 -880
  103. package/dist/chunk-HAEJ4M54.js +0 -94
  104. package/dist/chunk-LPM7O6XM.js +0 -293
  105. /package/dist/{chunk-SGXXJE52.js → chunk-QD4X4H5A.js} +0 -0
@@ -6,25 +6,25 @@ Read-only browser primitives for the Organization Model knowledge graph.
6
6
 
7
7
  | Export | Purpose |
8
8
  | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
9
- | `KnowledgeBrowser` | Composed default surface: tree + list+detail + search. |
10
- | `KnowledgeTree` | By-feature primary tree. |
11
- | `KnowledgeNodeList` | Flat list of node summary cards. |
12
- | `KnowledgeNodeView` | Single-node detail view: title, kind badge, summary, MDX body, edge sidecar. |
9
+ | `KnowledgeBrowser` | Selected-node detail pane. Tree/search now live in the feature sidebar. |
10
+ | `KnowledgeTree` | By-feature primary tree with hierarchical features and multi-governance duplication. |
11
+ | `KnowledgeNodeList` | Legacy flat list of node summary cards; exported for compatibility. |
12
+ | `KnowledgeNodeView` | Single knowledge-node detail view using `NodeDescribeShell` and relationship groups. |
13
13
  | `KnowledgeSearchBar` | Client-side search over `_generated/knowledge-search-index.json`. |
14
- | `KnowledgeSidebarMiddle` | Sidebar middle section. Mirrors `CrmSidebarMiddle`. |
15
- | `KNOWLEDGE_ITEMS` | Default sidebar nav items. |
14
+ | `KnowledgeSidebarMiddle` | Deprecated legacy sidebar middle section; active sidebar lives under `features/knowledge/sidebar`. |
15
+ | `KNOWLEDGE_ITEMS` | Deprecated default sidebar nav items retained for compatibility. |
16
16
  | `KnowledgeMDXProvider`, `useKnowledgeAllowlist`, `KNOWLEDGE_ALLOWLIST` | MDX runtime allowlist (`Card`, `Cards`, `Step`, `Steps`, `Callout`, `Tab`, `Tabs`). |
17
17
  | `KNOWLEDGE_BODIES` | Build-time-compiled MDX components keyed by node id. |
18
18
 
19
19
  ## Customization tiers
20
20
 
21
21
  1. **Default** — mount `knowledgeManifest` from `@elevasis/ui/features/knowledge`.
22
- 2. **Extend** — pass `extraComponents` to `KnowledgeMDXProvider` or compose around `KnowledgeSidebarMiddle` + `KNOWLEDGE_ITEMS`.
22
+ 2. **Extend** — pass `extraComponents` to `KnowledgeMDXProvider` or compose around the feature sidebar primitives.
23
23
  3. **Replace** — call `@elevasis/core/knowledge` queries directly from project-owned routes.
24
24
 
25
25
  ## Codegen
26
26
 
27
- `KNOWLEDGE_BODIES` and the search index are regenerated by `pnpm scaffold:sync` (or `pnpm knowledge:generate` to run only the knowledge step). Source: `DEFAULT_ORGANIZATION_MODEL.knowledge.nodes` from `@repo/core`.
27
+ `KNOWLEDGE_BODIES` and the search index are regenerated by `pnpm scaffold:sync` (or `pnpm knowledge:generate` to run only the knowledge step). Source: `canonicalOrganizationModel.knowledge.nodes` from `@repo/elevasis-core`.
28
28
 
29
29
  The Vite plugin at `@elevasis/ui/vite-plugin-knowledge` re-runs codegen on `buildStart` and watches the OM source dir for HMR.
30
30
 
@@ -0,0 +1,19 @@
1
+ # Theme Presets
2
+
3
+ Re-exports the canonical theme-preset SSOT from `@repo/core`. This subpath exists so that consumers can import preset metadata without pulling in the full theme runtime surface.
4
+
5
+ ## Exports
6
+
7
+ - `THEME_PRESETS` — `as const` tuple of preset names; the single source of truth.
8
+ - `ThemePresetName` — union type derived from `THEME_PRESETS`.
9
+ - `ThemePresetEnum` — Zod enum derived from `THEME_PRESETS`.
10
+
11
+ ## Use When
12
+
13
+ - You need a Zod-validated preset name (form schemas, API request/response validation).
14
+ - You need the union type for component props or Zustand state.
15
+ - You're adding a new preset and want to ensure it propagates everywhere via the canonical tuple.
16
+
17
+ ## Source Of Truth
18
+
19
+ `packages/core/src/auth/multi-tenancy/theme-presets.ts`. This subpath is a thin re-export. The `ui → core` dependency stays one-directional; the runtime preset catalog (`presets`, `getPreset`) lives at `@repo/ui/theme` and consumes the names declared in core.
@@ -1,314 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- // ../core/src/organization-model/domains/sales.ts
4
- var ModelIdSchema = z.string().trim().min(1).max(100).regex(/^[a-z0-9]+(?:[-._][a-z0-9]+)*$/, "IDs must be lowercase and use -, _, or . separators");
5
- var LabelSchema = z.string().trim().min(1).max(120);
6
- var DescriptionSchema = z.string().trim().min(1).max(2e3);
7
- var ColorTokenSchema = z.string().trim().min(1).max(50);
8
- var IconNameSchema = z.string().trim().min(1).max(80);
9
- var PathSchema = z.string().trim().startsWith("/").max(300);
10
- var ReferenceIdsSchema = z.array(ModelIdSchema).default([]);
11
- var DisplayMetadataSchema = z.object({
12
- label: LabelSchema,
13
- description: DescriptionSchema.optional(),
14
- color: ColorTokenSchema.optional(),
15
- icon: IconNameSchema.optional()
16
- });
17
- var TechStackEntrySchema = z.object({
18
- /** Name of the external platform (e.g. "HubSpot", "Stripe", "Notion"). */
19
- platform: z.string().trim().min(1).max(200),
20
- /** Free-form description of what this integration is used for. */
21
- purpose: z.string().trim().min(1).max(500),
22
- /**
23
- * Health of the credential backing this integration.
24
- * - configured: credential present and valid
25
- * - pending: not yet set up
26
- * - expired: credential existed but has lapsed
27
- * - missing: expected but not present
28
- */
29
- credentialStatus: z.enum(["configured", "pending", "expired", "missing"]),
30
- /**
31
- * Whether this integration is the primary system of record for its domain
32
- * (e.g. HubSpot is SoR for contacts). Defaults to false.
33
- */
34
- isSystemOfRecord: z.boolean().default(false)
35
- });
36
- DisplayMetadataSchema.extend({
37
- id: ModelIdSchema,
38
- resourceId: z.string().trim().min(1).max(255),
39
- resourceType: z.enum(["workflow", "agent", "trigger", "integration", "external", "human_checkpoint"]),
40
- featureIds: ReferenceIdsSchema,
41
- entityIds: ReferenceIdsSchema,
42
- surfaceIds: ReferenceIdsSchema,
43
- capabilityIds: ReferenceIdsSchema,
44
- /** Optional tech-stack metadata for external-SaaS integrations. */
45
- techStack: TechStackEntrySchema.optional()
46
- });
47
-
48
- // ../core/src/organization-model/domains/sales.ts
49
- var SalesStageSemanticClassSchema = z.enum(["open", "active", "nurturing", "closed_won", "closed_lost"]);
50
- var SalesStageSchema = DisplayMetadataSchema.extend({
51
- id: ModelIdSchema,
52
- order: z.number().int().min(0),
53
- semanticClass: SalesStageSemanticClassSchema,
54
- surfaceIds: ReferenceIdsSchema,
55
- resourceIds: ReferenceIdsSchema
56
- });
57
- var SalesPipelineSchema = z.object({
58
- id: ModelIdSchema,
59
- label: z.string().trim().min(1).max(120),
60
- description: DescriptionSchema.optional(),
61
- entityId: ModelIdSchema,
62
- stages: z.array(SalesStageSchema).min(1)
63
- });
64
- var OrganizationModelSalesSchema = z.object({
65
- entityId: ModelIdSchema,
66
- defaultPipelineId: ModelIdSchema,
67
- pipelines: z.array(SalesPipelineSchema).min(1)
68
- });
69
- var DEFAULT_ORGANIZATION_MODEL_SALES = {
70
- entityId: "crm.deal",
71
- defaultPipelineId: "default",
72
- pipelines: [
73
- {
74
- id: "default",
75
- label: "Default Pipeline",
76
- entityId: "crm.deal",
77
- stages: [
78
- {
79
- id: "interested",
80
- label: "Interested",
81
- color: "blue",
82
- order: 1,
83
- semanticClass: "open",
84
- surfaceIds: ["crm.pipeline"],
85
- resourceIds: []
86
- },
87
- {
88
- id: "proposal",
89
- label: "Proposal",
90
- color: "yellow",
91
- order: 2,
92
- semanticClass: "active",
93
- surfaceIds: ["crm.pipeline"],
94
- resourceIds: []
95
- },
96
- {
97
- id: "closing",
98
- label: "Closing",
99
- color: "lime",
100
- order: 3,
101
- semanticClass: "active",
102
- surfaceIds: ["crm.pipeline"],
103
- resourceIds: []
104
- },
105
- {
106
- id: "closed_won",
107
- label: "Closed Won",
108
- color: "green",
109
- order: 4,
110
- semanticClass: "closed_won",
111
- surfaceIds: ["crm.pipeline"],
112
- resourceIds: []
113
- },
114
- {
115
- id: "closed_lost",
116
- label: "Closed Lost",
117
- color: "red",
118
- order: 5,
119
- semanticClass: "closed_lost",
120
- surfaceIds: ["crm.pipeline"],
121
- resourceIds: []
122
- },
123
- {
124
- id: "nurturing",
125
- label: "Nurturing",
126
- color: "grape",
127
- order: 6,
128
- semanticClass: "nurturing",
129
- surfaceIds: ["crm.pipeline"],
130
- resourceIds: []
131
- }
132
- ]
133
- }
134
- ]
135
- };
136
- function findPipeline(definitions, pipelineKey) {
137
- return definitions.find((def) => def.pipelineKey === pipelineKey);
138
- }
139
- var CRM_DISCOVERY_REPLIED_STATE = {
140
- stateKey: "discovery_replied",
141
- label: "Discovery Replied"
142
- };
143
- var CRM_DISCOVERY_LINK_SENT_STATE = {
144
- stateKey: "discovery_link_sent",
145
- label: "Discovery Link Sent"
146
- };
147
- var CRM_DISCOVERY_NUDGING_STATE = {
148
- stateKey: "discovery_nudging",
149
- label: "Discovery Nudging"
150
- };
151
- var CRM_DISCOVERY_BOOKING_CANCELLED_STATE = {
152
- stateKey: "discovery_booking_cancelled",
153
- label: "Discovery Booking Cancelled"
154
- };
155
- var CRM_PRIORITY_BUCKETS = [
156
- { bucketKey: "needs_response", label: "Needs Response", rank: 10, color: "red" },
157
- { bucketKey: "follow_up_due", label: "Follow-up Due", rank: 20, color: "orange" },
158
- { bucketKey: "waiting", label: "Waiting", rank: 30, color: "blue" },
159
- { bucketKey: "stale", label: "Stale", rank: 40, color: "gray" },
160
- { bucketKey: "closed_low", label: "Closed", rank: 50, color: "dark" }
161
- ];
162
- var DEFAULT_CRM_PRIORITY_RULE_CONFIG = {
163
- buckets: CRM_PRIORITY_BUCKETS,
164
- closedStageKeys: ["closed_won", "closed_lost"],
165
- followUpAfterDaysByStateKey: {
166
- discovery_link_sent: 3,
167
- discovery_nudging: 2,
168
- reply_sent: 3,
169
- followup_1_sent: 3,
170
- followup_2_sent: 5,
171
- followup_3_sent: 7
172
- },
173
- staleAfterDays: 14
174
- };
175
- var PENDING_STATE = { stateKey: "pending", label: "Pending" };
176
- var ACQ_LIST_MEMBERS_LEAD_GEN_PIPELINE = {
177
- pipelineKey: "lead-gen",
178
- label: "Lead Generation",
179
- entityKey: "acq.list-member",
180
- stages: [
181
- {
182
- stageKey: "outreach",
183
- label: "Outreach",
184
- states: [
185
- PENDING_STATE,
186
- { stateKey: "personalized", label: "Personalized" },
187
- { stateKey: "uploaded", label: "Uploaded" },
188
- { stateKey: "interested", label: "Interested" }
189
- ]
190
- },
191
- {
192
- stageKey: "prospecting",
193
- label: "Prospecting",
194
- states: [
195
- PENDING_STATE,
196
- { stateKey: "discovered", label: "Discovered" },
197
- { stateKey: "verified", label: "Verified" }
198
- ]
199
- },
200
- {
201
- stageKey: "qualification",
202
- label: "Qualification",
203
- states: [PENDING_STATE]
204
- }
205
- ]
206
- };
207
- var ACQ_LIST_COMPANIES_LEAD_GEN_PIPELINE = {
208
- pipelineKey: "lead-gen",
209
- label: "Lead Generation",
210
- entityKey: "acq.list-company",
211
- stages: [
212
- {
213
- stageKey: "outreach",
214
- label: "Outreach",
215
- states: [PENDING_STATE]
216
- },
217
- {
218
- stageKey: "prospecting",
219
- label: "Prospecting",
220
- states: [
221
- PENDING_STATE,
222
- { stateKey: "populated", label: "Populated" },
223
- { stateKey: "extracted", label: "Extracted" }
224
- ]
225
- },
226
- {
227
- stageKey: "qualification",
228
- label: "Qualification",
229
- states: [PENDING_STATE, { stateKey: "qualified", label: "Qualified" }]
230
- }
231
- ]
232
- };
233
- var LEAD_GEN_PIPELINE_DEFINITIONS = {
234
- "acq.list-member": [ACQ_LIST_MEMBERS_LEAD_GEN_PIPELINE],
235
- "acq.list-company": [ACQ_LIST_COMPANIES_LEAD_GEN_PIPELINE]
236
- };
237
- var LEAD_GEN_STAGE_CATALOG = {
238
- // Prospecting — company population
239
- scraped: {
240
- key: "scraped",
241
- label: "Scraped",
242
- description: "Company was scraped from a source directory (Apify actor run).",
243
- order: 1,
244
- entity: "company"
245
- },
246
- populated: {
247
- key: "populated",
248
- label: "Populated",
249
- description: "Company record populated with structured data from scrape results.",
250
- order: 2,
251
- entity: "company"
252
- },
253
- extracted: {
254
- key: "extracted",
255
- label: "Extracted",
256
- description: "Website content extracted and parsed for company intelligence.",
257
- order: 3,
258
- entity: "company"
259
- },
260
- enriched: {
261
- key: "enriched",
262
- label: "Enriched",
263
- description: "Company or contact enriched with third-party data (e.g. Tomba, Anymailfinder).",
264
- order: 4,
265
- entity: "company"
266
- },
267
- // Prospecting — contact discovery
268
- discovered: {
269
- key: "discovered",
270
- label: "Discovered",
271
- description: "Contact email address discovered via an email-discovery workflow.",
272
- order: 5,
273
- entity: "contact"
274
- },
275
- verified: {
276
- key: "verified",
277
- label: "Verified",
278
- description: "Contact email address verified as deliverable (email verification workflow).",
279
- order: 6,
280
- entity: "contact"
281
- },
282
- // Qualification
283
- qualified: {
284
- key: "qualified",
285
- label: "Qualified",
286
- description: "Company passed the ICP qualification rubric (company-qualification workflow).",
287
- order: 7,
288
- entity: "company"
289
- },
290
- // Outreach
291
- personalized: {
292
- key: "personalized",
293
- label: "Personalized",
294
- description: "Outreach message personalized for the contact (Instantly personalization workflow).",
295
- order: 8,
296
- entity: "contact"
297
- },
298
- uploaded: {
299
- key: "uploaded",
300
- label: "Uploaded",
301
- description: "Contact uploaded to an Instantly campaign for outreach.",
302
- order: 9,
303
- entity: "contact"
304
- },
305
- interested: {
306
- key: "interested",
307
- label: "Interested",
308
- description: "Contact replied with a positive signal (Instantly reply-handler transition).",
309
- order: 10,
310
- entity: "contact"
311
- }
312
- };
313
-
314
- export { CRM_DISCOVERY_BOOKING_CANCELLED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_NUDGING_STATE, CRM_DISCOVERY_REPLIED_STATE, CRM_PRIORITY_BUCKETS, ColorTokenSchema, DEFAULT_CRM_PRIORITY_RULE_CONFIG, DEFAULT_ORGANIZATION_MODEL_SALES, DescriptionSchema, DisplayMetadataSchema, IconNameSchema, LEAD_GEN_PIPELINE_DEFINITIONS, LEAD_GEN_STAGE_CATALOG, LabelSchema, ModelIdSchema, OrganizationModelSalesSchema, PathSchema, ReferenceIdsSchema, findPipeline };