@flamingo-stack/openframe-frontend-core 0.0.593 → 0.0.594

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 (104) hide show
  1. package/dist/{chunk-GEP3O6NU.js → chunk-3OQIZPUX.js} +3 -3
  2. package/dist/{chunk-2645GIM2.js → chunk-3T7ZP3TL.js} +2 -2
  3. package/dist/{chunk-YAZY24ZK.js → chunk-3XDPXOMS.js} +4 -4
  4. package/dist/{chunk-OAAQKMMU.cjs → chunk-43ADGEWL.cjs} +24 -24
  5. package/dist/{chunk-OAAQKMMU.cjs.map → chunk-43ADGEWL.cjs.map} +1 -1
  6. package/dist/{chunk-WY2GQ62H.cjs → chunk-5XQMEDGE.cjs} +10 -10
  7. package/dist/{chunk-WY2GQ62H.cjs.map → chunk-5XQMEDGE.cjs.map} +1 -1
  8. package/dist/{chunk-YSJ4TA6V.cjs → chunk-66I2QUFE.cjs} +3 -3
  9. package/dist/{chunk-YSJ4TA6V.cjs.map → chunk-66I2QUFE.cjs.map} +1 -1
  10. package/dist/{chunk-2PMCHL37.cjs → chunk-ACU7J5BL.cjs} +69 -69
  11. package/dist/{chunk-2PMCHL37.cjs.map → chunk-ACU7J5BL.cjs.map} +1 -1
  12. package/dist/{chunk-2KISKWOY.cjs → chunk-C4YJC5X7.cjs} +4 -4
  13. package/dist/{chunk-2KISKWOY.cjs.map → chunk-C4YJC5X7.cjs.map} +1 -1
  14. package/dist/{chunk-S6G6KJ57.cjs → chunk-CCLPJSY3.cjs} +10 -10
  15. package/dist/{chunk-S6G6KJ57.cjs.map → chunk-CCLPJSY3.cjs.map} +1 -1
  16. package/dist/{chunk-QHTDFF52.cjs → chunk-CQ35OMPJ.cjs} +3 -3
  17. package/dist/{chunk-QHTDFF52.cjs.map → chunk-CQ35OMPJ.cjs.map} +1 -1
  18. package/dist/{chunk-KPO6TWEV.js → chunk-DRZ224RU.js} +6 -6
  19. package/dist/{chunk-VDAMJEMR.cjs → chunk-EWOFXJGH.cjs} +43 -43
  20. package/dist/{chunk-VDAMJEMR.cjs.map → chunk-EWOFXJGH.cjs.map} +1 -1
  21. package/dist/{chunk-MV3XJXPG.js → chunk-F5Q3DTP5.js} +5 -5
  22. package/dist/{chunk-ZR72HRUJ.js → chunk-GBIC3VNA.js} +3 -3
  23. package/dist/{chunk-R2J6XMP6.js → chunk-HOLK4ZMT.js} +3 -3
  24. package/dist/{chunk-WZHARPOT.cjs → chunk-HQWZ4IXU.cjs} +21 -21
  25. package/dist/{chunk-WZHARPOT.cjs.map → chunk-HQWZ4IXU.cjs.map} +1 -1
  26. package/dist/{chunk-J3D2WHWC.js → chunk-IKQVXZB5.js} +5 -5
  27. package/dist/{chunk-GXPOEAXL.js → chunk-KVNA3HU2.js} +2 -2
  28. package/dist/{chunk-I7JYX5O3.js → chunk-LKN2KKYZ.js} +57 -4
  29. package/dist/{chunk-I7JYX5O3.js.map → chunk-LKN2KKYZ.js.map} +1 -1
  30. package/dist/{chunk-UG27ITVP.js → chunk-M5HGULIY.js} +5 -5
  31. package/dist/{chunk-MPNCYET3.js → chunk-MEWAFY6X.js} +2 -2
  32. package/dist/{chunk-X7XO73M5.js → chunk-N3RHX26N.js} +3 -3
  33. package/dist/{chunk-5SGTTSQN.cjs → chunk-PETYVGEQ.cjs} +5 -5
  34. package/dist/{chunk-5SGTTSQN.cjs.map → chunk-PETYVGEQ.cjs.map} +1 -1
  35. package/dist/{chunk-VUGQ3Z6E.js → chunk-PMN7WDXI.js} +2 -2
  36. package/dist/{chunk-2VOBGNEY.cjs → chunk-QAVT6P5F.cjs} +22 -22
  37. package/dist/{chunk-2VOBGNEY.cjs.map → chunk-QAVT6P5F.cjs.map} +1 -1
  38. package/dist/{chunk-HMRWH2HC.cjs → chunk-S7VW4HVL.cjs} +15 -15
  39. package/dist/{chunk-HMRWH2HC.cjs.map → chunk-S7VW4HVL.cjs.map} +1 -1
  40. package/dist/{chunk-4DRZZWC7.cjs → chunk-UBRVIVY4.cjs} +159 -159
  41. package/dist/{chunk-4DRZZWC7.cjs.map → chunk-UBRVIVY4.cjs.map} +1 -1
  42. package/dist/{chunk-3ZHDEZQB.js → chunk-Y22VQDVW.js} +3 -3
  43. package/dist/{chunk-TVPJ5DIB.cjs → chunk-YLVPQNLO.cjs} +57 -4
  44. package/dist/chunk-YLVPQNLO.cjs.map +1 -0
  45. package/dist/{chunk-XH5QBMXD.js → chunk-YZLUOZKR.js} +2 -2
  46. package/dist/{chunk-NRHU4V3E.cjs → chunk-ZEG3ZJPY.cjs} +33 -33
  47. package/dist/{chunk-NRHU4V3E.cjs.map → chunk-ZEG3ZJPY.cjs.map} +1 -1
  48. package/dist/{chunk-CMAO4PPL.cjs → chunk-ZK3AZ5YF.cjs} +9 -9
  49. package/dist/{chunk-CMAO4PPL.cjs.map → chunk-ZK3AZ5YF.cjs.map} +1 -1
  50. package/dist/components/case-studies/index.cjs +9 -9
  51. package/dist/components/case-studies/index.js +3 -3
  52. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  53. package/dist/components/chat/index.cjs +2 -2
  54. package/dist/components/chat/index.js +1 -1
  55. package/dist/components/contact/index.cjs +4 -4
  56. package/dist/components/contact/index.js +3 -3
  57. package/dist/components/docs/index.cjs +7 -7
  58. package/dist/components/docs/index.js +6 -6
  59. package/dist/components/embeds/index.cjs +4 -4
  60. package/dist/components/embeds/index.js +3 -3
  61. package/dist/components/faq/index.cjs +4 -4
  62. package/dist/components/faq/index.js +3 -3
  63. package/dist/components/features/index.cjs +3 -3
  64. package/dist/components/features/index.js +2 -2
  65. package/dist/components/help-center-pages/index.cjs +23 -23
  66. package/dist/components/help-center-pages/index.js +14 -14
  67. package/dist/components/index.cjs +38 -38
  68. package/dist/components/index.js +13 -13
  69. package/dist/components/meeting-scheduler/index.cjs +21 -21
  70. package/dist/components/meeting-scheduler/index.js +2 -2
  71. package/dist/components/navigation/index.cjs +6 -6
  72. package/dist/components/navigation/index.js +5 -5
  73. package/dist/components/onboarding-guides/index.cjs +6 -6
  74. package/dist/components/onboarding-guides/index.js +5 -5
  75. package/dist/components/tickets/index.cjs +7 -7
  76. package/dist/components/tickets/index.js +6 -6
  77. package/dist/components/ui/index.cjs +3 -3
  78. package/dist/components/ui/index.js +2 -2
  79. package/dist/index.cjs +7 -7
  80. package/dist/index.js +6 -6
  81. package/dist/utils/index.cjs +14 -2
  82. package/dist/utils/index.cjs.map +1 -1
  83. package/dist/utils/index.js +14 -2
  84. package/dist/utils/index.js.map +1 -1
  85. package/dist/utils/source-icons.d.ts.map +1 -1
  86. package/package.json +1 -1
  87. package/src/components/chat/entity-cards/dispatch.tsx +57 -0
  88. package/src/utils/source-icons.ts +24 -0
  89. package/dist/chunk-TVPJ5DIB.cjs.map +0 -1
  90. /package/dist/{chunk-GEP3O6NU.js.map → chunk-3OQIZPUX.js.map} +0 -0
  91. /package/dist/{chunk-2645GIM2.js.map → chunk-3T7ZP3TL.js.map} +0 -0
  92. /package/dist/{chunk-YAZY24ZK.js.map → chunk-3XDPXOMS.js.map} +0 -0
  93. /package/dist/{chunk-KPO6TWEV.js.map → chunk-DRZ224RU.js.map} +0 -0
  94. /package/dist/{chunk-MV3XJXPG.js.map → chunk-F5Q3DTP5.js.map} +0 -0
  95. /package/dist/{chunk-ZR72HRUJ.js.map → chunk-GBIC3VNA.js.map} +0 -0
  96. /package/dist/{chunk-R2J6XMP6.js.map → chunk-HOLK4ZMT.js.map} +0 -0
  97. /package/dist/{chunk-J3D2WHWC.js.map → chunk-IKQVXZB5.js.map} +0 -0
  98. /package/dist/{chunk-GXPOEAXL.js.map → chunk-KVNA3HU2.js.map} +0 -0
  99. /package/dist/{chunk-UG27ITVP.js.map → chunk-M5HGULIY.js.map} +0 -0
  100. /package/dist/{chunk-MPNCYET3.js.map → chunk-MEWAFY6X.js.map} +0 -0
  101. /package/dist/{chunk-X7XO73M5.js.map → chunk-N3RHX26N.js.map} +0 -0
  102. /package/dist/{chunk-VUGQ3Z6E.js.map → chunk-PMN7WDXI.js.map} +0 -0
  103. /package/dist/{chunk-3ZHDEZQB.js.map → chunk-Y22VQDVW.js.map} +0 -0
  104. /package/dist/{chunk-XH5QBMXD.js.map → chunk-YZLUOZKR.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2CpD,CAAC;AAEF;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiDzD,CAAC;AAEF;;kEAEkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2CpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjF"}
1
+ {"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmDpD,CAAC;AAEF;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyDzD,CAAC;AAEF;;kEAEkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmDpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flamingo-stack/openframe-frontend-core",
3
- "version": "0.0.593",
3
+ "version": "0.0.594",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -45,6 +45,7 @@ import { MingoIcon } from '../../icons';
45
45
  import { ArrowRightUpIcon } from '../../icons-v2-generated/arrows/arrow-right-up-icon';
46
46
  import { ClickupLogoIcon } from '../../icons-v2-generated/brand-logos/clickup-logo-icon';
47
47
  import { SlackLogoGreyIcon } from '../../icons-v2-generated/brand-logos/slack-logo-grey-icon';
48
+ import { BuildingsIcon } from '../../icons-v2-generated/buildings/buildings-icon';
48
49
  import { ChartBar01VerIcon } from '../../icons-v2-generated/charts/chart-bar-01-ver-icon';
49
50
  import { ChartPieIcon } from '../../icons-v2-generated/charts/chart-pie-icon';
50
51
  import { PresentationBarIcon } from '../../icons-v2-generated/charts/presentation-bar-icon';
@@ -53,6 +54,7 @@ import { CodeIcon } from '../../icons-v2-generated/coding/code-icon';
53
54
  import { CodingCommitIcon } from '../../icons-v2-generated/coding/coding-commit-icon';
54
55
  import { CodingPullRequestIcon } from '../../icons-v2-generated/coding/coding-pull-request-icon';
55
56
  import { CalendarIcon } from '../../icons-v2-generated/date-and-time/calendar-icon';
57
+ import { ClipboardListIcon } from '../../icons-v2-generated/documents/clipboard-list-icon';
56
58
  import { FileContentIcon } from '../../icons-v2-generated/documents/file-content-icon';
57
59
  import { NewspaperIcon } from '../../icons-v2-generated/documents/newspaper-icon';
58
60
  import { BankIcon } from '../../icons-v2-generated/finance/bank-icon';
@@ -616,6 +618,35 @@ function SlackChatCard({
616
618
  );
617
619
  }
618
620
 
621
+ /**
622
+ * Generic REF-ONLY card — for types with no `?ids=` list endpoint whose
623
+ * ChatRef already carries everything the card shows (title / preview /
624
+ * url). Same posture as `video`: nothing to fetch, so no skeleton and no
625
+ * `contentRefType`. The per-type glyph is the only thing that varies.
626
+ */
627
+ function RefOnlyChatCard({
628
+ chatRef,
629
+ icon,
630
+ isNewTab,
631
+ discuss,
632
+ }: {
633
+ chatRef: ChatRef;
634
+ icon: React.ReactNode;
635
+ isNewTab: boolean;
636
+ discuss?: CardDiscussAction;
637
+ }) {
638
+ return (
639
+ <MingoInfoCard
640
+ title={chatRef.title}
641
+ description={chatRef.preview ?? undefined}
642
+ icon={icon}
643
+ anchorProps={buildAnchorProps(chatRef.url, isNewTab)}
644
+ menuGroups={cardMenuGroups(chatRef.url, discuss)}
645
+ menuAriaLabel="Card actions"
646
+ />
647
+ );
648
+ }
649
+
619
650
  function DataRoomDocChatCard({
620
651
  chatRef,
621
652
  isNewTab,
@@ -1312,6 +1343,30 @@ const GITHUB_CARD_CONFIGS: Record<string, GitHubCardConfig> = {
1312
1343
  github_pr_review: { label: 'GitHub review', kind: 'pr_review' },
1313
1344
  github_pr_review_public: { label: 'GitHub review (public)', kind: 'pr_review' },
1314
1345
  };
1346
+ interface RefOnlyCardConfig {
1347
+ label: string;
1348
+ icon: () => React.ReactNode;
1349
+ }
1350
+ /** Hub-internal row types whose mapper declares `listApi: () => null` —
1351
+ * design docs + the tenant roster (product-hub), the two people-hub
1352
+ * employee feeds. Adding one = one line here + the `source-icons.ts`
1353
+ * label / icon / documentType entries. */
1354
+ const REF_ONLY_CARD_CONFIGS: Record<string, RefOnlyCardConfig> = {
1355
+ design_doc: { label: 'Design doc', icon: () => <FileContentIcon size={24} /> },
1356
+ openframe_tenant: { label: 'OpenFrame tenant', icon: () => <BuildingsIcon size={24} /> },
1357
+ what_i_shipped: { label: 'What I Shipped', icon: () => <Rocket02Icon size={24} /> },
1358
+ how_i_work: { label: 'How I Work', icon: () => <ClipboardListIcon size={24} /> },
1359
+ };
1360
+ function refOnlyRegistryEntries(): Record<string, ChatCardRegistryEntry> {
1361
+ return registryEntries(REF_ONLY_CARD_CONFIGS, cfg => ({
1362
+ label: cfg.label,
1363
+ bareInline: true,
1364
+ render: (_item, chatRef, opts) => (
1365
+ <RefOnlyChatCard chatRef={chatRef} icon={cfg.icon()} isNewTab={opts.isNewTab} discuss={opts.discuss} />
1366
+ ),
1367
+ }));
1368
+ }
1369
+
1315
1370
  function githubRegistryEntries(): Record<string, ChatCardRegistryEntry> {
1316
1371
  return registryEntries(GITHUB_CARD_CONFIGS, (cfg, docType) =>
1317
1372
  refHydratedEntry(docType, cfg.label, (displayRef, opts) => (
@@ -1423,6 +1478,8 @@ const CHAT_CARD_REGISTRY: Record<string, ChatCardRegistryEntry> = {
1423
1478
  />
1424
1479
  ),
1425
1480
  },
1481
+ // ───────── ref-only types (no list endpoint; the ChatRef IS the card) ─────────
1482
+ ...refOnlyRegistryEntries(),
1426
1483
  slack_message: refHydratedEntry('slack_message', 'Slack message', (displayRef, opts) => (
1427
1484
  <SlackChatCard chatRef={displayRef} isNewTab={opts.isNewTab} discuss={opts.discuss} />
1428
1485
  )),
@@ -68,6 +68,14 @@ export const SOURCE_ICON_NAMES: Record<string, string> = {
68
68
 
69
69
  // Communications
70
70
  'slack-messages': 'slack',
71
+
72
+ // People-hub employee content
73
+ 'what-i-shipped': 'package',
74
+ 'how-i-work': 'book-open',
75
+
76
+ // Product-hub internal
77
+ 'design-docs': 'file-text',
78
+ 'openframe-tenants': 'globe',
71
79
  };
72
80
 
73
81
  /** Lookup an icon name by RagTableConfig.id. Returns undefined when
@@ -139,6 +147,14 @@ export const SOURCE_LABELS_BY_TABLE: Record<string, string> = {
139
147
 
140
148
  // Communications
141
149
  'slack-messages': 'OpenMSP Community',
150
+
151
+ // People-hub employee content
152
+ 'what-i-shipped': 'What I Shipped',
153
+ 'how-i-work': 'How I Work',
154
+
155
+ // Product-hub internal
156
+ 'design-docs': 'Design Docs',
157
+ 'openframe-tenants': 'OpenFrame Tenants',
142
158
  };
143
159
 
144
160
  /** Lookup a human-readable label by RagTableConfig.id. Falls back
@@ -212,6 +228,14 @@ export const DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID: Record<string, string> = {
212
228
 
213
229
  // Communications
214
230
  slack_message: 'slack-messages',
231
+
232
+ // People-hub employee content
233
+ what_i_shipped: 'what-i-shipped',
234
+ how_i_work: 'how-i-work',
235
+
236
+ // Product-hub internal
237
+ design_doc: 'design-docs',
238
+ openframe_tenant: 'openframe-tenants',
215
239
  };
216
240
 
217
241
  /**